summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
Diffstat (limited to 'editor')
-rw-r--r--editor/SCsub3
-rw-r--r--editor/action_map_editor.cpp5
-rw-r--r--editor/action_map_editor.h2
-rw-r--r--editor/animation_bezier_editor.cpp365
-rw-r--r--editor/animation_bezier_editor.h8
-rw-r--r--editor/animation_track_editor.cpp870
-rw-r--r--editor/animation_track_editor.h59
-rw-r--r--editor/animation_track_editor_plugins.cpp1
-rw-r--r--editor/array_property_edit.cpp7
-rw-r--r--editor/audio_stream_preview.cpp5
-rw-r--r--editor/audio_stream_preview.h2
-rw-r--r--editor/code_editor.cpp115
-rw-r--r--editor/code_editor.h3
-rw-r--r--editor/connections_dialog.cpp13
-rw-r--r--editor/connections_dialog.h8
-rw-r--r--editor/create_dialog.cpp26
-rw-r--r--editor/create_dialog.h5
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_parser.cpp1
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_parser.h2
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_protocol.cpp1
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_protocol.h2
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_server.cpp1
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_server.h2
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_types.h4
-rw-r--r--editor/debugger/editor_debugger_inspector.cpp46
-rw-r--r--editor/debugger/editor_debugger_inspector.h1
-rw-r--r--editor/debugger/editor_debugger_node.cpp100
-rw-r--r--editor/debugger/editor_debugger_node.h6
-rw-r--r--editor/debugger/editor_debugger_server.h6
-rw-r--r--editor/debugger/editor_debugger_tree.cpp35
-rw-r--r--editor/debugger/editor_debugger_tree.h3
-rw-r--r--editor/debugger/editor_network_profiler.h6
-rw-r--r--editor/debugger/editor_performance_profiler.cpp8
-rw-r--r--editor/debugger/editor_profiler.cpp6
-rw-r--r--editor/debugger/editor_profiler.h6
-rw-r--r--editor/debugger/editor_visual_profiler.cpp16
-rw-r--r--editor/debugger/editor_visual_profiler.h6
-rw-r--r--editor/debugger/script_editor_debugger.cpp32
-rw-r--r--editor/dependency_editor.cpp56
-rw-r--r--editor/dependency_editor.h1
-rw-r--r--editor/dictionary_property_edit.cpp5
-rw-r--r--editor/doc_tools.cpp606
-rw-r--r--editor/doc_tools.h2
-rw-r--r--editor/editor_about.cpp3
-rw-r--r--editor/editor_about.h2
-rw-r--r--editor/editor_asset_installer.cpp7
-rw-r--r--editor/editor_asset_installer.h6
-rw-r--r--editor/editor_audio_buses.cpp66
-rw-r--r--editor/editor_autoload_settings.cpp11
-rw-r--r--editor/editor_autoload_settings.h2
-rw-r--r--editor/editor_build_profile.cpp899
-rw-r--r--editor/editor_build_profile.h191
-rw-r--r--editor/editor_command_palette.cpp11
-rw-r--r--editor/editor_command_palette.h2
-rw-r--r--editor/editor_data.cpp85
-rw-r--r--editor/editor_data.h22
-rw-r--r--editor/editor_dir_dialog.cpp8
-rw-r--r--editor/editor_export.h475
-rw-r--r--editor/editor_feature_profile.cpp52
-rw-r--r--editor/editor_file_dialog.cpp46
-rw-r--r--editor/editor_file_dialog.h2
-rw-r--r--editor/editor_file_system.cpp38
-rw-r--r--editor/editor_file_system.h3
-rw-r--r--editor/editor_folding.cpp20
-rw-r--r--editor/editor_fonts.cpp543
-rw-r--r--editor/editor_fonts.h2
-rw-r--r--editor/editor_help.cpp331
-rw-r--r--editor/editor_help.h6
-rw-r--r--editor/editor_help_search.cpp5
-rw-r--r--editor/editor_inspector.cpp772
-rw-r--r--editor/editor_inspector.h63
-rw-r--r--editor/editor_locale_dialog.cpp3
-rw-r--r--editor/editor_locale_dialog.h4
-rw-r--r--editor/editor_log.cpp55
-rw-r--r--editor/editor_log.h16
-rw-r--r--editor/editor_node.cpp966
-rw-r--r--editor/editor_node.h41
-rw-r--r--editor/editor_path.cpp4
-rw-r--r--editor/editor_paths.cpp43
-rw-r--r--editor/editor_paths.h10
-rw-r--r--editor/editor_plugin.cpp34
-rw-r--r--editor/editor_plugin.h16
-rw-r--r--editor/editor_plugin_settings.cpp1
-rw-r--r--editor/editor_plugin_settings.h10
-rw-r--r--editor/editor_properties.cpp965
-rw-r--r--editor/editor_properties.h138
-rw-r--r--editor/editor_properties_array_dict.cpp119
-rw-r--r--editor/editor_properties_array_dict.h45
-rw-r--r--editor/editor_property_name_processor.cpp3
-rw-r--r--editor/editor_quick_open.cpp (renamed from editor/quick_open.cpp)8
-rw-r--r--editor/editor_quick_open.h (renamed from editor/quick_open.h)2
-rw-r--r--editor/editor_resource_picker.cpp343
-rw-r--r--editor/editor_resource_picker.h36
-rw-r--r--editor/editor_resource_preview.cpp10
-rw-r--r--editor/editor_resource_preview.h6
-rw-r--r--editor/editor_run.cpp28
-rw-r--r--editor/editor_run.h2
-rw-r--r--editor/editor_run_native.cpp28
-rw-r--r--editor/editor_run_native.h5
-rw-r--r--editor/editor_scale.h1
-rw-r--r--editor/editor_sectioned_inspector.cpp4
-rw-r--r--editor/editor_sectioned_inspector.h1
-rw-r--r--editor/editor_settings.cpp121
-rw-r--r--editor/editor_settings.h16
-rw-r--r--editor/editor_settings_dialog.cpp17
-rw-r--r--editor/editor_settings_dialog.h4
-rw-r--r--editor/editor_spin_slider.cpp20
-rw-r--r--editor/editor_themes.cpp290
-rw-r--r--editor/editor_themes.h2
-rw-r--r--editor/editor_toaster.cpp24
-rw-r--r--editor/editor_undo_redo_manager.cpp442
-rw-r--r--editor/editor_undo_redo_manager.h134
-rw-r--r--editor/editor_vcs_interface.cpp8
-rw-r--r--editor/editor_vcs_interface.h6
-rw-r--r--editor/export/SCsub5
-rw-r--r--editor/export/editor_export.cpp355
-rw-r--r--editor/export/editor_export.h84
-rw-r--r--editor/export/editor_export_platform.cpp (renamed from editor/editor_export.cpp)1034
-rw-r--r--editor/export/editor_export_platform.h218
-rw-r--r--editor/export/editor_export_platform_pc.cpp246
-rw-r--r--editor/export/editor_export_platform_pc.h83
-rw-r--r--editor/export/editor_export_plugin.cpp201
-rw-r--r--editor/export/editor_export_plugin.h132
-rw-r--r--editor/export/editor_export_preset.cpp221
-rw-r--r--editor/export/editor_export_preset.h145
-rw-r--r--editor/export/editor_export_shared_object.h51
-rw-r--r--editor/export/export_template_manager.cpp (renamed from editor/export_template_manager.cpp)33
-rw-r--r--editor/export/export_template_manager.h (renamed from editor/export_template_manager.h)12
-rw-r--r--editor/export/project_export.cpp (renamed from editor/project_export.cpp)92
-rw-r--r--editor/export/project_export.h (renamed from editor/project_export.h)43
-rw-r--r--editor/filesystem_dock.cpp112
-rw-r--r--editor/filesystem_dock.h6
-rw-r--r--editor/find_in_files.cpp8
-rw-r--r--editor/groups_editor.cpp25
-rw-r--r--editor/groups_editor.h13
-rw-r--r--editor/icons/AudioStream.svg1
-rw-r--r--editor/icons/AudioStreamGenerator.svg1
-rw-r--r--editor/icons/AudioStreamMicrophone.svg1
-rw-r--r--editor/icons/AudioStreamOggVorbis.svg (renamed from editor/icons/AudioStreamOGGVorbis.svg)0
-rw-r--r--editor/icons/AudioStreamRandomizer.svg1
-rw-r--r--editor/icons/AudioStreamWAV.svg (renamed from editor/icons/AudioStreamSample.svg)0
-rw-r--r--editor/icons/BaseButton.svg1
-rw-r--r--editor/icons/BoneMapHumanBody.svg1
-rw-r--r--editor/icons/BoneMapHumanFace.svg1
-rw-r--r--editor/icons/BoneMapHumanLeftHand.svg1
-rw-r--r--editor/icons/BoneMapHumanRightHand.svg1
-rw-r--r--editor/icons/BoneMapperHandle.svg1
-rw-r--r--editor/icons/BoneMapperHandleCircle.svg1
-rw-r--r--editor/icons/BoneMapperHandleSelected.svg1
-rw-r--r--editor/icons/CodeFoldDownArrow.svg1
-rw-r--r--editor/icons/CodeFoldedRightArrow.svg1
-rw-r--r--editor/icons/ContainerLayout.svg1
-rw-r--r--editor/icons/ControlAlignFullRect.svg (renamed from editor/icons/ControlAlignWide.svg)0
-rw-r--r--editor/icons/ControlLayout.svg2
-rw-r--r--editor/icons/CopyNodePath.svg2
-rw-r--r--editor/icons/DefaultProjectIcon.svg2
-rw-r--r--editor/icons/Font.svg2
-rw-r--r--editor/icons/FontData.svg1
-rw-r--r--editor/icons/FontFile.svg1
-rw-r--r--editor/icons/FontVariation.svg1
-rw-r--r--editor/icons/GeometryInstance3D.svg1
-rw-r--r--editor/icons/ImporterMeshInstance3D.svg1
-rw-r--r--editor/icons/InterpCubicInTime.svg1
-rw-r--r--editor/icons/LabelSettings.svg1
-rw-r--r--editor/icons/MainMovieWrite.svg1
-rw-r--r--editor/icons/MenuBar.svg1
-rw-r--r--editor/icons/MultiplayerSpawner.svg1
-rw-r--r--editor/icons/MultiplayerSynchronizer.svg1
-rw-r--r--editor/icons/NavigationAgent2D.svg2
-rw-r--r--editor/icons/NavigationAgent3D.svg2
-rw-r--r--editor/icons/NavigationObstacle2D.svg2
-rw-r--r--editor/icons/NavigationObstacle3D.svg2
-rw-r--r--editor/icons/NodeWarnings2.svg1
-rw-r--r--editor/icons/NodeWarnings3.svg1
-rw-r--r--editor/icons/NodeWarnings4Plus.svg1
-rw-r--r--editor/icons/Range.svg1
-rw-r--r--editor/icons/ShapeCast3D.svg1
-rw-r--r--editor/icons/SkeletonIK3D.svg2
-rw-r--r--editor/icons/SystemFont.svg1
-rw-r--r--editor/icons/TerrainConnect.svg1
-rw-r--r--editor/icons/TerrainPath.svg1
-rw-r--r--editor/icons/TextEditorPlay.svg1
-rw-r--r--editor/icons/TorusMesh.svg1
-rw-r--r--editor/icons/Unlinked.svg1
-rw-r--r--editor/icons/VideoStreamPlayer.svg (renamed from editor/icons/VideoPlayer.svg)0
-rw-r--r--editor/icons/VisualInstance3D.svg1
-rw-r--r--editor/import/audio_stream_import_settings.cpp650
-rw-r--r--editor/import/audio_stream_import_settings.h (renamed from editor/plugins/audio_stream_editor_plugin.h)69
-rw-r--r--editor/import/dynamic_font_import_settings.cpp1021
-rw-r--r--editor/import/dynamic_font_import_settings.h90
-rw-r--r--editor/import/editor_import_collada.h2
-rw-r--r--editor/import/editor_import_plugin.cpp2
-rw-r--r--editor/import/editor_import_plugin.h5
-rw-r--r--editor/import/post_import_plugin_skeleton_renamer.cpp190
-rw-r--r--editor/import/post_import_plugin_skeleton_renamer.h46
-rw-r--r--editor/import/post_import_plugin_skeleton_rest_fixer.cpp635
-rw-r--r--editor/import/post_import_plugin_skeleton_rest_fixer.h46
-rw-r--r--editor/import/post_import_plugin_skeleton_track_organizer.cpp127
-rw-r--r--editor/import/post_import_plugin_skeleton_track_organizer.h46
-rw-r--r--editor/import/resource_importer_bitmask.cpp2
-rw-r--r--editor/import/resource_importer_bitmask.h1
-rw-r--r--editor/import/resource_importer_bmfont.cpp14
-rw-r--r--editor/import/resource_importer_csv_translation.cpp2
-rw-r--r--editor/import/resource_importer_csv_translation.h6
-rw-r--r--editor/import/resource_importer_dynamic_font.cpp194
-rw-r--r--editor/import/resource_importer_dynamic_font.h3
-rw-r--r--editor/import/resource_importer_imagefont.cpp19
-rw-r--r--editor/import/resource_importer_imagefont.h6
-rw-r--r--editor/import/resource_importer_layered_texture.cpp15
-rw-r--r--editor/import/resource_importer_layered_texture.h2
-rw-r--r--editor/import/resource_importer_obj.cpp2
-rw-r--r--editor/import/resource_importer_obj.h6
-rw-r--r--editor/import/resource_importer_scene.cpp397
-rw-r--r--editor/import/resource_importer_scene.h14
-rw-r--r--editor/import/resource_importer_shader_file.cpp2
-rw-r--r--editor/import/resource_importer_texture.cpp10
-rw-r--r--editor/import/resource_importer_texture.h6
-rw-r--r--editor/import/resource_importer_texture_atlas.cpp29
-rw-r--r--editor/import/resource_importer_wav.cpp92
-rw-r--r--editor/import/scene_import_settings.cpp68
-rw-r--r--editor/import/scene_import_settings.h1
-rw-r--r--editor/import_defaults_editor.cpp1
-rw-r--r--editor/import_dock.cpp5
-rw-r--r--editor/import_dock.h6
-rw-r--r--editor/inspector_dock.cpp51
-rw-r--r--editor/inspector_dock.h8
-rw-r--r--editor/localization_editor.cpp104
-rw-r--r--editor/localization_editor.h7
-rw-r--r--editor/multi_node_edit.cpp3
-rw-r--r--editor/node_dock.cpp4
-rw-r--r--editor/plugin_config_dialog.cpp6
-rw-r--r--editor/plugins/abstract_polygon_2d_editor.cpp15
-rw-r--r--editor/plugins/abstract_polygon_2d_editor.h3
-rw-r--r--editor/plugins/animation_blend_space_1d_editor.cpp40
-rw-r--r--editor/plugins/animation_blend_space_1d_editor.h8
-rw-r--r--editor/plugins/animation_blend_space_2d_editor.cpp60
-rw-r--r--editor/plugins/animation_blend_space_2d_editor.h7
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.cpp26
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.h4
-rw-r--r--editor/plugins/animation_library_editor.cpp168
-rw-r--r--editor/plugins/animation_library_editor.h4
-rw-r--r--editor/plugins/animation_player_editor_plugin.cpp145
-rw-r--r--editor/plugins/animation_player_editor_plugin.h5
-rw-r--r--editor/plugins/animation_state_machine_editor.cpp31
-rw-r--r--editor/plugins/animation_state_machine_editor.h4
-rw-r--r--editor/plugins/animation_tree_editor_plugin.cpp4
-rw-r--r--editor/plugins/animation_tree_editor_plugin.h1
-rw-r--r--editor/plugins/asset_library_editor_plugin.cpp80
-rw-r--r--editor/plugins/asset_library_editor_plugin.h7
-rw-r--r--editor/plugins/audio_stream_editor_plugin.cpp285
-rw-r--r--editor/plugins/audio_stream_randomizer_editor_plugin.cpp5
-rw-r--r--editor/plugins/bit_map_editor_plugin.cpp6
-rw-r--r--editor/plugins/bit_map_editor_plugin.h6
-rw-r--r--editor/plugins/bone_map_editor_plugin.cpp499
-rw-r--r--editor/plugins/bone_map_editor_plugin.h180
-rw-r--r--editor/plugins/camera_3d_editor_plugin.h6
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp449
-rw-r--r--editor/plugins/canvas_item_editor_plugin.h24
-rw-r--r--editor/plugins/cast_2d_editor_plugin.cpp (renamed from editor/plugins/ray_cast_2d_editor_plugin.cpp)57
-rw-r--r--editor/plugins/cast_2d_editor_plugin.h (renamed from editor/plugins/ray_cast_2d_editor_plugin.h)37
-rw-r--r--editor/plugins/collision_shape_2d_editor_plugin.cpp1
-rw-r--r--editor/plugins/collision_shape_2d_editor_plugin.h5
-rw-r--r--editor/plugins/control_editor_plugin.cpp877
-rw-r--r--editor/plugins/control_editor_plugin.h174
-rw-r--r--editor/plugins/cpu_particles_2d_editor_plugin.cpp3
-rw-r--r--editor/plugins/cpu_particles_2d_editor_plugin.h3
-rw-r--r--editor/plugins/cpu_particles_3d_editor_plugin.h6
-rw-r--r--editor/plugins/curve_editor_plugin.cpp70
-rw-r--r--editor/plugins/debugger_editor_plugin.cpp79
-rw-r--r--editor/plugins/debugger_editor_plugin.h5
-rw-r--r--editor/plugins/editor_preview_plugins.cpp83
-rw-r--r--editor/plugins/editor_preview_plugins.h7
-rw-r--r--editor/plugins/editor_resource_conversion_plugin.cpp64
-rw-r--r--editor/plugins/editor_resource_conversion_plugin.h (renamed from editor/plugins/font_editor_plugin.h)53
-rw-r--r--editor/plugins/font_config_plugin.cpp1053
-rw-r--r--editor/plugins/font_config_plugin.h286
-rw-r--r--editor/plugins/font_editor_plugin.cpp106
-rw-r--r--editor/plugins/gdextension_export_plugin.h2
-rw-r--r--editor/plugins/gpu_particles_2d_editor_plugin.cpp22
-rw-r--r--editor/plugins/gpu_particles_2d_editor_plugin.h9
-rw-r--r--editor/plugins/gpu_particles_3d_editor_plugin.cpp21
-rw-r--r--editor/plugins/gpu_particles_3d_editor_plugin.h6
-rw-r--r--editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp2
-rw-r--r--editor/plugins/gradient_editor_plugin.cpp5
-rw-r--r--editor/plugins/gradient_texture_2d_editor_plugin.cpp15
-rw-r--r--editor/plugins/gradient_texture_2d_editor_plugin.h12
-rw-r--r--editor/plugins/input_event_editor_plugin.cpp5
-rw-r--r--editor/plugins/lightmap_gi_editor_plugin.cpp2
-rw-r--r--editor/plugins/lightmap_gi_editor_plugin.h6
-rw-r--r--editor/plugins/material_editor_plugin.cpp66
-rw-r--r--editor/plugins/material_editor_plugin.h2
-rw-r--r--editor/plugins/mesh_editor_plugin.cpp6
-rw-r--r--editor/plugins/mesh_editor_plugin.h2
-rw-r--r--editor/plugins/mesh_instance_3d_editor_plugin.cpp21
-rw-r--r--editor/plugins/mesh_instance_3d_editor_plugin.h6
-rw-r--r--editor/plugins/mesh_library_editor_plugin.cpp8
-rw-r--r--editor/plugins/multimesh_editor_plugin.cpp6
-rw-r--r--editor/plugins/navigation_polygon_editor_plugin.h6
-rw-r--r--editor/plugins/node_3d_editor_gizmos.cpp384
-rw-r--r--editor/plugins/node_3d_editor_gizmos.h12
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp565
-rw-r--r--editor/plugins/node_3d_editor_plugin.h46
-rw-r--r--editor/plugins/occluder_instance_3d_editor_plugin.cpp4
-rw-r--r--editor/plugins/occluder_instance_3d_editor_plugin.h2
-rw-r--r--editor/plugins/ot_features_plugin.cpp235
-rw-r--r--editor/plugins/ot_features_plugin.h102
-rw-r--r--editor/plugins/path_2d_editor_plugin.cpp11
-rw-r--r--editor/plugins/path_2d_editor_plugin.h3
-rw-r--r--editor/plugins/path_3d_editor_plugin.cpp77
-rw-r--r--editor/plugins/path_3d_editor_plugin.h6
-rw-r--r--editor/plugins/physical_bone_3d_editor_plugin.h6
-rw-r--r--editor/plugins/polygon_2d_editor_plugin.cpp14
-rw-r--r--editor/plugins/polygon_3d_editor_plugin.cpp5
-rw-r--r--editor/plugins/polygon_3d_editor_plugin.h3
-rw-r--r--editor/plugins/replication_editor_plugin.cpp645
-rw-r--r--editor/plugins/replication_editor_plugin.h135
-rw-r--r--editor/plugins/resource_preloader_editor_plugin.cpp15
-rw-r--r--editor/plugins/resource_preloader_editor_plugin.h5
-rw-r--r--editor/plugins/script_editor_plugin.cpp76
-rw-r--r--editor/plugins/script_editor_plugin.h6
-rw-r--r--editor/plugins/script_text_editor.cpp58
-rw-r--r--editor/plugins/script_text_editor.h2
-rw-r--r--editor/plugins/shader_editor_plugin.cpp792
-rw-r--r--editor/plugins/shader_editor_plugin.h108
-rw-r--r--editor/plugins/shader_file_editor_plugin.cpp3
-rw-r--r--editor/plugins/skeleton_2d_editor_plugin.cpp5
-rw-r--r--editor/plugins/skeleton_3d_editor_plugin.cpp129
-rw-r--r--editor/plugins/skeleton_3d_editor_plugin.h12
-rw-r--r--editor/plugins/sprite_2d_editor_plugin.cpp28
-rw-r--r--editor/plugins/sprite_2d_editor_plugin.h6
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.cpp61
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.h8
-rw-r--r--editor/plugins/style_box_editor_plugin.cpp2
-rw-r--r--editor/plugins/text_control_editor_plugin.cpp660
-rw-r--r--editor/plugins/text_control_editor_plugin.h115
-rw-r--r--editor/plugins/text_editor.cpp11
-rw-r--r--editor/plugins/text_editor.h2
-rw-r--r--editor/plugins/texture_3d_editor_plugin.cpp4
-rw-r--r--editor/plugins/texture_3d_editor_plugin.h2
-rw-r--r--editor/plugins/texture_editor_plugin.cpp56
-rw-r--r--editor/plugins/texture_layered_editor_plugin.cpp14
-rw-r--r--editor/plugins/texture_layered_editor_plugin.h2
-rw-r--r--editor/plugins/texture_region_editor_plugin.cpp9
-rw-r--r--editor/plugins/texture_region_editor_plugin.h3
-rw-r--r--editor/plugins/theme_editor_plugin.cpp196
-rw-r--r--editor/plugins/theme_editor_plugin.h1
-rw-r--r--editor/plugins/theme_editor_preview.cpp5
-rw-r--r--editor/plugins/tiles/atlas_merging_dialog.cpp9
-rw-r--r--editor/plugins/tiles/atlas_merging_dialog.h3
-rw-r--r--editor/plugins/tiles/tile_atlas_view.cpp12
-rw-r--r--editor/plugins/tiles/tile_atlas_view.h2
-rw-r--r--editor/plugins/tiles/tile_data_editors.cpp230
-rw-r--r--editor/plugins/tiles/tile_data_editors.h14
-rw-r--r--editor/plugins/tiles/tile_map_editor.cpp440
-rw-r--r--editor/plugins/tiles/tile_map_editor.h30
-rw-r--r--editor/plugins/tiles/tile_proxies_manager_dialog.cpp7
-rw-r--r--editor/plugins/tiles/tile_proxies_manager_dialog.h2
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.cpp69
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.h2
-rw-r--r--editor/plugins/tiles/tile_set_editor.cpp20
-rw-r--r--editor/plugins/tiles/tile_set_editor.h6
-rw-r--r--editor/plugins/tiles/tile_set_scenes_collection_source_editor.h4
-rw-r--r--editor/plugins/tiles/tiles_editor_plugin.cpp31
-rw-r--r--editor/plugins/tiles/tiles_editor_plugin.h3
-rw-r--r--editor/plugins/version_control_editor_plugin.cpp4
-rw-r--r--editor/plugins/version_control_editor_plugin.h2
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp423
-rw-r--r--editor/plugins/visual_shader_editor_plugin.h91
-rw-r--r--editor/plugins/voxel_gi_editor_plugin.cpp2
-rw-r--r--editor/plugins/voxel_gi_editor_plugin.h6
-rw-r--r--editor/progress_dialog.cpp4
-rw-r--r--editor/project_converter_3_to_4.cpp3706
-rw-r--r--editor/project_converter_3_to_4.h93
-rw-r--r--editor/project_manager.cpp416
-rw-r--r--editor/project_manager.h7
-rw-r--r--editor/project_settings_editor.cpp48
-rw-r--r--editor/project_settings_editor.h11
-rw-r--r--editor/property_editor.cpp1906
-rw-r--r--editor/property_editor.h184
-rw-r--r--editor/property_selector.cpp6
-rw-r--r--editor/property_selector.h14
-rw-r--r--editor/register_exporters.h2
-rw-r--r--editor/rename_dialog.cpp28
-rw-r--r--editor/rename_dialog.h7
-rw-r--r--editor/reparent_dialog.cpp2
-rw-r--r--editor/scene_create_dialog.cpp312
-rw-r--r--editor/scene_create_dialog.h104
-rw-r--r--editor/scene_tree_dock.cpp438
-rw-r--r--editor/scene_tree_dock.h3
-rw-r--r--editor/scene_tree_editor.cpp69
-rw-r--r--editor/scene_tree_editor.h10
-rw-r--r--editor/script_create_dialog.cpp27
-rw-r--r--editor/shader_create_dialog.cpp251
-rw-r--r--editor/shader_create_dialog.h18
-rw-r--r--editor/shader_globals_editor.cpp53
-rw-r--r--editor/shader_globals_editor.h1
-rw-r--r--editor/translations/af.po956
-rw-r--r--editor/translations/ar.po2266
-rw-r--r--editor/translations/az.po1023
-rw-r--r--editor/translations/bg.po979
-rw-r--r--editor/translations/bn.po1067
-rw-r--r--editor/translations/br.po892
-rw-r--r--editor/translations/ca.po1435
-rw-r--r--editor/translations/cs.po999
-rw-r--r--editor/translations/da.po978
-rw-r--r--editor/translations/de.po1459
-rw-r--r--editor/translations/editor.pot826
-rw-r--r--editor/translations/el.po993
-rw-r--r--editor/translations/en_Shaw.po873
-rw-r--r--editor/translations/eo.po1016
-rw-r--r--editor/translations/es.po4169
-rw-r--r--editor/translations/es_AR.po1617
-rw-r--r--editor/translations/et.po967
-rw-r--r--editor/translations/eu.po946
-rw-r--r--editor/translations/fa.po982
-rw-r--r--editor/translations/fi.po1026
-rw-r--r--editor/translations/fil.po898
-rw-r--r--editor/translations/fr.po4903
-rw-r--r--editor/translations/ga.po886
-rw-r--r--editor/translations/gl.po995
-rw-r--r--editor/translations/he.po1178
-rw-r--r--editor/translations/hi.po1105
-rw-r--r--editor/translations/hr.po1020
-rw-r--r--editor/translations/hu.po1030
-rw-r--r--editor/translations/id.po1040
-rw-r--r--editor/translations/is.po896
-rw-r--r--editor/translations/it.po1492
-rw-r--r--editor/translations/ja.po1068
-rw-r--r--editor/translations/ka.po935
-rw-r--r--editor/translations/km.po857
-rw-r--r--editor/translations/ko.po1451
-rw-r--r--editor/translations/lt.po993
-rw-r--r--editor/translations/lv.po984
-rw-r--r--editor/translations/mi.po25644
-rw-r--r--editor/translations/mk.po976
-rw-r--r--editor/translations/ml.po878
-rw-r--r--editor/translations/mr.po882
-rw-r--r--editor/translations/ms.po1481
-rw-r--r--editor/translations/nb.po975
-rw-r--r--editor/translations/nl.po991
-rw-r--r--editor/translations/or.po25650
-rw-r--r--editor/translations/pl.po1107
-rw-r--r--editor/translations/pr.po937
-rw-r--r--editor/translations/pt.po2536
-rw-r--r--editor/translations/pt_BR.po3017
-rw-r--r--editor/translations/ro.po985
-rw-r--r--editor/translations/ru.po1380
-rw-r--r--editor/translations/si.po888
-rw-r--r--editor/translations/sk.po991
-rw-r--r--editor/translations/sl.po1157
-rw-r--r--editor/translations/sq.po978
-rw-r--r--editor/translations/sr_Cyrl.po984
-rw-r--r--editor/translations/sr_Latn.po914
-rw-r--r--editor/translations/sv.po1359
-rw-r--r--editor/translations/ta.po26253
-rw-r--r--editor/translations/te.po851
-rw-r--r--editor/translations/th.po991
-rw-r--r--editor/translations/tl.po1000
-rw-r--r--editor/translations/tr.po1801
-rw-r--r--editor/translations/tt.po25664
-rw-r--r--editor/translations/tzm.po25671
-rw-r--r--editor/translations/uk.po1151
-rw-r--r--editor/translations/ur_PK.po928
-rw-r--r--editor/translations/vi.po984
-rw-r--r--editor/translations/zh_CN.po1347
-rw-r--r--editor/translations/zh_HK.po958
-rw-r--r--editor/translations/zh_TW.po3215
467 files changed, 79635 insertions, 169494 deletions
diff --git a/editor/SCsub b/editor/SCsub
index a596c7d364..c217f162b4 100644
--- a/editor/SCsub
+++ b/editor/SCsub
@@ -76,7 +76,7 @@ if env["tools"]:
# Editor translations
to_include = (
- "ar,bg,ca,cs,de,el,eo,es_AR,es,fi,fr,gl,he,hu,id,it,ja,ko,lv,ms,nb,nl,pl,pt_BR,pt,ro,ru,sk,th,tr,uk,vi,zh_CN,zh_TW"
+ "ar,bg,ca,cs,de,el,eo,es_AR,es,fi,fr,gl,he,hu,id,it,ja,ko,lv,ms,nb,nl,pl,pt_BR,pt,ro,ru,sk,sv,th,tr,uk,vi,zh_CN,zh_TW"
).split(",")
tlist = [env.Dir("#editor/translations").abspath + "/" + f + ".po" for f in to_include]
env.Depends("#editor/editor_translations.gen.h", tlist)
@@ -113,6 +113,7 @@ if env["tools"]:
env.add_source_files(env.editor_sources, "register_exporters.gen.cpp")
SConscript("debugger/SCsub")
+ SConscript("export/SCsub")
SConscript("fileserver/SCsub")
SConscript("icons/SCsub")
SConscript("import/SCsub")
diff --git a/editor/action_map_editor.cpp b/editor/action_map_editor.cpp
index 6333b402da..462f314471 100644
--- a/editor/action_map_editor.cpp
+++ b/editor/action_map_editor.cpp
@@ -644,6 +644,7 @@ InputEventConfigurationDialog::InputEventConfigurationDialog() {
tab_container = memnew(TabContainer);
tab_container->set_use_hidden_tabs_for_min_size(true);
tab_container->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ tab_container->set_theme_type_variation("TabContainerOdd");
tab_container->connect("tab_selected", callable_mp(this, &InputEventConfigurationDialog::_tab_selected));
main_vbox->add_child(tab_container);
@@ -719,7 +720,7 @@ InputEventConfigurationDialog::InputEventConfigurationDialog() {
for (int i = 0; i < MOD_MAX; i++) {
String name = mods[i];
mod_checkboxes[i] = memnew(CheckBox);
- mod_checkboxes[i]->connect("toggled", callable_mp(this, &InputEventConfigurationDialog::_mod_toggled), varray(i));
+ mod_checkboxes[i]->connect("toggled", callable_mp(this, &InputEventConfigurationDialog::_mod_toggled).bind(i));
mod_checkboxes[i]->set_text(name);
mod_container->add_child(mod_checkboxes[i]);
}
@@ -1198,7 +1199,7 @@ void ActionMapEditor::use_external_search_box(LineEdit *p_searchbox) {
ActionMapEditor::ActionMapEditor() {
// Main Vbox Container
VBoxContainer *main_vbox = memnew(VBoxContainer);
- main_vbox->set_anchors_and_offsets_preset(PRESET_WIDE);
+ main_vbox->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
add_child(main_vbox);
HBoxContainer *top_hbox = memnew(HBoxContainer);
diff --git a/editor/action_map_editor.h b/editor/action_map_editor.h
index d8c40a97a7..1ca3c5bac0 100644
--- a/editor/action_map_editor.h
+++ b/editor/action_map_editor.h
@@ -209,4 +209,4 @@ public:
ActionMapEditor();
};
-#endif
+#endif // ACTION_MAP_EDITOR_H
diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp
index f0650ee446..11e46152ef 100644
--- a/editor/animation_bezier_editor.cpp
+++ b/editor/animation_bezier_editor.cpp
@@ -32,6 +32,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/view_panner.h"
#include "scene/resources/text_line.h"
@@ -44,17 +45,6 @@ float AnimationBezierTrackEdit::_bezier_h_to_pixel(float p_h) {
return h;
}
-static _FORCE_INLINE_ Vector2 _bezier_interp(real_t t, const Vector2 &start, const Vector2 &control_1, const Vector2 &control_2, const Vector2 &end) {
- /* Formula from Wikipedia article on Bezier curves. */
- real_t omt = (1.0 - t);
- real_t omt2 = omt * omt;
- real_t omt3 = omt2 * omt;
- real_t t2 = t * t;
- real_t t3 = t2 * t;
-
- return start * omt3 + control_1 * omt2 * t * 3.0 + control_2 * omt * t2 * 3.0 + end * t3;
-}
-
void AnimationBezierTrackEdit::_draw_track(int p_track, const Color &p_color) {
float scale = timeline->get_zoom_scale();
@@ -151,7 +141,7 @@ void AnimationBezierTrackEdit::_draw_track(int p_track, const Color &p_color) {
for (int k = 0; k < iterations; k++) {
float middle = (low + high) / 2;
- Vector2 interp = _bezier_interp(middle, start, out_handle, in_handle, end);
+ Vector2 interp = start.bezier_interpolate(out_handle, in_handle, end, middle);
if (interp.x < t) {
low = middle;
@@ -161,8 +151,8 @@ void AnimationBezierTrackEdit::_draw_track(int p_track, const Color &p_color) {
}
//interpolate the result:
- Vector2 low_pos = _bezier_interp(low, start, out_handle, in_handle, end);
- Vector2 high_pos = _bezier_interp(high, start, out_handle, in_handle, end);
+ Vector2 low_pos = start.bezier_interpolate(out_handle, in_handle, end, low);
+ Vector2 high_pos = start.bezier_interpolate(out_handle, in_handle, end, high);
float c = (t - low_pos.x) / (high_pos.x - low_pos.x);
@@ -339,6 +329,8 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
}
}
+ Color dc = get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"));
+
Ref<Texture2D> remove = get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"));
float remove_hpos = limit - hsep - remove->get_width();
@@ -413,7 +405,11 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
float icon_start_height = vofs + rect.size.y / 2;
Rect2 remove_rect = Rect2(remove_hpos, icon_start_height - remove->get_height() / 2, remove->get_width(), remove->get_height());
- draw_texture(remove, remove_rect.position);
+ if (read_only) {
+ draw_texture(remove, remove_rect.position, dc);
+ } else {
+ draw_texture(remove, remove_rect.position);
+ }
Rect2 lock_rect = Rect2(lock_hpos, icon_start_height - lock->get_height() / 2, lock->get_width(), lock->get_height());
if (locked_tracks.has(current_track)) {
@@ -643,8 +639,9 @@ Ref<Animation> AnimationBezierTrackEdit::get_animation() const {
return animation;
}
-void AnimationBezierTrackEdit::set_animation_and_track(const Ref<Animation> &p_animation, int p_track) {
+void AnimationBezierTrackEdit::set_animation_and_track(const Ref<Animation> &p_animation, int p_track, bool p_read_only) {
animation = p_animation;
+ read_only = p_read_only;
selected_track = p_track;
update();
}
@@ -653,7 +650,7 @@ Size2 AnimationBezierTrackEdit::get_minimum_size() const {
return Vector2(1, 1);
}
-void AnimationBezierTrackEdit::set_undo_redo(UndoRedo *p_undo_redo) {
+void AnimationBezierTrackEdit::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
undo_redo = p_undo_redo;
}
@@ -665,9 +662,9 @@ void AnimationBezierTrackEdit::set_timeline(AnimationTimelineEdit *p_timeline) {
void AnimationBezierTrackEdit::set_editor(AnimationTrackEditor *p_editor) {
editor = p_editor;
- connect("clear_selection", Callable(editor, "_clear_selection"), varray(false));
- connect("select_key", Callable(editor, "_key_selected"), varray(), CONNECT_DEFERRED);
- connect("deselect_key", Callable(editor, "_key_deselected"), varray(), CONNECT_DEFERRED);
+ connect("clear_selection", Callable(editor, "_clear_selection").bind(false));
+ connect("select_key", Callable(editor, "_key_selected"), CONNECT_DEFERRED);
+ connect("deselect_key", Callable(editor, "_key_deselected"), CONNECT_DEFERRED);
}
void AnimationBezierTrackEdit::_play_position_draw() {
@@ -726,7 +723,7 @@ void AnimationBezierTrackEdit::set_filtered(bool p_filtered) {
continue; // Skip track due to not selected.
}
- set_animation_and_track(animation, i);
+ set_animation_and_track(animation, i, read_only);
break;
}
}
@@ -830,12 +827,16 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (p_event->is_pressed()) {
if (ED_GET_SHORTCUT("animation_editor/duplicate_selection")->matches_event(p_event)) {
- duplicate_selection();
+ if (!read_only) {
+ duplicate_selection();
+ }
accept_event();
}
if (ED_GET_SHORTCUT("animation_editor/delete_selection")->matches_event(p_event)) {
- delete_selection();
+ if (!read_only) {
+ delete_selection();
+ }
accept_event();
}
}
@@ -928,26 +929,28 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (mb.is_valid() && mb->get_button_index() == MouseButton::RIGHT && mb->is_pressed()) {
menu_insert_key = mb->get_position();
if (menu_insert_key.x >= limit && menu_insert_key.x <= get_size().width) {
- Vector2 popup_pos = get_screen_position() + mb->get_position();
+ if (!read_only) {
+ Vector2 popup_pos = get_screen_position() + mb->get_position();
- menu->clear();
- if (!locked_tracks.has(selected_track) || locked_tracks.has(selected_track)) {
- menu->add_icon_item(bezier_icon, TTR("Insert Key Here"), MENU_KEY_INSERT);
- }
- if (selection.size()) {
- menu->add_separator();
- menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Duplicate Selected Key(s)"), MENU_KEY_DUPLICATE);
- menu->add_separator();
- menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Selected Key(s)"), MENU_KEY_DELETE);
- menu->add_separator();
- menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesFree"), SNAME("EditorIcons")), TTR("Make Handles Free"), MENU_KEY_SET_HANDLE_FREE);
- menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesBalanced"), SNAME("EditorIcons")), TTR("Make Handles Balanced"), MENU_KEY_SET_HANDLE_BALANCED);
- }
+ menu->clear();
+ if (!locked_tracks.has(selected_track) || locked_tracks.has(selected_track)) {
+ menu->add_icon_item(bezier_icon, TTR("Insert Key Here"), MENU_KEY_INSERT);
+ }
+ if (selection.size()) {
+ menu->add_separator();
+ menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Duplicate Selected Key(s)"), MENU_KEY_DUPLICATE);
+ menu->add_separator();
+ menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Selected Key(s)"), MENU_KEY_DELETE);
+ menu->add_separator();
+ menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesFree"), SNAME("EditorIcons")), TTR("Make Handles Free"), MENU_KEY_SET_HANDLE_FREE);
+ menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesBalanced"), SNAME("EditorIcons")), TTR("Make Handles Balanced"), MENU_KEY_SET_HANDLE_BALANCED);
+ }
- if (menu->get_item_count()) {
- menu->reset_size();
- menu->set_position(popup_pos);
- menu->popup();
+ if (menu->get_item_count()) {
+ menu->reset_size();
+ menu->set_position(popup_pos);
+ menu->popup();
+ }
}
}
}
@@ -956,7 +959,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
for (const KeyValue<int, Rect2> &E : subtracks) {
if (E.value.has_point(mb->get_position())) {
if (!locked_tracks.has(E.key) && !hidden_tracks.has(E.key)) {
- set_animation_and_track(animation, E.key);
+ set_animation_and_track(animation, E.key, read_only);
_clear_selection();
}
return;
@@ -969,30 +972,32 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
for (const KeyValue<int, Rect2> &I : track_icons) {
if (I.value.has_point(mb->get_position())) {
if (I.key == REMOVE_ICON) {
- undo_redo->create_action("Remove Bezier Track");
-
- undo_redo->add_do_method(this, "_update_locked_tracks_after", track);
- undo_redo->add_do_method(this, "_update_hidden_tracks_after", track);
-
- undo_redo->add_do_method(animation.ptr(), "remove_track", track);
+ if (!read_only) {
+ undo_redo->create_action("Remove Bezier Track");
+
+ undo_redo->add_do_method(this, "_update_locked_tracks_after", track);
+ undo_redo->add_do_method(this, "_update_hidden_tracks_after", track);
+
+ undo_redo->add_do_method(animation.ptr(), "remove_track", track);
+
+ undo_redo->add_undo_method(animation.ptr(), "add_track", Animation::TrackType::TYPE_BEZIER, track);
+ undo_redo->add_undo_method(animation.ptr(), "track_set_path", track, animation->track_get_path(track));
+
+ for (int i = 0; i < animation->track_get_key_count(track); ++i) {
+ undo_redo->add_undo_method(
+ animation.ptr(),
+ "bezier_track_insert_key",
+ track, animation->track_get_key_time(track, i),
+ animation->bezier_track_get_key_value(track, i),
+ animation->bezier_track_get_key_in_handle(track, i),
+ animation->bezier_track_get_key_out_handle(track, i),
+ animation->bezier_track_get_key_handle_mode(track, i));
+ }
- undo_redo->add_undo_method(animation.ptr(), "add_track", Animation::TrackType::TYPE_BEZIER, track);
- undo_redo->add_undo_method(animation.ptr(), "track_set_path", track, animation->track_get_path(track));
+ undo_redo->commit_action();
- for (int i = 0; i < animation->track_get_key_count(track); ++i) {
- undo_redo->add_undo_method(
- animation.ptr(),
- "bezier_track_insert_key",
- track, animation->track_get_key_time(track, i),
- animation->bezier_track_get_key_value(track, i),
- animation->bezier_track_get_key_in_handle(track, i),
- animation->bezier_track_get_key_out_handle(track, i),
- animation->bezier_track_get_key_handle_mode(track, i));
+ selected_track = CLAMP(selected_track, 0, animation->get_track_count() - 1);
}
-
- undo_redo->commit_action();
-
- selected_track = CLAMP(selected_track, 0, animation->get_track_count() - 1);
return;
} else if (I.key == LOCK_ICON) {
if (locked_tracks.has(track)) {
@@ -1002,7 +1007,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (selected_track == track) {
for (int i = 0; i < animation->get_track_count(); ++i) {
if (!locked_tracks.has(i) && animation->track_get_type(i) == Animation::TrackType::TYPE_BEZIER) {
- set_animation_and_track(animation, i);
+ set_animation_and_track(animation, i, read_only);
break;
}
}
@@ -1018,7 +1023,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (selected_track == track) {
for (int i = 0; i < animation->get_track_count(); ++i) {
if (!hidden_tracks.has(i) && animation->track_get_type(i) == Animation::TrackType::TYPE_BEZIER) {
- set_animation_and_track(animation, i);
+ set_animation_and_track(animation, i, read_only);
break;
}
}
@@ -1057,7 +1062,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
}
}
- set_animation_and_track(animation, track);
+ set_animation_and_track(animation, track, read_only);
solo_track = track;
}
update();
@@ -1098,7 +1103,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
moving_selection_from_key = pair.second;
moving_selection_from_track = pair.first;
moving_selection_offset = Vector2();
- set_animation_and_track(animation, pair.first);
+ set_animation_and_track(animation, pair.first, read_only);
selection.clear();
selection.insert(pair);
update();
@@ -1107,24 +1112,26 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
}
}
- if (edit_points[i].in_rect.has_point(mb->get_position())) {
- moving_handle = -1;
- moving_handle_key = edit_points[i].key;
- moving_handle_track = edit_points[i].track;
- moving_handle_left = animation->bezier_track_get_key_in_handle(edit_points[i].track, edit_points[i].key);
- moving_handle_right = animation->bezier_track_get_key_out_handle(edit_points[i].track, edit_points[i].key);
- update();
- return;
- }
+ if (!read_only) {
+ if (edit_points[i].in_rect.has_point(mb->get_position())) {
+ moving_handle = -1;
+ moving_handle_key = edit_points[i].key;
+ moving_handle_track = edit_points[i].track;
+ moving_handle_left = animation->bezier_track_get_key_in_handle(edit_points[i].track, edit_points[i].key);
+ moving_handle_right = animation->bezier_track_get_key_out_handle(edit_points[i].track, edit_points[i].key);
+ update();
+ return;
+ }
- if (edit_points[i].out_rect.has_point(mb->get_position())) {
- moving_handle = 1;
- moving_handle_key = edit_points[i].key;
- moving_handle_track = edit_points[i].track;
- moving_handle_left = animation->bezier_track_get_key_in_handle(edit_points[i].track, edit_points[i].key);
- moving_handle_right = animation->bezier_track_get_key_out_handle(edit_points[i].track, edit_points[i].key);
- update();
- return;
+ if (edit_points[i].out_rect.has_point(mb->get_position())) {
+ moving_handle = 1;
+ moving_handle_key = edit_points[i].key;
+ moving_handle_track = edit_points[i].track;
+ moving_handle_left = animation->bezier_track_get_key_in_handle(edit_points[i].track, edit_points[i].key);
+ moving_handle_right = animation->bezier_track_get_key_out_handle(edit_points[i].track, edit_points[i].key);
+ update();
+ return;
+ }
}
}
@@ -1202,7 +1209,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
selection.insert(IntPair(edit_points[i].track, edit_points[i].key));
if (!track_set) {
track_set = true;
- set_animation_and_track(animation, edit_points[i].track);
+ set_animation_and_track(animation, edit_points[i].track, read_only);
}
}
}
@@ -1226,7 +1233,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
float track_height = _bezier_h_to_pixel(track_h);
if (abs(mb->get_position().y - track_height) < 10) {
- set_animation_and_track(animation, i);
+ set_animation_and_track(animation, i, read_only);
break;
}
}
@@ -1240,102 +1247,106 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
}
if (moving_handle != 0 && mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT) {
- undo_redo->create_action(TTR("Move Bezier Points"));
- undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_in_handle", selected_track, moving_handle_key, moving_handle_left);
- undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_out_handle", selected_track, moving_handle_key, moving_handle_right);
- undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_in_handle", selected_track, moving_handle_key, animation->bezier_track_get_key_in_handle(selected_track, moving_handle_key));
- undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_out_handle", selected_track, moving_handle_key, animation->bezier_track_get_key_out_handle(selected_track, moving_handle_key));
- undo_redo->commit_action();
+ if (!read_only) {
+ undo_redo->create_action(TTR("Move Bezier Points"));
+ undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_in_handle", selected_track, moving_handle_key, moving_handle_left);
+ undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_out_handle", selected_track, moving_handle_key, moving_handle_right);
+ undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_in_handle", selected_track, moving_handle_key, animation->bezier_track_get_key_in_handle(selected_track, moving_handle_key));
+ undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_out_handle", selected_track, moving_handle_key, animation->bezier_track_get_key_out_handle(selected_track, moving_handle_key));
+ undo_redo->commit_action();
- moving_handle = 0;
- update();
+ moving_handle = 0;
+ update();
+ }
}
if (moving_selection_attempt && mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT) {
- if (moving_selection) {
- //combit it
+ if (!read_only) {
+ if (moving_selection) {
+ //combit it
- undo_redo->create_action(TTR("Move Bezier Points"));
+ undo_redo->create_action(TTR("Move Bezier Points"));
- List<AnimMoveRestore> to_restore;
- // 1-remove the keys
- for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
- undo_redo->add_do_method(animation.ptr(), "track_remove_key", E->get().first, E->get().second);
- }
- // 2- remove overlapped keys
- for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
- float newtime = editor->snap_time(animation->track_get_key_time(E->get().first, E->get().second) + moving_selection_offset.x);
-
- int idx = animation->track_find_key(E->get().first, newtime, true);
- if (idx == -1) {
- continue;
+ List<AnimMoveRestore> to_restore;
+ // 1-remove the keys
+ for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
+ undo_redo->add_do_method(animation.ptr(), "track_remove_key", E->get().first, E->get().second);
}
+ // 2- remove overlapped keys
+ for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
+ float newtime = editor->snap_time(animation->track_get_key_time(E->get().first, E->get().second) + moving_selection_offset.x);
- if (selection.has(IntPair(E->get().first, idx))) {
- continue; //already in selection, don't save
- }
+ int idx = animation->track_find_key(E->get().first, newtime, true);
+ if (idx == -1) {
+ continue;
+ }
- undo_redo->add_do_method(animation.ptr(), "track_remove_key_at_time", E->get().first, newtime);
- AnimMoveRestore amr;
+ if (selection.has(IntPair(E->get().first, idx))) {
+ continue; //already in selection, don't save
+ }
- amr.key = animation->track_get_key_value(E->get().first, idx);
- amr.track = E->get().first;
- amr.time = newtime;
+ undo_redo->add_do_method(animation.ptr(), "track_remove_key_at_time", E->get().first, newtime);
+ AnimMoveRestore amr;
- to_restore.push_back(amr);
- }
+ amr.key = animation->track_get_key_value(E->get().first, idx);
+ amr.track = E->get().first;
+ amr.time = newtime;
- // 3-move the keys (re insert them)
- for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
- float newpos = editor->snap_time(animation->track_get_key_time(E->get().first, E->get().second) + moving_selection_offset.x);
- Array key = animation->track_get_key_value(E->get().first, E->get().second);
- float h = key[0];
- h += moving_selection_offset.y;
- key[0] = h;
- undo_redo->add_do_method(animation.ptr(), "track_insert_key", E->get().first, newpos, key, 1);
- }
+ to_restore.push_back(amr);
+ }
- // 4-(undo) remove inserted keys
- for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
- float newpos = editor->snap_time(animation->track_get_key_time(E->get().first, E->get().second) + moving_selection_offset.x);
- undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", E->get().first, newpos);
- }
+ // 3-move the keys (re insert them)
+ for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
+ float newpos = editor->snap_time(animation->track_get_key_time(E->get().first, E->get().second) + moving_selection_offset.x);
+ Array key = animation->track_get_key_value(E->get().first, E->get().second);
+ float h = key[0];
+ h += moving_selection_offset.y;
+ key[0] = h;
+ undo_redo->add_do_method(animation.ptr(), "track_insert_key", E->get().first, newpos, key, 1);
+ }
- // 5-(undo) reinsert keys
- for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
- float oldpos = animation->track_get_key_time(E->get().first, E->get().second);
- undo_redo->add_undo_method(animation.ptr(), "track_insert_key", E->get().first, oldpos, animation->track_get_key_value(E->get().first, E->get().second), 1);
- }
+ // 4-(undo) remove inserted keys
+ for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
+ float newpos = editor->snap_time(animation->track_get_key_time(E->get().first, E->get().second) + moving_selection_offset.x);
+ undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", E->get().first, newpos);
+ }
- // 6-(undo) reinsert overlapped keys
- for (const AnimMoveRestore &amr : to_restore) {
- undo_redo->add_undo_method(animation.ptr(), "track_insert_key", amr.track, amr.time, amr.key, 1);
- }
+ // 5-(undo) reinsert keys
+ for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
+ float oldpos = animation->track_get_key_time(E->get().first, E->get().second);
+ undo_redo->add_undo_method(animation.ptr(), "track_insert_key", E->get().first, oldpos, animation->track_get_key_value(E->get().first, E->get().second), 1);
+ }
- undo_redo->add_do_method(this, "_clear_selection_for_anim", animation);
- undo_redo->add_undo_method(this, "_clear_selection_for_anim", animation);
+ // 6-(undo) reinsert overlapped keys
+ for (const AnimMoveRestore &amr : to_restore) {
+ undo_redo->add_undo_method(animation.ptr(), "track_insert_key", amr.track, amr.time, amr.key, 1);
+ }
- // 7-reselect
+ undo_redo->add_do_method(this, "_clear_selection_for_anim", animation);
+ undo_redo->add_undo_method(this, "_clear_selection_for_anim", animation);
- for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
- float oldpos = animation->track_get_key_time(E->get().first, E->get().second);
- float newpos = editor->snap_time(oldpos + moving_selection_offset.x);
+ // 7-reselect
- undo_redo->add_do_method(this, "_select_at_anim", animation, E->get().first, newpos);
- undo_redo->add_undo_method(this, "_select_at_anim", animation, E->get().first, oldpos);
- }
+ for (SelectionSet::Element *E = selection.back(); E; E = E->prev()) {
+ float oldpos = animation->track_get_key_time(E->get().first, E->get().second);
+ float newpos = editor->snap_time(oldpos + moving_selection_offset.x);
- undo_redo->commit_action();
+ undo_redo->add_do_method(this, "_select_at_anim", animation, E->get().first, newpos);
+ undo_redo->add_undo_method(this, "_select_at_anim", animation, E->get().first, oldpos);
+ }
- moving_selection = false;
- } else if (select_single_attempt != IntPair(-1, -1)) {
- selection.clear();
- selection.insert(select_single_attempt);
- set_animation_and_track(animation, select_single_attempt.first);
- }
+ undo_redo->commit_action();
- moving_selection_attempt = false;
- update();
+ moving_selection = false;
+ } else if (select_single_attempt != IntPair(-1, -1)) {
+ selection.clear();
+ selection.insert(select_single_attempt);
+ set_animation_and_track(animation, select_single_attempt.first, read_only);
+ }
+
+ moving_selection_attempt = false;
+ update();
+ }
}
Ref<InputEventMouseMotion> mm = p_event;
@@ -1348,7 +1359,9 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
float y = (get_size().height / 2 - mm->get_position().y) * v_zoom + v_scroll;
float x = editor->snap_time(((mm->get_position().x - limit) / timeline->get_zoom_scale()) + timeline->get_value());
- moving_selection_offset = Vector2(x - animation->track_get_key_time(moving_selection_from_track, moving_selection_from_key), y - animation->bezier_track_get_key_value(moving_selection_from_track, moving_selection_from_key));
+ if (!read_only) {
+ moving_selection_offset = Vector2(x - animation->track_get_key_time(moving_selection_from_track, moving_selection_from_key), y - animation->bezier_track_get_key_value(moving_selection_from_track, moving_selection_from_key));
+ }
update();
}
@@ -1410,20 +1423,22 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
bool is_finishing_key_handle_drag = moving_handle != 0 && mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT;
if (is_finishing_key_handle_drag) {
- undo_redo->create_action(TTR("Move Bezier Points"));
- if (moving_handle == -1) {
- double ratio = timeline->get_zoom_scale() * v_zoom;
- undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_in_handle", moving_handle_track, moving_handle_key, moving_handle_left, ratio);
- undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_in_handle", moving_handle_track, moving_handle_key, animation->bezier_track_get_key_in_handle(moving_handle_track, moving_handle_key), ratio);
- } else if (moving_handle == 1) {
- double ratio = timeline->get_zoom_scale() * v_zoom;
- undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_out_handle", moving_handle_track, moving_handle_key, moving_handle_right, ratio);
- undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_out_handle", moving_handle_track, moving_handle_key, animation->bezier_track_get_key_out_handle(moving_handle_track, moving_handle_key), ratio);
- }
- undo_redo->commit_action();
+ if (!read_only) {
+ undo_redo->create_action(TTR("Move Bezier Points"));
+ if (moving_handle == -1) {
+ double ratio = timeline->get_zoom_scale() * v_zoom;
+ undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_in_handle", moving_handle_track, moving_handle_key, moving_handle_left, ratio);
+ undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_in_handle", moving_handle_track, moving_handle_key, animation->bezier_track_get_key_in_handle(moving_handle_track, moving_handle_key), ratio);
+ } else if (moving_handle == 1) {
+ double ratio = timeline->get_zoom_scale() * v_zoom;
+ undo_redo->add_do_method(animation.ptr(), "bezier_track_set_key_out_handle", moving_handle_track, moving_handle_key, moving_handle_right, ratio);
+ undo_redo->add_undo_method(animation.ptr(), "bezier_track_set_key_out_handle", moving_handle_track, moving_handle_key, animation->bezier_track_get_key_out_handle(moving_handle_track, moving_handle_key), ratio);
+ }
+ undo_redo->commit_action();
- moving_handle = 0;
- update();
+ moving_handle = 0;
+ update();
+ }
}
}
@@ -1604,7 +1619,7 @@ AnimationBezierTrackEdit::AnimationBezierTrackEdit() {
play_position = memnew(Control);
play_position->set_mouse_filter(MOUSE_FILTER_PASS);
add_child(play_position);
- play_position->set_anchors_and_offsets_preset(PRESET_WIDE);
+ play_position->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
play_position->connect("draw", callable_mp(this, &AnimationBezierTrackEdit::_play_position_draw));
set_focus_mode(FOCUS_CLICK);
diff --git a/editor/animation_bezier_editor.h b/editor/animation_bezier_editor.h
index 22b58a6703..3e94b4fa84 100644
--- a/editor/animation_bezier_editor.h
+++ b/editor/animation_bezier_editor.h
@@ -34,6 +34,7 @@
#include "animation_track_editor.h"
#include "core/templates/rb_set.h"
+class EditorUndoRedoManager;
class ViewPanner;
class AnimationBezierTrackEdit : public Control {
@@ -48,12 +49,13 @@ class AnimationBezierTrackEdit : public Control {
};
AnimationTimelineEdit *timeline = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Node *root = nullptr;
Control *play_position = nullptr; //separate control used to draw so updates for only position changed are much faster
float play_position_pos = 0;
Ref<Animation> animation;
+ bool read_only = false;
int selected_track = 0;
Vector<Rect2> view_rects;
@@ -176,10 +178,10 @@ public:
Ref<Animation> get_animation() const;
- void set_animation_and_track(const Ref<Animation> &p_animation, int p_track);
+ void set_animation_and_track(const Ref<Animation> &p_animation, int p_track, bool p_read_only);
virtual Size2 get_minimum_size() const override;
- void set_undo_redo(UndoRedo *p_undo_redo);
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void set_timeline(AnimationTimelineEdit *p_timeline);
void set_editor(AnimationTrackEditor *p_editor);
void set_root(Node *p_root);
diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp
index e01e6e1811..d95fe64a09 100644
--- a/editor/animation_track_editor.cpp
+++ b/editor/animation_track_editor.cpp
@@ -35,8 +35,11 @@
#include "editor/animation_bezier_editor.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/animation_player_editor_plugin.h"
#include "scene/animation/animation_player.h"
+#include "scene/animation/tween.h"
+#include "scene/gui/separator.h"
#include "scene/gui/view_panner.h"
#include "scene/main/window.h"
#include "scene/scene_string_names.h"
@@ -47,6 +50,7 @@ class AnimationTrackKeyEdit : public Object {
public:
bool setting = false;
+ bool animation_read_only = false;
bool _hide_script_from_inspector() {
return true;
@@ -56,12 +60,17 @@ public:
return true;
}
+ bool _read_only() {
+ return animation_read_only;
+ }
+
static void _bind_methods() {
ClassDB::bind_method("_update_obj", &AnimationTrackKeyEdit::_update_obj);
ClassDB::bind_method("_key_ofs_changed", &AnimationTrackKeyEdit::_key_ofs_changed);
ClassDB::bind_method("_hide_script_from_inspector", &AnimationTrackKeyEdit::_hide_script_from_inspector);
ClassDB::bind_method("get_root_path", &AnimationTrackKeyEdit::get_root_path);
ClassDB::bind_method("_dont_undo_redo", &AnimationTrackKeyEdit::_dont_undo_redo);
+ ClassDB::bind_method("_read_only", &AnimationTrackKeyEdit::_read_only);
}
void _fix_node_path(Variant &value) {
@@ -673,7 +682,7 @@ public:
}
}
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Ref<Animation> animation;
int track = -1;
float key_ofs = 0;
@@ -702,6 +711,7 @@ class AnimationMultiTrackKeyEdit : public Object {
public:
bool setting = false;
+ bool animation_read_only = false;
bool _hide_script_from_inspector() {
return true;
@@ -711,12 +721,17 @@ public:
return true;
}
+ bool _read_only() {
+ return animation_read_only;
+ }
+
static void _bind_methods() {
ClassDB::bind_method("_update_obj", &AnimationMultiTrackKeyEdit::_update_obj);
ClassDB::bind_method("_key_ofs_changed", &AnimationMultiTrackKeyEdit::_key_ofs_changed);
ClassDB::bind_method("_hide_script_from_inspector", &AnimationMultiTrackKeyEdit::_hide_script_from_inspector);
ClassDB::bind_method("get_root_path", &AnimationMultiTrackKeyEdit::get_root_path);
ClassDB::bind_method("_dont_undo_redo", &AnimationMultiTrackKeyEdit::_dont_undo_redo);
+ ClassDB::bind_method("_read_only", &AnimationMultiTrackKeyEdit::_read_only);
}
void _fix_node_path(Variant &value, NodePath &base) {
@@ -1361,7 +1376,7 @@ public:
bool use_fps = false;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void notify_change() {
notify_property_list_changed();
@@ -1415,22 +1430,32 @@ void AnimationTimelineEdit::_anim_length_changed(double p_new_len) {
}
void AnimationTimelineEdit::_anim_loop_pressed() {
- undo_redo->create_action(TTR("Change Animation Loop"));
- switch (animation->get_loop_mode()) {
- case Animation::LOOP_NONE: {
- undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_LINEAR);
- } break;
- case Animation::LOOP_LINEAR: {
- undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_PINGPONG);
- } break;
- case Animation::LOOP_PINGPONG: {
- undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_NONE);
- } break;
- default:
- break;
+ if (!read_only) {
+ undo_redo->create_action(TTR("Change Animation Loop"));
+ switch (animation->get_loop_mode()) {
+ case Animation::LOOP_NONE: {
+ undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_LINEAR);
+ } break;
+ case Animation::LOOP_LINEAR: {
+ undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_PINGPONG);
+ } break;
+ case Animation::LOOP_PINGPONG: {
+ undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_NONE);
+ } break;
+ default:
+ break;
+ }
+ undo_redo->add_undo_method(animation.ptr(), "set_loop_mode", animation->get_loop_mode());
+ undo_redo->commit_action();
+ } else {
+ String base_path = animation->get_path();
+ if (FileAccess::exists(base_path + ".import")) {
+ EditorNode::get_singleton()->show_warning(TTR("Can't change loop mode on animation instanced from imported scene."));
+ } else {
+ EditorNode::get_singleton()->show_warning(TTR("Can't change loop mode on animation embedded in another scene."));
+ }
+ update_values();
}
- undo_redo->add_undo_method(animation.ptr(), "set_loop_mode", animation->get_loop_mode());
- undo_redo->commit_action();
}
int AnimationTimelineEdit::get_buttons_width() const {
@@ -1577,10 +1602,10 @@ void AnimationTimelineEdit::_notification(int p_what) {
int decimals = 2;
bool step_found = false;
- const float period_width = font->get_char_size('.', 0, font_size).width;
- float max_digit_width = font->get_char_size('0', 0, font_size).width;
+ const float period_width = font->get_char_size('.', font_size).width;
+ float max_digit_width = font->get_char_size('0', font_size).width;
for (int i = 1; i <= 9; i++) {
- const float digit_width = font->get_char_size('0' + i, 0, font_size).width;
+ const float digit_width = font->get_char_size('0' + i, font_size).width;
max_digit_width = MAX(digit_width, max_digit_width);
}
const int max_sc = int(Math::ceil(zoomw / scale));
@@ -1628,7 +1653,7 @@ void AnimationTimelineEdit::_notification(int p_what) {
draw_line(Point2(get_name_limit() + i, 0), Point2(get_name_limit() + i, h), linecolor, Math::round(EDSCALE));
draw_string(font, Point2(get_name_limit() + i + 3 * EDSCALE, (h - font->get_height(font_size)) / 2 + font->get_ascent(font_size)).floor(), itos(frame), HORIZONTAL_ALIGNMENT_LEFT, zoomw - i, font_size, sub ? color_time_dec : color_time_sec);
- prev_frame_ofs = i + font->get_string_size(itos(frame), font_size).x + 5 * EDSCALE;
+ prev_frame_ofs = i + font->get_string_size(itos(frame), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x + 5 * EDSCALE;
}
}
}
@@ -1655,11 +1680,17 @@ void AnimationTimelineEdit::_notification(int p_what) {
}
}
-void AnimationTimelineEdit::set_animation(const Ref<Animation> &p_animation) {
+void AnimationTimelineEdit::set_animation(const Ref<Animation> &p_animation, bool p_read_only) {
animation = p_animation;
+ read_only = p_read_only;
+
if (animation.is_valid()) {
len_hb->show();
- add_track->show();
+ if (read_only) {
+ add_track->hide();
+ } else {
+ add_track->show();
+ }
play_position->show();
} else {
len_hb->hide();
@@ -1679,7 +1710,7 @@ Size2 AnimationTimelineEdit::get_minimum_size() const {
return ms;
}
-void AnimationTimelineEdit::set_undo_redo(UndoRedo *p_undo_redo) {
+void AnimationTimelineEdit::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
undo_redo = p_undo_redo;
}
@@ -1890,7 +1921,7 @@ AnimationTimelineEdit::AnimationTimelineEdit() {
play_position = memnew(Control);
play_position->set_mouse_filter(MOUSE_FILTER_PASS);
add_child(play_position);
- play_position->set_anchors_and_offsets_preset(PRESET_WIDE);
+ play_position->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
play_position->connect("draw", callable_mp(this, &AnimationTimelineEdit::_play_position_draw));
add_track = memnew(MenuButton);
@@ -1981,6 +2012,8 @@ void AnimationTrackEdit::_notification(int p_what) {
Color linecolor = color;
linecolor.a = 0.2;
+ Color dc = get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"));
+
// NAMES AND ICONS //
{
@@ -2083,11 +2116,11 @@ void AnimationTrackEdit::_notification(int p_what) {
get_theme_icon(SNAME("InterpWrapClamp"), SNAME("EditorIcons")),
get_theme_icon(SNAME("InterpWrapLoop"), SNAME("EditorIcons")),
};
-
- Ref<Texture2D> interp_icon[3] = {
+ Ref<Texture2D> interp_icon[4] = {
get_theme_icon(SNAME("InterpRaw"), SNAME("EditorIcons")),
get_theme_icon(SNAME("InterpLinear"), SNAME("EditorIcons")),
- get_theme_icon(SNAME("InterpCubic"), SNAME("EditorIcons"))
+ get_theme_icon(SNAME("InterpCubic"), SNAME("EditorIcons")),
+ get_theme_icon(SNAME("InterpCubicInTime"), SNAME("EditorIcons"))
};
Ref<Texture2D> cont_icon[4] = {
get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")),
@@ -2130,14 +2163,18 @@ void AnimationTrackEdit::_notification(int p_what) {
ofs += update_icon->get_width() + hsep / 2;
update_mode_rect.size.x += hsep / 2;
- if (animation->track_get_type(track) == Animation::TYPE_VALUE) {
- draw_texture(down_icon, Vector2(ofs, int(get_size().height - down_icon->get_height()) / 2));
- update_mode_rect.size.x += down_icon->get_width();
- } else if (animation->track_get_type(track) == Animation::TYPE_BEZIER) {
- Ref<Texture2D> bezier_icon = get_theme_icon(SNAME("EditBezier"), SNAME("EditorIcons"));
- update_mode_rect.size.x += down_icon->get_width();
+ if (!read_only) {
+ if (animation->track_get_type(track) == Animation::TYPE_VALUE) {
+ draw_texture(down_icon, Vector2(ofs, int(get_size().height - down_icon->get_height()) / 2));
+ update_mode_rect.size.x += down_icon->get_width();
+ } else if (animation->track_get_type(track) == Animation::TYPE_BEZIER) {
+ Ref<Texture2D> bezier_icon = get_theme_icon(SNAME("EditBezier"), SNAME("EditorIcons"));
+ update_mode_rect.size.x += down_icon->get_width();
- update_mode_rect = Rect2();
+ update_mode_rect = Rect2();
+ } else {
+ update_mode_rect = Rect2();
+ }
} else {
update_mode_rect = Rect2();
}
@@ -2168,7 +2205,7 @@ void AnimationTrackEdit::_notification(int p_what) {
ofs += icon->get_width() + hsep / 2;
interp_mode_rect.size.x += hsep / 2;
- if (!animation->track_is_compressed(track) && (animation->track_get_type(track) == Animation::TYPE_VALUE || animation->track_get_type(track) == Animation::TYPE_BLEND_SHAPE || animation->track_get_type(track) == Animation::TYPE_POSITION_3D || animation->track_get_type(track) == Animation::TYPE_SCALE_3D || animation->track_get_type(track) == Animation::TYPE_ROTATION_3D)) {
+ if (!read_only && !animation->track_is_compressed(track) && (animation->track_get_type(track) == Animation::TYPE_VALUE || animation->track_get_type(track) == Animation::TYPE_BLEND_SHAPE || animation->track_get_type(track) == Animation::TYPE_POSITION_3D || animation->track_get_type(track) == Animation::TYPE_SCALE_3D || animation->track_get_type(track) == Animation::TYPE_ROTATION_3D)) {
draw_texture(down_icon, Vector2(ofs, int(get_size().height - down_icon->get_height()) / 2));
interp_mode_rect.size.x += down_icon->get_width();
} else {
@@ -2201,7 +2238,7 @@ void AnimationTrackEdit::_notification(int p_what) {
ofs += icon->get_width() + hsep / 2;
loop_wrap_rect.size.x += hsep / 2;
- if (!animation->track_is_compressed(track) && (animation->track_get_type(track) == Animation::TYPE_VALUE || animation->track_get_type(track) == Animation::TYPE_BLEND_SHAPE || animation->track_get_type(track) == Animation::TYPE_POSITION_3D || animation->track_get_type(track) == Animation::TYPE_SCALE_3D || animation->track_get_type(track) == Animation::TYPE_ROTATION_3D)) {
+ if (!read_only && !animation->track_is_compressed(track) && (animation->track_get_type(track) == Animation::TYPE_VALUE || animation->track_get_type(track) == Animation::TYPE_BLEND_SHAPE || animation->track_get_type(track) == Animation::TYPE_POSITION_3D || animation->track_get_type(track) == Animation::TYPE_SCALE_3D || animation->track_get_type(track) == Animation::TYPE_ROTATION_3D)) {
draw_texture(down_icon, Vector2(ofs, int(get_size().height - down_icon->get_height()) / 2));
loop_wrap_rect.size.x += down_icon->get_width();
} else {
@@ -2222,7 +2259,11 @@ void AnimationTrackEdit::_notification(int p_what) {
remove_rect.position.y = int(get_size().height - icon->get_height()) / 2;
remove_rect.size = icon->get_size();
- draw_texture(icon, remove_rect.position);
+ if (read_only) {
+ draw_texture(icon, remove_rect.position, dc);
+ } else {
+ draw_texture(icon, remove_rect.position);
+ }
}
}
@@ -2438,8 +2479,10 @@ Ref<Animation> AnimationTrackEdit::get_animation() const {
return animation;
}
-void AnimationTrackEdit::set_animation_and_track(const Ref<Animation> &p_animation, int p_track) {
+void AnimationTrackEdit::set_animation_and_track(const Ref<Animation> &p_animation, int p_track, bool p_read_only) {
animation = p_animation;
+ read_only = p_read_only;
+
track = p_track;
update();
@@ -2466,10 +2509,14 @@ Size2 AnimationTrackEdit::get_minimum_size() const {
return Vector2(1, max_h + separation);
}
-void AnimationTrackEdit::set_undo_redo(UndoRedo *p_undo_redo) {
+void AnimationTrackEdit::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
undo_redo = p_undo_redo;
}
+Ref<EditorUndoRedoManager> AnimationTrackEdit::get_undo_redo() const {
+ return undo_redo;
+}
+
void AnimationTrackEdit::set_timeline(AnimationTimelineEdit *p_timeline) {
timeline = p_timeline;
timeline->set_track_edit(this);
@@ -2619,34 +2666,33 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const {
}
if (key_idx != -1) {
- String text = TTR("Time (s): ") + rtos(animation->track_get_key_time(track, key_idx)) + "\n";
+ String text = TTR("Time (s):") + " " + rtos(animation->track_get_key_time(track, key_idx)) + "\n";
switch (animation->track_get_type(track)) {
case Animation::TYPE_POSITION_3D: {
Vector3 t = animation->track_get_key_value(track, key_idx);
- text += "Position: " + String(t) + "\n";
+ text += TTR("Position:") + " " + String(t) + "\n";
} break;
case Animation::TYPE_ROTATION_3D: {
Quaternion t = animation->track_get_key_value(track, key_idx);
- text += "Rotation: " + String(t) + "\n";
+ text += TTR("Rotation:") + " " + String(t) + "\n";
} break;
case Animation::TYPE_SCALE_3D: {
Vector3 t = animation->track_get_key_value(track, key_idx);
- text += "Scale: " + String(t) + "\n";
+ text += TTR("Scale:") + " " + String(t) + "\n";
} break;
case Animation::TYPE_BLEND_SHAPE: {
float t = animation->track_get_key_value(track, key_idx);
- text += "Blend Shape: " + itos(t) + "\n";
+ text += TTR("Blend Shape:") + " " + itos(t) + "\n";
} break;
case Animation::TYPE_VALUE: {
const Variant &v = animation->track_get_key_value(track, key_idx);
- text += "Type: " + Variant::get_type_name(v.get_type()) + "\n";
+ text += TTR("Type:") + " " + Variant::get_type_name(v.get_type()) + "\n";
Variant::Type valid_type = Variant::NIL;
+ text += TTR("Value:") + " " + String(v);
if (!_is_value_key_valid(v, valid_type)) {
- text += "Value: " + String(v) + " (Invalid, expected type: " + Variant::get_type_name(valid_type) + ")\n";
- } else {
- text += "Value: " + String(v) + "\n";
+ text += " " + vformat(TTR("(Invalid, expected type: %s)"), Variant::get_type_name(valid_type));
}
- text += "Easing: " + rtos(animation->track_get_key_transition(track, key_idx));
+ text += "\n" + TTR("Easing:") + " " + rtos(animation->track_get_key_transition(track, key_idx));
} break;
case Animation::TYPE_METHOD: {
@@ -2670,22 +2716,20 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const {
} break;
case Animation::TYPE_BEZIER: {
float h = animation->bezier_track_get_key_value(track, key_idx);
- text += "Value: " + rtos(h) + "\n";
+ text += TTR("Value:") + " " + rtos(h) + "\n";
Vector2 ih = animation->bezier_track_get_key_in_handle(track, key_idx);
- text += "In-Handle: " + ih + "\n";
+ text += TTR("In-Handle:") + " " + ih + "\n";
Vector2 oh = animation->bezier_track_get_key_out_handle(track, key_idx);
- text += "Out-Handle: " + oh + "\n";
+ text += TTR("Out-Handle:") + " " + oh + "\n";
int hm = animation->bezier_track_get_key_handle_mode(track, key_idx);
- text += "Handle mode: ";
switch (hm) {
case Animation::HANDLE_MODE_FREE: {
- text += "Free";
+ text += TTR("Handle mode: Free\n");
} break;
case Animation::HANDLE_MODE_BALANCED: {
- text += "Balanced";
+ text += TTR("Handle mode: Balanced\n");
} break;
}
- text += "\n";
} break;
case Animation::TYPE_AUDIO: {
String stream_name = "null";
@@ -2700,15 +2744,15 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const {
}
}
- text += "Stream: " + stream_name + "\n";
+ text += TTR("Stream:") + " " + stream_name + "\n";
float so = animation->audio_track_get_key_start_offset(track, key_idx);
- text += "Start (s): " + rtos(so) + "\n";
+ text += TTR("Start (s):") + " " + rtos(so) + "\n";
float eo = animation->audio_track_get_key_end_offset(track, key_idx);
- text += "End (s): " + rtos(eo) + "\n";
+ text += TTR("End (s):") + " " + rtos(eo) + "\n";
} break;
case Animation::TYPE_ANIMATION: {
String name = animation->animation_track_get_key_animation(track, key_idx);
- text += "Animation Clip: " + name + "\n";
+ text += TTR("Animation Clip:") + " " + name + "\n";
} break;
}
return text;
@@ -2723,17 +2767,23 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (p_event->is_pressed()) {
if (ED_GET_SHORTCUT("animation_editor/duplicate_selection")->matches_event(p_event)) {
- emit_signal(SNAME("duplicate_request"));
+ if (!read_only) {
+ emit_signal(SNAME("duplicate_request"));
+ }
accept_event();
}
if (ED_GET_SHORTCUT("animation_editor/duplicate_selection_transposed")->matches_event(p_event)) {
- emit_signal(SNAME("duplicate_transpose_request"));
+ if (!read_only) {
+ emit_signal(SNAME("duplicate_transpose_request"));
+ }
accept_event();
}
if (ED_GET_SHORTCUT("animation_editor/delete_selection")->matches_event(p_event)) {
- emit_signal(SNAME("delete_request"));
+ if (!read_only) {
+ emit_signal(SNAME("delete_request"));
+ }
accept_event();
}
}
@@ -2742,79 +2792,82 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT) {
Point2 pos = mb->get_position();
- if (check_rect.has_point(pos)) {
- undo_redo->create_action(TTR("Toggle Track Enabled"));
- undo_redo->add_do_method(animation.ptr(), "track_set_enabled", track, !animation->track_is_enabled(track));
- undo_redo->add_undo_method(animation.ptr(), "track_set_enabled", track, animation->track_is_enabled(track));
- undo_redo->commit_action();
- update();
- accept_event();
- }
-
- // Don't overlap track keys if they start at 0.
- if (path_rect.has_point(pos + Size2(type_icon->get_width(), 0))) {
- clicking_on_name = true;
- accept_event();
- }
-
- if (update_mode_rect.has_point(pos)) {
- if (!menu) {
- menu = memnew(PopupMenu);
- add_child(menu);
- menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
+ if (!read_only) {
+ if (check_rect.has_point(pos)) {
+ undo_redo->create_action(TTR("Toggle Track Enabled"));
+ undo_redo->add_do_method(animation.ptr(), "track_set_enabled", track, !animation->track_is_enabled(track));
+ undo_redo->add_undo_method(animation.ptr(), "track_set_enabled", track, animation->track_is_enabled(track));
+ undo_redo->commit_action();
+ update();
+ accept_event();
}
- menu->clear();
- menu->add_icon_item(get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")), TTR("Continuous"), MENU_CALL_MODE_CONTINUOUS);
- menu->add_icon_item(get_theme_icon(SNAME("TrackDiscrete"), SNAME("EditorIcons")), TTR("Discrete"), MENU_CALL_MODE_DISCRETE);
- menu->add_icon_item(get_theme_icon(SNAME("TrackTrigger"), SNAME("EditorIcons")), TTR("Trigger"), MENU_CALL_MODE_TRIGGER);
- menu->add_icon_item(get_theme_icon(SNAME("TrackCapture"), SNAME("EditorIcons")), TTR("Capture"), MENU_CALL_MODE_CAPTURE);
- menu->reset_size();
-
- Vector2 popup_pos = get_screen_position() + update_mode_rect.position + Vector2(0, update_mode_rect.size.height);
- menu->set_position(popup_pos);
- menu->popup();
- accept_event();
- }
- if (interp_mode_rect.has_point(pos)) {
- if (!menu) {
- menu = memnew(PopupMenu);
- add_child(menu);
- menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
+ // Don't overlap track keys if they start at 0.
+ if (path_rect.has_point(pos + Size2(type_icon->get_width(), 0))) {
+ clicking_on_name = true;
+ accept_event();
}
- menu->clear();
- menu->add_icon_item(get_theme_icon(SNAME("InterpRaw"), SNAME("EditorIcons")), TTR("Nearest"), MENU_INTERPOLATION_NEAREST);
- menu->add_icon_item(get_theme_icon(SNAME("InterpLinear"), SNAME("EditorIcons")), TTR("Linear"), MENU_INTERPOLATION_LINEAR);
- menu->add_icon_item(get_theme_icon(SNAME("InterpCubic"), SNAME("EditorIcons")), TTR("Cubic"), MENU_INTERPOLATION_CUBIC);
- menu->reset_size();
- Vector2 popup_pos = get_screen_position() + interp_mode_rect.position + Vector2(0, interp_mode_rect.size.height);
- menu->set_position(popup_pos);
- menu->popup();
- accept_event();
- }
+ if (update_mode_rect.has_point(pos)) {
+ if (!menu) {
+ menu = memnew(PopupMenu);
+ add_child(menu);
+ menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
+ }
+ menu->clear();
+ menu->add_icon_item(get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")), TTR("Continuous"), MENU_CALL_MODE_CONTINUOUS);
+ menu->add_icon_item(get_theme_icon(SNAME("TrackDiscrete"), SNAME("EditorIcons")), TTR("Discrete"), MENU_CALL_MODE_DISCRETE);
+ menu->add_icon_item(get_theme_icon(SNAME("TrackTrigger"), SNAME("EditorIcons")), TTR("Trigger"), MENU_CALL_MODE_TRIGGER);
+ menu->add_icon_item(get_theme_icon(SNAME("TrackCapture"), SNAME("EditorIcons")), TTR("Capture"), MENU_CALL_MODE_CAPTURE);
+ menu->reset_size();
+
+ Vector2 popup_pos = get_screen_position() + update_mode_rect.position + Vector2(0, update_mode_rect.size.height);
+ menu->set_position(popup_pos);
+ menu->popup();
+ accept_event();
+ }
- if (loop_wrap_rect.has_point(pos)) {
- if (!menu) {
- menu = memnew(PopupMenu);
- add_child(menu);
- menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
+ if (interp_mode_rect.has_point(pos)) {
+ if (!menu) {
+ menu = memnew(PopupMenu);
+ add_child(menu);
+ menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
+ }
+ menu->clear();
+ menu->add_icon_item(get_theme_icon(SNAME("InterpRaw"), SNAME("EditorIcons")), TTR("Nearest"), MENU_INTERPOLATION_NEAREST);
+ menu->add_icon_item(get_theme_icon(SNAME("InterpLinear"), SNAME("EditorIcons")), TTR("Linear"), MENU_INTERPOLATION_LINEAR);
+ menu->add_icon_item(get_theme_icon(SNAME("InterpCubic"), SNAME("EditorIcons")), TTR("Cubic"), MENU_INTERPOLATION_CUBIC);
+ menu->add_icon_item(get_theme_icon(SNAME("InterpCubicInTime"), SNAME("EditorIcons")), TTR("CubicInTime"), MENU_INTERPOLATION_CUBIC_IN_TIME);
+ menu->reset_size();
+
+ Vector2 popup_pos = get_screen_position() + interp_mode_rect.position + Vector2(0, interp_mode_rect.size.height);
+ menu->set_position(popup_pos);
+ menu->popup();
+ accept_event();
}
- menu->clear();
- menu->add_icon_item(get_theme_icon(SNAME("InterpWrapClamp"), SNAME("EditorIcons")), TTR("Clamp Loop Interp"), MENU_LOOP_CLAMP);
- menu->add_icon_item(get_theme_icon(SNAME("InterpWrapLoop"), SNAME("EditorIcons")), TTR("Wrap Loop Interp"), MENU_LOOP_WRAP);
- menu->reset_size();
- Vector2 popup_pos = get_screen_position() + loop_wrap_rect.position + Vector2(0, loop_wrap_rect.size.height);
- menu->set_position(popup_pos);
- menu->popup();
- accept_event();
- }
+ if (loop_wrap_rect.has_point(pos)) {
+ if (!menu) {
+ menu = memnew(PopupMenu);
+ add_child(menu);
+ menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
+ }
+ menu->clear();
+ menu->add_icon_item(get_theme_icon(SNAME("InterpWrapClamp"), SNAME("EditorIcons")), TTR("Clamp Loop Interp"), MENU_LOOP_CLAMP);
+ menu->add_icon_item(get_theme_icon(SNAME("InterpWrapLoop"), SNAME("EditorIcons")), TTR("Wrap Loop Interp"), MENU_LOOP_WRAP);
+ menu->reset_size();
+
+ Vector2 popup_pos = get_screen_position() + loop_wrap_rect.position + Vector2(0, loop_wrap_rect.size.height);
+ menu->set_position(popup_pos);
+ menu->popup();
+ accept_event();
+ }
- if (remove_rect.has_point(pos)) {
- emit_signal(SNAME("remove_request"), track);
- accept_event();
- return;
+ if (remove_rect.has_point(pos)) {
+ emit_signal(SNAME("remove_request"), track);
+ accept_event();
+ return;
+ }
}
// Check keyframes.
@@ -2874,6 +2927,11 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
moving_selection_attempt = true;
moving_selection_from_ofs = (mb->get_position().x - limit) / timeline->get_zoom_scale();
}
+
+ if (read_only) {
+ moving_selection_attempt = false;
+ moving_selection_from_ofs = 0.0f;
+ }
accept_event();
}
}
@@ -2885,33 +2943,35 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
if (pos.x >= timeline->get_name_limit() && pos.x <= get_size().width - timeline->get_buttons_width()) {
// Can do something with menu too! show insert key.
float offset = (pos.x - timeline->get_name_limit()) / timeline->get_zoom_scale();
- if (!menu) {
- menu = memnew(PopupMenu);
- add_child(menu);
- menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
- }
+ if (!read_only) {
+ if (!menu) {
+ menu = memnew(PopupMenu);
+ add_child(menu);
+ menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
+ }
- menu->clear();
- menu->add_icon_item(get_theme_icon(SNAME("Key"), SNAME("EditorIcons")), TTR("Insert Key"), MENU_KEY_INSERT);
- if (editor->is_selection_active()) {
- menu->add_separator();
- menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Duplicate Key(s)"), MENU_KEY_DUPLICATE);
+ menu->clear();
+ menu->add_icon_item(get_theme_icon(SNAME("Key"), SNAME("EditorIcons")), TTR("Insert Key"), MENU_KEY_INSERT);
+ if (editor->is_selection_active()) {
+ menu->add_separator();
+ menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Duplicate Key(s)"), MENU_KEY_DUPLICATE);
- AnimationPlayer *player = AnimationPlayerEditor::get_singleton()->get_player();
- if (!player->has_animation(SceneStringNames::get_singleton()->RESET) || animation != player->get_animation(SceneStringNames::get_singleton()->RESET)) {
- menu->add_icon_item(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")), TTR("Add RESET Value(s)"), MENU_KEY_ADD_RESET);
- }
+ AnimationPlayer *player = AnimationPlayerEditor::get_singleton()->get_player();
+ if (!player->has_animation(SceneStringNames::get_singleton()->RESET) || animation != player->get_animation(SceneStringNames::get_singleton()->RESET)) {
+ menu->add_icon_item(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")), TTR("Add RESET Value(s)"), MENU_KEY_ADD_RESET);
+ }
- menu->add_separator();
- menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Key(s)"), MENU_KEY_DELETE);
- }
- menu->reset_size();
+ menu->add_separator();
+ menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Key(s)"), MENU_KEY_DELETE);
+ }
+ menu->reset_size();
- menu->set_position(get_screen_position() + get_local_mouse_position());
- menu->popup();
+ menu->set_position(get_screen_position() + get_local_mouse_position());
+ menu->popup();
- insert_at_pos = offset + timeline->get_value();
- accept_event();
+ insert_at_pos = offset + timeline->get_value();
+ accept_event();
+ }
}
}
@@ -2922,7 +2982,7 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
add_child(path_popup);
path = memnew(LineEdit);
path_popup->add_child(path);
- path->set_anchors_and_offsets_preset(PRESET_WIDE);
+ path->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
path->connect("text_submitted", callable_mp(this, &AnimationTrackEdit::_path_submitted));
}
@@ -3118,7 +3178,8 @@ void AnimationTrackEdit::_menu_selected(int p_index) {
} break;
case MENU_INTERPOLATION_NEAREST:
case MENU_INTERPOLATION_LINEAR:
- case MENU_INTERPOLATION_CUBIC: {
+ case MENU_INTERPOLATION_CUBIC:
+ case MENU_INTERPOLATION_CUBIC_IN_TIME: {
Animation::InterpolationType interp_mode = Animation::InterpolationType(p_index - MENU_INTERPOLATION_NEAREST);
undo_redo->create_action(TTR("Change Animation Interpolation Mode"));
undo_redo->add_do_method(animation.ptr(), "track_set_interpolation_type", track, interp_mode);
@@ -3215,7 +3276,7 @@ AnimationTrackEdit::AnimationTrackEdit() {
play_position = memnew(Control);
play_position->set_mouse_filter(MOUSE_FILTER_PASS);
add_child(play_position);
- play_position->set_anchors_and_offsets_preset(PRESET_WIDE);
+ play_position->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
play_position->connect("draw", callable_mp(this, &AnimationTrackEdit::_play_position_draw));
set_focus_mode(FOCUS_CLICK);
set_mouse_filter(MOUSE_FILTER_PASS); // Scroll has to work too for selection.
@@ -3356,7 +3417,7 @@ void AnimationTrackEditor::remove_track_edit_plugin(const Ref<AnimationTrackEdit
track_edit_plugins.erase(p_plugin);
}
-void AnimationTrackEditor::set_animation(const Ref<Animation> &p_anim) {
+void AnimationTrackEditor::set_animation(const Ref<Animation> &p_anim, bool p_read_only) {
if (animation != p_anim && _get_track_selected() >= 0) {
track_edits[_get_track_selected()]->release_focus();
}
@@ -3365,7 +3426,8 @@ void AnimationTrackEditor::set_animation(const Ref<Animation> &p_anim) {
_clear_selection();
}
animation = p_anim;
- timeline->set_animation(p_anim);
+ read_only = p_read_only;
+ timeline->set_animation(p_anim, read_only);
_cancel_bezier_edit();
_update_tracks();
@@ -3374,7 +3436,7 @@ void AnimationTrackEditor::set_animation(const Ref<Animation> &p_anim) {
animation->connect("changed", callable_mp(this, &AnimationTrackEditor::_animation_changed));
hscroll->show();
- edit->set_disabled(false);
+ edit->set_disabled(read_only);
step->set_block_signals(true);
_update_step_spinbox();
@@ -3431,7 +3493,7 @@ void AnimationTrackEditor::set_root(Node *p_root) {
root = p_root;
if (root) {
- root->connect("tree_exiting", callable_mp(this, &AnimationTrackEditor::_root_removed), make_binds(), CONNECT_ONESHOT);
+ root->connect("tree_exiting", callable_mp(this, &AnimationTrackEditor::_root_removed), CONNECT_ONESHOT);
}
_update_tracks();
@@ -3503,7 +3565,7 @@ void AnimationTrackEditor::set_state(const Dictionary &p_state) {
}
void AnimationTrackEditor::cleanup() {
- set_animation(Ref<Animation>());
+ set_animation(Ref<Animation>(), read_only);
}
void AnimationTrackEditor::_name_limit_changed() {
@@ -3699,7 +3761,7 @@ void AnimationTrackEditor::commit_insert_queue() {
insert_confirm_bezier->set_visible(all_bezier);
insert_confirm_reset->set_visible(reset_allowed);
- insert_confirm->get_ok_button()->set_text(TTR("Create"));
+ insert_confirm->set_ok_button_text(TTR("Create"));
insert_confirm->popup_centered();
} else {
_insert_track(reset_allowed && EDITOR_GET("editors/animation/default_create_reset_tracks"), all_bezier && EDITOR_GET("editors/animation/default_create_bezier_tracks"));
@@ -3728,11 +3790,11 @@ void AnimationTrackEditor::_query_insert(const InsertData &p_id) {
}
}
-void AnimationTrackEditor::_insert_track(bool p_create_reset, bool p_create_beziers) {
+void AnimationTrackEditor::_insert_track(bool p_reset_wanted, bool p_create_beziers) {
undo_redo->create_action(TTR("Anim Insert"));
Ref<Animation> reset_anim;
- if (p_create_reset) {
+ if (p_reset_wanted) {
reset_anim = _create_and_get_reset_animation();
}
@@ -3742,26 +3804,14 @@ void AnimationTrackEditor::_insert_track(bool p_create_reset, bool p_create_bezi
if (insert_data.front()->get().advance) {
advance = true;
}
- next_tracks = _confirm_insert(insert_data.front()->get(), next_tracks, p_create_reset, reset_anim, p_create_beziers);
+ next_tracks = _confirm_insert(insert_data.front()->get(), next_tracks, p_reset_wanted, reset_anim, p_create_beziers);
insert_data.pop_front();
}
undo_redo->commit_action();
if (advance) {
- float step = animation->get_step();
- if (step == 0) {
- step = 1;
- }
-
- float pos = timeline->get_play_position();
-
- pos = Math::snapped(pos + step, step);
- if (pos > animation->get_length()) {
- pos = animation->get_length();
- }
- set_anim_pos(pos);
- emit_signal(SNAME("timeline_changed"), pos, true, false);
+ _edit_menu_pressed(EDIT_GOTO_NEXT_STEP_TIMELINE_ONLY);
}
}
@@ -4089,12 +4139,20 @@ void AnimationTrackEditor::_confirm_insert_list() {
}
TrackIndices next_tracks(animation.ptr(), reset_anim.ptr());
+ bool advance = false;
while (insert_data.size()) {
+ if (insert_data.front()->get().advance) {
+ advance = true;
+ }
next_tracks = _confirm_insert(insert_data.front()->get(), next_tracks, create_reset, reset_anim, insert_confirm_bezier->is_pressed());
insert_data.pop_front();
}
undo_redo->commit_action();
+
+ if (advance) {
+ _edit_menu_pressed(EDIT_GOTO_NEXT_STEP_TIMELINE_ONLY);
+ }
}
PropertyInfo AnimationTrackEditor::_find_hint_for_track(int p_idx, NodePath &r_base_path, Variant *r_current_val) {
@@ -4210,9 +4268,42 @@ static Vector<String> _get_bezier_subindices_for_type(Variant::Type p_type, bool
return subindices;
}
-AnimationTrackEditor::TrackIndices AnimationTrackEditor::_confirm_insert(InsertData p_id, TrackIndices p_next_tracks, bool p_create_reset, Ref<Animation> p_reset_anim, bool p_create_beziers) {
+AnimationTrackEditor::TrackIndices AnimationTrackEditor::_confirm_insert(InsertData p_id, TrackIndices p_next_tracks, bool p_reset_wanted, Ref<Animation> p_reset_anim, bool p_create_beziers) {
bool created = false;
- if (p_id.track_idx < 0) {
+
+ bool create_normal_track = p_id.track_idx < 0;
+ bool create_reset_track = p_reset_wanted && track_type_is_resettable(p_id.type);
+
+ Animation::UpdateMode update_mode = Animation::UPDATE_DISCRETE;
+ if (create_normal_track || create_reset_track) {
+ if (p_id.type == Animation::TYPE_VALUE || p_id.type == Animation::TYPE_BEZIER) {
+ // Hack.
+ NodePath np;
+ animation->add_track(p_id.type);
+ animation->track_set_path(animation->get_track_count() - 1, p_id.path);
+ PropertyInfo h = _find_hint_for_track(animation->get_track_count() - 1, np);
+ animation->remove_track(animation->get_track_count() - 1); // Hack.
+
+ if (h.type == Variant::FLOAT ||
+ h.type == Variant::VECTOR2 ||
+ h.type == Variant::RECT2 ||
+ h.type == Variant::VECTOR3 ||
+ h.type == Variant::AABB ||
+ h.type == Variant::QUATERNION ||
+ h.type == Variant::COLOR ||
+ h.type == Variant::PLANE ||
+ h.type == Variant::TRANSFORM2D ||
+ h.type == Variant::TRANSFORM3D) {
+ update_mode = Animation::UPDATE_CONTINUOUS;
+ }
+
+ if (h.usage & PROPERTY_USAGE_ANIMATE_AS_TRIGGER) {
+ update_mode = Animation::UPDATE_TRIGGER;
+ }
+ }
+ }
+
+ if (create_normal_track) {
if (p_create_beziers) {
bool valid;
Vector<String> subindices = _get_bezier_subindices_for_type(p_id.value.get_type(), &valid);
@@ -4222,7 +4313,7 @@ AnimationTrackEditor::TrackIndices AnimationTrackEditor::_confirm_insert(InsertD
id.type = Animation::TYPE_BEZIER;
id.value = p_id.value.get(subindices[i].substr(1, subindices[i].length()));
id.path = String(p_id.path) + subindices[i];
- p_next_tracks = _confirm_insert(id, p_next_tracks, p_create_reset, p_reset_anim, false);
+ p_next_tracks = _confirm_insert(id, p_next_tracks, p_reset_wanted, p_reset_anim, false);
}
return p_next_tracks;
@@ -4230,37 +4321,6 @@ AnimationTrackEditor::TrackIndices AnimationTrackEditor::_confirm_insert(InsertD
}
created = true;
undo_redo->create_action(TTR("Anim Insert Track & Key"));
- Animation::UpdateMode update_mode = Animation::UPDATE_DISCRETE;
-
- if (p_id.type == Animation::TYPE_VALUE || p_id.type == Animation::TYPE_BEZIER) {
- // Wants a new track.
-
- {
- // Hack.
- NodePath np;
- animation->add_track(p_id.type);
- animation->track_set_path(animation->get_track_count() - 1, p_id.path);
- PropertyInfo h = _find_hint_for_track(animation->get_track_count() - 1, np);
- animation->remove_track(animation->get_track_count() - 1); // Hack.
-
- if (h.type == Variant::FLOAT ||
- h.type == Variant::VECTOR2 ||
- h.type == Variant::RECT2 ||
- h.type == Variant::VECTOR3 ||
- h.type == Variant::AABB ||
- h.type == Variant::QUATERNION ||
- h.type == Variant::COLOR ||
- h.type == Variant::PLANE ||
- h.type == Variant::TRANSFORM2D ||
- h.type == Variant::TRANSFORM3D) {
- update_mode = Animation::UPDATE_CONTINUOUS;
- }
-
- if (h.usage & PROPERTY_USAGE_ANIMATE_AS_TRIGGER) {
- update_mode = Animation::UPDATE_TRIGGER;
- }
- }
- }
p_id.track_idx = p_next_tracks.normal;
@@ -4323,8 +4383,7 @@ AnimationTrackEditor::TrackIndices AnimationTrackEditor::_confirm_insert(InsertD
}
}
- if (p_create_reset && track_type_is_resettable(p_id.type)) {
- bool create_reset_track = true;
+ if (create_reset_track) {
Animation *reset_anim = p_reset_anim.ptr();
for (int i = 0; i < reset_anim->get_track_count(); i++) {
if (reset_anim->track_get_path(i) == p_id.path) {
@@ -4335,6 +4394,9 @@ AnimationTrackEditor::TrackIndices AnimationTrackEditor::_confirm_insert(InsertD
if (create_reset_track) {
undo_redo->add_do_method(reset_anim, "add_track", p_id.type);
undo_redo->add_do_method(reset_anim, "track_set_path", p_next_tracks.reset, p_id.path);
+ if (p_id.type == Animation::TYPE_VALUE) {
+ undo_redo->add_do_method(reset_anim, "value_track_set_update_mode", p_next_tracks.reset, update_mode);
+ }
undo_redo->add_do_method(reset_anim, "track_insert_key", p_next_tracks.reset, 0.0f, value);
undo_redo->add_undo_method(reset_anim, "remove_track", reset_anim->get_track_count());
p_next_tracks.reset++;
@@ -4380,6 +4442,27 @@ void AnimationTrackEditor::_update_tracks() {
return;
}
+ bool read_only = false;
+ if (!animation->get_path().is_resource_file()) {
+ int srpos = animation->get_path().find("::");
+ if (srpos != -1) {
+ String base = animation->get_path().substr(0, srpos);
+ if (ResourceLoader::get_resource_type(base) == "PackedScene") {
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ read_only = true;
+ }
+ } else {
+ if (FileAccess::exists(base + ".import")) {
+ read_only = true;
+ }
+ }
+ }
+ } else {
+ if (FileAccess::exists(animation->get_path() + ".import")) {
+ read_only = true;
+ }
+ }
+
RBMap<String, VBoxContainer *> group_sort;
bool use_grouping = !view_group->is_pressed();
@@ -4508,7 +4591,7 @@ void AnimationTrackEditor::_update_tracks() {
track_edit->set_undo_redo(undo_redo);
track_edit->set_timeline(timeline);
track_edit->set_root(root);
- track_edit->set_animation_and_track(animation, i);
+ track_edit->set_animation_and_track(animation, i, read_only);
track_edit->set_play_position(timeline->get_play_position());
track_edit->set_editor(this);
@@ -4517,20 +4600,20 @@ void AnimationTrackEditor::_update_tracks() {
}
track_edit->connect("timeline_changed", callable_mp(this, &AnimationTrackEditor::_timeline_changed));
- track_edit->connect("remove_request", callable_mp(this, &AnimationTrackEditor::_track_remove_request), varray(), CONNECT_DEFERRED);
- track_edit->connect("dropped", callable_mp(this, &AnimationTrackEditor::_dropped_track), varray(), CONNECT_DEFERRED);
- track_edit->connect("insert_key", callable_mp(this, &AnimationTrackEditor::_insert_key_from_track), varray(i), CONNECT_DEFERRED);
- track_edit->connect("select_key", callable_mp(this, &AnimationTrackEditor::_key_selected), varray(i), CONNECT_DEFERRED);
- track_edit->connect("deselect_key", callable_mp(this, &AnimationTrackEditor::_key_deselected), varray(i), CONNECT_DEFERRED);
+ track_edit->connect("remove_request", callable_mp(this, &AnimationTrackEditor::_track_remove_request), CONNECT_DEFERRED);
+ track_edit->connect("dropped", callable_mp(this, &AnimationTrackEditor::_dropped_track), CONNECT_DEFERRED);
+ track_edit->connect("insert_key", callable_mp(this, &AnimationTrackEditor::_insert_key_from_track).bind(i), CONNECT_DEFERRED);
+ track_edit->connect("select_key", callable_mp(this, &AnimationTrackEditor::_key_selected).bind(i), CONNECT_DEFERRED);
+ track_edit->connect("deselect_key", callable_mp(this, &AnimationTrackEditor::_key_deselected).bind(i), CONNECT_DEFERRED);
track_edit->connect("move_selection_begin", callable_mp(this, &AnimationTrackEditor::_move_selection_begin));
track_edit->connect("move_selection", callable_mp(this, &AnimationTrackEditor::_move_selection));
track_edit->connect("move_selection_commit", callable_mp(this, &AnimationTrackEditor::_move_selection_commit));
track_edit->connect("move_selection_cancel", callable_mp(this, &AnimationTrackEditor::_move_selection_cancel));
- track_edit->connect("duplicate_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_DUPLICATE_SELECTION), CONNECT_DEFERRED);
- track_edit->connect("duplicate_transpose_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_DUPLICATE_TRANSPOSED), CONNECT_DEFERRED);
- track_edit->connect("create_reset_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_ADD_RESET_KEY), CONNECT_DEFERRED);
- track_edit->connect("delete_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_DELETE_SELECTION), CONNECT_DEFERRED);
+ track_edit->connect("duplicate_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_DUPLICATE_SELECTION), CONNECT_DEFERRED);
+ track_edit->connect("duplicate_transpose_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_DUPLICATE_TRANSPOSED), CONNECT_DEFERRED);
+ track_edit->connect("create_reset_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_ADD_RESET_KEY), CONNECT_DEFERRED);
+ track_edit->connect("delete_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_DELETE_SELECTION), CONNECT_DEFERRED);
}
}
@@ -5073,7 +5156,7 @@ void AnimationTrackEditor::_add_method_key(const String &p_method) {
}
}
- EditorNode::get_singleton()->show_warning(TTR("Method not found in object: ") + p_method);
+ EditorNode::get_singleton()->show_warning(TTR("Method not found in object:") + " " + p_method);
}
void AnimationTrackEditor::_key_selected(int p_key, bool p_single, int p_track) {
@@ -5180,6 +5263,7 @@ void AnimationTrackEditor::_update_key_edit() {
if (selection.size() == 1) {
key_edit = memnew(AnimationTrackKeyEdit);
key_edit->animation = animation;
+ key_edit->animation_read_only = read_only;
key_edit->track = selection.front()->key().track;
key_edit->use_fps = timeline->is_using_fps();
@@ -5196,6 +5280,7 @@ void AnimationTrackEditor::_update_key_edit() {
} else if (selection.size() > 1) {
multi_key_edit = memnew(AnimationMultiTrackKeyEdit);
multi_key_edit->animation = animation;
+ multi_key_edit->animation_read_only = read_only;
RBMap<int, List<float>> key_ofs_map;
RBMap<int, NodePath> base_map;
@@ -5475,7 +5560,7 @@ void AnimationTrackEditor::_cancel_bezier_edit() {
void AnimationTrackEditor::_bezier_edit(int p_for_track) {
_clear_selection(); // Bezier probably wants to use a separate selection mode.
bezier_edit->set_root(root);
- bezier_edit->set_animation_and_track(animation, p_for_track);
+ bezier_edit->set_animation_and_track(animation, p_for_track, read_only);
scroll->hide();
bezier_edit->show();
// Search everything within the track and curve - edit it.
@@ -5596,7 +5681,7 @@ void AnimationTrackEditor::goto_prev_step(bool p_from_mouse_event) {
emit_signal(SNAME("timeline_changed"), pos, true, false);
}
-void AnimationTrackEditor::goto_next_step(bool p_from_mouse_event) {
+void AnimationTrackEditor::goto_next_step(bool p_from_mouse_event, bool p_timeline_only) {
if (animation.is_null()) {
return;
}
@@ -5620,7 +5705,7 @@ void AnimationTrackEditor::goto_next_step(bool p_from_mouse_event) {
}
set_anim_pos(pos);
- emit_signal(SNAME("timeline_changed"), pos, true, false);
+ emit_signal(SNAME("timeline_changed"), pos, true, p_timeline_only);
}
void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
@@ -5886,6 +5971,89 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
#undef NEW_POS
undo_redo->commit_action();
} break;
+
+ case EDIT_EASE_SELECTION: {
+ ease_dialog->popup_centered(Size2(200, 100) * EDSCALE);
+ } break;
+ case EDIT_EASE_CONFIRM: {
+ undo_redo->create_action(TTR("Make Easing Keys"));
+
+ Tween::TransitionType transition_type = static_cast<Tween::TransitionType>(transition_selection->get_selected_id());
+ Tween::EaseType ease_type = static_cast<Tween::EaseType>(ease_selection->get_selected_id());
+ float fps = ease_fps->get_value();
+ double dur_step = 1.0 / fps;
+
+ // Organize track and key.
+ HashMap<int, Vector<int>> keymap;
+ Vector<int> tracks;
+ for (const KeyValue<SelectedKey, KeyInfo> &E : selection) {
+ if (!tracks.has(E.key.track)) {
+ tracks.append(E.key.track);
+ }
+ }
+ for (int i = 0; i < tracks.size(); i++) {
+ switch (animation->track_get_type(tracks[i])) {
+ case Animation::TYPE_VALUE:
+ case Animation::TYPE_POSITION_3D:
+ case Animation::TYPE_ROTATION_3D:
+ case Animation::TYPE_SCALE_3D:
+ case Animation::TYPE_BLEND_SHAPE: {
+ Vector<int> keys;
+ for (const KeyValue<SelectedKey, KeyInfo> &E : selection) {
+ if (E.key.track == tracks[i]) {
+ keys.append(E.key.key);
+ }
+ }
+ keys.sort();
+ keymap.insert(tracks[i], keys);
+ } break;
+ default: {
+ } break;
+ }
+ }
+
+ // Make easing.
+ HashMap<int, Vector<int>>::Iterator E = keymap.begin();
+ while (E) {
+ int track = E->key;
+ Vector<int> keys = E->value;
+ int len = keys.size() - 1;
+
+ // Make insert queue.
+ Vector<Pair<double, Variant>> insert_queue;
+ for (int i = 0; i < len; i++) {
+ // Check neighboring keys.
+ if (keys[i] + 1 == keys[i + 1]) {
+ double from_t = animation->track_get_key_time(track, keys[i]);
+ double to_t = animation->track_get_key_time(track, keys[i + 1]);
+ Variant from_v = animation->track_get_key_value(track, keys[i]);
+ Variant to_v = animation->track_get_key_value(track, keys[i + 1]);
+ Variant delta_v;
+ Variant::sub(to_v, from_v, delta_v);
+ double duration = to_t - from_t;
+ double fixed_duration = duration - 0.01; // Prevent to overwrap keys...
+ for (double delta_t = dur_step; delta_t < fixed_duration; delta_t += dur_step) {
+ Pair<double, Variant> keydata;
+ keydata.first = from_t + delta_t;
+ keydata.second = Tween::interpolate_variant(from_v, delta_v, delta_t, duration, transition_type, ease_type);
+ insert_queue.append(keydata);
+ }
+ }
+ }
+
+ // Do insertion.
+ for (int i = 0; i < insert_queue.size(); i++) {
+ undo_redo->add_do_method(animation.ptr(), "track_insert_key", track, insert_queue[i].first, insert_queue[i].second);
+ undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", track, insert_queue[i].first);
+ }
+
+ ++E;
+ }
+
+ undo_redo->commit_action();
+
+ } break;
+
case EDIT_DUPLICATE_SELECTION: {
if (bezier_edit->is_visible()) {
bezier_edit->duplicate_selection();
@@ -5968,24 +6136,132 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
_update_key_edit();
}
} break;
+ case EDIT_GOTO_NEXT_STEP_TIMELINE_ONLY:
case EDIT_GOTO_NEXT_STEP: {
- goto_next_step(false);
+ goto_next_step(false, p_option == EDIT_GOTO_NEXT_STEP_TIMELINE_ONLY);
} break;
case EDIT_GOTO_PREV_STEP: {
goto_prev_step(false);
} break;
case EDIT_APPLY_RESET: {
AnimationPlayerEditor::get_singleton()->get_player()->apply_reset(true);
+ } break;
+ case EDIT_BAKE_ANIMATION: {
+ bake_dialog->popup_centered(Size2(200, 100) * EDSCALE);
} break;
+ case EDIT_BAKE_ANIMATION_CONFIRM: {
+ undo_redo->create_action(TTR("Bake Animation as Linear keys."));
+
+ int track_len = animation->get_track_count();
+ bool b_trs = bake_trs->is_pressed();
+ bool b_bs = bake_blendshape->is_pressed();
+ bool b_v = bake_value->is_pressed();
+
+ double anim_len = animation->get_length() + CMP_EPSILON; // For end key.
+ float fps = bake_fps->get_value();
+ double dur_step = 1.0 / fps;
+
+ for (int i = 0; i < track_len; i++) {
+ bool do_bake = false;
+ Animation::TrackType type = animation->track_get_type(i);
+ do_bake |= b_trs && (type == Animation::TYPE_POSITION_3D || type == Animation::TYPE_ROTATION_3D || type == Animation::TYPE_SCALE_3D);
+ do_bake |= b_bs && type == Animation::TYPE_BLEND_SHAPE;
+ do_bake |= b_v && type == Animation::TYPE_VALUE;
+ if (do_bake && !animation->track_is_compressed(i)) {
+ if (animation->track_get_interpolation_type(i) == Animation::INTERPOLATION_NEAREST) {
+ continue; // Nearest interpolation cannot be baked.
+ }
+
+ // Make insert queue.
+ Vector<Pair<double, Variant>> insert_queue;
+
+ switch (type) {
+ case Animation::TYPE_POSITION_3D: {
+ for (double delta_t = 0.0; delta_t <= anim_len; delta_t += dur_step) {
+ Pair<double, Variant> keydata;
+ keydata.first = delta_t;
+ Vector3 v;
+ animation->position_track_interpolate(i, delta_t, &v);
+ keydata.second = v;
+ insert_queue.append(keydata);
+ }
+ } break;
+ case Animation::TYPE_ROTATION_3D: {
+ for (double delta_t = 0.0; delta_t <= anim_len; delta_t += dur_step) {
+ Pair<double, Variant> keydata;
+ keydata.first = delta_t;
+ Quaternion v;
+ animation->rotation_track_interpolate(i, delta_t, &v);
+ keydata.second = v;
+ insert_queue.append(keydata);
+ }
+ } break;
+ case Animation::TYPE_SCALE_3D: {
+ for (double delta_t = 0.0; delta_t <= anim_len; delta_t += dur_step) {
+ Pair<double, Variant> keydata;
+ keydata.first = delta_t;
+ Vector3 v;
+ animation->scale_track_interpolate(i, delta_t, &v);
+ keydata.second = v;
+ insert_queue.append(keydata);
+ }
+ } break;
+ case Animation::TYPE_BLEND_SHAPE: {
+ for (double delta_t = 0.0; delta_t <= anim_len; delta_t += dur_step) {
+ Pair<double, Variant> keydata;
+ keydata.first = delta_t;
+ float v;
+ animation->blend_shape_track_interpolate(i, delta_t, &v);
+ keydata.second = v;
+ insert_queue.append(keydata);
+ }
+ } break;
+ case Animation::TYPE_VALUE: {
+ for (double delta_t = 0.0; delta_t < anim_len; delta_t += dur_step) {
+ Pair<double, Variant> keydata;
+ keydata.first = delta_t;
+ keydata.second = animation->value_track_interpolate(i, delta_t);
+ insert_queue.append(keydata);
+ }
+ } break;
+ default: {
+ } break;
+ }
+
+ // Cleanup keys.
+ int key_len = animation->track_get_key_count(i);
+ for (int j = key_len - 1; j >= 0; j--) {
+ undo_redo->add_do_method(animation.ptr(), "track_remove_key", i, j);
+ }
+
+ // Insert keys.
+ undo_redo->add_do_method(animation.ptr(), "track_set_interpolation_type", i, Animation::INTERPOLATION_LINEAR);
+ for (int j = insert_queue.size() - 1; j >= 0; j--) {
+ undo_redo->add_do_method(animation.ptr(), "track_insert_key", i, insert_queue[j].first, insert_queue[j].second);
+ undo_redo->add_undo_method(animation.ptr(), "track_remove_key", i, j);
+ }
+
+ // Undo methods.
+ undo_redo->add_undo_method(animation.ptr(), "track_set_interpolation_type", i, animation->track_get_interpolation_type(i));
+ for (int j = key_len - 1; j >= 0; j--) {
+ undo_redo->add_undo_method(animation.ptr(), "track_insert_key", i, animation->track_get_key_time(i, j), animation->track_get_key_value(i, j), animation->track_get_key_transition(i, j));
+ }
+ }
+ }
+
+ undo_redo->commit_action();
+
+ } break;
+
case EDIT_OPTIMIZE_ANIMATION: {
optimize_dialog->popup_centered(Size2(250, 180) * EDSCALE);
} break;
case EDIT_OPTIMIZE_ANIMATION_CONFIRM: {
- animation->optimize(optimize_linear_error->get_value(), optimize_angular_error->get_value(), optimize_max_angle->get_value());
+ animation->optimize(optimize_velocity_error->get_value(), optimize_angular_error->get_value(), optimize_precision_error->get_value());
_update_tracks();
- undo_redo->clear_history();
+ undo_redo->clear_history(true, undo_redo->get_history_for_object(animation.ptr()).id);
} break;
case EDIT_CLEAN_UP_ANIMATION: {
@@ -6053,7 +6329,7 @@ void AnimationTrackEditor::_cleanup_animation(Ref<Animation> p_animation) {
}
}
- undo_redo->clear_history();
+ undo_redo->clear_history(true, undo_redo->get_history_for_object(animation.ptr()).id);
_update_tracks();
}
@@ -6112,7 +6388,8 @@ float AnimationTrackEditor::snap_time(float p_value, bool p_relative) {
void AnimationTrackEditor::_show_imported_anim_warning() {
// It looks terrible on a single line but the TTR extractor doesn't support line breaks yet.
- EditorNode::get_singleton()->show_warning(TTR("This animation belongs to an imported scene, so changes to imported tracks will not be saved.\n\nTo enable the ability to add custom tracks, navigate to the scene's import settings and set\n\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom Tracks\", then re-import.\nAlternatively, use an import preset that imports animations to separate files."),
+ EditorNode::get_singleton()->show_warning(
+ TTR("This animation belongs to an imported scene, so changes to imported tracks will not be saved.\n\nTo modify this animation, navigate to the scene's Advanced Import settings and select the animation.\nSome options, including looping, are available here. To add custom tracks, enable \"Save To File\" and\n\"Keep Custom Tracks\"."),
TTR("Warning: Editing imported animation"));
}
@@ -6222,7 +6499,7 @@ void AnimationTrackEditor::_pick_track_filter_input(const Ref<InputEvent> &p_ie)
}
AnimationTrackEditor::AnimationTrackEditor() {
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
main_panel = memnew(PanelContainer);
main_panel->set_focus_mode(FOCUS_ALL); // Allow panel to have focus so that shortcuts work as expected.
@@ -6242,9 +6519,9 @@ AnimationTrackEditor::AnimationTrackEditor() {
info_message->set_text(TTR("Select an AnimationPlayer node to create and edit animations."));
info_message->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
info_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- info_message->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ info_message->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
info_message->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
- info_message->set_anchors_and_offsets_preset(PRESET_WIDE, PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
+ info_message->set_anchors_and_offsets_preset(PRESET_FULL_RECT, PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
main_panel->add_child(info_message);
timeline = memnew(AnimationTimelineEdit);
@@ -6298,6 +6575,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
imported_anim_warning = memnew(Button);
imported_anim_warning->hide();
+ imported_anim_warning->set_text(TTR("Imported Scene"));
imported_anim_warning->set_tooltip(TTR("Warning: Editing imported animation"));
imported_anim_warning->connect("pressed", callable_mp(this, &AnimationTrackEditor::_show_imported_anim_warning));
bottom_hb->add_child(imported_anim_warning);
@@ -6383,6 +6661,8 @@ AnimationTrackEditor::AnimationTrackEditor() {
edit->get_popup()->add_item(TTR("Scale Selection"), EDIT_SCALE_SELECTION);
edit->get_popup()->add_item(TTR("Scale From Cursor"), EDIT_SCALE_FROM_CURSOR);
edit->get_popup()->add_separator();
+ edit->get_popup()->add_item(TTR("Make Easing Selection"), EDIT_EASE_SELECTION);
+ edit->get_popup()->add_separator();
edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/duplicate_selection", TTR("Duplicate Selection"), KeyModifierMask::CMD | Key::D), EDIT_DUPLICATE_SELECTION);
edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/duplicate_selection_transposed", TTR("Duplicate Transposed"), KeyModifierMask::SHIFT | KeyModifierMask::CMD | Key::D), EDIT_DUPLICATE_TRANSPOSED);
edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/add_reset_value", TTR("Add RESET Value(s)")));
@@ -6395,6 +6675,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
edit->get_popup()->add_separator();
edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/apply_reset", TTR("Apply Reset")), EDIT_APPLY_RESET);
edit->get_popup()->add_separator();
+ edit->get_popup()->add_item(TTR("Bake Animation"), EDIT_BAKE_ANIMATION);
edit->get_popup()->add_item(TTR("Optimize Animation"), EDIT_OPTIMIZE_ANIMATION);
edit->get_popup()->add_item(TTR("Clean-Up Animation"), EDIT_CLEAN_UP_ANIMATION);
@@ -6456,28 +6737,27 @@ AnimationTrackEditor::AnimationTrackEditor() {
VBoxContainer *optimize_vb = memnew(VBoxContainer);
optimize_dialog->add_child(optimize_vb);
- optimize_linear_error = memnew(SpinBox);
- optimize_linear_error->set_max(1.0);
- optimize_linear_error->set_min(0.001);
- optimize_linear_error->set_step(0.001);
- optimize_linear_error->set_value(0.05);
- optimize_vb->add_margin_child(TTR("Max. Linear Error:"), optimize_linear_error);
+ optimize_velocity_error = memnew(SpinBox);
+ optimize_velocity_error->set_max(1.0);
+ optimize_velocity_error->set_min(0.001);
+ optimize_velocity_error->set_step(0.001);
+ optimize_velocity_error->set_value(0.01);
+ optimize_vb->add_margin_child(TTR("Max. Velocity Error:"), optimize_velocity_error);
optimize_angular_error = memnew(SpinBox);
optimize_angular_error->set_max(1.0);
optimize_angular_error->set_min(0.001);
optimize_angular_error->set_step(0.001);
optimize_angular_error->set_value(0.01);
-
optimize_vb->add_margin_child(TTR("Max. Angular Error:"), optimize_angular_error);
- optimize_max_angle = memnew(SpinBox);
- optimize_vb->add_margin_child(TTR("Max Optimizable Angle:"), optimize_max_angle);
- optimize_max_angle->set_max(360.0);
- optimize_max_angle->set_min(0.0);
- optimize_max_angle->set_step(0.1);
- optimize_max_angle->set_value(22);
+ optimize_precision_error = memnew(SpinBox);
+ optimize_precision_error->set_max(6);
+ optimize_precision_error->set_min(1);
+ optimize_precision_error->set_step(1);
+ optimize_precision_error->set_value(3);
+ optimize_vb->add_margin_child(TTR("Max. Precision Error:"), optimize_precision_error);
- optimize_dialog->get_ok_button()->set_text(TTR("Optimize"));
- optimize_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_OPTIMIZE_ANIMATION_CONFIRM));
+ optimize_dialog->set_ok_button_text(TTR("Optimize"));
+ optimize_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_OPTIMIZE_ANIMATION_CONFIRM));
//
@@ -6501,9 +6781,9 @@ AnimationTrackEditor::AnimationTrackEditor() {
cleanup_vb->add_child(cleanup_all);
cleanup_dialog->set_title(TTR("Clean-Up Animation(s) (NO UNDO!)"));
- cleanup_dialog->get_ok_button()->set_text(TTR("Clean-Up"));
+ cleanup_dialog->set_ok_button_text(TTR("Clean-Up"));
- cleanup_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_CLEAN_UP_ANIMATION_CONFIRM));
+ cleanup_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_CLEAN_UP_ANIMATION_CONFIRM));
//
scale_dialog = memnew(ConfirmationDialog);
@@ -6515,13 +6795,95 @@ AnimationTrackEditor::AnimationTrackEditor() {
scale->set_max(99999);
scale->set_step(0.001);
vbc->add_margin_child(TTR("Scale Ratio:"), scale);
- scale_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_SCALE_CONFIRM));
+ scale_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_SCALE_CONFIRM));
add_child(scale_dialog);
+ //
+ ease_dialog = memnew(ConfirmationDialog);
+ ease_dialog->set_title(TTR("Select Transition and Easing"));
+ ease_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_EASE_CONFIRM));
+ add_child(ease_dialog);
+ GridContainer *ease_grid = memnew(GridContainer);
+ ease_grid->set_columns(2);
+ ease_dialog->add_child(ease_grid);
+ transition_selection = memnew(OptionButton);
+ transition_selection->add_item("Linear", Tween::TRANS_LINEAR);
+ transition_selection->add_item("Sine", Tween::TRANS_SINE);
+ transition_selection->add_item("Quint", Tween::TRANS_QUINT);
+ transition_selection->add_item("Quart", Tween::TRANS_QUART);
+ transition_selection->add_item("Quad", Tween::TRANS_QUAD);
+ transition_selection->add_item("Expo", Tween::TRANS_EXPO);
+ transition_selection->add_item("Elastic", Tween::TRANS_ELASTIC);
+ transition_selection->add_item("Cubic", Tween::TRANS_CUBIC);
+ transition_selection->add_item("Circ", Tween::TRANS_CIRC);
+ transition_selection->add_item("Bounce", Tween::TRANS_BOUNCE);
+ transition_selection->add_item("Back", Tween::TRANS_BACK);
+ transition_selection->select(Tween::TRANS_LINEAR); // Default
+ ease_selection = memnew(OptionButton);
+ ease_selection->add_item("In", Tween::EASE_IN);
+ ease_selection->add_item("Out", Tween::EASE_OUT);
+ ease_selection->add_item("InOut", Tween::EASE_IN_OUT);
+ ease_selection->add_item("OutIn", Tween::EASE_OUT_IN);
+ ease_selection->select(Tween::EASE_IN_OUT); // Default
+ ease_fps = memnew(SpinBox);
+ ease_fps->set_min(1);
+ ease_fps->set_max(999);
+ ease_fps->set_step(1);
+ ease_fps->set_value(30); // Default
+ Label *ease_label1 = memnew(Label);
+ Label *ease_label2 = memnew(Label);
+ Label *ease_label3 = memnew(Label);
+ ease_label1->set_text("Transition Type:");
+ ease_label2->set_text("Ease Type:");
+ ease_label3->set_text("FPS:");
+ ease_grid->add_child(ease_label1);
+ ease_grid->add_child(transition_selection);
+ ease_grid->add_child(ease_label2);
+ ease_grid->add_child(ease_selection);
+ ease_grid->add_child(ease_label3);
+ ease_grid->add_child(ease_fps);
+
+ //
+ bake_dialog = memnew(ConfirmationDialog);
+ bake_dialog->set_title(TTR("Anim. Baker"));
+ bake_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_BAKE_ANIMATION_CONFIRM));
+ add_child(bake_dialog);
+ GridContainer *bake_grid = memnew(GridContainer);
+ bake_grid->set_columns(2);
+ bake_dialog->add_child(bake_grid);
+ bake_trs = memnew(CheckBox);
+ bake_trs->set_pressed(true);
+ bake_blendshape = memnew(CheckBox);
+ bake_blendshape->set_pressed(true);
+ bake_value = memnew(CheckBox);
+ bake_value->set_pressed(true);
+ bake_fps = memnew(SpinBox);
+ bake_fps->set_min(1);
+ bake_fps->set_max(999);
+ bake_fps->set_step(1);
+ bake_fps->set_value(30); // Default
+ Label *bake_label1 = memnew(Label);
+ Label *bake_label2 = memnew(Label);
+ Label *bake_label3 = memnew(Label);
+ Label *bake_label4 = memnew(Label);
+ bake_label1->set_text("Pos/Rot/Scl3D Track:");
+ bake_label2->set_text("Blendshape Track:");
+ bake_label3->set_text("Value Track:");
+ bake_label4->set_text("FPS:");
+ bake_grid->add_child(bake_label1);
+ bake_grid->add_child(bake_trs);
+ bake_grid->add_child(bake_label2);
+ bake_grid->add_child(bake_blendshape);
+ bake_grid->add_child(bake_label3);
+ bake_grid->add_child(bake_value);
+ bake_grid->add_child(bake_label4);
+ bake_grid->add_child(bake_fps);
+
+ //
track_copy_dialog = memnew(ConfirmationDialog);
add_child(track_copy_dialog);
track_copy_dialog->set_title(TTR("Select Tracks to Copy"));
- track_copy_dialog->get_ok_button()->set_text(TTR("Copy"));
+ track_copy_dialog->set_ok_button_text(TTR("Copy"));
VBoxContainer *track_vbox = memnew(VBoxContainer);
track_copy_dialog->add_child(track_vbox);
@@ -6536,7 +6898,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
track_copy_select->set_v_size_flags(SIZE_EXPAND_FILL);
track_copy_select->set_hide_root(true);
track_vbox->add_child(track_copy_select);
- track_copy_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_COPY_TRACKS_CONFIRM));
+ track_copy_dialog->connect("confirmed", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_COPY_TRACKS_CONFIRM));
}
AnimationTrackEditor::~AnimationTrackEditor() {
diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h
index 55c3bd922a..5ebf25899f 100644
--- a/editor/animation_track_editor.h
+++ b/editor/animation_track_editor.h
@@ -32,12 +32,16 @@
#define ANIMATION_TRACK_EDITOR_H
#include "editor/editor_data.h"
+#include "editor/editor_properties.h"
#include "editor/editor_spin_slider.h"
-#include "editor/property_editor.h"
#include "editor/property_selector.h"
+#include "scene/3d/node_3d.h"
+#include "scene/gui/check_box.h"
#include "scene/gui/control.h"
#include "scene/gui/menu_button.h"
+#include "scene/gui/option_button.h"
+#include "scene/gui/panel_container.h"
#include "scene/gui/scroll_bar.h"
#include "scene/gui/slider.h"
#include "scene/gui/spin_box.h"
@@ -53,6 +57,8 @@ class AnimationTimelineEdit : public Range {
GDCLASS(AnimationTimelineEdit, Range);
Ref<Animation> animation;
+ bool read_only = false;
+
AnimationTrackEdit *track_edit = nullptr;
int name_limit = 0;
Range *zoom = nullptr;
@@ -73,7 +79,7 @@ class AnimationTimelineEdit : public Range {
void _anim_loop_pressed();
void _play_position_draw();
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Rect2 hsize_rect;
bool editing = false;
@@ -103,11 +109,11 @@ public:
float get_zoom_scale() const;
virtual Size2 get_minimum_size() const override;
- void set_animation(const Ref<Animation> &p_animation);
+ void set_animation(const Ref<Animation> &p_animation, bool p_read_only);
void set_track_edit(AnimationTrackEdit *p_track_edit);
void set_zoom(Range *p_zoom);
Range *get_zoom() const { return zoom; }
- void set_undo_redo(UndoRedo *p_undo_redo);
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void set_play_position(float p_pos);
float get_play_position() const;
@@ -138,6 +144,7 @@ class AnimationTrackEdit : public Control {
MENU_INTERPOLATION_NEAREST,
MENU_INTERPOLATION_LINEAR,
MENU_INTERPOLATION_CUBIC,
+ MENU_INTERPOLATION_CUBIC_IN_TIME,
MENU_LOOP_WRAP,
MENU_LOOP_CLAMP,
MENU_KEY_INSERT,
@@ -147,7 +154,7 @@ class AnimationTrackEdit : public Control {
};
AnimationTimelineEdit *timeline = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Popup *path_popup = nullptr;
LineEdit *path = nullptr;
Node *root = nullptr;
@@ -156,6 +163,7 @@ class AnimationTrackEdit : public Control {
NodePath node_path;
Ref<Animation> animation;
+ bool read_only = false;
int track = 0;
Rect2 check_rect;
@@ -227,12 +235,12 @@ public:
Ref<Animation> get_animation() const;
AnimationTimelineEdit *get_timeline() const { return timeline; }
AnimationTrackEditor *get_editor() const { return editor; }
- UndoRedo *get_undo_redo() const { return undo_redo; }
+ Ref<EditorUndoRedoManager> get_undo_redo() const;
NodePath get_path() const;
- void set_animation_and_track(const Ref<Animation> &p_animation, int p_track);
+ void set_animation_and_track(const Ref<Animation> &p_animation, int p_track, bool p_read_only);
virtual Size2 get_minimum_size() const override;
- void set_undo_redo(UndoRedo *p_undo_redo);
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void set_timeline(AnimationTimelineEdit *p_timeline);
void set_editor(AnimationTrackEditor *p_editor);
void set_root(Node *p_root);
@@ -287,6 +295,7 @@ class AnimationTrackEditor : public VBoxContainer {
GDCLASS(AnimationTrackEditor, VBoxContainer);
Ref<Animation> animation;
+ bool read_only = false;
Node *root = nullptr;
MenuButton *edit = nullptr;
@@ -326,7 +335,7 @@ class AnimationTrackEditor : public VBoxContainer {
void _animation_track_remove_request(int p_track, Ref<Animation> p_from_animation);
void _track_grab_focus(int p_track);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void _update_scroll(double);
void _update_step(double p_new_step);
@@ -375,8 +384,8 @@ class AnimationTrackEditor : public VBoxContainer {
reset = p_reset_anim ? p_reset_anim->get_track_count() : 0;
}
};
- TrackIndices _confirm_insert(InsertData p_id, TrackIndices p_next_tracks, bool p_create_reset, Ref<Animation> p_reset_anim, bool p_create_beziers);
- void _insert_track(bool p_create_reset, bool p_create_beziers);
+ TrackIndices _confirm_insert(InsertData p_id, TrackIndices p_next_tracks, bool p_reset_wanted, Ref<Animation> p_reset_anim, bool p_create_beziers);
+ void _insert_track(bool p_reset_wanted, bool p_create_beziers);
void _root_removed();
@@ -443,10 +452,16 @@ class AnimationTrackEditor : public VBoxContainer {
////////////// edit menu stuff
+ ConfirmationDialog *bake_dialog = nullptr;
+ CheckBox *bake_trs = nullptr;
+ CheckBox *bake_blendshape = nullptr;
+ CheckBox *bake_value = nullptr;
+ SpinBox *bake_fps = nullptr;
+
ConfirmationDialog *optimize_dialog = nullptr;
- SpinBox *optimize_linear_error = nullptr;
+ SpinBox *optimize_velocity_error = nullptr;
SpinBox *optimize_angular_error = nullptr;
- SpinBox *optimize_max_angle = nullptr;
+ SpinBox *optimize_precision_error = nullptr;
ConfirmationDialog *cleanup_dialog = nullptr;
CheckBox *cleanup_keys = nullptr;
@@ -456,6 +471,11 @@ class AnimationTrackEditor : public VBoxContainer {
ConfirmationDialog *scale_dialog = nullptr;
SpinBox *scale = nullptr;
+ ConfirmationDialog *ease_dialog = nullptr;
+ OptionButton *transition_selection = nullptr;
+ OptionButton *ease_selection = nullptr;
+ SpinBox *ease_fps = nullptr;
+
void _select_all_tracks_for_copy();
void _edit_menu_about_to_popup();
@@ -479,9 +499,9 @@ class AnimationTrackEditor : public VBoxContainer {
NodePath full_path;
NodePath base_path;
Animation::TrackType track_type = Animation::TYPE_ANIMATION;
- Animation::InterpolationType interp_type = Animation::INTERPOLATION_CUBIC;
+ Animation::InterpolationType interp_type = Animation::INTERPOLATION_CUBIC_IN_TIME;
Animation::UpdateMode update_mode = Animation::UPDATE_CAPTURE;
- Animation::LoopMode loop_mode = Animation::LOOP_LINEAR;
+ Animation::LoopMode loop_mode = Animation::LOOP_PINGPONG;
bool loop_wrap = false;
bool enabled = false;
@@ -513,13 +533,18 @@ public:
EDIT_SCALE_SELECTION,
EDIT_SCALE_FROM_CURSOR,
EDIT_SCALE_CONFIRM,
+ EDIT_EASE_SELECTION,
+ EDIT_EASE_CONFIRM,
EDIT_DUPLICATE_SELECTION,
EDIT_DUPLICATE_TRANSPOSED,
EDIT_ADD_RESET_KEY,
EDIT_DELETE_SELECTION,
EDIT_GOTO_NEXT_STEP,
+ EDIT_GOTO_NEXT_STEP_TIMELINE_ONLY, // Next step without updating animation.
EDIT_GOTO_PREV_STEP,
EDIT_APPLY_RESET,
+ EDIT_BAKE_ANIMATION,
+ EDIT_BAKE_ANIMATION_CONFIRM,
EDIT_OPTIMIZE_ANIMATION,
EDIT_OPTIMIZE_ANIMATION_CONFIRM,
EDIT_CLEAN_UP_ANIMATION,
@@ -529,7 +554,7 @@ public:
void add_track_edit_plugin(const Ref<AnimationTrackEditPlugin> &p_plugin);
void remove_track_edit_plugin(const Ref<AnimationTrackEditPlugin> &p_plugin);
- void set_animation(const Ref<Animation> &p_anim);
+ void set_animation(const Ref<Animation> &p_anim, bool p_read_only);
Ref<Animation> get_current_animation() const;
void set_root(Node *p_root);
Node *get_root() const;
@@ -563,7 +588,7 @@ public:
void goto_prev_step(bool p_from_mouse_event);
/** If `p_from_mouse_event` is `true`, handle Shift key presses for precise snapping. */
- void goto_next_step(bool p_from_mouse_event);
+ void goto_next_step(bool p_from_mouse_event, bool p_timeline_only = false);
MenuButton *get_edit_menu();
AnimationTrackEditor();
diff --git a/editor/animation_track_editor_plugins.cpp b/editor/animation_track_editor_plugins.cpp
index cd40b53919..ab64aaa24d 100644
--- a/editor/animation_track_editor_plugins.cpp
+++ b/editor/animation_track_editor_plugins.cpp
@@ -33,6 +33,7 @@
#include "editor/audio_stream_preview.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/2d/animated_sprite_2d.h"
#include "scene/2d/sprite_2d.h"
#include "scene/3d/sprite_3d.h"
diff --git a/editor/array_property_edit.cpp b/editor/array_property_edit.cpp
index 58527ee4d1..ab0e801c88 100644
--- a/editor/array_property_edit.cpp
+++ b/editor/array_property_edit.cpp
@@ -32,6 +32,7 @@
#include "core/io/marshalls.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
#define ITEMS_PER_PAGE 100
@@ -87,7 +88,7 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
return true;
}
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Resize Array"));
ur->add_do_method(this, "_set_size", newsize);
ur->add_undo_method(this, "_set_size", size);
@@ -134,7 +135,7 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
Callable::CallError ce;
Variant new_value;
Variant::construct(Variant::Type(type), new_value, nullptr, 0, ce);
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Array Value Type"));
ur->add_do_method(this, "_set_value", idx, new_value);
@@ -150,7 +151,7 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
Variant arr = get_array();
Variant value = arr.get(idx);
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Array Value"));
ur->add_do_method(this, "_set_value", idx, p_value);
diff --git a/editor/audio_stream_preview.cpp b/editor/audio_stream_preview.cpp
index bea95d873e..b9e52ad7ad 100644
--- a/editor/audio_stream_preview.cpp
+++ b/editor/audio_stream_preview.cpp
@@ -153,6 +153,8 @@ void AudioStreamPreviewGenerator::_preview_thread(void *p_preview) {
singleton->call_deferred(SNAME("_update_emit"), preview->id);
}
+ preview->preview->version++;
+
preview->playback->stop();
preview->generating.clear();
@@ -171,7 +173,7 @@ Ref<AudioStreamPreview> AudioStreamPreviewGenerator::generate_preview(const Ref<
Preview *preview = &previews[p_stream->get_instance_id()];
preview->base_stream = p_stream;
- preview->playback = preview->base_stream->instance_playback();
+ preview->playback = preview->base_stream->instantiate_playback();
preview->generating.set();
preview->id = p_stream->get_instance_id();
@@ -198,6 +200,7 @@ Ref<AudioStreamPreview> AudioStreamPreviewGenerator::generate_preview(const Ref<
if (preview->playback.is_valid()) {
preview->thread = memnew(Thread);
+ preview->thread->set_name("AudioStreamPreviewGenerator");
preview->thread->start(_preview_thread, preview);
}
diff --git a/editor/audio_stream_preview.h b/editor/audio_stream_preview.h
index 307dd93b34..0e3c8f70d2 100644
--- a/editor/audio_stream_preview.h
+++ b/editor/audio_stream_preview.h
@@ -43,8 +43,10 @@ class AudioStreamPreview : public RefCounted {
float length;
friend class AudioStreamPreviewGenerator;
+ uint64_t version = 1;
public:
+ uint64_t get_version() const { return version; }
float get_length() const;
float get_max(float p_time, float p_time_next) const;
float get_min(float p_time, float p_time_next) const;
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index 7c00cf351c..bdd30dc653 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -332,7 +332,7 @@ void FindReplaceBar::_update_results_count() {
if (results_count_to_current > results_count) {
results_count_to_current = results_count_to_current - results_count;
- } else if (results_count_to_current == 0) {
+ } else if (results_count_to_current <= 0) {
results_count_to_current = results_count;
}
@@ -824,12 +824,15 @@ void CodeTextEditor::_text_editor_gui_input(const Ref<InputEvent> &p_event) {
if (k->is_pressed()) {
if (ED_IS_SHORTCUT("script_editor/zoom_in", p_event)) {
_zoom_in();
+ accept_event();
}
if (ED_IS_SHORTCUT("script_editor/zoom_out", p_event)) {
_zoom_out();
+ accept_event();
}
if (ED_IS_SHORTCUT("script_editor/reset_zoom", p_event)) {
_reset_zoom();
+ accept_event();
}
}
}
@@ -1024,6 +1027,7 @@ void CodeTextEditor::update_editor_settings() {
text_editor->set_scroll_past_end_of_file_enabled(EditorSettings::get_singleton()->get("text_editor/behavior/navigation/scroll_past_end_of_file"));
text_editor->set_smooth_scroll_enabled(EditorSettings::get_singleton()->get("text_editor/behavior/navigation/smooth_scrolling"));
text_editor->set_v_scroll_speed(EditorSettings::get_singleton()->get("text_editor/behavior/navigation/v_scroll_speed"));
+ text_editor->set_drag_and_drop_selection_enabled(EditorSettings::get_singleton()->get("text_editor/behavior/navigation/drag_and_drop_selection"));
// Behavior: indent
text_editor->set_indent_using_spaces(EditorSettings::get_singleton()->get("text_editor/behavior/indent/type"));
@@ -1041,6 +1045,8 @@ void CodeTextEditor::update_editor_settings() {
guideline_cols.append(EditorSettings::get_singleton()->get("text_editor/appearance/guidelines/line_length_guideline_soft_column"));
}
text_editor->set_line_length_guidelines(guideline_cols);
+ } else {
+ text_editor->set_line_length_guidelines(TypedArray<int>());
}
}
@@ -1593,6 +1599,10 @@ void CodeTextEditor::set_error_pos(int p_line, int p_column) {
error_column = p_column;
}
+Point2i CodeTextEditor::get_error_pos() const {
+ return Point2i(error_line, error_column);
+}
+
void CodeTextEditor::goto_error() {
if (!error->get_text().is_empty()) {
if (text_editor->get_line_count() != error_line) {
@@ -1635,30 +1645,35 @@ void CodeTextEditor::_apply_settings_change() {
_update_text_editor_theme();
font_size = EditorSettings::get_singleton()->get("interface/editor/code_font_size");
-
int ot_mode = EditorSettings::get_singleton()->get("interface/editor/code_font_contextual_ligatures");
- switch (ot_mode) {
- case 1: { // Disable ligatures.
- text_editor->clear_opentype_features();
- text_editor->set_opentype_feature("calt", 0);
- } break;
- case 2: { // Custom.
- text_editor->clear_opentype_features();
- Vector<String> subtag = String(EditorSettings::get_singleton()->get("interface/editor/code_font_custom_opentype_features")).split(",");
- Dictionary ftrs;
- for (int i = 0; i < subtag.size(); i++) {
- Vector<String> subtag_a = subtag[i].split("=");
- if (subtag_a.size() == 2) {
- text_editor->set_opentype_feature(subtag_a[0], subtag_a[1].to_int());
- } else if (subtag_a.size() == 1) {
- text_editor->set_opentype_feature(subtag_a[0], 1);
+
+ Ref<FontVariation> fc = text_editor->get_theme_font(SNAME("font"));
+ if (fc.is_valid()) {
+ switch (ot_mode) {
+ case 1: { // Disable ligatures.
+ Dictionary ftrs;
+ ftrs[TS->name_to_tag("calt")] = 0;
+ fc->set_opentype_features(ftrs);
+ } break;
+ case 2: { // Custom.
+ Vector<String> subtag = String(EditorSettings::get_singleton()->get("interface/editor/code_font_custom_opentype_features")).split(",");
+ Dictionary ftrs;
+ for (int i = 0; i < subtag.size(); i++) {
+ Vector<String> subtag_a = subtag[i].split("=");
+ if (subtag_a.size() == 2) {
+ ftrs[TS->name_to_tag(subtag_a[0])] = subtag_a[1].to_int();
+ } else if (subtag_a.size() == 1) {
+ ftrs[TS->name_to_tag(subtag_a[0])] = 1;
+ }
}
- }
- } break;
- default: { // Default.
- text_editor->clear_opentype_features();
- text_editor->set_opentype_feature("calt", 1);
- } break;
+ fc->set_opentype_features(ftrs);
+ } break;
+ default: { // Default.
+ Dictionary ftrs;
+ ftrs[TS->name_to_tag("calt")] = 1;
+ fc->set_opentype_features(ftrs);
+ } break;
+ }
}
text_editor->set_code_hint_draw_below(EDITOR_GET("text_editor/completion/put_callhint_tooltip_below_current_line"));
@@ -1774,7 +1789,7 @@ void CodeTextEditor::toggle_bookmark() {
}
void CodeTextEditor::goto_next_bookmark() {
- Array bmarks = text_editor->get_bookmarked_lines();
+ PackedInt32Array bmarks = text_editor->get_bookmarked_lines();
if (bmarks.size() <= 0) {
return;
}
@@ -1798,7 +1813,7 @@ void CodeTextEditor::goto_next_bookmark() {
}
void CodeTextEditor::goto_prev_bookmark() {
- Array bmarks = text_editor->get_bookmarked_lines();
+ PackedInt32Array bmarks = text_editor->get_bookmarked_lines();
if (bmarks.size() <= 0) {
return;
}
@@ -1854,35 +1869,41 @@ CodeTextEditor::CodeTextEditor() {
code_complete_func = nullptr;
ED_SHORTCUT("script_editor/zoom_in", TTR("Zoom In"), KeyModifierMask::CMD | Key::EQUAL);
ED_SHORTCUT("script_editor/zoom_out", TTR("Zoom Out"), KeyModifierMask::CMD | Key::MINUS);
- ED_SHORTCUT("script_editor/reset_zoom", TTR("Reset Zoom"), KeyModifierMask::CMD | Key::KEY_0);
+ ED_SHORTCUT_ARRAY("script_editor/reset_zoom", TTR("Reset Zoom"),
+ { int32_t(KeyModifierMask::CMD | Key::KEY_0), int32_t(KeyModifierMask::CMD | Key::KP_0) });
text_editor = memnew(CodeEdit);
add_child(text_editor);
text_editor->set_v_size_flags(SIZE_EXPAND_FILL);
int ot_mode = EditorSettings::get_singleton()->get("interface/editor/code_font_contextual_ligatures");
- switch (ot_mode) {
- case 1: { // Disable ligatures.
- text_editor->clear_opentype_features();
- text_editor->set_opentype_feature("calt", 0);
- } break;
- case 2: { // Custom.
- text_editor->clear_opentype_features();
- Vector<String> subtag = String(EditorSettings::get_singleton()->get("interface/editor/code_font_custom_opentype_features")).split(",");
- Dictionary ftrs;
- for (int i = 0; i < subtag.size(); i++) {
- Vector<String> subtag_a = subtag[i].split("=");
- if (subtag_a.size() == 2) {
- text_editor->set_opentype_feature(subtag_a[0], subtag_a[1].to_int());
- } else if (subtag_a.size() == 1) {
- text_editor->set_opentype_feature(subtag_a[0], 1);
+ Ref<FontVariation> fc = text_editor->get_theme_font(SNAME("font"));
+ if (fc.is_valid()) {
+ switch (ot_mode) {
+ case 1: { // Disable ligatures.
+ Dictionary ftrs;
+ ftrs[TS->name_to_tag("calt")] = 0;
+ fc->set_opentype_features(ftrs);
+ } break;
+ case 2: { // Custom.
+ Vector<String> subtag = String(EditorSettings::get_singleton()->get("interface/editor/code_font_custom_opentype_features")).split(",");
+ Dictionary ftrs;
+ for (int i = 0; i < subtag.size(); i++) {
+ Vector<String> subtag_a = subtag[i].split("=");
+ if (subtag_a.size() == 2) {
+ ftrs[TS->name_to_tag(subtag_a[0])] = subtag_a[1].to_int();
+ } else if (subtag_a.size() == 1) {
+ ftrs[TS->name_to_tag(subtag_a[0])] = 1;
+ }
}
- }
- } break;
- default: { // Default.
- text_editor->clear_opentype_features();
- text_editor->set_opentype_feature("calt", 1);
- } break;
+ fc->set_opentype_features(ftrs);
+ } break;
+ default: { // Default.
+ Dictionary ftrs;
+ ftrs[TS->name_to_tag("calt")] = 1;
+ fc->set_opentype_features(ftrs);
+ } break;
+ }
}
text_editor->set_draw_line_numbers(true);
diff --git a/editor/code_editor.h b/editor/code_editor.h
index e2441cec2b..49679cc700 100644
--- a/editor/code_editor.h
+++ b/editor/code_editor.h
@@ -253,13 +253,14 @@ public:
void update_editor_settings();
void set_error(const String &p_error);
void set_error_pos(int p_line, int p_column);
+ Point2i get_error_pos() const;
void update_line_and_column() { _line_col_changed(); }
CodeEdit *get_text_editor() { return text_editor; }
FindReplaceBar *get_find_replace_bar() { return find_replace_bar; }
void set_find_replace_bar(FindReplaceBar *p_bar);
void remove_find_replace_bar();
virtual void apply_code() {}
- void goto_error();
+ virtual void goto_error();
void toggle_bookmark();
void goto_next_bookmark();
diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp
index 6ed723b891..6c86b341da 100644
--- a/editor/connections_dialog.cpp
+++ b/editor/connections_dialog.cpp
@@ -34,6 +34,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/scene_tree_dock.h"
#include "plugins/script_editor_plugin.h"
@@ -494,8 +495,8 @@ ConnectDialog::ConnectDialog() {
error = memnew(AcceptDialog);
add_child(error);
error->set_title(TTR("Cannot connect signal"));
- error->get_ok_button()->set_text(TTR("Close"));
- get_ok_button()->set_text(TTR("Connect"));
+ error->set_ok_button_text(TTR("Close"));
+ set_ok_button_text(TTR("Connect"));
}
ConnectDialog::~ConnectDialog() {
@@ -627,7 +628,7 @@ void ConnectionsDock::_connect(ConnectDialog::ConnectionData p_cd) {
Callable callable = p_cd.get_callable();
undo_redo->create_action(vformat(TTR("Connect '%s' to '%s'"), String(p_cd.signal), String(p_cd.method)));
- undo_redo->add_do_method(source, "connect", p_cd.signal, callable, varray(), p_cd.flags);
+ undo_redo->add_do_method(source, "connect", p_cd.signal, callable, p_cd.flags);
undo_redo->add_undo_method(source, "disconnect", p_cd.signal, callable);
undo_redo->add_do_method(this, "update_tree");
undo_redo->add_undo_method(this, "update_tree");
@@ -924,6 +925,10 @@ void ConnectionsDock::_bind_methods() {
ClassDB::bind_method("update_tree", &ConnectionsDock::update_tree);
}
+void ConnectionsDock::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
void ConnectionsDock::set_node(Node *p_node) {
selected_node = p_node;
update_tree();
@@ -1126,7 +1131,7 @@ ConnectionsDock::ConnectionsDock() {
search_box = memnew(LineEdit);
search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- search_box->set_placeholder(TTR("Filter signals"));
+ search_box->set_placeholder(TTR("Filter Signals"));
search_box->set_clear_button_enabled(true);
search_box->connect("text_changed", callable_mp(this, &ConnectionsDock::_filter_changed));
vbc->add_child(search_box);
diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h
index dcfde8800a..7e7192019b 100644
--- a/editor/connections_dialog.h
+++ b/editor/connections_dialog.h
@@ -31,7 +31,6 @@
#ifndef CONNECTIONS_DIALOG_H
#define CONNECTIONS_DIALOG_H
-#include "core/object/undo_redo.h"
#include "editor/editor_inspector.h"
#include "editor/scene_tree_editor.h"
#include "scene/gui/button.h"
@@ -48,6 +47,7 @@
#include "scene/gui/tree.h"
class ConnectDialogBinds;
+class EditorUndoRedoManager;
class ConnectDialog : public ConfirmationDialog {
GDCLASS(ConnectDialog, ConfirmationDialog);
@@ -97,7 +97,7 @@ public:
for (int i = 0; i < binds.size(); i++) {
argptrs[i] = &binds[i];
}
- return Callable(target, method).bind(argptrs, binds.size());
+ return Callable(target, method).bindp(argptrs, binds.size());
} else {
return Callable(target, method);
}
@@ -194,7 +194,7 @@ class ConnectionsDock : public VBoxContainer {
Button *connect_button = nullptr;
PopupMenu *signal_menu = nullptr;
PopupMenu *slot_menu = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
LineEdit *search_box = nullptr;
HashMap<StringName, HashMap<StringName, String>> descr_cache;
@@ -225,7 +225,7 @@ protected:
static void _bind_methods();
public:
- void set_undoredo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void set_node(Node *p_node);
void update_tree();
diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp
index 3469e96a0a..c84e8ec48f 100644
--- a/editor/create_dialog.cpp
+++ b/editor/create_dialog.cpp
@@ -34,10 +34,11 @@
#include "core/os/keyboard.h"
#include "editor/editor_feature_profile.h"
#include "editor/editor_node.h"
+#include "editor/editor_paths.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
-void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const String &p_select_type) {
+void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const String &p_select_type, const String &p_select_name) {
_fill_type_list();
icon_fallback = search_options->has_theme_icon(base_type, SNAME("EditorIcons")) ? base_type : "Object";
@@ -56,11 +57,15 @@ void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const St
_update_search();
if (p_replace_mode) {
- set_title(vformat(TTR("Change %s Type"), base_type));
- get_ok_button()->set_text(TTR("Change"));
+ if (!p_select_name.is_empty()) {
+ set_title(vformat(TTR("Convert %s from %s"), p_select_name, p_select_type));
+ } else {
+ set_title(vformat(TTR("Convert %s"), p_select_type));
+ }
+ set_ok_button_text(TTR("Change"));
} else {
set_title(vformat(TTR("Create New %s"), base_type));
- get_ok_button()->set_text(TTR("Create"));
+ set_ok_button_text(TTR("Create"));
}
_load_favorites_and_history();
@@ -378,7 +383,7 @@ void CreateDialog::_confirmed() {
}
{
- Ref<FileAccess> f = FileAccess::open(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("create_recent." + base_type), FileAccess::WRITE);
+ Ref<FileAccess> f = FileAccess::open(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("create_recent." + base_type), FileAccess::WRITE);
if (f.is_valid()) {
f->store_line(selected_item);
@@ -474,6 +479,13 @@ void CreateDialog::select_type(const String &p_type, bool p_center_on_item) {
get_ok_button()->set_disabled(false);
}
+void CreateDialog::select_base() {
+ if (search_options_types.is_empty()) {
+ _update_search();
+ }
+ select_type(base_type, false);
+}
+
String CreateDialog::get_selected_type() {
TreeItem *selected = search_options->get_selected();
if (!selected) {
@@ -648,7 +660,7 @@ void CreateDialog::_save_and_update_favorite_list() {
TreeItem *root = favorites->create_item();
{
- Ref<FileAccess> f = FileAccess::open(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("favorites." + base_type), FileAccess::WRITE);
+ Ref<FileAccess> f = FileAccess::open(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("favorites." + base_type), FileAccess::WRITE);
if (f.is_valid()) {
for (int i = 0; i < favorite_list.size(); i++) {
String l = favorite_list[i];
@@ -673,7 +685,7 @@ void CreateDialog::_save_and_update_favorite_list() {
}
void CreateDialog::_load_favorites_and_history() {
- String dir = EditorSettings::get_singleton()->get_project_settings_dir();
+ String dir = EditorPaths::get_singleton()->get_project_settings_dir();
Ref<FileAccess> f = FileAccess::open(dir.plus_file("create_recent." + base_type), FileAccess::READ);
if (f.is_valid()) {
while (!f->eof_reached()) {
diff --git a/editor/create_dialog.h b/editor/create_dialog.h
index 3ab27ea58c..f7731d2726 100644
--- a/editor/create_dialog.h
+++ b/editor/create_dialog.h
@@ -115,13 +115,14 @@ public:
void set_base_type(const String &p_base) { base_type = p_base; }
String get_base_type() const { return base_type; }
+ void select_base();
void set_preferred_search_result_type(const String &p_preferred_type) { preferred_search_result_type = p_preferred_type; }
String get_preferred_search_result_type() { return preferred_search_result_type; }
- void popup_create(bool p_dont_clear, bool p_replace_mode = false, const String &p_select_type = "Node");
+ void popup_create(bool p_dont_clear, bool p_replace_mode = false, const String &p_select_type = "Node", const String &p_select_name = "");
CreateDialog();
};
-#endif
+#endif // CREATE_DIALOG_H
diff --git a/editor/debugger/debug_adapter/debug_adapter_parser.cpp b/editor/debugger/debug_adapter/debug_adapter_parser.cpp
index 0caeb90108..3c3e4faa6f 100644
--- a/editor/debugger/debug_adapter/debug_adapter_parser.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_parser.cpp
@@ -34,6 +34,7 @@
#include "editor/debugger/script_editor_debugger.h"
#include "editor/editor_node.h"
#include "editor/editor_run_native.h"
+#include "editor/export/editor_export_platform.h"
#include "editor/plugins/script_editor_plugin.h"
void DebugAdapterParser::_bind_methods() {
diff --git a/editor/debugger/debug_adapter/debug_adapter_parser.h b/editor/debugger/debug_adapter/debug_adapter_parser.h
index f458151e17..ee32306146 100644
--- a/editor/debugger/debug_adapter/debug_adapter_parser.h
+++ b/editor/debugger/debug_adapter/debug_adapter_parser.h
@@ -93,4 +93,4 @@ public:
Dictionary ev_breakpoint(const DAP::Breakpoint &p_breakpoint, const bool &p_enabled) const;
};
-#endif
+#endif // DEBUG_ADAPTER_PARSER_H
diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
index 92ea0f15e9..4c445eb766 100644
--- a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
@@ -37,6 +37,7 @@
#include "editor/doc_tools.h"
#include "editor/editor_log.h"
#include "editor/editor_node.h"
+#include "editor/editor_settings.h"
DebugAdapterProtocol *DebugAdapterProtocol::singleton = nullptr;
diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.h b/editor/debugger/debug_adapter/debug_adapter_protocol.h
index a17e550dfc..29f577ef97 100644
--- a/editor/debugger/debug_adapter/debug_adapter_protocol.h
+++ b/editor/debugger/debug_adapter/debug_adapter_protocol.h
@@ -152,4 +152,4 @@ public:
~DebugAdapterProtocol();
};
-#endif
+#endif // DEBUG_ADAPTER_PROTOCOL_H
diff --git a/editor/debugger/debug_adapter/debug_adapter_server.cpp b/editor/debugger/debug_adapter/debug_adapter_server.cpp
index e9fc7ec913..41e6b1f308 100644
--- a/editor/debugger/debug_adapter/debug_adapter_server.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_server.cpp
@@ -33,6 +33,7 @@
#include "core/os/os.h"
#include "editor/editor_log.h"
#include "editor/editor_node.h"
+#include "editor/editor_settings.h"
DebugAdapterServer::DebugAdapterServer() {
_EDITOR_DEF("network/debug_adapter/remote_port", remote_port);
diff --git a/editor/debugger/debug_adapter/debug_adapter_server.h b/editor/debugger/debug_adapter/debug_adapter_server.h
index a2b01f92c6..633739eaae 100644
--- a/editor/debugger/debug_adapter/debug_adapter_server.h
+++ b/editor/debugger/debug_adapter/debug_adapter_server.h
@@ -54,4 +54,4 @@ public:
void stop();
};
-#endif
+#endif // DEBUG_ADAPTER_SERVER_H
diff --git a/editor/debugger/debug_adapter/debug_adapter_types.h b/editor/debugger/debug_adapter/debug_adapter_types.h
index 4d77b6d51c..eb10184ab3 100644
--- a/editor/debugger/debug_adapter/debug_adapter_types.h
+++ b/editor/debugger/debug_adapter/debug_adapter_types.h
@@ -220,7 +220,7 @@ struct StackFrame {
int column;
static uint32_t hash(const StackFrame &p_frame) {
- return hash_djb2_one_32(p_frame.id);
+ return hash_murmur3_one_32(p_frame.id);
}
bool operator==(const StackFrame &p_other) const {
return id == p_other.id;
@@ -278,4 +278,4 @@ struct Variable {
} // namespace DAP
-#endif
+#endif // DEBUG_ADAPTER_TYPES_H
diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp
index c5093494c6..58206efc20 100644
--- a/editor/debugger/editor_debugger_inspector.cpp
+++ b/editor/debugger/editor_debugger_inspector.cpp
@@ -68,7 +68,7 @@ void EditorDebuggerRemoteObject::_get_property_list(List<PropertyInfo> *p_list)
String EditorDebuggerRemoteObject::get_title() {
if (remote_object_id.is_valid()) {
- return TTR("Remote ") + String(type_name) + ": " + itos(remote_object_id);
+ return vformat(TTR("Remote %s:"), String(type_name)) + " " + itos(remote_object_id);
} else {
return "<null>";
}
@@ -126,25 +126,25 @@ void EditorDebuggerInspector::_object_selected(ObjectID p_object) {
}
ObjectID EditorDebuggerInspector::add_object(const Array &p_arr) {
- EditorDebuggerRemoteObject *debugObj = nullptr;
+ EditorDebuggerRemoteObject *debug_obj = nullptr;
SceneDebuggerObject obj;
obj.deserialize(p_arr);
ERR_FAIL_COND_V(obj.id.is_null(), ObjectID());
if (remote_objects.has(obj.id)) {
- debugObj = remote_objects[obj.id];
+ debug_obj = remote_objects[obj.id];
} else {
- debugObj = memnew(EditorDebuggerRemoteObject);
- debugObj->remote_object_id = obj.id;
- debugObj->type_name = obj.class_name;
- remote_objects[obj.id] = debugObj;
- debugObj->connect("value_edited", callable_mp(this, &EditorDebuggerInspector::_object_edited));
+ debug_obj = memnew(EditorDebuggerRemoteObject);
+ debug_obj->remote_object_id = obj.id;
+ debug_obj->type_name = obj.class_name;
+ remote_objects[obj.id] = debug_obj;
+ debug_obj->connect("value_edited", callable_mp(this, &EditorDebuggerInspector::_object_edited));
}
- int old_prop_size = debugObj->prop_list.size();
+ int old_prop_size = debug_obj->prop_list.size();
- debugObj->prop_list.clear();
+ debug_obj->prop_list.clear();
int new_props_added = 0;
HashSet<String> changed;
for (int i = 0; i < obj.properties.size(); i++) {
@@ -165,12 +165,14 @@ ObjectID EditorDebuggerInspector::add_object(const Array &p_arr) {
var = ResourceLoader::load(path);
if (pinfo.hint_string == "Script") {
- if (debugObj->get_script() != var) {
- debugObj->set_script(Ref<RefCounted>());
+ if (debug_obj->get_script() != var) {
+ debug_obj->set_script(Ref<RefCounted>());
Ref<Script> script(var);
if (!script.is_null()) {
- ScriptInstance *script_instance = script->placeholder_instance_create(debugObj);
- debugObj->set_script_and_instance(var, script_instance);
+ ScriptInstance *script_instance = script->placeholder_instance_create(debug_obj);
+ if (script_instance) {
+ debug_obj->set_script_and_instance(var, script_instance);
+ }
}
}
}
@@ -178,27 +180,27 @@ ObjectID EditorDebuggerInspector::add_object(const Array &p_arr) {
}
//always add the property, since props may have been added or removed
- debugObj->prop_list.push_back(pinfo);
+ debug_obj->prop_list.push_back(pinfo);
- if (!debugObj->prop_values.has(pinfo.name)) {
+ if (!debug_obj->prop_values.has(pinfo.name)) {
new_props_added++;
- debugObj->prop_values[pinfo.name] = var;
+ debug_obj->prop_values[pinfo.name] = var;
} else {
- if (bool(Variant::evaluate(Variant::OP_NOT_EQUAL, debugObj->prop_values[pinfo.name], var))) {
- debugObj->prop_values[pinfo.name] = var;
+ if (bool(Variant::evaluate(Variant::OP_NOT_EQUAL, debug_obj->prop_values[pinfo.name], var))) {
+ debug_obj->prop_values[pinfo.name] = var;
changed.insert(pinfo.name);
}
}
}
- if (old_prop_size == debugObj->prop_list.size() && new_props_added == 0) {
+ if (old_prop_size == debug_obj->prop_list.size() && new_props_added == 0) {
//only some may have changed, if so, then update those, if exist
for (const String &E : changed) {
- emit_signal(SNAME("object_property_updated"), debugObj->remote_object_id, E);
+ emit_signal(SNAME("object_property_updated"), debug_obj->remote_object_id, E);
}
} else {
//full update, because props were added or removed
- debugObj->update();
+ debug_obj->update();
}
return obj.id;
}
diff --git a/editor/debugger/editor_debugger_inspector.h b/editor/debugger/editor_debugger_inspector.h
index 0e73928558..5aac4dbf11 100644
--- a/editor/debugger/editor_debugger_inspector.h
+++ b/editor/debugger/editor_debugger_inspector.h
@@ -30,6 +30,7 @@
#ifndef EDITOR_DEBUGGER_INSPECTOR_H
#define EDITOR_DEBUGGER_INSPECTOR_H
+
#include "editor/editor_inspector.h"
class EditorDebuggerRemoteObject : public Object {
diff --git a/editor/debugger/editor_debugger_node.cpp b/editor/debugger/editor_debugger_node.cpp
index bc28b11a71..9fd7fa578f 100644
--- a/editor/debugger/editor_debugger_node.cpp
+++ b/editor/debugger/editor_debugger_node.cpp
@@ -30,6 +30,7 @@
#include "editor_debugger_node.h"
+#include "core/object/undo_redo.h"
#include "editor/debugger/editor_debugger_tree.h"
#include "editor/debugger/script_editor_debugger.h"
#include "editor/editor_log.h"
@@ -83,8 +84,6 @@ EditorDebuggerNode::EditorDebuggerNode() {
inspect_edited_object_timeout = EDITOR_DEF("debugger/remote_inspect_refresh_interval", 0.2);
EditorNode *editor = EditorNode::get_singleton();
- editor->get_undo_redo()->set_method_notify_callback(_method_changeds, this);
- editor->get_undo_redo()->set_property_notify_callback(_property_changeds, this);
editor->get_pause_button()->connect("pressed", callable_mp(this, &EditorDebuggerNode::_paused));
}
@@ -92,17 +91,18 @@ ScriptEditorDebugger *EditorDebuggerNode::_add_debugger() {
ScriptEditorDebugger *node = memnew(ScriptEditorDebugger);
int id = tabs->get_tab_count();
- node->connect("stop_requested", callable_mp(this, &EditorDebuggerNode::_debugger_wants_stop), varray(id));
- node->connect("stopped", callable_mp(this, &EditorDebuggerNode::_debugger_stopped), varray(id));
- node->connect("stack_frame_selected", callable_mp(this, &EditorDebuggerNode::_stack_frame_selected), varray(id));
- node->connect("error_selected", callable_mp(this, &EditorDebuggerNode::_error_selected), varray(id));
- node->connect("breakpoint_selected", callable_mp(this, &EditorDebuggerNode::_error_selected), varray(id));
+ node->connect("stop_requested", callable_mp(this, &EditorDebuggerNode::_debugger_wants_stop).bind(id));
+ node->connect("stopped", callable_mp(this, &EditorDebuggerNode::_debugger_stopped).bind(id));
+ node->connect("stack_frame_selected", callable_mp(this, &EditorDebuggerNode::_stack_frame_selected).bind(id));
+ node->connect("error_selected", callable_mp(this, &EditorDebuggerNode::_error_selected).bind(id));
+ node->connect("breakpoint_selected", callable_mp(this, &EditorDebuggerNode::_error_selected).bind(id));
node->connect("clear_execution", callable_mp(this, &EditorDebuggerNode::_clear_execution));
- node->connect("breaked", callable_mp(this, &EditorDebuggerNode::_breaked), varray(id));
- node->connect("remote_tree_updated", callable_mp(this, &EditorDebuggerNode::_remote_tree_updated), varray(id));
- node->connect("remote_object_updated", callable_mp(this, &EditorDebuggerNode::_remote_object_updated), varray(id));
- node->connect("remote_object_property_updated", callable_mp(this, &EditorDebuggerNode::_remote_object_property_updated), varray(id));
- node->connect("remote_object_requested", callable_mp(this, &EditorDebuggerNode::_remote_object_requested), varray(id));
+ node->connect("breaked", callable_mp(this, &EditorDebuggerNode::_breaked).bind(id));
+ node->connect("remote_tree_updated", callable_mp(this, &EditorDebuggerNode::_remote_tree_updated).bind(id));
+ node->connect("remote_object_updated", callable_mp(this, &EditorDebuggerNode::_remote_object_updated).bind(id));
+ node->connect("remote_object_property_updated", callable_mp(this, &EditorDebuggerNode::_remote_object_property_updated).bind(id));
+ node->connect("remote_object_requested", callable_mp(this, &EditorDebuggerNode::_remote_object_requested).bind(id));
+ node->connect("errors_cleared", callable_mp(this, &EditorDebuggerNode::_update_errors));
if (tabs->get_tab_count() > 0) {
get_debugger(0)->clear_style();
@@ -180,6 +180,11 @@ void EditorDebuggerNode::_bind_methods() {
ADD_SIGNAL(MethodInfo("breakpoint_toggled", PropertyInfo(Variant::STRING, "path"), PropertyInfo(Variant::INT, "line"), PropertyInfo(Variant::BOOL, "enabled")));
}
+void EditorDebuggerNode::register_undo_redo(UndoRedo *p_undo_redo) {
+ p_undo_redo->set_method_notify_callback(_method_changeds, this);
+ p_undo_redo->set_property_notify_callback(_property_changeds, this);
+}
+
EditorDebuggerRemoteObject *EditorDebuggerNode::get_inspected_remote_object() {
return Object::cast_to<EditorDebuggerRemoteObject>(ObjectDB::get_instance(EditorNode::get_singleton()->get_editor_selection_history()->get_current()));
}
@@ -267,40 +272,7 @@ void EditorDebuggerNode::_notification(int p_what) {
}
server->poll();
- // Errors and warnings
- int error_count = 0;
- int warning_count = 0;
- _for_all(tabs, [&](ScriptEditorDebugger *dbg) {
- error_count += dbg->get_error_count();
- warning_count += dbg->get_warning_count();
- });
-
- if (error_count != last_error_count || warning_count != last_warning_count) {
- _for_all(tabs, [&](ScriptEditorDebugger *dbg) {
- dbg->update_tabs();
- });
-
- if (error_count == 0 && warning_count == 0) {
- debugger_button->set_text(TTR("Debugger"));
- debugger_button->remove_theme_color_override("font_color");
- debugger_button->set_icon(Ref<Texture2D>());
- } else {
- debugger_button->set_text(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")");
- if (error_count >= 1 && warning_count >= 1) {
- debugger_button->set_icon(get_theme_icon(SNAME("ErrorWarning"), SNAME("EditorIcons")));
- // Use error color to represent the highest level of severity reported.
- debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor")));
- } else if (error_count >= 1) {
- debugger_button->set_icon(get_theme_icon(SNAME("Error"), SNAME("EditorIcons")));
- debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor")));
- } else {
- debugger_button->set_icon(get_theme_icon(SNAME("Warning"), SNAME("EditorIcons")));
- debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor")));
- }
- }
- last_error_count = error_count;
- last_warning_count = warning_count;
- }
+ _update_errors();
// Remote scene tree update
remote_scene_tree_timeout -= get_process_delta_time();
@@ -361,6 +333,42 @@ void EditorDebuggerNode::_notification(int p_what) {
}
}
+void EditorDebuggerNode::_update_errors() {
+ int error_count = 0;
+ int warning_count = 0;
+ _for_all(tabs, [&](ScriptEditorDebugger *dbg) {
+ error_count += dbg->get_error_count();
+ warning_count += dbg->get_warning_count();
+ });
+
+ if (error_count != last_error_count || warning_count != last_warning_count) {
+ _for_all(tabs, [&](ScriptEditorDebugger *dbg) {
+ dbg->update_tabs();
+ });
+
+ if (error_count == 0 && warning_count == 0) {
+ debugger_button->set_text(TTR("Debugger"));
+ debugger_button->remove_theme_color_override("font_color");
+ debugger_button->set_icon(Ref<Texture2D>());
+ } else {
+ debugger_button->set_text(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")");
+ if (error_count >= 1 && warning_count >= 1) {
+ debugger_button->set_icon(get_theme_icon(SNAME("ErrorWarning"), SNAME("EditorIcons")));
+ // Use error color to represent the highest level of severity reported.
+ debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor")));
+ } else if (error_count >= 1) {
+ debugger_button->set_icon(get_theme_icon(SNAME("Error"), SNAME("EditorIcons")));
+ debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor")));
+ } else {
+ debugger_button->set_icon(get_theme_icon(SNAME("Warning"), SNAME("EditorIcons")));
+ debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor")));
+ }
+ }
+ last_error_count = error_count;
+ last_warning_count = warning_count;
+ }
+}
+
void EditorDebuggerNode::_debugger_stopped(int p_id) {
ScriptEditorDebugger *dbg = get_debugger(p_id);
ERR_FAIL_COND(!dbg);
diff --git a/editor/debugger/editor_debugger_node.h b/editor/debugger/editor_debugger_node.h
index 87457fc09a..e79e60b180 100644
--- a/editor/debugger/editor_debugger_node.h
+++ b/editor/debugger/editor_debugger_node.h
@@ -41,6 +41,7 @@ class EditorDebuggerRemoteObject;
class MenuButton;
class ScriptEditorDebugger;
class TabContainer;
+class UndoRedo;
class EditorDebuggerNode : public MarginContainer {
GDCLASS(EditorDebuggerNode, MarginContainer);
@@ -72,7 +73,7 @@ private:
static uint32_t hash(const Breakpoint &p_val) {
uint32_t h = HashMapHasherDefault::hash(p_val.source);
- return hash_djb2_one_32(p_val.line, h);
+ return hash_murmur3_one_32(p_val.line, h);
}
bool operator==(const Breakpoint &p_b) const {
return (line == p_b.line && source == p_b.source);
@@ -116,6 +117,7 @@ private:
ScriptEditorDebugger *_add_debugger();
EditorDebuggerRemoteObject *get_inspected_remote_object();
+ void _update_errors();
friend class DebuggerEditorPlugin;
friend class DebugAdapterParser;
@@ -151,6 +153,7 @@ protected:
public:
static EditorDebuggerNode *get_singleton() { return singleton; }
+ void register_undo_redo(UndoRedo *p_undo_redo);
ScriptEditorDebugger *get_current_debugger() const;
ScriptEditorDebugger *get_default_debugger() const;
@@ -204,4 +207,5 @@ public:
void add_debugger_plugin(const Ref<Script> &p_script);
void remove_debugger_plugin(const Ref<Script> &p_script);
};
+
#endif // EDITOR_DEBUGGER_NODE_H
diff --git a/editor/debugger/editor_debugger_server.h b/editor/debugger/editor_debugger_server.h
index adf9a27c71..f3805f54d8 100644
--- a/editor/debugger/editor_debugger_server.h
+++ b/editor/debugger/editor_debugger_server.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITOR_DEBUGGER_CONNECTION_H
-#define EDITOR_DEBUGGER_CONNECTION_H
+#ifndef EDITOR_DEBUGGER_SERVER_H
+#define EDITOR_DEBUGGER_SERVER_H
#include "core/debugger/remote_debugger_peer.h"
#include "core/object/ref_counted.h"
@@ -57,4 +57,4 @@ public:
virtual Ref<RemoteDebuggerPeer> take_connection() = 0;
};
-#endif // EDITOR_DEBUGGER_CONNECTION_H
+#endif // EDITOR_DEBUGGER_SERVER_H
diff --git a/editor/debugger/editor_debugger_tree.cpp b/editor/debugger/editor_debugger_tree.cpp
index 023204b74a..dbd2c61d44 100644
--- a/editor/debugger/editor_debugger_tree.cpp
+++ b/editor/debugger/editor_debugger_tree.cpp
@@ -225,6 +225,39 @@ void EditorDebuggerTree::update_scene_tree(const SceneDebuggerTree *p_tree, int
updating_scene_tree = false;
}
+Variant EditorDebuggerTree::get_drag_data(const Point2 &p_point) {
+ if (get_button_id_at_position(p_point) != -1) {
+ return Variant();
+ }
+
+ TreeItem *selected = get_selected();
+ if (!selected) {
+ return Variant();
+ }
+
+ String path = selected->get_text(0);
+
+ HBoxContainer *hb = memnew(HBoxContainer);
+ TextureRect *tf = memnew(TextureRect);
+ tf->set_texture(selected->get_icon(0));
+ tf->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
+ hb->add_child(tf);
+ Label *label = memnew(Label(path));
+ hb->add_child(label);
+ set_drag_preview(hb);
+
+ if (!selected->get_parent() || !selected->get_parent()->get_parent()) {
+ path = ".";
+ } else {
+ while (selected->get_parent()->get_parent() != get_root()) {
+ selected = selected->get_parent();
+ path = selected->get_text(0) + "/" + path;
+ }
+ }
+
+ return vformat("\"%s\"", path);
+}
+
String EditorDebuggerTree::get_selected_path() {
if (!get_selected()) {
return "";
@@ -258,7 +291,7 @@ void EditorDebuggerTree::_item_menu_id_pressed(int p_option) {
ResourceSaver::get_recognized_extensions(sd, &extensions);
file_dialog->clear_filters();
for (int i = 0; i < extensions.size(); i++) {
- file_dialog->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ file_dialog->add_filter("*." + extensions[i], extensions[i].to_upper());
}
file_dialog->popup_file_dialog();
diff --git a/editor/debugger/editor_debugger_tree.h b/editor/debugger/editor_debugger_tree.h
index bba524039e..5b2df8abd5 100644
--- a/editor/debugger/editor_debugger_tree.h
+++ b/editor/debugger/editor_debugger_tree.h
@@ -65,10 +65,13 @@ protected:
void _notification(int p_what);
public:
+ virtual Variant get_drag_data(const Point2 &p_point) override;
+
String get_selected_path();
ObjectID get_selected_object();
int get_current_debugger(); // Would love to have one tree for every debugger.
void update_scene_tree(const SceneDebuggerTree *p_tree, int p_debugger);
EditorDebuggerTree();
};
+
#endif // EDITOR_DEBUGGER_TREE_H
diff --git a/editor/debugger/editor_network_profiler.h b/editor/debugger/editor_network_profiler.h
index d2e70a083d..aea7ce3eec 100644
--- a/editor/debugger/editor_network_profiler.h
+++ b/editor/debugger/editor_network_profiler.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITORNETWORKPROFILER_H
-#define EDITORNETWORKPROFILER_H
+#ifndef EDITOR_NETWORK_PROFILER_H
+#define EDITOR_NETWORK_PROFILER_H
#include "scene/debugger/scene_debugger.h"
#include "scene/gui/box_container.h"
@@ -69,4 +69,4 @@ public:
EditorNetworkProfiler();
};
-#endif //EDITORNETWORKPROFILER_H
+#endif // EDITOR_NETWORK_PROFILER_H
diff --git a/editor/debugger/editor_performance_profiler.cpp b/editor/debugger/editor_performance_profiler.cpp
index ed451ed68e..55d025f675 100644
--- a/editor/debugger/editor_performance_profiler.cpp
+++ b/editor/debugger/editor_performance_profiler.cpp
@@ -136,7 +136,7 @@ void EditorPerformanceProfiler::_monitor_draw() {
monitor_draw->draw_string(graph_font, rect.position + Point2(0, graph_font->get_ascent(font_size)), current.item->get_text(0), HORIZONTAL_ALIGNMENT_LEFT, rect.size.x, font_size, draw_color);
draw_color.a = 0.9f;
- float value_position = rect.size.width - graph_font->get_string_size(current.item->get_text(1), font_size).width;
+ float value_position = rect.size.width - graph_font->get_string_size(current.item->get_text(1), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width;
if (value_position < 0) {
value_position = 0;
}
@@ -184,7 +184,7 @@ void EditorPerformanceProfiler::_monitor_draw() {
monitor_draw->draw_line(rect.position + Point2(from, 0), rect.position + Point2(from, rect.size.y), line_color, Math::round(EDSCALE));
String label = _create_label(e->get(), current.type);
- Size2 size = graph_font->get_string_size(label, font_size);
+ Size2 size = graph_font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
Vector2 text_top_left_position = Vector2(from, h2) - (size + Vector2(MARKER_MARGIN, MARKER_MARGIN));
if (text_top_left_position.x < 0) {
text_top_left_position.x = from + MARKER_MARGIN;
@@ -391,9 +391,9 @@ EditorPerformanceProfiler::EditorPerformanceProfiler() {
info_message->set_text(TTR("Pick one or more items from the list to display the graph."));
info_message->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
info_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- info_message->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ info_message->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
info_message->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
- info_message->set_anchors_and_offsets_preset(PRESET_WIDE, PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
+ info_message->set_anchors_and_offsets_preset(PRESET_FULL_RECT, PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
monitor_draw->add_child(info_message);
for (int i = 0; i < Performance::MONITOR_MAX; i++) {
diff --git a/editor/debugger/editor_profiler.cpp b/editor/debugger/editor_profiler.cpp
index f2bb63e528..28b5d4be15 100644
--- a/editor/debugger/editor_profiler.cpp
+++ b/editor/debugger/editor_profiler.cpp
@@ -86,7 +86,7 @@ void EditorProfiler::add_frame_metric(const Metric &p_metric, bool p_final) {
void EditorProfiler::clear() {
int metric_size = EditorSettings::get_singleton()->get("debugger/profiler_frame_history_size");
- metric_size = CLAMP(metric_size, 60, 1024);
+ metric_size = CLAMP(metric_size, 60, 10000);
frame_metrics.clear();
frame_metrics.resize(metric_size);
total_metrics = 0;
@@ -312,7 +312,7 @@ void EditorProfiler::_update_plot() {
if (graph_texture.is_null()) {
graph_texture.instantiate();
}
- graph_texture->create_from_image(img);
+ graph_texture->set_image(img);
}
graph_texture->update(img);
@@ -660,7 +660,7 @@ EditorProfiler::EditorProfiler() {
h_split->add_child(graph);
graph->set_h_size_flags(SIZE_EXPAND_FILL);
- int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 1024);
+ int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 10000);
frame_metrics.resize(metric_size);
EDITOR_DEF("debugger/profiler_frame_max_functions", 64);
diff --git a/editor/debugger/editor_profiler.h b/editor/debugger/editor_profiler.h
index cb01a1819f..df92125258 100644
--- a/editor/debugger/editor_profiler.h
+++ b/editor/debugger/editor_profiler.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITORPROFILER_H
-#define EDITORPROFILER_H
+#ifndef EDITOR_PROFILER_H
+#define EDITOR_PROFILER_H
#include "scene/gui/box_container.h"
#include "scene/gui/button.h"
@@ -165,4 +165,4 @@ public:
EditorProfiler();
};
-#endif // EDITORPROFILER_H
+#endif // EDITOR_PROFILER_H
diff --git a/editor/debugger/editor_visual_profiler.cpp b/editor/debugger/editor_visual_profiler.cpp
index 503c03bafe..6f3dd1793c 100644
--- a/editor/debugger/editor_visual_profiler.cpp
+++ b/editor/debugger/editor_visual_profiler.cpp
@@ -93,7 +93,7 @@ void EditorVisualProfiler::add_frame_metric(const Metric &p_metric) {
void EditorVisualProfiler::clear() {
int metric_size = EditorSettings::get_singleton()->get("debugger/profiler_frame_history_size");
- metric_size = CLAMP(metric_size, 60, 1024);
+ metric_size = CLAMP(metric_size, 60, 10000);
frame_metrics.clear();
frame_metrics.resize(metric_size);
last_metric = -1;
@@ -306,7 +306,7 @@ void EditorVisualProfiler::_update_plot() {
if (graph_texture.is_null()) {
graph_texture.instantiate();
}
- graph_texture->create_from_image(img);
+ graph_texture->set_image(img);
}
graph_texture->update(img);
@@ -469,7 +469,7 @@ void EditorVisualProfiler::_graph_tex_draw() {
graph->draw_line(Vector2(0, frame_y), Vector2(half_width, frame_y), color * Color(1, 1, 1, 0.5));
const String limit_str = String::num(graph_limit, 2) + " ms";
- graph->draw_string(font, Vector2(half_width - font->get_string_size(limit_str, font_size).x - 2, frame_y - 2), limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1, 0.75));
+ graph->draw_string(font, Vector2(half_width - font->get_string_size(limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x - 2, frame_y - 2), limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1, 0.75));
}
if (graph_height_gpu > 0) {
@@ -480,11 +480,11 @@ void EditorVisualProfiler::_graph_tex_draw() {
graph->draw_line(Vector2(half_width, frame_y), Vector2(graph->get_size().x, frame_y), color * Color(1, 1, 1, 0.5));
const String limit_str = String::num(graph_limit, 2) + " ms";
- graph->draw_string(font, Vector2(half_width * 2 - font->get_string_size(limit_str, font_size).x - 2, frame_y - 2), limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1, 0.75));
+ graph->draw_string(font, Vector2(half_width * 2 - font->get_string_size(limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x - 2, frame_y - 2), limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1, 0.75));
}
- graph->draw_string(font, Vector2(font->get_string_size("X", font_size).x, font->get_ascent(font_size) + 2), "CPU:", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1));
- graph->draw_string(font, Vector2(font->get_string_size("X", font_size).x + graph->get_size().width / 2, font->get_ascent(font_size) + 2), "GPU:", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1));
+ graph->draw_string(font, Vector2(font->get_string_size("X", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x, font->get_ascent(font_size) + 2), "CPU:", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1));
+ graph->draw_string(font, Vector2(font->get_string_size("X", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x + graph->get_size().width / 2, font->get_ascent(font_size) + 2), "GPU:", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color * Color(1, 1, 1));
}
void EditorVisualProfiler::_graph_tex_mouse_exit() {
@@ -789,14 +789,14 @@ EditorVisualProfiler::EditorVisualProfiler() {
h_split->add_child(graph);
graph->set_h_size_flags(SIZE_EXPAND_FILL);
- int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 1024);
+ int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 10000);
frame_metrics.resize(metric_size);
frame_delay = memnew(Timer);
frame_delay->set_wait_time(0.1);
frame_delay->set_one_shot(true);
add_child(frame_delay);
- frame_delay->connect("timeout", callable_mp(this, &EditorVisualProfiler::_update_frame), make_binds(false));
+ frame_delay->connect("timeout", callable_mp(this, &EditorVisualProfiler::_update_frame).bind(false));
plot_delay = memnew(Timer);
plot_delay->set_wait_time(0.1);
diff --git a/editor/debugger/editor_visual_profiler.h b/editor/debugger/editor_visual_profiler.h
index 4e5169da9e..8aa9e7b308 100644
--- a/editor/debugger/editor_visual_profiler.h
+++ b/editor/debugger/editor_visual_profiler.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITOR_FRAME_PROFILER_H
-#define EDITOR_FRAME_PROFILER_H
+#ifndef EDITOR_VISUAL_PROFILER_H
+#define EDITOR_VISUAL_PROFILER_H
#include "scene/gui/box_container.h"
#include "scene/gui/button.h"
@@ -144,4 +144,4 @@ public:
EditorVisualProfiler();
};
-#endif // EDITOR_FRAME_PROFILER_H
+#endif // EDITOR_VISUAL_PROFILER_H
diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp
index 60486b5286..1bee0513ca 100644
--- a/editor/debugger/script_editor_debugger.cpp
+++ b/editor/debugger/script_editor_debugger.cpp
@@ -50,7 +50,6 @@
#include "editor/plugins/canvas_item_editor_plugin.h"
#include "editor/plugins/editor_debugger_plugin.h"
#include "editor/plugins/node_3d_editor_plugin.h"
-#include "editor/property_editor.h"
#include "main/performance.h"
#include "scene/3d/camera_3d.h"
#include "scene/debugger/scene_debugger.h"
@@ -428,6 +427,9 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
case RemoteDebugger::MESSAGE_TYPE_LOG: {
msg_type = EditorLog::MSG_TYPE_STD;
} break;
+ case RemoteDebugger::MESSAGE_TYPE_LOG_RICH: {
+ msg_type = EditorLog::MSG_TYPE_STD_RICH;
+ } break;
case RemoteDebugger::MESSAGE_TYPE_ERROR: {
msg_type = EditorLog::MSG_TYPE_ERROR;
} break;
@@ -750,7 +752,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
const Variant *args[2] = { &cmd, &data };
Variant retval;
Callable::CallError err;
- c.call(args, 2, retval, err);
+ c.callp(args, 2, retval, err);
ERR_FAIL_COND_MSG(err.error != Callable::CallError::CALL_OK, "Error calling 'capture' to callable: " + Variant::get_callable_error_text(c, args, 2, err));
ERR_FAIL_COND_MSG(retval.get_type() != Variant::BOOL, "Error calling 'capture' to callable: " + String(c) + ". Return type is not bool.");
parsed = retval;
@@ -1419,6 +1421,10 @@ bool ScriptEditorDebugger::is_skip_breakpoints() {
void ScriptEditorDebugger::_error_activated() {
TreeItem *selected = error_tree->get_selected();
+ if (!selected) {
+ return;
+ }
+
TreeItem *ci = selected->get_first_child();
if (ci) {
selected->set_collapsed(!selected->is_collapsed());
@@ -1427,6 +1433,11 @@ void ScriptEditorDebugger::_error_activated() {
void ScriptEditorDebugger::_error_selected() {
TreeItem *selected = error_tree->get_selected();
+
+ if (!selected) {
+ return;
+ }
+
Array meta = selected->get_metadata(0);
if (meta.size() == 0) {
return;
@@ -1465,6 +1476,7 @@ void ScriptEditorDebugger::_clear_errors_list() {
error_tree->clear();
error_count = 0;
warning_count = 0;
+ emit_signal(SNAME("errors_cleared"));
update_tabs();
expand_all_button->set_disabled(true);
@@ -1486,7 +1498,7 @@ void ScriptEditorDebugger::_breakpoints_item_rmb_selected(const Vector2 &p_pos,
breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Breakpoint"), ACTION_DELETE_BREAKPOINT);
file = selected->get_parent()->get_text(0);
}
- breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints in: ") + file, ACTION_DELETE_BREAKPOINTS_IN_FILE);
+ breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints in:") + " " + file, ACTION_DELETE_BREAKPOINTS_IN_FILE);
breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints"), ACTION_DELETE_ALL_BREAKPOINTS);
breakpoints_menu->set_position(breakpoints_tree->get_global_position() + p_pos);
@@ -1626,6 +1638,7 @@ void ScriptEditorDebugger::_bind_methods() {
ADD_SIGNAL(MethodInfo("debug_data", PropertyInfo(Variant::STRING, "msg"), PropertyInfo(Variant::ARRAY, "data")));
ADD_SIGNAL(MethodInfo("set_breakpoint", PropertyInfo("script"), PropertyInfo(Variant::INT, "line"), PropertyInfo(Variant::BOOL, "enabled")));
ADD_SIGNAL(MethodInfo("clear_breakpoints"));
+ ADD_SIGNAL(MethodInfo("errors_cleared"));
}
void ScriptEditorDebugger::add_debugger_plugin(const Ref<Script> &p_script) {
@@ -1684,7 +1697,7 @@ ScriptEditorDebugger::ScriptEditorDebugger() {
reason->set_text("");
hbc->add_child(reason);
reason->set_h_size_flags(SIZE_EXPAND_FILL);
- reason->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ reason->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
reason->set_max_lines_visible(3);
reason->set_mouse_filter(Control::MOUSE_FILTER_PASS);
@@ -1765,7 +1778,7 @@ ScriptEditorDebugger::ScriptEditorDebugger() {
search = memnew(LineEdit);
search->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- search->set_placeholder(TTR("Filter stack variables"));
+ search->set_placeholder(TTR("Filter Stack Variables"));
search->set_clear_button_enabled(true);
tools_hb->add_child(search);
@@ -1863,7 +1876,7 @@ ScriptEditorDebugger::ScriptEditorDebugger() {
profiler = memnew(EditorProfiler);
profiler->set_name(TTR("Profiler"));
tabs->add_child(profiler);
- profiler->connect("enable_profiling", callable_mp(this, &ScriptEditorDebugger::_profiler_activate), varray(PROFILER_SCRIPTS_SERVERS));
+ profiler->connect("enable_profiling", callable_mp(this, &ScriptEditorDebugger::_profiler_activate).bind(PROFILER_SCRIPTS_SERVERS));
profiler->connect("break_request", callable_mp(this, &ScriptEditorDebugger::_profiler_seeked));
}
@@ -1871,14 +1884,14 @@ ScriptEditorDebugger::ScriptEditorDebugger() {
visual_profiler = memnew(EditorVisualProfiler);
visual_profiler->set_name(TTR("Visual Profiler"));
tabs->add_child(visual_profiler);
- visual_profiler->connect("enable_profiling", callable_mp(this, &ScriptEditorDebugger::_profiler_activate), varray(PROFILER_VISUAL));
+ visual_profiler->connect("enable_profiling", callable_mp(this, &ScriptEditorDebugger::_profiler_activate).bind(PROFILER_VISUAL));
}
{ //network profiler
network_profiler = memnew(EditorNetworkProfiler);
network_profiler->set_name(TTR("Network Profiler"));
tabs->add_child(network_profiler);
- network_profiler->connect("enable_profiling", callable_mp(this, &ScriptEditorDebugger::_profiler_activate), varray(PROFILER_NETWORK));
+ network_profiler->connect("enable_profiling", callable_mp(this, &ScriptEditorDebugger::_profiler_activate).bind(PROFILER_NETWORK));
}
{ //monitors
@@ -1946,15 +1959,18 @@ ScriptEditorDebugger::ScriptEditorDebugger() {
info_left->set_columns(2);
misc->add_child(info_left);
clicked_ctrl = memnew(LineEdit);
+ clicked_ctrl->set_editable(false);
clicked_ctrl->set_h_size_flags(SIZE_EXPAND_FILL);
info_left->add_child(memnew(Label(TTR("Clicked Control:"))));
info_left->add_child(clicked_ctrl);
clicked_ctrl_type = memnew(LineEdit);
+ clicked_ctrl_type->set_editable(false);
info_left->add_child(memnew(Label(TTR("Clicked Control Type:"))));
info_left->add_child(clicked_ctrl_type);
scene_tree = memnew(SceneDebuggerTree);
live_edit_root = memnew(LineEdit);
+ live_edit_root->set_editable(false);
live_edit_root->set_h_size_flags(SIZE_EXPAND_FILL);
{
diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp
index 7b73a392b4..43961a7ceb 100644
--- a/editor/dependency_editor.cpp
+++ b/editor/dependency_editor.cpp
@@ -37,6 +37,7 @@
#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
#include "scene/gui/margin_container.h"
void DependencyEditor::_searched(const String &p_path) {
@@ -58,6 +59,9 @@ void DependencyEditor::_load_pressed(Object *p_item, int p_cell, int p_button, M
search->set_title(TTR("Search Replacement For:") + " " + replacing.get_file());
+ // Set directory to closest existing directory.
+ search->set_current_dir(replacing.get_base_dir());
+
search->clear_filters();
List<String> ext;
ResourceLoader::get_recognized_extensions_for_type(ti->get_metadata(0), &ext);
@@ -349,7 +353,7 @@ void DependencyEditorOwners::show(const String &p_path) {
_fill_owners(EditorFileSystem::get_singleton()->get_filesystem());
popup_centered_ratio(0.3);
- set_title(TTR("Owners Of:") + " " + p_path.get_file());
+ set_title(vformat(TTR("Owners of: %s (Total: %d)"), p_path.get_file(), owners->get_item_count()));
}
DependencyEditorOwners::DependencyEditorOwners() {
@@ -413,6 +417,45 @@ void DependencyRemoveDialog::_find_all_removed_dependencies(EditorFileSystemDire
}
}
+void DependencyRemoveDialog::_find_localization_remaps_of_removed_files(Vector<RemovedDependency> &p_removed) {
+ for (KeyValue<String, String> &files : all_remove_files) {
+ const String &path = files.key;
+
+ // Look for dependencies in the translation remaps.
+ if (ProjectSettings::get_singleton()->has_setting("internationalization/locale/translation_remaps")) {
+ Dictionary remaps = ProjectSettings::get_singleton()->get("internationalization/locale/translation_remaps");
+
+ if (remaps.has(path)) {
+ RemovedDependency dep;
+ dep.file = TTR("Localization remap");
+ dep.file_type = "";
+ dep.dependency = path;
+ dep.dependency_folder = files.value;
+ p_removed.push_back(dep);
+ }
+
+ Array remap_keys = remaps.keys();
+ for (int j = 0; j < remap_keys.size(); j++) {
+ PackedStringArray remapped_files = remaps[remap_keys[j]];
+ for (int k = 0; k < remapped_files.size(); k++) {
+ int splitter_pos = remapped_files[k].rfind(":");
+ String res_path = remapped_files[k].substr(0, splitter_pos);
+ if (res_path == path) {
+ String locale_name = remapped_files[k].substr(splitter_pos + 1);
+
+ RemovedDependency dep;
+ dep.file = vformat(TTR("Localization remap for path '%s' and locale '%s'."), remap_keys[j], locale_name);
+ dep.file_type = "";
+ dep.dependency = path;
+ dep.dependency_folder = files.value;
+ p_removed.push_back(dep);
+ }
+ }
+ }
+ }
+ }
+}
+
void DependencyRemoveDialog::_build_removed_dependency_tree(const Vector<RemovedDependency> &p_removed) {
owners->clear();
owners->create_item(); // root
@@ -469,6 +512,7 @@ void DependencyRemoveDialog::show(const Vector<String> &p_folders, const Vector<
Vector<RemovedDependency> removed_deps;
_find_all_removed_dependencies(EditorFileSystem::get_singleton()->get_filesystem(), removed_deps);
+ _find_localization_remaps_of_removed_files(removed_deps);
removed_deps.sort();
if (removed_deps.is_empty()) {
owners->hide();
@@ -487,7 +531,7 @@ void DependencyRemoveDialog::show(const Vector<String> &p_folders, const Vector<
void DependencyRemoveDialog::ok_pressed() {
for (int i = 0; i < files_to_delete.size(); ++i) {
if (ResourceCache::has(files_to_delete[i])) {
- Resource *res = ResourceCache::get(files_to_delete[i]);
+ Ref<Resource> res = ResourceCache::get_ref(files_to_delete[i]);
res->set_path("");
}
@@ -575,7 +619,7 @@ void DependencyRemoveDialog::_bind_methods() {
}
DependencyRemoveDialog::DependencyRemoveDialog() {
- get_ok_button()->set_text(TTR("Remove"));
+ set_ok_button_text(TTR("Remove"));
VBoxContainer *vb = memnew(VBoxContainer);
add_child(vb);
@@ -641,8 +685,8 @@ DependencyErrorDialog::DependencyErrorDialog() {
files->set_v_size_flags(Control::SIZE_EXPAND_FILL);
set_min_size(Size2(500, 220) * EDSCALE);
- get_ok_button()->set_text(TTR("Open Anyway"));
- get_cancel_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Open Anyway"));
+ set_cancel_button_text(TTR("Close"));
text = memnew(Label);
vb->add_child(text);
@@ -780,7 +824,7 @@ void OrphanResourcesDialog::_bind_methods() {
OrphanResourcesDialog::OrphanResourcesDialog() {
set_title(TTR("Orphan Resource Explorer"));
delete_confirm = memnew(ConfirmationDialog);
- get_ok_button()->set_text(TTR("Delete"));
+ set_ok_button_text(TTR("Delete"));
add_child(delete_confirm);
dep_edit = memnew(DependencyEditor);
add_child(dep_edit);
diff --git a/editor/dependency_editor.h b/editor/dependency_editor.h
index 96d82d58eb..6e39015ec3 100644
--- a/editor/dependency_editor.h
+++ b/editor/dependency_editor.h
@@ -119,6 +119,7 @@ class DependencyRemoveDialog : public ConfirmationDialog {
void _find_files_in_removed_folder(EditorFileSystemDirectory *efsd, const String &p_folder);
void _find_all_removed_dependencies(EditorFileSystemDirectory *efsd, Vector<RemovedDependency> &p_removed);
+ void _find_localization_remaps_of_removed_files(Vector<RemovedDependency> &p_removed);
void _build_removed_dependency_tree(const Vector<RemovedDependency> &p_removed);
void ok_pressed() override;
diff --git a/editor/dictionary_property_edit.cpp b/editor/dictionary_property_edit.cpp
index 630265e268..f16c5402ad 100644
--- a/editor/dictionary_property_edit.cpp
+++ b/editor/dictionary_property_edit.cpp
@@ -30,6 +30,7 @@
#include "dictionary_property_edit.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
void DictionaryPropertyEdit::_notif_change() {
notify_property_list_changed();
@@ -118,7 +119,7 @@ bool DictionaryPropertyEdit::_set(const StringName &p_name, const Variant &p_val
int index = pn.substr(0, slash).to_int();
if (type == "key" && index < keys.size()) {
const Variant &key = keys[index];
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Dictionary Key"));
ur->add_do_method(this, "_set_key", key, p_value);
@@ -130,7 +131,7 @@ bool DictionaryPropertyEdit::_set(const StringName &p_name, const Variant &p_val
const Variant &key = keys[index];
if (dict.has(key)) {
Variant value = dict[key];
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Dictionary Value"));
ur->add_do_method(this, "_set_value", key, p_value);
diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp
index e6cd1e0b48..864871bb7e 100644
--- a/editor/doc_tools.cpp
+++ b/editor/doc_tools.cpp
@@ -39,6 +39,7 @@
#include "core/object/script_language.h"
#include "core/string/translation.h"
#include "core/version.h"
+#include "editor/editor_settings.h"
#include "scene/resources/theme.h"
// Used for a hack preserving Mono properties on non-Mono builds.
@@ -178,6 +179,20 @@ void DocTools::merge_from(const DocTools &p_data) {
}
}
+ for (int i = 0; i < c.annotations.size(); i++) {
+ DocData::MethodDoc &m = c.annotations.write[i];
+
+ for (int j = 0; j < cf.annotations.size(); j++) {
+ if (cf.annotations[j].name != m.name) {
+ continue;
+ }
+ const DocData::MethodDoc &mf = cf.annotations[j];
+
+ m.description = mf.description;
+ break;
+ }
+ }
+
for (int i = 0; i < c.properties.size(); i++) {
DocData::PropertyDoc &p = c.properties.write[i];
@@ -322,344 +337,318 @@ static Variant get_documentation_default_value(const StringName &p_class_name, c
}
void DocTools::generate(bool p_basic_types) {
- List<StringName> classes;
- ClassDB::get_class_list(&classes);
- classes.sort_custom<StringName::AlphCompare>();
- // Move ProjectSettings, so that other classes can register properties there.
- classes.move_to_back(classes.find("ProjectSettings"));
-
- bool skip_setter_getter_methods = true;
-
- while (classes.size()) {
- HashSet<StringName> setters_getters;
-
- String name = classes.front()->get();
- if (!ClassDB::is_class_exposed(name)) {
- print_verbose(vformat("Class '%s' is not exposed, skipping.", name));
- classes.pop_front();
- continue;
- }
-
- String cname = name;
-
- class_list[cname] = DocData::ClassDoc();
- DocData::ClassDoc &c = class_list[cname];
- c.name = cname;
- c.inherits = ClassDB::get_parent_class(name);
-
- List<PropertyInfo> properties;
- List<PropertyInfo> own_properties;
- if (name == "ProjectSettings") {
- // Special case for project settings, so settings can be documented.
- ProjectSettings::get_singleton()->get_property_list(&properties);
- own_properties = properties;
- } else {
- ClassDB::get_property_list(name, &properties);
- ClassDB::get_property_list(name, &own_properties, true);
- }
-
- properties.sort();
- own_properties.sort();
-
- List<PropertyInfo>::Element *EO = own_properties.front();
- for (const PropertyInfo &E : properties) {
- bool inherited = true;
- if (EO && EO->get() == E) {
- inherited = false;
- EO = EO->next();
- }
-
- if (E.usage & PROPERTY_USAGE_GROUP || E.usage & PROPERTY_USAGE_SUBGROUP || E.usage & PROPERTY_USAGE_CATEGORY || E.usage & PROPERTY_USAGE_INTERNAL || (E.type == Variant::NIL && E.usage & PROPERTY_USAGE_ARRAY)) {
+ // Add ClassDB-exposed classes.
+ {
+ List<StringName> classes;
+ ClassDB::get_class_list(&classes);
+ classes.sort_custom<StringName::AlphCompare>();
+ // Move ProjectSettings, so that other classes can register properties there.
+ classes.move_to_back(classes.find("ProjectSettings"));
+
+ bool skip_setter_getter_methods = true;
+
+ // Populate documentation data for each exposed class.
+ while (classes.size()) {
+ String name = classes.front()->get();
+ if (!ClassDB::is_class_exposed(name)) {
+ print_verbose(vformat("Class '%s' is not exposed, skipping.", name));
+ classes.pop_front();
continue;
}
- DocData::PropertyDoc prop;
- prop.name = E.name;
- prop.overridden = inherited;
+ String cname = name;
+ // Property setters and getters do not get exposed as individual methods.
+ HashSet<StringName> setters_getters;
- if (inherited) {
- String parent = ClassDB::get_parent_class(c.name);
- while (!ClassDB::has_property(parent, prop.name, true)) {
- parent = ClassDB::get_parent_class(parent);
- }
- prop.overrides = parent;
+ class_list[cname] = DocData::ClassDoc();
+ DocData::ClassDoc &c = class_list[cname];
+ c.name = cname;
+ c.inherits = ClassDB::get_parent_class(name);
+
+ List<PropertyInfo> properties;
+ List<PropertyInfo> own_properties;
+
+ // Special case for editor and project settings, so they can be documented.
+ if (name == "EditorSettings") {
+ // We don't create the full blown EditorSettings (+ config file) with `create()`,
+ // instead we just make a local instance to get default values.
+ Ref<EditorSettings> edset = memnew(EditorSettings);
+ edset->get_property_list(&properties);
+ own_properties = properties;
+ } else if (name == "ProjectSettings") {
+ ProjectSettings::get_singleton()->get_property_list(&properties);
+ own_properties = properties;
+ } else {
+ ClassDB::get_property_list(name, &properties);
+ ClassDB::get_property_list(name, &own_properties, true);
}
- bool default_value_valid = false;
- Variant default_value;
+ properties.sort();
+ own_properties.sort();
- if (name == "ProjectSettings") {
- // Special case for project settings, so that settings are not taken from the current project's settings
- if (E.name == "script" || !ProjectSettings::get_singleton()->is_builtin_setting(E.name)) {
- continue;
+ List<PropertyInfo>::Element *EO = own_properties.front();
+ for (const PropertyInfo &E : properties) {
+ bool inherited = true;
+ if (EO && EO->get() == E) {
+ inherited = false;
+ EO = EO->next();
}
- if (E.usage & PROPERTY_USAGE_EDITOR) {
- if (!ProjectSettings::get_singleton()->get_ignore_value_in_docs(E.name)) {
- default_value = ProjectSettings::get_singleton()->property_get_revert(E.name);
- default_value_valid = true;
- }
+
+ if (E.usage & PROPERTY_USAGE_GROUP || E.usage & PROPERTY_USAGE_SUBGROUP || E.usage & PROPERTY_USAGE_CATEGORY || E.usage & PROPERTY_USAGE_INTERNAL || (E.type == Variant::NIL && E.usage & PROPERTY_USAGE_ARRAY)) {
+ continue;
}
- } else {
- default_value = get_documentation_default_value(name, E.name, default_value_valid);
+
+ DocData::PropertyDoc prop;
+ prop.name = E.name;
+ prop.overridden = inherited;
+
if (inherited) {
- bool base_default_value_valid = false;
- Variant base_default_value = get_documentation_default_value(ClassDB::get_parent_class(name), E.name, base_default_value_valid);
- if (!default_value_valid || !base_default_value_valid || default_value == base_default_value) {
- continue;
+ String parent = ClassDB::get_parent_class(c.name);
+ while (!ClassDB::has_property(parent, prop.name, true)) {
+ parent = ClassDB::get_parent_class(parent);
}
+ prop.overrides = parent;
}
- }
- //used to track uninitialized values using valgrind
- //print_line("getting default value for " + String(name) + "." + String(E.name));
- if (default_value_valid && default_value.get_type() != Variant::OBJECT) {
- prop.default_value = default_value.get_construct_string().replace("\n", " ");
- }
+ bool default_value_valid = false;
+ Variant default_value;
- StringName setter = ClassDB::get_property_setter(name, E.name);
- StringName getter = ClassDB::get_property_getter(name, E.name);
-
- prop.setter = setter;
- prop.getter = getter;
-
- bool found_type = false;
- if (getter != StringName()) {
- MethodBind *mb = ClassDB::get_method(name, getter);
- if (mb) {
- PropertyInfo retinfo = mb->get_return_info();
-
- found_type = true;
- if (retinfo.type == Variant::INT && retinfo.usage & PROPERTY_USAGE_CLASS_IS_ENUM) {
- prop.enumeration = retinfo.class_name;
- prop.type = "int";
- } else if (retinfo.class_name != StringName()) {
- prop.type = retinfo.class_name;
- } else if (retinfo.type == Variant::ARRAY && retinfo.hint == PROPERTY_HINT_ARRAY_TYPE) {
- prop.type = retinfo.hint_string + "[]";
- } else if (retinfo.hint == PROPERTY_HINT_RESOURCE_TYPE) {
- prop.type = retinfo.hint_string;
- } else if (retinfo.type == Variant::NIL && retinfo.usage & PROPERTY_USAGE_NIL_IS_VARIANT) {
- prop.type = "Variant";
- } else if (retinfo.type == Variant::NIL) {
- prop.type = "void";
- } else {
- prop.type = Variant::get_type_name(retinfo.type);
+ if (name == "EditorSettings") {
+ if (E.name == "resource_local_to_scene" || E.name == "resource_name" || E.name == "resource_path" || E.name == "script") {
+ // Don't include spurious properties in the generated EditorSettings class reference.
+ continue;
}
}
- setters_getters.insert(getter);
- }
-
- if (setter != StringName()) {
- setters_getters.insert(setter);
- }
-
- if (!found_type) {
- if (E.type == Variant::OBJECT && E.hint == PROPERTY_HINT_RESOURCE_TYPE) {
- prop.type = E.hint_string;
+ if (name == "ProjectSettings") {
+ // Special case for project settings, so that settings are not taken from the current project's settings
+ if (E.name == "script" || !ProjectSettings::get_singleton()->is_builtin_setting(E.name)) {
+ continue;
+ }
+ if (E.usage & PROPERTY_USAGE_EDITOR) {
+ if (!ProjectSettings::get_singleton()->get_ignore_value_in_docs(E.name)) {
+ default_value = ProjectSettings::get_singleton()->property_get_revert(E.name);
+ default_value_valid = true;
+ }
+ }
} else {
- prop.type = Variant::get_type_name(E.type);
+ default_value = get_documentation_default_value(name, E.name, default_value_valid);
+ if (inherited) {
+ bool base_default_value_valid = false;
+ Variant base_default_value = get_documentation_default_value(ClassDB::get_parent_class(name), E.name, base_default_value_valid);
+ if (!default_value_valid || !base_default_value_valid || default_value == base_default_value) {
+ continue;
+ }
+ }
}
- }
-
- c.properties.push_back(prop);
- }
- List<MethodInfo> method_list;
- ClassDB::get_method_list(name, &method_list, true);
- method_list.sort();
+ if (default_value_valid && default_value.get_type() != Variant::OBJECT) {
+ prop.default_value = default_value.get_construct_string().replace("\n", " ");
+ }
- for (const MethodInfo &E : method_list) {
- if (E.name.is_empty() || (E.name[0] == '_' && !(E.flags & METHOD_FLAG_VIRTUAL))) {
- continue; //hidden, don't count
- }
+ StringName setter = ClassDB::get_property_setter(name, E.name);
+ StringName getter = ClassDB::get_property_getter(name, E.name);
+
+ prop.setter = setter;
+ prop.getter = getter;
+
+ bool found_type = false;
+ if (getter != StringName()) {
+ MethodBind *mb = ClassDB::get_method(name, getter);
+ if (mb) {
+ PropertyInfo retinfo = mb->get_return_info();
+
+ found_type = true;
+ if (retinfo.type == Variant::INT && retinfo.usage & (PROPERTY_USAGE_CLASS_IS_ENUM | PROPERTY_USAGE_CLASS_IS_BITFIELD)) {
+ prop.enumeration = retinfo.class_name;
+ prop.type = "int";
+ } else if (retinfo.class_name != StringName()) {
+ prop.type = retinfo.class_name;
+ } else if (retinfo.type == Variant::ARRAY && retinfo.hint == PROPERTY_HINT_ARRAY_TYPE) {
+ prop.type = retinfo.hint_string + "[]";
+ } else if (retinfo.hint == PROPERTY_HINT_RESOURCE_TYPE) {
+ prop.type = retinfo.hint_string;
+ } else if (retinfo.type == Variant::NIL && retinfo.usage & PROPERTY_USAGE_NIL_IS_VARIANT) {
+ prop.type = "Variant";
+ } else if (retinfo.type == Variant::NIL) {
+ prop.type = "void";
+ } else {
+ prop.type = Variant::get_type_name(retinfo.type);
+ }
+ }
- if (skip_setter_getter_methods && setters_getters.has(E.name)) {
- // Don't skip parametric setters and getters, i.e. method which require
- // one or more parameters to define what property should be set or retrieved.
- // E.g. CPUParticles3D::set_param(Parameter param, float value).
- if (E.arguments.size() == 0 /* getter */ || (E.arguments.size() == 1 && E.return_val.type == Variant::NIL /* setter */)) {
- continue;
+ setters_getters.insert(getter);
}
- }
- DocData::MethodDoc method;
+ if (setter != StringName()) {
+ setters_getters.insert(setter);
+ }
- method.name = E.name;
+ if (!found_type) {
+ if (E.type == Variant::OBJECT && E.hint == PROPERTY_HINT_RESOURCE_TYPE) {
+ prop.type = E.hint_string;
+ } else {
+ prop.type = Variant::get_type_name(E.type);
+ }
+ }
- if (E.flags & METHOD_FLAG_VIRTUAL) {
- method.qualifiers = "virtual";
+ c.properties.push_back(prop);
}
- if (E.flags & METHOD_FLAG_CONST) {
- if (!method.qualifiers.is_empty()) {
- method.qualifiers += " ";
- }
- method.qualifiers += "const";
- }
+ List<MethodInfo> method_list;
+ ClassDB::get_method_list(name, &method_list, true);
+ method_list.sort();
- if (E.flags & METHOD_FLAG_VARARG) {
- if (!method.qualifiers.is_empty()) {
- method.qualifiers += " ";
+ for (const MethodInfo &E : method_list) {
+ if (E.name.is_empty() || (E.name[0] == '_' && !(E.flags & METHOD_FLAG_VIRTUAL))) {
+ continue; //hidden, don't count
}
- method.qualifiers += "vararg";
- }
- if (E.flags & METHOD_FLAG_STATIC) {
- if (!method.qualifiers.is_empty()) {
- method.qualifiers += " ";
+ if (skip_setter_getter_methods && setters_getters.has(E.name)) {
+ // Don't skip parametric setters and getters, i.e. method which require
+ // one or more parameters to define what property should be set or retrieved.
+ // E.g. CPUParticles3D::set_param(Parameter param, float value).
+ if (E.arguments.size() == 0 /* getter */ || (E.arguments.size() == 1 && E.return_val.type == Variant::NIL /* setter */)) {
+ continue;
+ }
}
- method.qualifiers += "static";
- }
- for (int i = -1; i < E.arguments.size(); i++) {
- if (i == -1) {
-#ifdef DEBUG_METHODS_ENABLED
- DocData::return_doc_from_retinfo(method, E.return_val);
-#endif
- } else {
- const PropertyInfo &arginfo = E.arguments[i];
- DocData::ArgumentDoc argument;
- DocData::argument_doc_from_arginfo(argument, arginfo);
+ DocData::MethodDoc method;
+ DocData::method_doc_from_methodinfo(method, E, "");
- int darg_idx = i - (E.arguments.size() - E.default_arguments.size());
- if (darg_idx >= 0) {
- Variant default_arg = E.default_arguments[darg_idx];
- argument.default_value = default_arg.get_construct_string().replace("\n", " ");
+ Vector<Error> errs = ClassDB::get_method_error_return_values(name, E.name);
+ if (errs.size()) {
+ if (!errs.has(OK)) {
+ errs.insert(0, OK);
}
-
- method.arguments.push_back(argument);
- }
- }
-
- Vector<Error> errs = ClassDB::get_method_error_return_values(name, E.name);
- if (errs.size()) {
- if (!errs.has(OK)) {
- errs.insert(0, OK);
- }
- for (int i = 0; i < errs.size(); i++) {
- if (!method.errors_returned.has(errs[i])) {
- method.errors_returned.push_back(errs[i]);
+ for (int i = 0; i < errs.size(); i++) {
+ if (!method.errors_returned.has(errs[i])) {
+ method.errors_returned.push_back(errs[i]);
+ }
}
}
+
+ c.methods.push_back(method);
}
- c.methods.push_back(method);
- }
+ List<MethodInfo> signal_list;
+ ClassDB::get_signal_list(name, &signal_list, true);
- List<MethodInfo> signal_list;
- ClassDB::get_signal_list(name, &signal_list, true);
+ if (signal_list.size()) {
+ for (List<MethodInfo>::Element *EV = signal_list.front(); EV; EV = EV->next()) {
+ DocData::MethodDoc signal;
+ signal.name = EV->get().name;
+ for (int i = 0; i < EV->get().arguments.size(); i++) {
+ const PropertyInfo &arginfo = EV->get().arguments[i];
+ DocData::ArgumentDoc argument;
+ DocData::argument_doc_from_arginfo(argument, arginfo);
- if (signal_list.size()) {
- for (List<MethodInfo>::Element *EV = signal_list.front(); EV; EV = EV->next()) {
- DocData::MethodDoc signal;
- signal.name = EV->get().name;
- for (int i = 0; i < EV->get().arguments.size(); i++) {
- const PropertyInfo &arginfo = EV->get().arguments[i];
- DocData::ArgumentDoc argument;
- DocData::argument_doc_from_arginfo(argument, arginfo);
+ signal.arguments.push_back(argument);
+ }
- signal.arguments.push_back(argument);
+ c.signals.push_back(signal);
}
-
- c.signals.push_back(signal);
}
- }
- List<String> constant_list;
- ClassDB::get_integer_constant_list(name, &constant_list, true);
+ List<String> constant_list;
+ ClassDB::get_integer_constant_list(name, &constant_list, true);
+
+ for (const String &E : constant_list) {
+ DocData::ConstantDoc constant;
+ constant.name = E;
+ constant.value = itos(ClassDB::get_integer_constant(name, E));
+ constant.is_value_valid = true;
+ constant.enumeration = ClassDB::get_integer_constant_enum(name, E);
+ constant.is_bitfield = ClassDB::is_enum_bitfield(name, constant.enumeration);
+ c.constants.push_back(constant);
+ }
- for (const String &E : constant_list) {
- DocData::ConstantDoc constant;
- constant.name = E;
- constant.value = itos(ClassDB::get_integer_constant(name, E));
- constant.is_value_valid = true;
- constant.enumeration = ClassDB::get_integer_constant_enum(name, E);
- c.constants.push_back(constant);
- }
+ // Theme items.
+ {
+ List<StringName> l;
+
+ Theme::get_default()->get_color_list(cname, &l);
+ for (const StringName &E : l) {
+ DocData::ThemeItemDoc tid;
+ tid.name = E;
+ tid.type = "Color";
+ tid.data_type = "color";
+ tid.default_value = Variant(Theme::get_default()->get_color(E, cname)).get_construct_string().replace("\n", " ");
+ c.theme_properties.push_back(tid);
+ }
- // Theme items.
- {
- List<StringName> l;
-
- Theme::get_default()->get_color_list(cname, &l);
- for (const StringName &E : l) {
- DocData::ThemeItemDoc tid;
- tid.name = E;
- tid.type = "Color";
- tid.data_type = "color";
- tid.default_value = Variant(Theme::get_default()->get_color(E, cname)).get_construct_string().replace("\n", " ");
- c.theme_properties.push_back(tid);
- }
+ l.clear();
+ Theme::get_default()->get_constant_list(cname, &l);
+ for (const StringName &E : l) {
+ DocData::ThemeItemDoc tid;
+ tid.name = E;
+ tid.type = "int";
+ tid.data_type = "constant";
+ tid.default_value = itos(Theme::get_default()->get_constant(E, cname));
+ c.theme_properties.push_back(tid);
+ }
- l.clear();
- Theme::get_default()->get_constant_list(cname, &l);
- for (const StringName &E : l) {
- DocData::ThemeItemDoc tid;
- tid.name = E;
- tid.type = "int";
- tid.data_type = "constant";
- tid.default_value = itos(Theme::get_default()->get_constant(E, cname));
- c.theme_properties.push_back(tid);
- }
+ l.clear();
+ Theme::get_default()->get_font_list(cname, &l);
+ for (const StringName &E : l) {
+ DocData::ThemeItemDoc tid;
+ tid.name = E;
+ tid.type = "Font";
+ tid.data_type = "font";
+ c.theme_properties.push_back(tid);
+ }
- l.clear();
- Theme::get_default()->get_font_list(cname, &l);
- for (const StringName &E : l) {
- DocData::ThemeItemDoc tid;
- tid.name = E;
- tid.type = "Font";
- tid.data_type = "font";
- c.theme_properties.push_back(tid);
- }
+ l.clear();
+ Theme::get_default()->get_font_size_list(cname, &l);
+ for (const StringName &E : l) {
+ DocData::ThemeItemDoc tid;
+ tid.name = E;
+ tid.type = "int";
+ tid.data_type = "font_size";
+ c.theme_properties.push_back(tid);
+ }
- l.clear();
- Theme::get_default()->get_font_size_list(cname, &l);
- for (const StringName &E : l) {
- DocData::ThemeItemDoc tid;
- tid.name = E;
- tid.type = "int";
- tid.data_type = "font_size";
- c.theme_properties.push_back(tid);
- }
+ l.clear();
+ Theme::get_default()->get_icon_list(cname, &l);
+ for (const StringName &E : l) {
+ DocData::ThemeItemDoc tid;
+ tid.name = E;
+ tid.type = "Texture2D";
+ tid.data_type = "icon";
+ c.theme_properties.push_back(tid);
+ }
- l.clear();
- Theme::get_default()->get_icon_list(cname, &l);
- for (const StringName &E : l) {
- DocData::ThemeItemDoc tid;
- tid.name = E;
- tid.type = "Texture2D";
- tid.data_type = "icon";
- c.theme_properties.push_back(tid);
- }
+ l.clear();
+ Theme::get_default()->get_stylebox_list(cname, &l);
+ for (const StringName &E : l) {
+ DocData::ThemeItemDoc tid;
+ tid.name = E;
+ tid.type = "StyleBox";
+ tid.data_type = "style";
+ c.theme_properties.push_back(tid);
+ }
- l.clear();
- Theme::get_default()->get_stylebox_list(cname, &l);
- for (const StringName &E : l) {
- DocData::ThemeItemDoc tid;
- tid.name = E;
- tid.type = "StyleBox";
- tid.data_type = "style";
- c.theme_properties.push_back(tid);
+ c.theme_properties.sort();
}
- c.theme_properties.sort();
+ classes.pop_front();
}
-
- classes.pop_front();
}
+ // Add a dummy Variant entry.
{
- // So we can document the concept of Variant even if it's not a usable class per se.
+ // This allows us to document the concept of Variant even though
+ // it's not a ClassDB-exposed class.
class_list["Variant"] = DocData::ClassDoc();
class_list["Variant"].name = "Variant";
}
+ // If we don't want to populate basic types, break here.
if (!p_basic_types) {
return;
}
- // Add Variant types.
+ // Add Variant data types.
for (int i = 0; i < Variant::VARIANT_MAX; i++) {
if (i == Variant::NIL) {
continue; // Not exposed outside of 'null', should not be in class list.
@@ -827,14 +816,14 @@ void DocTools::generate(bool p_basic_types) {
}
}
- //built in constants and functions
-
+ // Add global API (servers, engine singletons, global constants) and Variant utility functions.
{
String cname = "@GlobalScope";
class_list[cname] = DocData::ClassDoc();
DocData::ClassDoc &c = class_list[cname];
c.name = cname;
+ // Global constants.
for (int i = 0; i < CoreConstants::get_global_constant_count(); i++) {
DocData::ConstantDoc cd;
cd.name = CoreConstants::get_global_constant_name(i);
@@ -848,10 +837,11 @@ void DocTools::generate(bool p_basic_types) {
c.constants.push_back(cd);
}
+ // Servers/engine singletons.
List<Engine::Singleton> singletons;
Engine::get_singleton()->get_singletons(&singletons);
- //servers (this is kind of hackish)
+ // FIXME: this is kind of hackish...
for (const Engine::Singleton &s : singletons) {
DocData::PropertyDoc pd;
if (!s.ptr) {
@@ -865,13 +855,14 @@ void DocTools::generate(bool p_basic_types) {
c.properties.push_back(pd);
}
+ // Variant utility functions.
List<StringName> utility_functions;
Variant::get_utility_function_list(&utility_functions);
utility_functions.sort_custom<StringName::AlphCompare>();
for (const StringName &E : utility_functions) {
DocData::MethodDoc md;
md.name = E;
- //return
+ // Utility function's return type.
if (Variant::has_utility_function_return_value(E)) {
PropertyInfo pi;
pi.type = Variant::get_utility_function_return_type(E);
@@ -883,6 +874,7 @@ void DocTools::generate(bool p_basic_types) {
md.return_type = ad.type;
}
+ // Utility function's arguments.
if (Variant::is_utility_function_vararg(E)) {
md.qualifiers = "vararg";
} else {
@@ -903,11 +895,10 @@ void DocTools::generate(bool p_basic_types) {
}
}
- // Built-in script reference.
- // We only add a doc entry for languages which actually define any built-in
- // methods or constants.
-
+ // Add scripting language built-ins.
{
+ // We only add a doc entry for languages which actually define any built-in
+ // methods, constants, or annotations.
for (int i = 0; i < ScriptServer::get_language_count(); i++) {
ScriptLanguage *lang = ScriptServer::get_language(i);
String cname = "@" + lang->get_name();
@@ -959,8 +950,41 @@ void DocTools::generate(bool p_basic_types) {
c.constants.push_back(cd);
}
+ // Get annotations.
+ List<MethodInfo> ainfo;
+ lang->get_public_annotations(&ainfo);
+
+ for (const MethodInfo &ai : ainfo) {
+ DocData::MethodDoc atd;
+ atd.name = ai.name;
+
+ if (ai.flags & METHOD_FLAG_VARARG) {
+ if (!atd.qualifiers.is_empty()) {
+ atd.qualifiers += " ";
+ }
+ atd.qualifiers += "vararg";
+ }
+
+ DocData::return_doc_from_retinfo(atd, ai.return_val);
+
+ for (int j = 0; j < ai.arguments.size(); j++) {
+ DocData::ArgumentDoc ad;
+ DocData::argument_doc_from_arginfo(ad, ai.arguments[j]);
+
+ int darg_idx = j - (ai.arguments.size() - ai.default_arguments.size());
+ if (darg_idx >= 0) {
+ Variant default_arg = ai.default_arguments[darg_idx];
+ ad.default_value = default_arg.get_construct_string().replace("\n", " ");
+ }
+
+ atd.arguments.push_back(ad);
+ }
+
+ c.annotations.push_back(atd);
+ }
+
// Skip adding the lang if it doesn't expose anything (e.g. C#).
- if (c.methods.is_empty() && c.constants.is_empty()) {
+ if (c.methods.is_empty() && c.constants.is_empty() && c.annotations.is_empty()) {
continue;
}
@@ -995,7 +1019,7 @@ static Error _parse_methods(Ref<XMLParser> &parser, Vector<DocData::MethodDoc> &
} else if (name == "returns_error") {
ERR_FAIL_COND_V(!parser->has_attribute("number"), ERR_FILE_CORRUPT);
method.errors_returned.push_back(parser->get_attribute_value("number").to_int());
- } else if (name == "argument") {
+ } else if (name == "param") {
DocData::ArgumentDoc argument;
ERR_FAIL_COND_V(!parser->has_attribute("name"), ERR_FILE_CORRUPT);
argument.name = parser->get_attribute_value("name");
@@ -1162,6 +1186,9 @@ Error DocTools::_load(Ref<XMLParser> parser) {
} else if (name2 == "signals") {
Error err2 = _parse_methods(parser, c.signals);
ERR_FAIL_COND_V(err2, err2);
+ } else if (name2 == "annotations") {
+ Error err2 = _parse_methods(parser, c.annotations);
+ ERR_FAIL_COND_V(err2, err2);
} else if (name2 == "members") {
while (parser->read() == OK) {
if (parser->get_node_type() == XMLParser::NODE_ELEMENT) {
@@ -1244,6 +1271,9 @@ Error DocTools::_load(Ref<XMLParser> parser) {
if (parser->has_attribute("enum")) {
constant2.enumeration = parser->get_attribute_value("enum");
}
+ if (parser->has_attribute("is_bitfield")) {
+ constant2.is_bitfield = parser->get_attribute_value("is_bitfield").to_lower() == "true";
+ }
if (!parser->is_empty()) {
parser->read();
if (parser->get_node_type() == XMLParser::NODE_TEXT) {
@@ -1320,9 +1350,9 @@ static void _write_method_doc(Ref<FileAccess> f, const String &p_name, Vector<Do
}
if (!a.default_value.is_empty()) {
- _write_string(f, 3, "<argument index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " default=\"" + a.default_value.xml_escape(true) + "\" />");
+ _write_string(f, 3, "<param index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " default=\"" + a.default_value.xml_escape(true) + "\" />");
} else {
- _write_string(f, 3, "<argument index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " />");
+ _write_string(f, 3, "<param index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " />");
}
}
@@ -1424,7 +1454,11 @@ Error DocTools::save_classes(const String &p_default_path, const HashMap<String,
const DocData::ConstantDoc &k = c.constants[i];
if (k.is_value_valid) {
if (!k.enumeration.is_empty()) {
- _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\">");
+ if (k.is_bitfield) {
+ _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\" is_bitfield=\"true\">");
+ } else {
+ _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\">");
+ }
} else {
_write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\">");
}
@@ -1442,6 +1476,8 @@ Error DocTools::save_classes(const String &p_default_path, const HashMap<String,
_write_string(f, 1, "</constants>");
}
+ _write_method_doc(f, "annotation", c.annotations);
+
if (!c.theme_properties.is_empty()) {
c.theme_properties.sort();
diff --git a/editor/doc_tools.h b/editor/doc_tools.h
index 843cdf87a6..b3e45c6472 100644
--- a/editor/doc_tools.h
+++ b/editor/doc_tools.h
@@ -53,4 +53,4 @@ public:
Error load_compressed(const uint8_t *p_data, int p_compressed_size, int p_uncompressed_size);
};
-#endif // DOC_DATA_H
+#endif // DOC_TOOLS_H
diff --git a/editor/editor_about.cpp b/editor/editor_about.cpp
index 88ad2633c0..17aa67cd45 100644
--- a/editor/editor_about.cpp
+++ b/editor/editor_about.cpp
@@ -163,6 +163,7 @@ EditorAbout::EditorAbout() {
tc->set_tab_alignment(TabBar::ALIGNMENT_CENTER);
tc->set_custom_minimum_size(Size2(400, 200) * EDSCALE);
tc->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ tc->set_theme_type_variation("TabContainerOdd");
vbc->add_child(tc);
// Authors
@@ -212,7 +213,7 @@ EditorAbout::EditorAbout() {
Label *tpl_label = memnew(Label);
tpl_label->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- tpl_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ tpl_label->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
tpl_label->set_text(TTR("Godot Engine relies on a number of third-party free and open source libraries, all compatible with the terms of its MIT license. The following is an exhaustive list of all such third-party components with their respective copyright statements and license terms."));
tpl_label->set_size(Size2(630, 1) * EDSCALE);
license_thirdparty->add_child(tpl_label);
diff --git a/editor/editor_about.h b/editor/editor_about.h
index 6f05700582..971843f6d2 100644
--- a/editor/editor_about.h
+++ b/editor/editor_about.h
@@ -75,4 +75,4 @@ public:
~EditorAbout();
};
-#endif
+#endif // EDITOR_ABOUT_H
diff --git a/editor/editor_asset_installer.cpp b/editor/editor_asset_installer.cpp
index ef29448854..8dc8a0ab6b 100644
--- a/editor/editor_asset_installer.cpp
+++ b/editor/editor_asset_installer.cpp
@@ -100,8 +100,8 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
extension_guess["tga"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons"));
extension_guess["webp"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons"));
- extension_guess["wav"] = tree->get_theme_icon(SNAME("AudioStreamSample"), SNAME("EditorIcons"));
- extension_guess["ogg"] = tree->get_theme_icon(SNAME("AudioStreamOGGVorbis"), SNAME("EditorIcons"));
+ extension_guess["wav"] = tree->get_theme_icon(SNAME("AudioStreamWAV"), SNAME("EditorIcons"));
+ extension_guess["ogg"] = tree->get_theme_icon(SNAME("AudioStreamOggVorbis"), SNAME("EditorIcons"));
extension_guess["mp3"] = tree->get_theme_icon(SNAME("AudioStreamMP3"), SNAME("EditorIcons"));
extension_guess["scn"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons"));
@@ -112,6 +112,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
extension_guess["glb"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons"));
extension_guess["gdshader"] = tree->get_theme_icon(SNAME("Shader"), SNAME("EditorIcons"));
+ extension_guess["gdshaderinc"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons"));
extension_guess["gd"] = tree->get_theme_icon(SNAME("GDScript"), SNAME("EditorIcons"));
if (Engine::get_singleton()->has_singleton("GodotSharp")) {
extension_guess["cs"] = tree->get_theme_icon(SNAME("CSharpScript"), SNAME("EditorIcons"));
@@ -355,7 +356,7 @@ EditorAssetInstaller::EditorAssetInstaller() {
error = memnew(AcceptDialog);
add_child(error);
- get_ok_button()->set_text(TTR("Install"));
+ set_ok_button_text(TTR("Install"));
set_title(TTR("Asset Installer"));
set_hide_on_ok(true);
diff --git a/editor/editor_asset_installer.h b/editor/editor_asset_installer.h
index c44f4c5d22..9c88116336 100644
--- a/editor/editor_asset_installer.h
+++ b/editor/editor_asset_installer.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITORASSETINSTALLER_H
-#define EDITORASSETINSTALLER_H
+#ifndef EDITOR_ASSET_INSTALLER_H
+#define EDITOR_ASSET_INSTALLER_H
#include "scene/gui/dialogs.h"
#include "scene/gui/tree.h"
@@ -59,4 +59,4 @@ public:
EditorAssetInstaller();
};
-#endif // EDITORASSETINSTALLER_H
+#endif // EDITOR_ASSET_INSTALLER_H
diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp
index 083f7cdc6c..f1add65b7c 100644
--- a/editor/editor_audio_buses.cpp
+++ b/editor/editor_audio_buses.cpp
@@ -37,6 +37,8 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "filesystem_dock.h"
#include "scene/resources/font.h"
#include "servers/audio_server.h"
@@ -279,7 +281,7 @@ void EditorAudioBus::_name_changed(const String &p_new_name) {
}
updating_bus = true;
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
StringName current = AudioServer::get_singleton()->get_bus_name(get_index());
ur->create_action(TTR("Rename Audio Bus"));
@@ -320,7 +322,7 @@ void EditorAudioBus::_volume_changed(float p_normalized) {
slider->set_value(_scaled_db_to_normalized_volume(Math::round(p_db)));
}
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Audio Bus Volume"), UndoRedo::MERGE_ENDS);
ur->add_do_method(AudioServer::get_singleton(), "set_bus_volume_db", get_index(), p_db);
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_volume_db", get_index(), AudioServer::get_singleton()->get_bus_volume_db(get_index()));
@@ -414,7 +416,7 @@ void EditorAudioBus::_hide_value_preview() {
void EditorAudioBus::_solo_toggled() {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Toggle Audio Bus Solo"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_solo", get_index(), solo->is_pressed());
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_solo", get_index(), AudioServer::get_singleton()->is_bus_solo(get_index()));
@@ -428,7 +430,7 @@ void EditorAudioBus::_solo_toggled() {
void EditorAudioBus::_mute_toggled() {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Toggle Audio Bus Mute"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_mute", get_index(), mute->is_pressed());
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_mute", get_index(), AudioServer::get_singleton()->is_bus_mute(get_index()));
@@ -442,7 +444,7 @@ void EditorAudioBus::_mute_toggled() {
void EditorAudioBus::_bypass_toggled() {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Toggle Audio Bus Bypass Effects"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_bypass_effects", get_index(), bypass->is_pressed());
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_bypass_effects", get_index(), AudioServer::get_singleton()->is_bus_bypassing_effects(get_index()));
@@ -456,7 +458,7 @@ void EditorAudioBus::_bypass_toggled() {
void EditorAudioBus::_send_selected(int p_which) {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Select Audio Bus Send"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_send", get_index(), send->get_item_text(p_which));
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_send", get_index(), AudioServer::get_singleton()->get_bus_send(get_index()));
@@ -506,7 +508,7 @@ void EditorAudioBus::_effect_edited() {
int index = effect->get_metadata(0);
updating_bus = true;
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Select Audio Bus Send"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_effect_enabled", get_index(), index, effect->is_checked(0));
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_effect_enabled", get_index(), index, AudioServer::get_singleton()->is_bus_effect_enabled(get_index(), index));
@@ -533,7 +535,7 @@ void EditorAudioBus::_effect_add(int p_which) {
afxr->set_name(effect_options->get_item_text(p_which));
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Add Audio Bus Effect"));
ur->add_do_method(AudioServer::get_singleton(), "add_bus_effect", get_index(), afxr, -1);
ur->add_undo_method(AudioServer::get_singleton(), "remove_bus_effect", get_index(), AudioServer::get_singleton()->get_bus_effect_count(get_index()));
@@ -687,7 +689,7 @@ void EditorAudioBus::drop_data_fw(const Point2 &p_point, const Variant &p_data,
bool enabled = AudioServer::get_singleton()->is_bus_effect_enabled(bus, effect);
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Move Bus Effect"));
ur->add_do_method(AudioServer::get_singleton(), "remove_bus_effect", bus, effect);
ur->add_do_method(AudioServer::get_singleton(), "add_bus_effect", get_index(), AudioServer::get_singleton()->get_bus_effect(bus, effect), paste_at);
@@ -729,7 +731,7 @@ void EditorAudioBus::_delete_effect_pressed(int p_option) {
int index = item->get_metadata(0);
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Delete Bus Effect"));
ur->add_do_method(AudioServer::get_singleton(), "remove_bus_effect", get_index(), index);
ur->add_undo_method(AudioServer::get_singleton(), "add_bus_effect", get_index(), AudioServer::get_singleton()->get_bus_effect(get_index(), index), index);
@@ -1007,11 +1009,11 @@ void EditorAudioBuses::_update_buses() {
bool is_master = (i == 0);
EditorAudioBus *audio_bus = memnew(EditorAudioBus(this, is_master));
bus_hb->add_child(audio_bus);
- audio_bus->connect("delete_request", callable_mp(this, &EditorAudioBuses::_delete_bus), varray(audio_bus), CONNECT_DEFERRED);
- audio_bus->connect("duplicate_request", callable_mp(this, &EditorAudioBuses::_duplicate_bus), varray(), CONNECT_DEFERRED);
- audio_bus->connect("vol_reset_request", callable_mp(this, &EditorAudioBuses::_reset_bus_volume), varray(audio_bus), CONNECT_DEFERRED);
+ audio_bus->connect("delete_request", callable_mp(this, &EditorAudioBuses::_delete_bus).bind(audio_bus), CONNECT_DEFERRED);
+ audio_bus->connect("duplicate_request", callable_mp(this, &EditorAudioBuses::_duplicate_bus), CONNECT_DEFERRED);
+ audio_bus->connect("vol_reset_request", callable_mp(this, &EditorAudioBuses::_reset_bus_volume).bind(audio_bus), CONNECT_DEFERRED);
audio_bus->connect("drop_end_request", callable_mp(this, &EditorAudioBuses::_request_drop_end));
- audio_bus->connect("dropped", callable_mp(this, &EditorAudioBuses::_drop_at_index), varray(), CONNECT_DEFERRED);
+ audio_bus->connect("dropped", callable_mp(this, &EditorAudioBuses::_drop_at_index), CONNECT_DEFERRED);
}
}
@@ -1062,7 +1064,7 @@ void EditorAudioBuses::_notification(int p_what) {
}
void EditorAudioBuses::_add_bus() {
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Add Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_count", AudioServer::get_singleton()->get_bus_count() + 1);
@@ -1094,7 +1096,7 @@ void EditorAudioBuses::_delete_bus(Object *p_which) {
return;
}
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Delete Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "remove_bus", index);
@@ -1116,7 +1118,7 @@ void EditorAudioBuses::_delete_bus(Object *p_which) {
void EditorAudioBuses::_duplicate_bus(int p_which) {
int add_at_pos = p_which + 1;
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Duplicate Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "add_bus", add_at_pos);
ur->add_do_method(AudioServer::get_singleton(), "set_bus_name", add_at_pos, AudioServer::get_singleton()->get_bus_name(p_which) + " Copy");
@@ -1139,7 +1141,7 @@ void EditorAudioBuses::_reset_bus_volume(Object *p_which) {
EditorAudioBus *bus = Object::cast_to<EditorAudioBus>(p_which);
int index = bus->get_index();
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Reset Bus Volume"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_volume_db", index, 0.f);
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_volume_db", index, AudioServer::get_singleton()->get_bus_volume_db(index));
@@ -1154,12 +1156,12 @@ void EditorAudioBuses::_request_drop_end() {
bus_hb->add_child(drop_end);
drop_end->set_custom_minimum_size(Object::cast_to<Control>(bus_hb->get_child(0))->get_size());
- drop_end->connect("dropped", callable_mp(this, &EditorAudioBuses::_drop_at_index), varray(), CONNECT_DEFERRED);
+ drop_end->connect("dropped", callable_mp(this, &EditorAudioBuses::_drop_at_index), CONNECT_DEFERRED);
}
}
void EditorAudioBuses::_drop_at_index(int p_bus, int p_index) {
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Move Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "move_bus", p_bus, p_index);
@@ -1174,7 +1176,7 @@ void EditorAudioBuses::_drop_at_index(int p_bus, int p_index) {
void EditorAudioBuses::_server_save() {
Ref<AudioBusLayout> state = AudioServer::get_singleton()->generate_bus_layout();
- ResourceSaver::save(edited_path, state);
+ ResourceSaver::save(state, edited_path);
}
void EditorAudioBuses::_select_layout() {
@@ -1215,10 +1217,10 @@ void EditorAudioBuses::_load_default_layout() {
}
edited_path = layout_path;
- file->set_text(String(TTR("Layout")) + ": " + layout_path.get_file());
+ file->set_text(String(TTR("Layout:")) + " " + layout_path.get_file());
AudioServer::get_singleton()->set_bus_layout(state);
_update_buses();
- EditorNode::get_singleton()->get_undo_redo()->clear_history();
+ EditorNode::get_undo_redo()->clear_history(true, EditorUndoRedoManager::GLOBAL_HISTORY);
call_deferred(SNAME("_select_layout"));
}
@@ -1231,10 +1233,10 @@ void EditorAudioBuses::_file_dialog_callback(const String &p_string) {
}
edited_path = p_string;
- file->set_text(String(TTR("Layout")) + ": " + p_string.get_file());
+ file->set_text(String(TTR("Layout:")) + " " + p_string.get_file());
AudioServer::get_singleton()->set_bus_layout(state);
_update_buses();
- EditorNode::get_singleton()->get_undo_redo()->clear_history();
+ EditorNode::get_undo_redo()->clear_history(true, EditorUndoRedoManager::GLOBAL_HISTORY);
call_deferred(SNAME("_select_layout"));
} else if (file_dialog->get_file_mode() == EditorFileDialog::FILE_MODE_SAVE_FILE) {
@@ -1244,7 +1246,7 @@ void EditorAudioBuses::_file_dialog_callback(const String &p_string) {
AudioServer::get_singleton()->set_bus_layout(empty_state);
}
- Error err = ResourceSaver::save(p_string, AudioServer::get_singleton()->generate_bus_layout());
+ Error err = ResourceSaver::save(AudioServer::get_singleton()->generate_bus_layout(), p_string);
if (err != OK) {
EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving file: %s"), p_string));
@@ -1252,9 +1254,9 @@ void EditorAudioBuses::_file_dialog_callback(const String &p_string) {
}
edited_path = p_string;
- file->set_text(String(TTR("Layout")) + ": " + p_string.get_file());
+ file->set_text(String(TTR("Layout:")) + " " + p_string.get_file());
_update_buses();
- EditorNode::get_singleton()->get_undo_redo()->clear_history();
+ EditorNode::get_undo_redo()->clear_history(true, EditorUndoRedoManager::GLOBAL_HISTORY);
call_deferred(SNAME("_select_layout"));
}
}
@@ -1272,7 +1274,7 @@ EditorAudioBuses::EditorAudioBuses() {
file = memnew(Label);
String layout_path = ProjectSettings::get_singleton()->get("audio/buses/default_bus_layout");
- file->set_text(String(TTR("Layout")) + ": " + layout_path.get_file());
+ file->set_text(String(TTR("Layout:")) + " " + layout_path.get_file());
file->set_clip_text(true);
file->set_h_size_flags(SIZE_EXPAND_FILL);
top_hb->add_child(file);
@@ -1332,7 +1334,7 @@ EditorAudioBuses::EditorAudioBuses() {
List<String> ext;
ResourceLoader::get_recognized_extensions_for_type("AudioBusLayout", &ext);
for (const String &E : ext) {
- file_dialog->add_filter(vformat("*.%s; %s", E, TTR("Audio Bus Layout")));
+ file_dialog->add_filter("*." + E, TTR("Audio Bus Layout"));
}
add_child(file_dialog);
file_dialog->connect("file_selected", callable_mp(this, &EditorAudioBuses::_file_dialog_callback));
@@ -1353,7 +1355,7 @@ void EditorAudioBuses::open_layout(const String &p_path) {
file->set_text(p_path.get_file());
AudioServer::get_singleton()->set_bus_layout(state);
_update_buses();
- EditorNode::get_singleton()->get_undo_redo()->clear_history();
+ EditorNode::get_undo_redo()->clear_history(true, EditorUndoRedoManager::GLOBAL_HISTORY);
call_deferred(SNAME("_select_layout"));
}
@@ -1394,7 +1396,7 @@ Size2 EditorAudioMeterNotches::get_minimum_size() const {
for (int i = 0; i < notches.size(); i++) {
if (notches[i].render_db_value) {
- width = MAX(width, font->get_string_size(String::num(Math::abs(notches[i].db_value)) + "dB", font_size).x);
+ width = MAX(width, font->get_string_size(String::num(Math::abs(notches[i].db_value)) + "dB", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x);
height += font_height;
}
}
diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp
index ee4955d0a0..120ac5b984 100644
--- a/editor/editor_autoload_settings.cpp
+++ b/editor/editor_autoload_settings.cpp
@@ -35,6 +35,7 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/filesystem_dock.h"
#include "project_settings_editor.h"
#include "scene/main/window.h"
@@ -193,7 +194,7 @@ void EditorAutoloadSettings::_autoload_edited() {
TreeItem *ti = tree->get_edited();
int column = tree->get_edited_column();
- UndoRedo *undo_redo = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
if (column == 0) {
String name = ti->get_text(0);
@@ -288,7 +289,7 @@ void EditorAutoloadSettings::_autoload_button_pressed(Object *p_item, int p_colu
String name = "autoload/" + ti->get_text(0);
- UndoRedo *undo_redo = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
switch (p_button) {
case BUTTON_OPEN: {
@@ -713,7 +714,7 @@ void EditorAutoloadSettings::drop_data_fw(const Point2 &p_point, const Variant &
orders.sort();
- UndoRedo *undo_redo = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Rearrange Autoloads"));
@@ -757,7 +758,7 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
name = "autoload/" + name;
- UndoRedo *undo_redo = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Add Autoload"));
// Singleton autoloads are represented with a leading "*" in their path.
@@ -783,7 +784,7 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
void EditorAutoloadSettings::autoload_remove(const String &p_name) {
String name = "autoload/" + p_name;
- UndoRedo *undo_redo = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
int order = ProjectSettings::get_singleton()->get_order(name);
diff --git a/editor/editor_autoload_settings.h b/editor/editor_autoload_settings.h
index e1e0bb0a64..0eda7016d3 100644
--- a/editor/editor_autoload_settings.h
+++ b/editor/editor_autoload_settings.h
@@ -112,4 +112,4 @@ public:
~EditorAutoloadSettings();
};
-#endif
+#endif // EDITOR_AUTOLOAD_SETTINGS_H
diff --git a/editor/editor_build_profile.cpp b/editor/editor_build_profile.cpp
new file mode 100644
index 0000000000..0f0ab4a339
--- /dev/null
+++ b/editor/editor_build_profile.cpp
@@ -0,0 +1,899 @@
+/*************************************************************************/
+/* editor_build_profile.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "editor_build_profile.h"
+
+#include "core/io/dir_access.h"
+#include "core/io/json.h"
+#include "editor/editor_file_dialog.h"
+#include "editor/editor_file_system.h"
+#include "editor/editor_node.h"
+#include "editor/editor_property_name_processor.h"
+#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+
+const char *EditorBuildProfile::build_option_identifiers[BUILD_OPTION_MAX] = {
+ // This maps to SCons build options.
+ "disable_3d",
+ "disable_2d_physics",
+ "disable_3d_physics",
+ "disable_navigation",
+ "openxr",
+ "rendering_device", // FIXME: there's no scons option to disable rendering device
+ "opengl3",
+ "vulkan",
+ "module_text_server_fb_enabled",
+ "module_text_server_adv_enabled",
+ "module_freetype_enabled",
+ "brotli",
+ "graphite",
+ "module_msdfgen_enabled"
+};
+
+const bool EditorBuildProfile::build_option_disabled_by_default[BUILD_OPTION_MAX] = {
+ // This maps to SCons build options.
+ false, // 3D
+ false, // PHYSICS_2D
+ false, // PHYSICS_3D
+ false, // NAVIGATION
+ false, // XR
+ false, // RENDERING_DEVICE
+ false, // OPENGL
+ false, // VULKAN
+ true, // TEXT_SERVER_FALLBACK
+ false, // TEXT_SERVER_COMPLEX
+ false, // DYNAMIC_FONTS
+ false, // WOFF2_FONTS
+ false, // GRPAHITE_FONTS
+ false, // MSDFGEN
+};
+
+const bool EditorBuildProfile::build_option_disable_values[BUILD_OPTION_MAX] = {
+ // This maps to SCons build options.
+ true, // 3D
+ true, // PHYSICS_2D
+ true, // PHYSICS_3D
+ true, // NAVIGATION
+ false, // XR
+ false, // RENDERING_DEVICE
+ false, // OPENGL
+ false, // VULKAN
+ false, // TEXT_SERVER_FALLBACK
+ false, // TEXT_SERVER_COMPLEX
+ false, // DYNAMIC_FONTS
+ false, // WOFF2_FONTS
+ false, // GRPAHITE_FONTS
+ false, // MSDFGEN
+};
+
+const EditorBuildProfile::BuildOptionCategory EditorBuildProfile::build_option_category[BUILD_OPTION_MAX] = {
+ BUILD_OPTION_CATEGORY_GENERAL, // 3D
+ BUILD_OPTION_CATEGORY_GENERAL, // PHYSICS_2D
+ BUILD_OPTION_CATEGORY_GENERAL, // PHYSICS_3D
+ BUILD_OPTION_CATEGORY_GENERAL, // NAVIGATION
+ BUILD_OPTION_CATEGORY_GENERAL, // XR
+ BUILD_OPTION_CATEGORY_GENERAL, // RENDERING_DEVICE
+ BUILD_OPTION_CATEGORY_GENERAL, // OPENGL
+ BUILD_OPTION_CATEGORY_GENERAL, // VULKAN
+ BUILD_OPTION_CATEGORY_TEXT_SERVER, // TEXT_SERVER_FALLBACK
+ BUILD_OPTION_CATEGORY_TEXT_SERVER, // TEXT_SERVER_COMPLEX
+ BUILD_OPTION_CATEGORY_TEXT_SERVER, // DYNAMIC_FONTS
+ BUILD_OPTION_CATEGORY_TEXT_SERVER, // WOFF2_FONTS
+ BUILD_OPTION_CATEGORY_TEXT_SERVER, // GRPAHITE_FONTS
+ BUILD_OPTION_CATEGORY_TEXT_SERVER, // MSDFGEN
+};
+
+void EditorBuildProfile::set_disable_class(const StringName &p_class, bool p_disabled) {
+ if (p_disabled) {
+ disabled_classes.insert(p_class);
+ } else {
+ disabled_classes.erase(p_class);
+ }
+}
+
+bool EditorBuildProfile::is_class_disabled(const StringName &p_class) const {
+ if (p_class == StringName()) {
+ return false;
+ }
+ return disabled_classes.has(p_class) || is_class_disabled(ClassDB::get_parent_class_nocheck(p_class));
+}
+
+void EditorBuildProfile::set_item_collapsed(const StringName &p_class, bool p_collapsed) {
+ if (p_collapsed) {
+ collapsed_classes.insert(p_class);
+ } else {
+ collapsed_classes.erase(p_class);
+ }
+}
+
+bool EditorBuildProfile::is_item_collapsed(const StringName &p_class) const {
+ return collapsed_classes.has(p_class);
+}
+
+void EditorBuildProfile::set_disable_build_option(BuildOption p_build_option, bool p_disable) {
+ ERR_FAIL_INDEX(p_build_option, BUILD_OPTION_MAX);
+ build_options_disabled[p_build_option] = p_disable;
+}
+
+void EditorBuildProfile::clear_disabled_classes() {
+ disabled_classes.clear();
+ collapsed_classes.clear();
+}
+
+bool EditorBuildProfile::is_build_option_disabled(BuildOption p_build_option) const {
+ ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, false);
+ return build_options_disabled[p_build_option];
+}
+
+bool EditorBuildProfile::get_build_option_disable_value(BuildOption p_build_option) {
+ ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, false);
+ return build_option_disable_values[p_build_option];
+}
+
+void EditorBuildProfile::set_force_detect_classes(const String &p_classes) {
+ force_detect_classes = p_classes;
+}
+
+String EditorBuildProfile::get_force_detect_classes() const {
+ return force_detect_classes;
+}
+
+String EditorBuildProfile::get_build_option_name(BuildOption p_build_option) {
+ ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, String());
+ const char *build_option_names[BUILD_OPTION_MAX] = {
+ TTRC("3D Engine"),
+ TTRC("2D Physics"),
+ TTRC("3D Physics"),
+ TTRC("Navigation"),
+ TTRC("XR"),
+ TTRC("RenderingDevice"),
+ TTRC("OpenGL"),
+ TTRC("Vulkan"),
+ TTRC("Text Server: Fallback"),
+ TTRC("Text Server: Advanced"),
+ TTRC("TTF, OTF, Type 1, WOFF1 Fonts"),
+ TTRC("WOFF2 Fonts"),
+ TTRC("SIL Graphite Fonts"),
+ TTRC("Multi-channel Signed Distance Field Font Rendering"),
+ };
+ return TTRGET(build_option_names[p_build_option]);
+}
+
+String EditorBuildProfile::get_build_option_description(BuildOption p_build_option) {
+ ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, String());
+
+ const char *build_option_descriptions[BUILD_OPTION_MAX] = {
+ TTRC("3D Nodes as well as RenderingServer access to 3D features."),
+ TTRC("2D Physics nodes and PhysicsServer2D."),
+ TTRC("3D Physics nodes and PhysicsServer3D."),
+ TTRC("Navigation, both 2D and 3D."),
+ TTRC("XR (AR and VR)."),
+ TTRC("RenderingDevice based rendering (if disabled, the OpenGL back-end is required)."),
+ TTRC("OpenGL back-end (if disabled, the RenderingDevice back-end is required)."),
+ TTRC("Vulkan back-end of RenderingDevice."),
+ TTRC("Fallback implementation of Text Server\nSupports basic text layouts."),
+ TTRC("Text Server implementation powered by ICU and HarfBuzz libraries.\nSupports complex text layouts, BiDi, and contextual OpenType font features."),
+ TTRC("TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType library (if disabled, WOFF2 support is also disabled)."),
+ TTRC("WOFF2 font format support using FreeType and Brotli libraries."),
+ TTRC("SIL Graphite smart font technology support (supported by Advanced Text Server only)."),
+ TTRC("Multi-channel signed distance field font rendering support using msdfgen library (pre-rendered MSDF fonts can be used even if this option disabled)."),
+ };
+
+ return TTRGET(build_option_descriptions[p_build_option]);
+}
+
+EditorBuildProfile::BuildOptionCategory EditorBuildProfile::get_build_option_category(BuildOption p_build_option) {
+ ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, BUILD_OPTION_CATEGORY_GENERAL);
+ return build_option_category[p_build_option];
+}
+
+String EditorBuildProfile::get_build_option_category_name(BuildOptionCategory p_build_option_category) {
+ ERR_FAIL_INDEX_V(p_build_option_category, BUILD_OPTION_CATEGORY_MAX, String());
+
+ const char *build_option_subcategories[BUILD_OPTION_CATEGORY_MAX]{
+ TTRC("General Features:"),
+ TTRC("Text Rendering and Font Options:"),
+ };
+
+ return TTRGET(build_option_subcategories[p_build_option_category]);
+}
+
+Error EditorBuildProfile::save_to_file(const String &p_path) {
+ Dictionary data;
+ data["type"] = "build_profile";
+ Array dis_classes;
+ for (const StringName &E : disabled_classes) {
+ dis_classes.push_back(String(E));
+ }
+ dis_classes.sort();
+ data["disabled_classes"] = dis_classes;
+
+ Dictionary dis_build_options;
+ for (int i = 0; i < BUILD_OPTION_MAX; i++) {
+ if (build_options_disabled[i] != build_option_disabled_by_default[i]) {
+ if (build_options_disabled[i]) {
+ dis_build_options[build_option_identifiers[i]] = build_option_disable_values[i];
+ } else {
+ dis_build_options[build_option_identifiers[i]] = !build_option_disable_values[i];
+ }
+ }
+ }
+
+ data["disabled_build_options"] = dis_build_options;
+
+ if (!force_detect_classes.is_empty()) {
+ data["force_detect_classes"] = force_detect_classes;
+ }
+
+ Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::WRITE);
+ ERR_FAIL_COND_V_MSG(f.is_null(), ERR_CANT_CREATE, "Cannot create file '" + p_path + "'.");
+
+ JSON json;
+ String text = json.stringify(data, "\t");
+ f->store_string(text);
+ return OK;
+}
+
+Error EditorBuildProfile::load_from_file(const String &p_path) {
+ Error err;
+ String text = FileAccess::get_file_as_string(p_path, &err);
+ if (err != OK) {
+ return err;
+ }
+
+ JSON json;
+ err = json.parse(text);
+ if (err != OK) {
+ ERR_PRINT("Error parsing '" + p_path + "' on line " + itos(json.get_error_line()) + ": " + json.get_error_message());
+ return ERR_PARSE_ERROR;
+ }
+
+ Dictionary data = json.get_data();
+
+ if (!data.has("type") || String(data["type"]) != "build_profile") {
+ ERR_PRINT("Error parsing '" + p_path + "', it's not a build profile.");
+ return ERR_PARSE_ERROR;
+ }
+
+ disabled_classes.clear();
+
+ if (data.has("disabled_classes")) {
+ Array disabled_classes_arr = data["disabled_classes"];
+ for (int i = 0; i < disabled_classes_arr.size(); i++) {
+ disabled_classes.insert(disabled_classes_arr[i]);
+ }
+ }
+
+ for (int i = 0; i < BUILD_OPTION_MAX; i++) {
+ build_options_disabled[i] = build_option_disabled_by_default[i];
+ }
+
+ if (data.has("disabled_build_options")) {
+ Dictionary disabled_build_options_arr = data["disabled_build_options"];
+ List<Variant> keys;
+ disabled_build_options_arr.get_key_list(&keys);
+
+ for (const Variant &K : keys) {
+ String key = K;
+
+ for (int i = 0; i < BUILD_OPTION_MAX; i++) {
+ String f = build_option_identifiers[i];
+ if (f == key) {
+ build_options_disabled[i] = true;
+ break;
+ }
+ }
+ }
+ }
+
+ if (data.has("force_detect_classes")) {
+ force_detect_classes = data["force_detect_classes"];
+ }
+
+ return OK;
+}
+
+void EditorBuildProfile::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("set_disable_class", "class_name", "disable"), &EditorBuildProfile::set_disable_class);
+ ClassDB::bind_method(D_METHOD("is_class_disabled", "class_name"), &EditorBuildProfile::is_class_disabled);
+
+ ClassDB::bind_method(D_METHOD("set_disable_build_option", "build_option", "disable"), &EditorBuildProfile::set_disable_build_option);
+ ClassDB::bind_method(D_METHOD("is_build_option_disabled", "build_option"), &EditorBuildProfile::is_build_option_disabled);
+
+ ClassDB::bind_method(D_METHOD("get_build_option_name", "build_option"), &EditorBuildProfile::_get_build_option_name);
+
+ ClassDB::bind_method(D_METHOD("save_to_file", "path"), &EditorBuildProfile::save_to_file);
+ ClassDB::bind_method(D_METHOD("load_from_file", "path"), &EditorBuildProfile::load_from_file);
+
+ BIND_ENUM_CONSTANT(BUILD_OPTION_3D);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_PHYSICS_2D);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_PHYSICS_3D);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_NAVIGATION);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_XR);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_RENDERING_DEVICE);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_OPENGL);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_VULKAN);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_TEXT_SERVER_FALLBACK);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_TEXT_SERVER_ADVANCED);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_DYNAMIC_FONTS);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_WOFF2_FONTS);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_GRPAHITE_FONTS);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_MSDFGEN);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_MAX);
+
+ BIND_ENUM_CONSTANT(BUILD_OPTION_CATEGORY_GENERAL);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_CATEGORY_TEXT_SERVER);
+ BIND_ENUM_CONSTANT(BUILD_OPTION_CATEGORY_MAX);
+}
+
+EditorBuildProfile::EditorBuildProfile() {
+ for (int i = 0; i < EditorBuildProfile::BUILD_OPTION_MAX; i++) {
+ build_options_disabled[i] = build_option_disabled_by_default[i];
+ }
+}
+
+//////////////////////////
+
+void EditorBuildProfileManager::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_READY: {
+ String last_file = EditorSettings::get_singleton()->get_project_metadata("build_profile", "last_file_path", "");
+ if (!last_file.is_empty()) {
+ _import_profile(last_file);
+ }
+ if (edited.is_null()) {
+ edited.instantiate();
+ _update_edited_profile();
+ }
+
+ } break;
+ }
+}
+
+void EditorBuildProfileManager::_profile_action(int p_action) {
+ last_action = Action(p_action);
+
+ switch (p_action) {
+ case ACTION_RESET: {
+ confirm_dialog->set_text("Reset the edited profile?");
+ confirm_dialog->popup_centered();
+ } break;
+ case ACTION_LOAD: {
+ import_profile->popup_file_dialog();
+ } break;
+ case ACTION_SAVE: {
+ if (!profile_path->get_text().is_empty()) {
+ Error err = edited->save_to_file(profile_path->get_text());
+ if (err != OK) {
+ EditorNode::get_singleton()->show_warning(TTR("File saving failed."));
+ }
+ break;
+ }
+ [[fallthrough]];
+ }
+ case ACTION_SAVE_AS: {
+ export_profile->popup_file_dialog();
+ export_profile->set_current_file(profile_path->get_text());
+ } break;
+ case ACTION_NEW: {
+ confirm_dialog->set_text("Create a new profile?");
+ confirm_dialog->popup_centered();
+ } break;
+ case ACTION_DETECT: {
+ confirm_dialog->set_text("This will scan all files in the current project to detect used classes.");
+ confirm_dialog->popup_centered();
+ } break;
+ case ACTION_MAX: {
+ } break;
+ }
+}
+
+void EditorBuildProfileManager::_find_files(EditorFileSystemDirectory *p_dir, const HashMap<String, DetectedFile> &p_cache, HashMap<String, DetectedFile> &r_detected) {
+ if (p_dir == nullptr) {
+ return;
+ }
+
+ for (int i = 0; i < p_dir->get_file_count(); i++) {
+ String p = p_dir->get_file_path(i);
+
+ uint64_t timestamp = 0;
+ String md5;
+
+ if (p_cache.has(p)) {
+ const DetectedFile &cache = p_cache[p];
+ // Check if timestamp and MD5 match.
+ timestamp = FileAccess::get_modified_time(p);
+ bool cache_valid = true;
+ if (cache.timestamp != timestamp) {
+ md5 = FileAccess::get_md5(p);
+ if (md5 != cache.md5) {
+ cache_valid = false;
+ }
+ }
+
+ if (cache_valid) {
+ r_detected.insert(p, cache);
+ continue;
+ }
+ }
+
+ // Not cached, or cache invalid.
+
+ DetectedFile cache;
+
+ HashSet<StringName> classes;
+ ResourceLoader::get_classes_used(p, &classes);
+
+ for (const StringName &E : classes) {
+ cache.classes.push_back(E);
+ }
+
+ if (md5.is_empty()) {
+ cache.timestamp = FileAccess::get_modified_time(p);
+ cache.md5 = FileAccess::get_md5(p);
+ } else {
+ cache.timestamp = timestamp;
+ cache.md5 = md5;
+ }
+
+ r_detected.insert(p, cache);
+ }
+
+ for (int i = 0; i < p_dir->get_subdir_count(); i++) {
+ _find_files(p_dir->get_subdir(i), p_cache, r_detected);
+ }
+}
+
+void EditorBuildProfileManager::_detect_classes() {
+ HashMap<String, DetectedFile> previous_file_cache;
+
+ Ref<FileAccess> f = FileAccess::open("res://.godot/editor/used_class_cache", FileAccess::READ);
+ if (f.is_valid()) {
+ while (!f->eof_reached()) {
+ String l = f->get_line();
+ Vector<String> fields = l.split("::");
+ if (fields.size() == 4) {
+ String path = fields[0];
+ DetectedFile df;
+ df.timestamp = fields[1].to_int();
+ df.md5 = fields[2];
+ df.classes = fields[3].split(",");
+ previous_file_cache.insert(path, df);
+ }
+ }
+ f.unref();
+ }
+
+ HashMap<String, DetectedFile> updated_file_cache;
+
+ _find_files(EditorFileSystem::get_singleton()->get_filesystem(), previous_file_cache, updated_file_cache);
+
+ HashSet<StringName> used_classes;
+
+ // Find classes and update the disk cache in the process.
+ f = FileAccess::open("res://.godot/editor/used_class_cache", FileAccess::WRITE);
+
+ for (const KeyValue<String, DetectedFile> &E : updated_file_cache) {
+ String l = E.key + "::" + itos(E.value.timestamp) + "::" + E.value.md5 + "::";
+ for (int i = 0; i < E.value.classes.size(); i++) {
+ String c = E.value.classes[i];
+ if (i > 0) {
+ l += ",";
+ }
+ l += c;
+ used_classes.insert(c);
+ }
+ f->store_line(l);
+ }
+
+ f.unref();
+
+ // Add forced ones.
+
+ Vector<String> force_detect = edited->get_force_detect_classes().split(",");
+ for (int i = 0; i < force_detect.size(); i++) {
+ String c = force_detect[i].strip_edges();
+ if (c.is_empty()) {
+ continue;
+ }
+ used_classes.insert(c);
+ }
+
+ // Filter all classes to discard inherited ones.
+
+ HashSet<StringName> all_used_classes;
+
+ for (const StringName &E : used_classes) {
+ StringName c = E;
+ if (!ClassDB::class_exists(c)) {
+ // Maybe this is an old class that got replaced? try getting compat class.
+ c = ClassDB::get_compatibility_class(c);
+ if (!c) {
+ // No luck, skip.
+ continue;
+ }
+ }
+ while (c) {
+ all_used_classes.insert(c);
+ c = ClassDB::get_parent_class(c);
+ }
+ }
+
+ edited->clear_disabled_classes();
+
+ List<StringName> all_classes;
+ ClassDB::get_class_list(&all_classes);
+
+ for (const StringName &E : all_classes) {
+ if (all_used_classes.has(E)) {
+ // This class is valid, do nothing.
+ continue;
+ }
+
+ StringName p = ClassDB::get_parent_class(E);
+ if (!p || all_used_classes.has(p)) {
+ // If no parent, or if the parent is enabled, then add to disabled classes.
+ // This way we avoid disabling redundant classes.
+ edited->set_disable_class(E, true);
+ }
+ }
+}
+
+void EditorBuildProfileManager::_action_confirm() {
+ switch (last_action) {
+ case ACTION_RESET: {
+ edited.instantiate();
+ _update_edited_profile();
+ } break;
+ case ACTION_LOAD: {
+ } break;
+ case ACTION_SAVE: {
+ } break;
+ case ACTION_SAVE_AS: {
+ } break;
+ case ACTION_NEW: {
+ profile_path->set_text("");
+ edited.instantiate();
+ _update_edited_profile();
+ } break;
+ case ACTION_DETECT: {
+ _detect_classes();
+ _update_edited_profile();
+ } break;
+ case ACTION_MAX: {
+ } break;
+ }
+}
+
+void EditorBuildProfileManager::_fill_classes_from(TreeItem *p_parent, const String &p_class, const String &p_selected) {
+ TreeItem *class_item = class_list->create_item(p_parent);
+ class_item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
+ class_item->set_icon(0, EditorNode::get_singleton()->get_class_icon(p_class, "Node"));
+ String text = p_class;
+
+ bool disabled = edited->is_class_disabled(p_class);
+ if (disabled) {
+ class_item->set_custom_color(0, class_list->get_theme_color(SNAME("disabled_font_color"), SNAME("Editor")));
+ }
+
+ class_item->set_text(0, text);
+ class_item->set_editable(0, true);
+ class_item->set_selectable(0, true);
+ class_item->set_metadata(0, p_class);
+
+ bool collapsed = edited->is_item_collapsed(p_class);
+ class_item->set_collapsed(collapsed);
+
+ if (p_class == p_selected) {
+ class_item->select(0);
+ }
+ if (disabled) {
+ // Class disabled, do nothing else (do not show further).
+ return;
+ }
+
+ class_item->set_checked(0, true); // If it's not disabled, its checked.
+
+ List<StringName> child_classes;
+ ClassDB::get_direct_inheriters_from_class(p_class, &child_classes);
+ child_classes.sort_custom<StringName::AlphCompare>();
+
+ for (const StringName &name : child_classes) {
+ if (String(name).begins_with("Editor") || ClassDB::get_api_type(name) != ClassDB::API_CORE) {
+ continue;
+ }
+ _fill_classes_from(class_item, name, p_selected);
+ }
+}
+
+void EditorBuildProfileManager::_class_list_item_selected() {
+ if (updating_build_options) {
+ return;
+ }
+
+ TreeItem *item = class_list->get_selected();
+ if (!item) {
+ return;
+ }
+
+ Variant md = item->get_metadata(0);
+ if (md.get_type() == Variant::STRING || md.get_type() == Variant::STRING_NAME) {
+ String class_name = md;
+ String class_description;
+
+ DocTools *dd = EditorHelp::get_doc_data();
+ HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(class_name);
+ if (E) {
+ class_description = DTR(E->value.brief_description);
+ }
+
+ description_bit->set_text(class_description);
+ } else if (md.get_type() == Variant::INT) {
+ int build_option_id = md;
+ String build_option_description = EditorBuildProfile::get_build_option_description(EditorBuildProfile::BuildOption(build_option_id));
+
+ description_bit->set_text(TTRGET(build_option_description));
+ return;
+ } else {
+ return;
+ }
+}
+
+void EditorBuildProfileManager::_class_list_item_edited() {
+ if (updating_build_options) {
+ return;
+ }
+
+ TreeItem *item = class_list->get_edited();
+ if (!item) {
+ return;
+ }
+
+ bool checked = item->is_checked(0);
+
+ Variant md = item->get_metadata(0);
+ if (md.get_type() == Variant::STRING || md.get_type() == Variant::STRING_NAME) {
+ String class_selected = md;
+ edited->set_disable_class(class_selected, !checked);
+ _update_edited_profile();
+ } else if (md.get_type() == Variant::INT) {
+ int build_option_selected = md;
+ edited->set_disable_build_option(EditorBuildProfile::BuildOption(build_option_selected), !checked);
+ }
+}
+
+void EditorBuildProfileManager::_class_list_item_collapsed(Object *p_item) {
+ if (updating_build_options) {
+ return;
+ }
+
+ TreeItem *item = Object::cast_to<TreeItem>(p_item);
+ if (!item) {
+ return;
+ }
+
+ Variant md = item->get_metadata(0);
+ if (md.get_type() != Variant::STRING && md.get_type() != Variant::STRING_NAME) {
+ return;
+ }
+
+ String class_name = md;
+ bool collapsed = item->is_collapsed();
+ edited->set_item_collapsed(class_name, collapsed);
+}
+
+void EditorBuildProfileManager::_update_edited_profile() {
+ String class_selected;
+ int build_option_selected = -1;
+
+ if (class_list->get_selected()) {
+ Variant md = class_list->get_selected()->get_metadata(0);
+ if (md.get_type() == Variant::STRING || md.get_type() == Variant::STRING_NAME) {
+ class_selected = md;
+ } else if (md.get_type() == Variant::INT) {
+ build_option_selected = md;
+ }
+ }
+
+ class_list->clear();
+
+ updating_build_options = true;
+
+ TreeItem *root = class_list->create_item();
+
+ HashMap<EditorBuildProfile::BuildOptionCategory, TreeItem *> subcats;
+ for (int i = 0; i < EditorBuildProfile::BUILD_OPTION_CATEGORY_MAX; i++) {
+ TreeItem *build_cat;
+ build_cat = class_list->create_item(root);
+
+ build_cat->set_text(0, EditorBuildProfile::get_build_option_category_name(EditorBuildProfile::BuildOptionCategory(i)));
+ subcats[EditorBuildProfile::BuildOptionCategory(i)] = build_cat;
+ }
+
+ for (int i = 0; i < EditorBuildProfile::BUILD_OPTION_MAX; i++) {
+ TreeItem *build_option;
+ build_option = class_list->create_item(subcats[EditorBuildProfile::get_build_option_category(EditorBuildProfile::BuildOption(i))]);
+
+ build_option->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
+ build_option->set_text(0, EditorBuildProfile::get_build_option_name(EditorBuildProfile::BuildOption(i)));
+ build_option->set_selectable(0, true);
+ build_option->set_editable(0, true);
+ build_option->set_metadata(0, i);
+ if (!edited->is_build_option_disabled(EditorBuildProfile::BuildOption(i))) {
+ build_option->set_checked(0, true);
+ }
+
+ if (i == build_option_selected) {
+ build_option->select(0);
+ }
+ }
+
+ TreeItem *classes = class_list->create_item(root);
+ classes->set_text(0, TTR("Nodes and Classes:"));
+
+ _fill_classes_from(classes, "Node", class_selected);
+ _fill_classes_from(classes, "Resource", class_selected);
+
+ force_detect_classes->set_text(edited->get_force_detect_classes());
+
+ updating_build_options = false;
+
+ _class_list_item_selected();
+}
+
+void EditorBuildProfileManager::_force_detect_classes_changed(const String &p_text) {
+ if (updating_build_options) {
+ return;
+ }
+ edited->set_force_detect_classes(force_detect_classes->get_text());
+}
+
+void EditorBuildProfileManager::_import_profile(const String &p_path) {
+ Ref<EditorBuildProfile> profile;
+ profile.instantiate();
+ Error err = profile->load_from_file(p_path);
+ String basefile = p_path.get_file();
+ if (err != OK) {
+ EditorNode::get_singleton()->show_warning(vformat(TTR("File '%s' format is invalid, import aborted."), basefile));
+ return;
+ }
+
+ profile_path->set_text(p_path);
+ EditorSettings::get_singleton()->set_project_metadata("build_profile", "last_file_path", p_path);
+
+ edited = profile;
+ _update_edited_profile();
+}
+
+void EditorBuildProfileManager::_export_profile(const String &p_path) {
+ ERR_FAIL_COND(edited.is_null());
+ Error err = edited->save_to_file(p_path);
+ if (err != OK) {
+ EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving profile to path: '%s'."), p_path));
+ } else {
+ profile_path->set_text(p_path);
+ EditorSettings::get_singleton()->set_project_metadata("build_profile", "last_file_path", p_path);
+ }
+}
+
+Ref<EditorBuildProfile> EditorBuildProfileManager::get_current_profile() {
+ return edited;
+}
+
+EditorBuildProfileManager *EditorBuildProfileManager::singleton = nullptr;
+
+void EditorBuildProfileManager::_bind_methods() {
+ ClassDB::bind_method("_update_selected_profile", &EditorBuildProfileManager::_update_edited_profile);
+}
+
+EditorBuildProfileManager::EditorBuildProfileManager() {
+ VBoxContainer *main_vbc = memnew(VBoxContainer);
+ add_child(main_vbc);
+
+ HBoxContainer *path_hbc = memnew(HBoxContainer);
+ profile_path = memnew(LineEdit);
+ path_hbc->add_child(profile_path);
+ profile_path->set_editable(true);
+ profile_path->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+
+ profile_actions[ACTION_NEW] = memnew(Button(TTR("New")));
+ path_hbc->add_child(profile_actions[ACTION_NEW]);
+ profile_actions[ACTION_NEW]->connect("pressed", callable_mp(this, &EditorBuildProfileManager::_profile_action).bind(ACTION_NEW));
+
+ profile_actions[ACTION_LOAD] = memnew(Button(TTR("Load")));
+ path_hbc->add_child(profile_actions[ACTION_LOAD]);
+ profile_actions[ACTION_LOAD]->connect("pressed", callable_mp(this, &EditorBuildProfileManager::_profile_action).bind(ACTION_LOAD));
+
+ profile_actions[ACTION_SAVE] = memnew(Button(TTR("Save")));
+ path_hbc->add_child(profile_actions[ACTION_SAVE]);
+ profile_actions[ACTION_SAVE]->connect("pressed", callable_mp(this, &EditorBuildProfileManager::_profile_action).bind(ACTION_SAVE));
+
+ profile_actions[ACTION_SAVE_AS] = memnew(Button(TTR("Save As")));
+ path_hbc->add_child(profile_actions[ACTION_SAVE_AS]);
+ profile_actions[ACTION_SAVE_AS]->connect("pressed", callable_mp(this, &EditorBuildProfileManager::_profile_action).bind(ACTION_SAVE_AS));
+
+ main_vbc->add_margin_child(TTR("Profile:"), path_hbc);
+
+ main_vbc->add_child(memnew(HSeparator));
+
+ HBoxContainer *profiles_hbc = memnew(HBoxContainer);
+
+ profile_actions[ACTION_RESET] = memnew(Button(TTR("Reset to Defaults")));
+ profiles_hbc->add_child(profile_actions[ACTION_RESET]);
+ profile_actions[ACTION_RESET]->connect("pressed", callable_mp(this, &EditorBuildProfileManager::_profile_action).bind(ACTION_RESET));
+
+ profile_actions[ACTION_DETECT] = memnew(Button(TTR("Detect from Project")));
+ profiles_hbc->add_child(profile_actions[ACTION_DETECT]);
+ profile_actions[ACTION_DETECT]->connect("pressed", callable_mp(this, &EditorBuildProfileManager::_profile_action).bind(ACTION_DETECT));
+
+ main_vbc->add_margin_child(TTR("Actions:"), profiles_hbc);
+
+ class_list = memnew(Tree);
+ class_list->set_hide_root(true);
+ class_list->set_edit_checkbox_cell_only_when_checkbox_is_pressed(true);
+ class_list->connect("cell_selected", callable_mp(this, &EditorBuildProfileManager::_class_list_item_selected));
+ class_list->connect("item_edited", callable_mp(this, &EditorBuildProfileManager::_class_list_item_edited), CONNECT_DEFERRED);
+ class_list->connect("item_collapsed", callable_mp(this, &EditorBuildProfileManager::_class_list_item_collapsed));
+ // It will be displayed once the user creates or chooses a profile.
+ main_vbc->add_margin_child(TTR("Configure Engine Build Profile:"), class_list, true);
+
+ description_bit = memnew(EditorHelpBit);
+ description_bit->set_custom_minimum_size(Size2(0, 80) * EDSCALE);
+ main_vbc->add_margin_child(TTR("Description:"), description_bit, false);
+
+ confirm_dialog = memnew(ConfirmationDialog);
+ add_child(confirm_dialog);
+ confirm_dialog->set_title(TTR("Please Confirm:"));
+ confirm_dialog->connect("confirmed", callable_mp(this, &EditorBuildProfileManager::_action_confirm));
+
+ import_profile = memnew(EditorFileDialog);
+ add_child(import_profile);
+ import_profile->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
+ import_profile->add_filter("*.build", TTR("Egine Build Profile"));
+ import_profile->connect("files_selected", callable_mp(this, &EditorBuildProfileManager::_import_profile));
+ import_profile->set_title(TTR("Load Profile"));
+ import_profile->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
+
+ export_profile = memnew(EditorFileDialog);
+ add_child(export_profile);
+ export_profile->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
+ export_profile->add_filter("*.build", TTR("Egine Build Profile"));
+ export_profile->connect("file_selected", callable_mp(this, &EditorBuildProfileManager::_export_profile));
+ export_profile->set_title(TTR("Export Profile"));
+ export_profile->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
+
+ force_detect_classes = memnew(LineEdit);
+ main_vbc->add_margin_child(TTR("Forced classes on detect:"), force_detect_classes);
+ force_detect_classes->connect("text_changed", callable_mp(this, &EditorBuildProfileManager::_force_detect_classes_changed));
+
+ set_title(TTR("Edit Build Configuration Profile"));
+
+ singleton = this;
+}
diff --git a/editor/editor_build_profile.h b/editor/editor_build_profile.h
new file mode 100644
index 0000000000..606c415429
--- /dev/null
+++ b/editor/editor_build_profile.h
@@ -0,0 +1,191 @@
+/*************************************************************************/
+/* editor_build_profile.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_BUILD_PROFILE_H
+#define EDITOR_BUILD_PROFILE_H
+
+#include "core/io/file_access.h"
+#include "core/object/ref_counted.h"
+#include "editor/editor_help.h"
+#include "scene/gui/dialogs.h"
+#include "scene/gui/option_button.h"
+#include "scene/gui/separator.h"
+#include "scene/gui/split_container.h"
+#include "scene/gui/tree.h"
+
+class EditorBuildProfile : public RefCounted {
+ GDCLASS(EditorBuildProfile, RefCounted);
+
+public:
+ enum BuildOption {
+ BUILD_OPTION_3D,
+ BUILD_OPTION_PHYSICS_2D,
+ BUILD_OPTION_PHYSICS_3D,
+ BUILD_OPTION_NAVIGATION,
+ BUILD_OPTION_XR,
+ BUILD_OPTION_RENDERING_DEVICE,
+ BUILD_OPTION_OPENGL,
+ BUILD_OPTION_VULKAN,
+ BUILD_OPTION_TEXT_SERVER_FALLBACK,
+ BUILD_OPTION_TEXT_SERVER_ADVANCED,
+ BUILD_OPTION_DYNAMIC_FONTS,
+ BUILD_OPTION_WOFF2_FONTS,
+ BUILD_OPTION_GRPAHITE_FONTS,
+ BUILD_OPTION_MSDFGEN,
+ BUILD_OPTION_MAX,
+ };
+
+ enum BuildOptionCategory {
+ BUILD_OPTION_CATEGORY_GENERAL,
+ BUILD_OPTION_CATEGORY_TEXT_SERVER,
+ BUILD_OPTION_CATEGORY_MAX,
+ };
+
+private:
+ HashSet<StringName> disabled_classes;
+
+ HashSet<StringName> collapsed_classes;
+
+ String force_detect_classes;
+
+ bool build_options_disabled[BUILD_OPTION_MAX] = {};
+ static const char *build_option_identifiers[BUILD_OPTION_MAX];
+ static const bool build_option_disabled_by_default[BUILD_OPTION_MAX];
+ static const bool build_option_disable_values[BUILD_OPTION_MAX];
+ static const BuildOptionCategory build_option_category[BUILD_OPTION_MAX];
+
+ String _get_build_option_name(BuildOption p_build_option) { return get_build_option_name(p_build_option); }
+
+protected:
+ static void _bind_methods();
+
+public:
+ void set_disable_class(const StringName &p_class, bool p_disabled);
+ bool is_class_disabled(const StringName &p_class) const;
+
+ void set_item_collapsed(const StringName &p_class, bool p_collapsed);
+ bool is_item_collapsed(const StringName &p_class) const;
+
+ void set_disable_build_option(BuildOption p_build_option, bool p_disable);
+ bool is_build_option_disabled(BuildOption p_build_option) const;
+
+ void set_force_detect_classes(const String &p_classes);
+ String get_force_detect_classes() const;
+
+ void clear_disabled_classes();
+
+ Error save_to_file(const String &p_path);
+ Error load_from_file(const String &p_path);
+
+ static String get_build_option_name(BuildOption p_build_option);
+ static String get_build_option_description(BuildOption p_build_option);
+ static bool get_build_option_disable_value(BuildOption p_build_option);
+ static BuildOptionCategory get_build_option_category(BuildOption p_build_option);
+
+ static String get_build_option_category_name(BuildOptionCategory p_build_option_category);
+
+ EditorBuildProfile();
+};
+
+VARIANT_ENUM_CAST(EditorBuildProfile::BuildOption)
+VARIANT_ENUM_CAST(EditorBuildProfile::BuildOptionCategory)
+
+class EditorFileSystemDirectory;
+
+class EditorBuildProfileManager : public AcceptDialog {
+ GDCLASS(EditorBuildProfileManager, AcceptDialog);
+
+ enum Action {
+ ACTION_NEW,
+ ACTION_RESET,
+ ACTION_LOAD,
+ ACTION_SAVE,
+ ACTION_SAVE_AS,
+ ACTION_DETECT,
+ ACTION_MAX
+ };
+
+ Action last_action = ACTION_NEW;
+
+ ConfirmationDialog *confirm_dialog = nullptr;
+ Button *profile_actions[ACTION_MAX];
+
+ Tree *class_list = nullptr;
+ EditorHelpBit *description_bit = nullptr;
+
+ EditorFileDialog *import_profile = nullptr;
+ EditorFileDialog *export_profile = nullptr;
+
+ LineEdit *profile_path = nullptr;
+
+ LineEdit *force_detect_classes = nullptr;
+
+ void _profile_action(int p_action);
+ void _action_confirm();
+
+ void _update_edited_profile();
+ void _fill_classes_from(TreeItem *p_parent, const String &p_class, const String &p_selected);
+
+ Ref<EditorBuildProfile> edited;
+
+ void _import_profile(const String &p_path);
+ void _export_profile(const String &p_path);
+
+ bool updating_build_options = false;
+
+ void _class_list_item_selected();
+ void _class_list_item_edited();
+ void _class_list_item_collapsed(Object *p_item);
+ void _detect_classes();
+
+ void _force_detect_classes_changed(const String &p_text);
+
+ struct DetectedFile {
+ uint32_t timestamp = 0;
+ String md5;
+ Vector<String> classes;
+ };
+
+ void _find_files(EditorFileSystemDirectory *p_dir, const HashMap<String, DetectedFile> &p_cache, HashMap<String, DetectedFile> &r_detected);
+
+ static EditorBuildProfileManager *singleton;
+
+protected:
+ static void _bind_methods();
+ void _notification(int p_what);
+
+public:
+ Ref<EditorBuildProfile> get_current_profile();
+
+ static EditorBuildProfileManager *get_singleton() { return singleton; }
+ EditorBuildProfileManager();
+};
+
+#endif // EDITOR_BUILD_PROFILE_H
diff --git a/editor/editor_command_palette.cpp b/editor/editor_command_palette.cpp
index e3cbd8ad50..ba1f2fd6af 100644
--- a/editor/editor_command_palette.cpp
+++ b/editor/editor_command_palette.cpp
@@ -32,6 +32,7 @@
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
#include "scene/gui/control.h"
#include "scene/gui/tree.h"
@@ -199,7 +200,7 @@ void EditorCommandPalette::add_command(String p_command_name, String p_key_name,
}
Command command;
command.name = p_command_name;
- command.callable = p_action.bind(argptrs, arguments.size());
+ command.callable = p_action.bindp(argptrs, arguments.size());
command.shortcut = p_shortcut_text;
commands[p_key_name] = command;
@@ -225,7 +226,7 @@ void EditorCommandPalette::_add_command(String p_command_name, String p_key_name
void EditorCommandPalette::execute_command(String &p_command_key) {
ERR_FAIL_COND_MSG(!commands.has(p_command_key), p_command_key + " not found.");
commands[p_command_key].last_used = OS::get_singleton()->get_unix_time();
- commands[p_command_key].callable.call_deferred(nullptr, 0);
+ commands[p_command_key].callable.call_deferredp(nullptr, 0);
_save_history();
}
@@ -299,7 +300,7 @@ EditorCommandPalette::EditorCommandPalette() {
add_child(vbc);
command_search_box = memnew(LineEdit);
- command_search_box->set_placeholder(TTR("Filter commands"));
+ command_search_box->set_placeholder(TTR("Filter Commands"));
command_search_box->connect("gui_input", callable_mp(this, &EditorCommandPalette::_sbox_input));
command_search_box->connect("text_changed", callable_mp(this, &EditorCommandPalette::_update_command_search));
command_search_box->set_v_size_flags(Control::SIZE_EXPAND_FILL);
@@ -311,8 +312,8 @@ EditorCommandPalette::EditorCommandPalette() {
search_options = memnew(Tree);
search_options->connect("item_activated", callable_mp(this, &EditorCommandPalette::_confirmed));
- search_options->connect("item_selected", callable_mp((BaseButton *)get_ok_button(), &BaseButton::set_disabled), varray(false));
- search_options->connect("nothing_selected", callable_mp((BaseButton *)get_ok_button(), &BaseButton::set_disabled), varray(true));
+ search_options->connect("item_selected", callable_mp((BaseButton *)get_ok_button(), &BaseButton::set_disabled).bind(false));
+ search_options->connect("nothing_selected", callable_mp((BaseButton *)get_ok_button(), &BaseButton::set_disabled).bind(true));
search_options->create_item();
search_options->set_hide_root(true);
search_options->set_columns(2);
diff --git a/editor/editor_command_palette.h b/editor/editor_command_palette.h
index 124703cca4..b3e84771d0 100644
--- a/editor/editor_command_palette.h
+++ b/editor/editor_command_palette.h
@@ -101,4 +101,4 @@ public:
Ref<Shortcut> ED_SHORTCUT_AND_COMMAND(const String &p_path, const String &p_name, Key p_keycode = Key::NONE, String p_command = "");
-#endif //EDITOR_COMMAND_PALETTE_H
+#endif // EDITOR_COMMAND_PALETTE_H
diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp
index 64c234a07c..231ae198d2 100644
--- a/editor/editor_data.cpp
+++ b/editor/editor_data.cpp
@@ -35,6 +35,7 @@
#include "core/io/resource_loader.h"
#include "editor/editor_node.h"
#include "editor/editor_plugin.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/script_editor_plugin.h"
#include "scene/resources/packed_scene.h"
@@ -364,13 +365,13 @@ void EditorData::restore_editor_global_states() {
void EditorData::paste_object_params(Object *p_object) {
ERR_FAIL_NULL(p_object);
- undo_redo.create_action(TTR("Paste Params"));
+ undo_redo_manager->create_action(TTR("Paste Params"));
for (const PropertyData &E : clipboard) {
String name = E.name;
- undo_redo.add_do_property(p_object, name, E.value);
- undo_redo.add_undo_property(p_object, name, p_object->get(name));
+ undo_redo_manager->add_do_property(p_object, name, E.value);
+ undo_redo_manager->add_undo_property(p_object, name, p_object->get(name));
}
- undo_redo.commit_action();
+ undo_redo_manager->commit_action();
}
bool EditorData::call_build() {
@@ -383,8 +384,49 @@ bool EditorData::call_build() {
return result;
}
-UndoRedo &EditorData::get_undo_redo() {
- return undo_redo;
+void EditorData::set_scene_as_saved(int p_idx) {
+ if (p_idx == -1) {
+ p_idx = current_edited_scene;
+ }
+ ERR_FAIL_INDEX(p_idx, edited_scene.size());
+
+ get_undo_redo()->set_history_as_saved(edited_scene[p_idx].history_id);
+}
+
+bool EditorData::is_scene_changed(int p_idx) {
+ if (p_idx == -1) {
+ p_idx = current_edited_scene;
+ }
+ ERR_FAIL_INDEX_V(p_idx, edited_scene.size(), false);
+
+ uint64_t current_scene_version = get_undo_redo()->get_or_create_history(edited_scene[p_idx].history_id).undo_redo->get_version();
+ bool is_changed = edited_scene[p_idx].last_checked_version != current_scene_version;
+ edited_scene.write[p_idx].last_checked_version = current_scene_version;
+ return is_changed;
+}
+
+int EditorData::get_scene_history_id_from_path(const String &p_path) const {
+ for (const EditedScene &E : edited_scene) {
+ if (E.path == p_path) {
+ return E.history_id;
+ }
+ }
+ return 0;
+}
+
+int EditorData::get_current_edited_scene_history_id() const {
+ if (current_edited_scene != -1) {
+ return edited_scene[current_edited_scene].history_id;
+ }
+ return 0;
+}
+
+int EditorData::get_scene_history_id(int p_idx) const {
+ return edited_scene[p_idx].history_id;
+}
+
+Ref<EditorUndoRedoManager> &EditorData::get_undo_redo() {
+ return undo_redo_manager;
}
void EditorData::add_undo_redo_inspector_hook_callback(Callable p_callable) {
@@ -415,12 +457,12 @@ Callable EditorData::get_move_array_element_function(const StringName &p_class)
}
void EditorData::remove_editor_plugin(EditorPlugin *p_plugin) {
- p_plugin->undo_redo = nullptr;
+ p_plugin->undo_redo = Ref<EditorUndoRedoManager>();
editor_plugins.erase(p_plugin);
}
void EditorData::add_editor_plugin(EditorPlugin *p_plugin) {
- p_plugin->undo_redo = &undo_redo;
+ p_plugin->undo_redo = undo_redo_manager;
editor_plugins.push_back(p_plugin);
}
@@ -505,8 +547,8 @@ int EditorData::add_edited_scene(int p_at_pos) {
es.path = String();
es.file_modified_time = 0;
es.history_current = -1;
- es.version = 0;
es.live_edit_root = NodePath(String("/root"));
+ es.history_id = last_created_scene++;
if (p_at_pos == edited_scene.size()) {
edited_scene.push_back(es);
@@ -534,6 +576,7 @@ void EditorData::remove_scene(int p_idx) {
}
memdelete(edited_scene[p_idx].root);
+ edited_scene.write[p_idx].root = nullptr;
}
if (current_edited_scene > p_idx) {
@@ -546,6 +589,7 @@ void EditorData::remove_scene(int p_idx) {
ScriptEditor::get_singleton()->close_builtin_scripts_from_scene(edited_scene[p_idx].path);
}
+ undo_redo_manager->discard_history(edited_scene[p_idx].history_id);
edited_scene.remove_at(p_idx);
}
@@ -678,26 +722,10 @@ Vector<EditorData::EditedScene> EditorData::get_edited_scenes() const {
return out_edited_scenes_list;
}
-void EditorData::set_edited_scene_version(uint64_t version, int p_scene_idx) {
- ERR_FAIL_INDEX(current_edited_scene, edited_scene.size());
- if (p_scene_idx < 0) {
- edited_scene.write[current_edited_scene].version = version;
- } else {
- ERR_FAIL_INDEX(p_scene_idx, edited_scene.size());
- edited_scene.write[p_scene_idx].version = version;
- }
-}
-
-uint64_t EditorData::get_scene_version(int p_idx) const {
- ERR_FAIL_INDEX_V(p_idx, edited_scene.size(), 0);
- return edited_scene[p_idx].version;
-}
-
void EditorData::set_scene_modified_time(int p_idx, uint64_t p_time) {
if (p_idx == -1) {
p_idx = current_edited_scene;
}
-
ERR_FAIL_INDEX(p_idx, edited_scene.size());
edited_scene.write[p_idx].file_modified_time = p_time;
@@ -990,6 +1018,7 @@ void EditorData::script_class_load_icon_paths() {
EditorData::EditorData() {
current_edited_scene = -1;
+ undo_redo_manager.instantiate();
script_class_load_icon_paths();
}
@@ -1027,7 +1056,7 @@ void EditorSelection::add_node(Node *p_node) {
}
selection[p_node] = meta;
- p_node->connect("tree_exiting", callable_mp(this, &EditorSelection::_node_removed), varray(p_node), CONNECT_ONESHOT);
+ p_node->connect("tree_exiting", callable_mp(this, &EditorSelection::_node_removed).bind(p_node), CONNECT_ONESHOT);
}
void EditorSelection::remove_node(Node *p_node) {
@@ -1114,8 +1143,8 @@ void EditorSelection::_emit_change() {
emitted = false;
}
-Array EditorSelection::_get_transformable_selected_nodes() {
- Array ret;
+TypedArray<Node> EditorSelection::_get_transformable_selected_nodes() {
+ TypedArray<Node> ret;
for (const Node *E : selected_node_list) {
ret.push_back(E);
diff --git a/editor/editor_data.h b/editor/editor_data.h
index 351c63f4b9..1da188c546 100644
--- a/editor/editor_data.h
+++ b/editor/editor_data.h
@@ -31,12 +31,12 @@
#ifndef EDITOR_DATA_H
#define EDITOR_DATA_H
-#include "core/object/undo_redo.h"
#include "core/templates/list.h"
#include "scene/resources/texture.h"
class ConfigFile;
class EditorPlugin;
+class EditorUndoRedoManager;
/**
* Stores the history of objects which have been selected for editing in the Editor & the Inspector.
@@ -118,8 +118,9 @@ public:
Vector<EditorSelectionHistory::HistoryElement> history_stored;
int history_current = 0;
Dictionary custom_state;
- uint64_t version = 0;
NodePath live_edit_root;
+ int history_id = 0;
+ uint64_t last_checked_version = 0;
};
private:
@@ -132,12 +133,13 @@ private:
HashMap<String, Vector<CustomType>> custom_types;
List<PropertyData> clipboard;
- UndoRedo undo_redo;
+ Ref<EditorUndoRedoManager> undo_redo_manager;
Vector<Callable> undo_redo_callbacks;
HashMap<StringName, Callable> move_element_functions;
Vector<EditedScene> edited_scene;
- int current_edited_scene;
+ int current_edited_scene = -1;
+ int last_created_scene = 1;
bool _find_updated_instances(Node *p_root, Node *p_node, HashSet<String> &checked_paths);
@@ -166,7 +168,7 @@ public:
int get_editor_plugin_count() const;
EditorPlugin *get_editor_plugin(int p_idx);
- UndoRedo &get_undo_redo();
+ Ref<EditorUndoRedoManager> &get_undo_redo();
void add_undo_redo_inspector_hook_callback(Callable p_callable); // Callbacks should have this signature: void (Object* undo_redo, Object *modified_object, String property, Variant new_value)
void remove_undo_redo_inspector_hook_callback(Callable p_callable);
const Vector<Callable> get_undo_redo_inspector_hook_callback();
@@ -200,7 +202,6 @@ public:
void set_scene_path(int p_idx, const String &p_path);
Ref<Script> get_scene_root_script(int p_idx) const;
void set_edited_scene_version(uint64_t version, int p_scene_idx = -1);
- uint64_t get_scene_version(int p_idx) const;
void set_scene_modified_time(int p_idx, uint64_t p_time);
uint64_t get_scene_modified_time(int p_idx) const;
void clear_edited_scenes();
@@ -210,6 +211,13 @@ public:
void move_edited_scene_to_index(int p_idx);
bool call_build();
+ void set_scene_as_saved(int p_idx);
+ bool is_scene_changed(int p_idx);
+
+ int get_scene_history_id_from_path(const String &p_path) const;
+ int get_current_edited_scene_history_id() const;
+ int get_scene_history_id(int p_idx) const;
+
void set_plugin_window_layout(Ref<ConfigFile> p_layout);
void get_plugin_window_layout(Ref<ConfigFile> p_layout);
@@ -263,7 +271,7 @@ class EditorSelection : public Object {
List<Node *> selected_node_list;
void _update_node_list();
- Array _get_transformable_selected_nodes();
+ TypedArray<Node> _get_transformable_selected_nodes();
void _emit_change();
protected:
diff --git a/editor/editor_dir_dialog.cpp b/editor/editor_dir_dialog.cpp
index 8494991892..4071722185 100644
--- a/editor/editor_dir_dialog.cpp
+++ b/editor/editor_dir_dialog.cpp
@@ -81,15 +81,15 @@ void EditorDirDialog::reload(const String &p_path) {
void EditorDirDialog::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
- EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &EditorDirDialog::reload), make_binds(""));
+ EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &EditorDirDialog::reload).bind(""));
reload();
if (!tree->is_connected("item_collapsed", callable_mp(this, &EditorDirDialog::_item_collapsed))) {
- tree->connect("item_collapsed", callable_mp(this, &EditorDirDialog::_item_collapsed), varray(), CONNECT_DEFERRED);
+ tree->connect("item_collapsed", callable_mp(this, &EditorDirDialog::_item_collapsed), CONNECT_DEFERRED);
}
if (!EditorFileSystem::get_singleton()->is_connected("filesystem_changed", callable_mp(this, &EditorDirDialog::reload))) {
- EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &EditorDirDialog::reload), make_binds(""));
+ EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &EditorDirDialog::reload).bind(""));
}
} break;
@@ -211,5 +211,5 @@ EditorDirDialog::EditorDirDialog() {
mkdirerr->set_text(TTR("Could not create folder."));
add_child(mkdirerr);
- get_ok_button()->set_text(TTR("Choose"));
+ set_ok_button_text(TTR("Choose"));
}
diff --git a/editor/editor_export.h b/editor/editor_export.h
deleted file mode 100644
index daf6d8ef23..0000000000
--- a/editor/editor_export.h
+++ /dev/null
@@ -1,475 +0,0 @@
-/*************************************************************************/
-/* editor_export.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#ifndef EDITOR_EXPORT_H
-#define EDITOR_EXPORT_H
-
-#include "core/io/dir_access.h"
-#include "core/io/resource.h"
-#include "scene/main/node.h"
-#include "scene/main/timer.h"
-#include "scene/resources/texture.h"
-
-class FileAccess;
-class EditorExportPlatform;
-class EditorFileSystemDirectory;
-struct EditorProgress;
-
-class EditorExportPreset : public RefCounted {
- GDCLASS(EditorExportPreset, RefCounted);
-
-public:
- enum ExportFilter {
- EXPORT_ALL_RESOURCES,
- EXPORT_SELECTED_SCENES,
- EXPORT_SELECTED_RESOURCES,
- EXCLUDE_SELECTED_RESOURCES,
- };
-
- enum ScriptExportMode {
- MODE_SCRIPT_TEXT,
- MODE_SCRIPT_COMPILED,
- };
-
-private:
- Ref<EditorExportPlatform> platform;
- ExportFilter export_filter = EXPORT_ALL_RESOURCES;
- String include_filter;
- String exclude_filter;
- String export_path;
-
- String exporter;
- HashSet<String> selected_files;
- bool runnable = false;
-
- friend class EditorExport;
- friend class EditorExportPlatform;
-
- List<PropertyInfo> properties;
- HashMap<StringName, Variant> values;
-
- String name;
-
- String custom_features;
-
- String enc_in_filters;
- String enc_ex_filters;
- bool enc_pck = false;
- bool enc_directory = false;
-
- int script_mode = MODE_SCRIPT_COMPILED;
- String script_key;
-
-protected:
- bool _set(const StringName &p_name, const Variant &p_value);
- bool _get(const StringName &p_name, Variant &r_ret) const;
- void _get_property_list(List<PropertyInfo> *p_list) const;
-
-public:
- Ref<EditorExportPlatform> get_platform() const;
-
- bool has(const StringName &p_property) const { return values.has(p_property); }
-
- void update_files_to_export();
-
- Vector<String> get_files_to_export() const;
-
- void add_export_file(const String &p_path);
- void remove_export_file(const String &p_path);
- bool has_export_file(const String &p_path);
-
- void set_name(const String &p_name);
- String get_name() const;
-
- void set_runnable(bool p_enable);
- bool is_runnable() const;
-
- void set_export_filter(ExportFilter p_filter);
- ExportFilter get_export_filter() const;
-
- void set_include_filter(const String &p_include);
- String get_include_filter() const;
-
- void set_exclude_filter(const String &p_exclude);
- String get_exclude_filter() const;
-
- void set_custom_features(const String &p_custom_features);
- String get_custom_features() const;
-
- void set_export_path(const String &p_path);
- String get_export_path() const;
-
- void set_enc_in_filter(const String &p_filter);
- String get_enc_in_filter() const;
-
- void set_enc_ex_filter(const String &p_filter);
- String get_enc_ex_filter() const;
-
- void set_enc_pck(bool p_enabled);
- bool get_enc_pck() const;
-
- void set_enc_directory(bool p_enabled);
- bool get_enc_directory() const;
-
- void set_script_export_mode(int p_mode);
- int get_script_export_mode() const;
-
- void set_script_encryption_key(const String &p_key);
- String get_script_encryption_key() const;
-
- const List<PropertyInfo> &get_properties() const { return properties; }
-
- EditorExportPreset() {}
-};
-
-struct SharedObject {
- String path;
- Vector<String> tags;
- String target;
-
- SharedObject(const String &p_path, const Vector<String> &p_tags, const String &p_target) :
- path(p_path),
- tags(p_tags),
- target(p_target) {
- }
-
- SharedObject() {}
-};
-
-class EditorExportPlatform : public RefCounted {
- GDCLASS(EditorExportPlatform, RefCounted);
-
-public:
- typedef Error (*EditorExportSaveFunction)(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
- typedef Error (*EditorExportSaveSharedObject)(void *p_userdata, const SharedObject &p_so);
-
-private:
- struct SavedData {
- uint64_t ofs = 0;
- uint64_t size = 0;
- bool encrypted = false;
- Vector<uint8_t> md5;
- CharString path_utf8;
-
- bool operator<(const SavedData &p_data) const {
- return path_utf8 < p_data.path_utf8;
- }
- };
-
- struct PackData {
- Ref<FileAccess> f;
- Vector<SavedData> file_ofs;
- EditorProgress *ep = nullptr;
- Vector<SharedObject> *so_files = nullptr;
- };
-
- struct ZipData {
- void *zip = nullptr;
- EditorProgress *ep = nullptr;
- };
-
- struct FeatureContainers {
- HashSet<String> features;
- Vector<String> features_pv;
- };
-
- void _export_find_resources(EditorFileSystemDirectory *p_dir, HashSet<String> &p_paths);
- void _export_find_dependencies(const String &p_path, HashSet<String> &p_paths);
-
- void gen_debug_flags(Vector<String> &r_flags, int p_flags);
- static Error _save_pack_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
- static Error _save_zip_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
-
- void _edit_files_with_filter(Ref<DirAccess> &da, const Vector<String> &p_filters, HashSet<String> &r_list, bool exclude);
- void _edit_filter_list(HashSet<String> &r_list, const String &p_filter, bool exclude);
-
- static Error _add_shared_object(void *p_userdata, const SharedObject &p_so);
-
-protected:
- struct ExportNotifier {
- ExportNotifier(EditorExportPlatform &p_platform, const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags);
- ~ExportNotifier();
- };
-
- FeatureContainers get_feature_containers(const Ref<EditorExportPreset> &p_preset, bool p_debug);
-
- bool exists_export_template(String template_file_name, String *err) const;
- String find_export_template(String template_file_name, String *err = nullptr) const;
- void gen_export_flags(Vector<String> &r_flags, int p_flags);
-
-public:
- virtual void get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) = 0;
-
- struct ExportOption {
- PropertyInfo option;
- Variant default_value;
-
- ExportOption(const PropertyInfo &p_info, const Variant &p_default) :
- option(p_info),
- default_value(p_default) {
- }
- ExportOption() {}
- };
-
- virtual Ref<EditorExportPreset> create_preset();
-
- virtual void get_export_options(List<ExportOption> *r_options) = 0;
- virtual bool should_update_export_options() { return false; }
- virtual bool get_export_option_visibility(const String &p_option, const HashMap<StringName, Variant> &p_options) const { return true; }
-
- virtual String get_os_name() const = 0;
- virtual String get_name() const = 0;
- virtual Ref<Texture2D> get_logo() const = 0;
-
- Error export_project_files(const Ref<EditorExportPreset> &p_preset, bool p_debug, EditorExportSaveFunction p_func, void *p_udata, EditorExportSaveSharedObject p_so_func = nullptr);
-
- Error save_pack(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, Vector<SharedObject> *p_so_files = nullptr, bool p_embed = false, int64_t *r_embedded_start = nullptr, int64_t *r_embedded_size = nullptr);
- Error save_zip(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path);
-
- virtual bool poll_export() { return false; }
- virtual int get_options_count() const { return 0; }
- virtual String get_options_tooltip() const { return ""; }
- virtual Ref<ImageTexture> get_option_icon(int p_index) const;
- virtual String get_option_label(int p_device) const { return ""; }
- virtual String get_option_tooltip(int p_device) const { return ""; }
-
- enum DebugFlags {
- DEBUG_FLAG_DUMB_CLIENT = 1,
- DEBUG_FLAG_REMOTE_DEBUG = 2,
- DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST = 4,
- DEBUG_FLAG_VIEW_COLLISONS = 8,
- DEBUG_FLAG_VIEW_NAVIGATION = 16,
- };
-
- virtual Error run(const Ref<EditorExportPreset> &p_preset, int p_device, int p_debug_flags) { return OK; }
- virtual Ref<Texture2D> get_run_icon() const { return get_logo(); }
-
- String test_etc2() const;
- virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const = 0;
-
- virtual List<String> get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const = 0;
- virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) = 0;
- virtual Error export_pack(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
- virtual Error export_zip(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
- virtual void get_platform_features(List<String> *r_features) = 0;
- virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) = 0;
- virtual String get_debug_protocol() const { return "tcp://"; }
-
- EditorExportPlatform();
-};
-
-class EditorExportPlugin : public RefCounted {
- GDCLASS(EditorExportPlugin, RefCounted);
-
- friend class EditorExportPlatform;
-
- Ref<EditorExportPreset> export_preset;
-
- Vector<SharedObject> shared_objects;
- struct ExtraFile {
- String path;
- Vector<uint8_t> data;
- bool remap = false;
- };
- Vector<ExtraFile> extra_files;
- bool skipped = false;
-
- Vector<String> ios_frameworks;
- Vector<String> ios_embedded_frameworks;
- Vector<String> ios_project_static_libs;
- String ios_plist_content;
- String ios_linker_flags;
- Vector<String> ios_bundle_files;
- String ios_cpp_code;
-
- Vector<String> osx_plugin_files;
-
- _FORCE_INLINE_ void _clear() {
- shared_objects.clear();
- extra_files.clear();
- skipped = false;
- }
-
- _FORCE_INLINE_ void _export_end() {
- ios_frameworks.clear();
- ios_embedded_frameworks.clear();
- ios_bundle_files.clear();
- ios_plist_content = "";
- ios_linker_flags = "";
- ios_cpp_code = "";
- osx_plugin_files.clear();
- }
-
- void _export_file_script(const String &p_path, const String &p_type, const Vector<String> &p_features);
- void _export_begin_script(const Vector<String> &p_features, bool p_debug, const String &p_path, int p_flags);
- void _export_end_script();
-
-protected:
- void set_export_preset(const Ref<EditorExportPreset> &p_preset);
- Ref<EditorExportPreset> get_export_preset() const;
-
- void add_file(const String &p_path, const Vector<uint8_t> &p_file, bool p_remap);
- void add_shared_object(const String &p_path, const Vector<String> &tags, const String &p_target = String());
-
- void add_ios_framework(const String &p_path);
- void add_ios_embedded_framework(const String &p_path);
- void add_ios_project_static_lib(const String &p_path);
- void add_ios_plist_content(const String &p_plist_content);
- void add_ios_linker_flags(const String &p_flags);
- void add_ios_bundle_file(const String &p_path);
- void add_ios_cpp_code(const String &p_code);
- void add_osx_plugin_file(const String &p_path);
-
- void skip();
-
- virtual void _export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features);
- virtual void _export_begin(const HashSet<String> &p_features, bool p_debug, const String &p_path, int p_flags);
-
- static void _bind_methods();
-
- GDVIRTUAL3(_export_file, String, String, Vector<String>)
- GDVIRTUAL4(_export_begin, Vector<String>, bool, String, uint32_t)
- GDVIRTUAL0(_export_end)
-
-public:
- Vector<String> get_ios_frameworks() const;
- Vector<String> get_ios_embedded_frameworks() const;
- Vector<String> get_ios_project_static_libs() const;
- String get_ios_plist_content() const;
- String get_ios_linker_flags() const;
- Vector<String> get_ios_bundle_files() const;
- String get_ios_cpp_code() const;
- const Vector<String> &get_osx_plugin_files() const;
-
- EditorExportPlugin();
-};
-
-class EditorExport : public Node {
- GDCLASS(EditorExport, Node);
-
- Vector<Ref<EditorExportPlatform>> export_platforms;
- Vector<Ref<EditorExportPreset>> export_presets;
- Vector<Ref<EditorExportPlugin>> export_plugins;
-
- StringName _export_presets_updated;
-
- Timer *save_timer = nullptr;
- bool block_save = false;
-
- static EditorExport *singleton;
-
- void _save();
-
-protected:
- friend class EditorExportPreset;
- void save_presets();
-
- void _notification(int p_what);
- static void _bind_methods();
-
-public:
- static EditorExport *get_singleton() { return singleton; }
-
- void add_export_platform(const Ref<EditorExportPlatform> &p_platform);
- int get_export_platform_count();
- Ref<EditorExportPlatform> get_export_platform(int p_idx);
-
- void add_export_preset(const Ref<EditorExportPreset> &p_preset, int p_at_pos = -1);
- int get_export_preset_count() const;
- Ref<EditorExportPreset> get_export_preset(int p_idx);
- void remove_export_preset(int p_idx);
-
- void add_export_plugin(const Ref<EditorExportPlugin> &p_plugin);
- void remove_export_plugin(const Ref<EditorExportPlugin> &p_plugin);
- Vector<Ref<EditorExportPlugin>> get_export_plugins();
-
- void load_config();
- void update_export_presets();
- bool poll_export_platforms();
-
- EditorExport();
- ~EditorExport();
-};
-
-class EditorExportPlatformPC : public EditorExportPlatform {
- GDCLASS(EditorExportPlatformPC, EditorExportPlatform);
-
-private:
- Ref<ImageTexture> logo;
- String name;
- String os_name;
-
- int chmod_flags = -1;
-
-public:
- virtual void get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) override;
-
- virtual void get_export_options(List<ExportOption> *r_options) override;
-
- virtual String get_name() const override;
- virtual String get_os_name() const override;
- virtual Ref<Texture2D> get_logo() const override;
-
- virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const override;
- virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override;
- virtual Error sign_shared_object(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path);
- virtual String get_template_file_name(const String &p_target, const String &p_arch) const = 0;
-
- virtual Error prepare_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags);
- virtual Error modify_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) { return OK; };
- virtual Error export_project_data(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags);
-
- void set_extension(const String &p_extension, const String &p_feature_key = "default");
- void set_name(const String &p_name);
- void set_os_name(const String &p_name);
-
- void set_logo(const Ref<Texture2D> &p_logo);
-
- void add_platform_feature(const String &p_feature);
- virtual void get_platform_features(List<String> *r_features) override;
- virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) override;
-
- int get_chmod_flags() const;
- void set_chmod_flags(int p_flags);
-
- virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const {
- return Error::OK;
- }
-};
-
-class EditorExportTextSceneToBinaryPlugin : public EditorExportPlugin {
- GDCLASS(EditorExportTextSceneToBinaryPlugin, EditorExportPlugin);
-
-public:
- virtual void _export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) override;
- EditorExportTextSceneToBinaryPlugin();
-};
-
-#endif // EDITOR_IMPORT_EXPORT_H
diff --git a/editor/editor_feature_profile.cpp b/editor/editor_feature_profile.cpp
index f8fc28c31c..f0bf9fd5b3 100644
--- a/editor/editor_feature_profile.cpp
+++ b/editor/editor_feature_profile.cpp
@@ -34,6 +34,7 @@
#include "core/io/json.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
+#include "editor/editor_paths.h"
#include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
@@ -314,7 +315,7 @@ void EditorFeatureProfileManager::_notification(int p_what) {
current_profile = EDITOR_GET("_default_feature_profile");
if (!current_profile.is_empty()) {
current.instantiate();
- Error err = current->load_from_file(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(current_profile + ".profile"));
+ Error err = current->load_from_file(EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(current_profile + ".profile"));
if (err != OK) {
ERR_PRINT("Error loading default feature profile: " + current_profile);
current_profile = String();
@@ -323,6 +324,11 @@ void EditorFeatureProfileManager::_notification(int p_what) {
}
_update_profile_list(current_profile);
} break;
+
+ case NOTIFICATION_THEME_CHANGED: {
+ // Make sure that the icons are correctly adjusted if the theme's lightness was switched.
+ _update_selected_profile();
+ } break;
}
}
@@ -340,7 +346,7 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr
if (p_select_profile.is_empty()) { //default, keep
if (profile_list->get_selected() >= 0) {
selected_profile = profile_list->get_item_metadata(profile_list->get_selected());
- if (!FileAccess::exists(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(selected_profile + ".profile"))) {
+ if (!FileAccess::exists(EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(selected_profile + ".profile"))) {
selected_profile = String(); //does not exist
}
}
@@ -349,8 +355,8 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr
}
Vector<String> profiles;
- Ref<DirAccess> d = DirAccess::open(EditorSettings::get_singleton()->get_feature_profiles_dir());
- ERR_FAIL_COND_MSG(d.is_null(), "Cannot open directory '" + EditorSettings::get_singleton()->get_feature_profiles_dir() + "'.");
+ Ref<DirAccess> d = DirAccess::open(EditorPaths::get_singleton()->get_feature_profiles_dir());
+ ERR_FAIL_COND_MSG(d.is_null(), "Cannot open directory '" + EditorPaths::get_singleton()->get_feature_profiles_dir() + "'.");
d->list_dir_begin();
while (true) {
@@ -452,8 +458,8 @@ void EditorFeatureProfileManager::_profile_action(int p_action) {
void EditorFeatureProfileManager::_erase_selected_profile() {
String selected = _get_selected_profile();
ERR_FAIL_COND(selected.is_empty());
- Ref<DirAccess> da = DirAccess::open(EditorSettings::get_singleton()->get_feature_profiles_dir());
- ERR_FAIL_COND_MSG(da.is_null(), "Cannot open directory '" + EditorSettings::get_singleton()->get_feature_profiles_dir() + "'.");
+ Ref<DirAccess> da = DirAccess::open(EditorPaths::get_singleton()->get_feature_profiles_dir());
+ ERR_FAIL_COND_MSG(da.is_null(), "Cannot open directory '" + EditorPaths::get_singleton()->get_feature_profiles_dir() + "'.");
da->remove(selected + ".profile");
if (selected == current_profile) {
@@ -469,7 +475,7 @@ void EditorFeatureProfileManager::_create_new_profile() {
EditorNode::get_singleton()->show_warning(TTR("Profile must be a valid filename and must not contain '.'"));
return;
}
- String file = EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(name + ".profile");
+ String file = EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(name + ".profile");
if (FileAccess::exists(file)) {
EditorNode::get_singleton()->show_warning(TTR("Profile with this name already exists."));
return;
@@ -748,8 +754,8 @@ void EditorFeatureProfileManager::_update_selected_profile() {
} else {
//reload edited, if different from current
edited.instantiate();
- Error err = edited->load_from_file(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(profile + ".profile"));
- ERR_FAIL_COND_MSG(err != OK, "Error when loading EditorSettings from file '" + EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(profile + ".profile") + "'.");
+ Error err = edited->load_from_file(EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(profile + ".profile"));
+ ERR_FAIL_COND_MSG(err != OK, "Error when loading editor feature profile from file '" + EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(profile + ".profile") + "'.");
}
updating_features = true;
@@ -804,7 +810,7 @@ void EditorFeatureProfileManager::_import_profiles(const Vector<String> &p_paths
return;
}
- String dst_file = EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(basefile);
+ String dst_file = EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(basefile);
if (FileAccess::exists(dst_file)) {
EditorNode::get_singleton()->show_warning(vformat(TTR("Profile '%s' already exists. Remove it first before importing, import aborted."), basefile.get_basename()));
@@ -819,7 +825,7 @@ void EditorFeatureProfileManager::_import_profiles(const Vector<String> &p_paths
Error err = profile->load_from_file(p_paths[i]);
ERR_CONTINUE(err != OK);
String basefile = p_paths[i].get_file();
- String dst_file = EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(basefile);
+ String dst_file = EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(basefile);
profile->save_to_file(dst_file);
}
@@ -843,7 +849,7 @@ void EditorFeatureProfileManager::_save_and_update() {
ERR_FAIL_COND(edited_path.is_empty());
ERR_FAIL_COND(edited.is_null());
- edited->save_to_file(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(edited_path + ".profile"));
+ edited->save_to_file(EditorPaths::get_singleton()->get_feature_profiles_dir().plus_file(edited_path + ".profile"));
if (edited == current) {
update_timer->start();
@@ -883,7 +889,7 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
profile_actions[PROFILE_CLEAR] = memnew(Button(TTR("Reset to Default")));
name_hbc->add_child(profile_actions[PROFILE_CLEAR]);
profile_actions[PROFILE_CLEAR]->set_disabled(true);
- profile_actions[PROFILE_CLEAR]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action), varray(PROFILE_CLEAR));
+ profile_actions[PROFILE_CLEAR]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action).bind(PROFILE_CLEAR));
main_vbc->add_margin_child(TTR("Current Profile:"), name_hbc);
@@ -897,12 +903,12 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
profile_actions[PROFILE_NEW] = memnew(Button(TTR("Create Profile")));
profiles_hbc->add_child(profile_actions[PROFILE_NEW]);
- profile_actions[PROFILE_NEW]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action), varray(PROFILE_NEW));
+ profile_actions[PROFILE_NEW]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action).bind(PROFILE_NEW));
profile_actions[PROFILE_ERASE] = memnew(Button(TTR("Remove Profile")));
profiles_hbc->add_child(profile_actions[PROFILE_ERASE]);
profile_actions[PROFILE_ERASE]->set_disabled(true);
- profile_actions[PROFILE_ERASE]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action), varray(PROFILE_ERASE));
+ profile_actions[PROFILE_ERASE]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action).bind(PROFILE_ERASE));
main_vbc->add_margin_child(TTR("Available Profiles:"), profiles_hbc);
@@ -911,18 +917,18 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
profile_actions[PROFILE_SET] = memnew(Button(TTR("Make Current")));
current_profile_hbc->add_child(profile_actions[PROFILE_SET]);
profile_actions[PROFILE_SET]->set_disabled(true);
- profile_actions[PROFILE_SET]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action), varray(PROFILE_SET));
+ profile_actions[PROFILE_SET]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action).bind(PROFILE_SET));
current_profile_hbc->add_child(memnew(VSeparator));
profile_actions[PROFILE_IMPORT] = memnew(Button(TTR("Import")));
current_profile_hbc->add_child(profile_actions[PROFILE_IMPORT]);
- profile_actions[PROFILE_IMPORT]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action), varray(PROFILE_IMPORT));
+ profile_actions[PROFILE_IMPORT]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action).bind(PROFILE_IMPORT));
profile_actions[PROFILE_EXPORT] = memnew(Button(TTR("Export")));
current_profile_hbc->add_child(profile_actions[PROFILE_EXPORT]);
profile_actions[PROFILE_EXPORT]->set_disabled(true);
- profile_actions[PROFILE_EXPORT]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action), varray(PROFILE_EXPORT));
+ profile_actions[PROFILE_EXPORT]->connect("pressed", callable_mp(this, &EditorFeatureProfileManager::_profile_action).bind(PROFILE_EXPORT));
main_vbc->add_child(current_profile_hbc);
@@ -939,7 +945,7 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
class_list->set_hide_root(true);
class_list->set_edit_checkbox_cell_only_when_checkbox_is_pressed(true);
class_list->connect("cell_selected", callable_mp(this, &EditorFeatureProfileManager::_class_list_item_selected));
- class_list->connect("item_edited", callable_mp(this, &EditorFeatureProfileManager::_class_list_item_edited), varray(), CONNECT_DEFERRED);
+ class_list->connect("item_edited", callable_mp(this, &EditorFeatureProfileManager::_class_list_item_edited), CONNECT_DEFERRED);
class_list->connect("item_collapsed", callable_mp(this, &EditorFeatureProfileManager::_class_list_item_collapsed));
// It will be displayed once the user creates or chooses a profile.
class_list_vbc->hide();
@@ -957,7 +963,7 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
property_list->set_hide_root(true);
property_list->set_hide_folding(true);
property_list->set_edit_checkbox_cell_only_when_checkbox_is_pressed(true);
- property_list->connect("item_edited", callable_mp(this, &EditorFeatureProfileManager::_property_item_edited), varray(), CONNECT_DEFERRED);
+ property_list->connect("item_edited", callable_mp(this, &EditorFeatureProfileManager::_property_item_edited), CONNECT_DEFERRED);
// It will be displayed once the user creates or chooses a profile.
property_list_vbc->hide();
@@ -983,7 +989,7 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
add_child(new_profile_dialog);
new_profile_dialog->connect("confirmed", callable_mp(this, &EditorFeatureProfileManager::_create_new_profile));
new_profile_dialog->register_text_enter(new_profile_name);
- new_profile_dialog->get_ok_button()->set_text(TTR("Create"));
+ new_profile_dialog->set_ok_button_text(TTR("Create"));
erase_profile_dialog = memnew(ConfirmationDialog);
add_child(erase_profile_dialog);
@@ -993,7 +999,7 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
import_profiles = memnew(EditorFileDialog);
add_child(import_profiles);
import_profiles->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILES);
- import_profiles->add_filter("*.profile; " + TTR("Godot Feature Profile"));
+ import_profiles->add_filter("*.profile", TTR("Godot Feature Profile"));
import_profiles->connect("files_selected", callable_mp(this, &EditorFeatureProfileManager::_import_profiles));
import_profiles->set_title(TTR("Import Profile(s)"));
import_profiles->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
@@ -1001,7 +1007,7 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() {
export_profile = memnew(EditorFileDialog);
add_child(export_profile);
export_profile->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
- export_profile->add_filter("*.profile; " + TTR("Godot Feature Profile"));
+ export_profile->add_filter("*.profile", TTR("Godot Feature Profile"));
export_profile->connect("file_selected", callable_mp(this, &EditorFeatureProfileManager::_export_profile));
export_profile->set_title(TTR("Export Profile"));
export_profile->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp
index 13084e2aab..2f1134e8ef 100644
--- a/editor/editor_file_dialog.cpp
+++ b/editor/editor_file_dialog.cpp
@@ -227,10 +227,10 @@ void EditorFileDialog::update_dir() {
switch (mode) {
case FILE_MODE_OPEN_FILE:
case FILE_MODE_OPEN_FILES:
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
break;
case FILE_MODE_OPEN_DIR:
- get_ok_button()->set_text(TTR("Select Current Folder"));
+ set_ok_button_text(TTR("Select Current Folder"));
break;
case FILE_MODE_OPEN_ANY:
case FILE_MODE_SAVE_FILE:
@@ -507,7 +507,7 @@ void EditorFileDialog::_item_selected(int p_item) {
file->set_text(d["name"]);
_request_single_thumbnail(get_current_dir().plus_file(get_current_file()));
} else if (mode == FILE_MODE_OPEN_DIR) {
- get_ok_button()->set_text(TTR("Select This Folder"));
+ set_ok_button_text(TTR("Select This Folder"));
}
get_ok_button()->set_disabled(_is_open_should_be_disabled());
@@ -540,13 +540,13 @@ void EditorFileDialog::_items_clear_selection(const Vector2 &p_pos, MouseButton
switch (mode) {
case FILE_MODE_OPEN_FILE:
case FILE_MODE_OPEN_FILES:
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
get_ok_button()->set_disabled(!item_list->is_anything_selected());
break;
case FILE_MODE_OPEN_DIR:
get_ok_button()->set_disabled(false);
- get_ok_button()->set_text(TTR("Select Current Folder"));
+ set_ok_button_text(TTR("Select Current Folder"));
break;
case FILE_MODE_OPEN_ANY:
@@ -731,9 +731,9 @@ void EditorFileDialog::update_file_name() {
String base_name = file_str.get_basename();
Vector<String> filter_substr = filter_str.split(";");
if (filter_substr.size() >= 2) {
- file_str = base_name + "." + filter_substr[0].strip_edges().lstrip("*.").to_lower();
+ file_str = base_name + "." + filter_substr[0].strip_edges().get_extension().to_lower();
} else {
- file_str = base_name + "." + filter_str.get_extension().strip_edges().to_lower();
+ file_str = base_name + "." + filter_str.strip_edges().get_extension().to_lower();
}
file->set_text(file_str);
}
@@ -756,7 +756,7 @@ void EditorFileDialog::update_file_list() {
item_list->set_icon_mode(ItemList::ICON_MODE_TOP);
item_list->set_fixed_column_width(thumbnail_size * 3 / 2);
item_list->set_max_text_lines(2);
- item_list->set_text_overrun_behavior(TextParagraph::OVERRUN_TRIM_ELLIPSIS);
+ item_list->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
item_list->set_fixed_icon_size(Size2(thumbnail_size, thumbnail_size));
if (thumbnail_size < 64) {
@@ -976,8 +976,12 @@ void EditorFileDialog::clear_filters() {
invalidate();
}
-void EditorFileDialog::add_filter(const String &p_filter) {
- filters.push_back(p_filter);
+void EditorFileDialog::add_filter(const String &p_filter, const String &p_description) {
+ if (p_description.is_empty()) {
+ filters.push_back(p_filter);
+ } else {
+ filters.push_back(vformat("%s ; %s", p_filter, p_description));
+ }
update_filters();
invalidate();
}
@@ -1033,27 +1037,27 @@ void EditorFileDialog::set_file_mode(FileMode p_mode) {
mode = p_mode;
switch (mode) {
case FILE_MODE_OPEN_FILE:
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
set_title(TTR("Open a File"));
can_create_dir = false;
break;
case FILE_MODE_OPEN_FILES:
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
set_title(TTR("Open File(s)"));
can_create_dir = false;
break;
case FILE_MODE_OPEN_DIR:
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
set_title(TTR("Open a Directory"));
can_create_dir = true;
break;
case FILE_MODE_OPEN_ANY:
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
set_title(TTR("Open a File or Directory"));
can_create_dir = true;
break;
case FILE_MODE_SAVE_FILE:
- get_ok_button()->set_text(TTR("Save"));
+ set_ok_button_text(TTR("Save"));
set_title(TTR("Save a File"));
can_create_dir = true;
break;
@@ -1481,7 +1485,7 @@ void EditorFileDialog::_bind_methods() {
ClassDB::bind_method(D_METHOD("_cancel_pressed"), &EditorFileDialog::_cancel_pressed);
ClassDB::bind_method(D_METHOD("clear_filters"), &EditorFileDialog::clear_filters);
- ClassDB::bind_method(D_METHOD("add_filter", "filter"), &EditorFileDialog::add_filter);
+ ClassDB::bind_method(D_METHOD("add_filter", "filter", "description"), &EditorFileDialog::add_filter, DEFVAL(""));
ClassDB::bind_method(D_METHOD("get_current_dir"), &EditorFileDialog::get_current_dir);
ClassDB::bind_method(D_METHOD("get_current_file"), &EditorFileDialog::get_current_file);
ClassDB::bind_method(D_METHOD("get_current_path"), &EditorFileDialog::get_current_path);
@@ -1677,7 +1681,7 @@ EditorFileDialog::EditorFileDialog() {
mode_thumbnails = memnew(Button);
mode_thumbnails->set_flat(true);
- mode_thumbnails->connect("pressed", callable_mp(this, &EditorFileDialog::set_display_mode), varray(DISPLAY_THUMBNAILS));
+ mode_thumbnails->connect("pressed", callable_mp(this, &EditorFileDialog::set_display_mode).bind(DISPLAY_THUMBNAILS));
mode_thumbnails->set_toggle_mode(true);
mode_thumbnails->set_pressed(display_mode == DISPLAY_THUMBNAILS);
mode_thumbnails->set_button_group(view_mode_group);
@@ -1686,7 +1690,7 @@ EditorFileDialog::EditorFileDialog() {
mode_list = memnew(Button);
mode_list->set_flat(true);
- mode_list->connect("pressed", callable_mp(this, &EditorFileDialog::set_display_mode), varray(DISPLAY_LIST));
+ mode_list->connect("pressed", callable_mp(this, &EditorFileDialog::set_display_mode).bind(DISPLAY_LIST));
mode_list->set_toggle_mode(true);
mode_list->set_pressed(display_mode == DISPLAY_LIST);
mode_list->set_button_group(view_mode_group);
@@ -1812,9 +1816,9 @@ EditorFileDialog::EditorFileDialog() {
_update_drives();
connect("confirmed", callable_mp(this, &EditorFileDialog::_action_pressed));
- item_list->connect("item_selected", callable_mp(this, &EditorFileDialog::_item_selected), varray(), CONNECT_DEFERRED);
- item_list->connect("multi_selected", callable_mp(this, &EditorFileDialog::_multi_selected), varray(), CONNECT_DEFERRED);
- item_list->connect("item_activated", callable_mp(this, &EditorFileDialog::_item_dc_selected), varray());
+ item_list->connect("item_selected", callable_mp(this, &EditorFileDialog::_item_selected), CONNECT_DEFERRED);
+ item_list->connect("multi_selected", callable_mp(this, &EditorFileDialog::_multi_selected), CONNECT_DEFERRED);
+ item_list->connect("item_activated", callable_mp(this, &EditorFileDialog::_item_dc_selected).bind());
item_list->connect("empty_clicked", callable_mp(this, &EditorFileDialog::_items_clear_selection));
dir->connect("text_submitted", callable_mp(this, &EditorFileDialog::_dir_submitted));
file->connect("text_submitted", callable_mp(this, &EditorFileDialog::_file_submitted));
diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h
index 5f2e29b690..51629f2682 100644
--- a/editor/editor_file_dialog.h
+++ b/editor/editor_file_dialog.h
@@ -212,7 +212,7 @@ protected:
public:
void popup_file_dialog();
void clear_filters();
- void add_filter(const String &p_filter);
+ void add_filter(const String &p_filter, const String &p_description = "");
void set_enable_multiple_selection(bool p_enable);
Vector<String> get_selected_files() const;
diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp
index f9a4c14c48..bda2e283ef 100644
--- a/editor/editor_file_system.cpp
+++ b/editor/editor_file_system.cpp
@@ -36,9 +36,11 @@
#include "core/io/resource_importer.h"
#include "core/io/resource_loader.h"
#include "core/io/resource_saver.h"
+#include "core/object/worker_thread_pool.h"
#include "core/os/os.h"
#include "core/variant/variant_parser.h"
#include "editor/editor_node.h"
+#include "editor/editor_paths.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_settings.h"
@@ -217,7 +219,7 @@ void EditorFileSystem::_scan_filesystem() {
String project = ProjectSettings::get_singleton()->get_resource_path();
- String fscache = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(CACHE_FILE_NAME);
+ String fscache = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(CACHE_FILE_NAME);
{
Ref<FileAccess> f = FileAccess::open(fscache, FileAccess::READ);
@@ -287,7 +289,7 @@ void EditorFileSystem::_scan_filesystem() {
}
}
- String update_cache = EditorSettings::get_singleton()->get_project_settings_dir().plus_file("filesystem_update4");
+ String update_cache = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("filesystem_update4");
if (FileAccess::exists(update_cache)) {
{
@@ -330,7 +332,7 @@ void EditorFileSystem::_scan_filesystem() {
void EditorFileSystem::_save_filesystem_cache() {
group_file_cache.clear();
- String fscache = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(CACHE_FILE_NAME);
+ String fscache = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(CACHE_FILE_NAME);
Ref<FileAccess> f = FileAccess::open(fscache, FileAccess::WRITE);
ERR_FAIL_COND_MSG(f.is_null(), "Cannot create file '" + fscache + "'. Check user write permissions.");
@@ -872,7 +874,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, Ref<DirAc
fi->script_class_name = _get_global_script_class(fi->type, path, &fi->script_class_extends, &fi->script_class_icon_path);
fi->modified_time = 0;
fi->import_modified_time = 0;
- fi->import_valid = ResourceLoader::is_import_valid(path);
+ fi->import_valid = fi->type == "TextFile" ? true : ResourceLoader::is_import_valid(path);
ItemAction ia;
ia.action = ItemAction::ACTION_FILE_TEST_REIMPORT;
@@ -1023,7 +1025,7 @@ void EditorFileSystem::_scan_fs_changes(EditorFileSystemDirectory *p_dir, const
fi->type = "TextFile";
}
fi->script_class_name = _get_global_script_class(fi->type, path, &fi->script_class_extends, &fi->script_class_icon_path);
- fi->import_valid = ResourceLoader::is_import_valid(path);
+ fi->import_valid = fi->type == "TextFile" ? true : ResourceLoader::is_import_valid(path);
fi->import_group_file = ResourceLoader::get_import_group_file(path);
{
@@ -1190,11 +1192,6 @@ void EditorFileSystem::scan_changes() {
void EditorFileSystem::_notification(int p_what) {
switch (p_what) {
- case NOTIFICATION_ENTER_TREE: {
- call_deferred(SNAME("scan")); //this should happen after every editor node entered the tree
-
- } break;
-
case NOTIFICATION_EXIT_TREE: {
Thread &active_thread = thread.is_started() ? thread : thread_sources;
if (use_threads && active_thread.is_started()) {
@@ -1455,7 +1452,7 @@ EditorFileSystemDirectory *EditorFileSystem::get_filesystem_path(const String &p
void EditorFileSystem::_save_late_updated_files() {
//files that already existed, and were modified, need re-scanning for dependencies upon project restart. This is done via saving this special file
- String fscache = EditorSettings::get_singleton()->get_project_settings_dir().plus_file("filesystem_update4");
+ String fscache = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("filesystem_update4");
Ref<FileAccess> f = FileAccess::open(fscache, FileAccess::WRITE);
ERR_FAIL_COND_MSG(f.is_null(), "Cannot create file '" + fscache + "'. Check user write permissions.");
for (const String &E : late_update_files) {
@@ -1792,9 +1789,9 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
//if file is currently up, maybe the source it was loaded from changed, so import math must be updated for it
//to reload properly
- if (ResourceCache::has(file)) {
- Resource *r = ResourceCache::get(file);
+ Ref<Resource> r = ResourceCache::get_ref(file);
+ if (r.is_valid()) {
if (!r->get_import_path().is_empty()) {
String dst_path = ResourceFormatImporter::get_singleton()->get_internal_resource_path(file);
r->set_import_path(dst_path);
@@ -2024,7 +2021,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const HashMap<String
fs->files[cpos]->deps = _get_dependencies(p_file);
fs->files[cpos]->type = importer->get_resource_type();
fs->files[cpos]->uid = uid;
- fs->files[cpos]->import_valid = ResourceLoader::is_import_valid(p_file);
+ fs->files[cpos]->import_valid = fs->files[cpos]->type == "TextFile" ? true : ResourceLoader::is_import_valid(p_file);
if (ResourceUID::get_singleton()->has_id(uid)) {
ResourceUID::get_singleton()->set_id(uid, p_file);
@@ -2034,9 +2031,8 @@ void EditorFileSystem::_reimport_file(const String &p_file, const HashMap<String
//if file is currently up, maybe the source it was loaded from changed, so import math must be updated for it
//to reload properly
- if (ResourceCache::has(p_file)) {
- Resource *r = ResourceCache::get(p_file);
-
+ Ref<Resource> r = ResourceCache::get_ref(p_file);
+ if (r.is_valid()) {
if (!r->get_import_path().is_empty()) {
String dst_path = ResourceFormatImporter::get_singleton()->get_internal_resource_path(p_file);
r->set_import_path(dst_path);
@@ -2138,7 +2134,7 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
data.reimport_from = from;
data.reimport_files = reimport_files.ptr();
- import_threads.begin_work(i - from + 1, this, &EditorFileSystem::_reimport_thread, &data);
+ WorkerThreadPool::GroupID group_task = WorkerThreadPool::get_singleton()->add_template_group_task(this, &EditorFileSystem::_reimport_thread, &data, i - from + 1, -1, false, vformat(TTR("Import resources of type: %s"), reimport_files[from].importer));
int current_index = from - 1;
do {
if (current_index < data.max_index) {
@@ -2146,9 +2142,9 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
pr.step(reimport_files[current_index].path.get_file(), current_index);
}
OS::get_singleton()->delay_usec(1);
- } while (!import_threads.is_done_dispatching());
+ } while (!WorkerThreadPool::get_singleton()->is_group_task_completed(group_task));
- import_threads.end_work();
+ WorkerThreadPool::get_singleton()->wait_for_group_task_completion(group_task);
importer->import_threaded_end();
}
@@ -2431,12 +2427,10 @@ EditorFileSystem::EditorFileSystem() {
scan_total = 0;
update_script_classes_queued.clear();
- import_threads.init();
ResourceUID::get_singleton()->clear(); //will be updated on scan
ResourceSaver::set_get_resource_id_for_path(_resource_saver_get_resource_id_for_path);
}
EditorFileSystem::~EditorFileSystem() {
- import_threads.finish();
ResourceSaver::set_get_resource_id_for_path(nullptr);
}
diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h
index 07b1132046..f4e69b95e7 100644
--- a/editor/editor_file_system.h
+++ b/editor/editor_file_system.h
@@ -36,7 +36,6 @@
#include "core/os/thread_safe.h"
#include "core/templates/hash_set.h"
#include "core/templates/safe_refcount.h"
-#include "core/templates/thread_work_pool.h"
#include "scene/main/node.h"
class FileAccess;
@@ -275,8 +274,6 @@ class EditorFileSystem : public Node {
HashSet<String> group_file_cache;
- ThreadWorkPool import_threads;
-
struct ImportThreadData {
const ImportFile *reimport_files;
int reimport_from;
diff --git a/editor/editor_folding.cpp b/editor/editor_folding.cpp
index 9e1b361f64..c1d6e505db 100644
--- a/editor/editor_folding.cpp
+++ b/editor/editor_folding.cpp
@@ -30,9 +30,10 @@
#include "editor_folding.h"
+#include "core/io/config_file.h"
#include "core/io/file_access.h"
#include "editor/editor_inspector.h"
-#include "editor/editor_settings.h"
+#include "editor/editor_paths.h"
Vector<String> EditorFolding::_get_unfolds(const Object *p_object) {
Vector<String> sections;
@@ -55,7 +56,7 @@ void EditorFolding::save_resource_folding(const Ref<Resource> &p_resource, const
config->set_value("folding", "sections_unfolded", unfolds);
String file = p_path.get_file() + "-folding-" + p_path.md5_text() + ".cfg";
- file = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(file);
+ file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(file);
config->save(file);
}
@@ -73,7 +74,7 @@ void EditorFolding::load_resource_folding(Ref<Resource> p_resource, const String
config.instantiate();
String file = p_path.get_file() + "-folding-" + p_path.md5_text() + ".cfg";
- file = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(file);
+ file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(file);
if (config->load(file) != OK) {
return;
@@ -149,7 +150,7 @@ void EditorFolding::save_scene_folding(const Node *p_scene, const String &p_path
config->set_value("folding", "nodes_folded", nodes_folded);
String file = p_path.get_file() + "-folding-" + p_path.md5_text() + ".cfg";
- file = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(file);
+ file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(file);
config->save(file);
}
@@ -157,9 +158,9 @@ void EditorFolding::load_scene_folding(Node *p_scene, const String &p_path) {
Ref<ConfigFile> config;
config.instantiate();
- String path = EditorSettings::get_singleton()->get_project_settings_dir();
+ String path = EditorPaths::get_singleton()->get_project_settings_dir();
String file = p_path.get_file() + "-folding-" + p_path.md5_text() + ".cfg";
- file = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(file);
+ file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(file);
if (config->load(file) != OK) {
return;
@@ -193,10 +194,7 @@ void EditorFolding::load_scene_folding(Node *p_scene, const String &p_path) {
for (int i = 0; i < res_unfolds.size(); i += 2) {
String path2 = res_unfolds[i];
- Ref<Resource> res;
- if (ResourceCache::has(path2)) {
- res = Ref<Resource>(ResourceCache::get(path2));
- }
+ Ref<Resource> res = ResourceCache::get_ref(path2);
if (res.is_null()) {
continue;
}
@@ -216,7 +214,7 @@ void EditorFolding::load_scene_folding(Node *p_scene, const String &p_path) {
bool EditorFolding::has_folding_data(const String &p_path) {
String file = p_path.get_file() + "-folding-" + p_path.md5_text() + ".cfg";
- file = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(file);
+ file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(file);
return FileAccess::exists(file);
}
diff --git a/editor/editor_fonts.cpp b/editor/editor_fonts.cpp
index 51d4d474c5..a02051c8ee 100644
--- a/editor/editor_fonts.cpp
+++ b/editor/editor_fonts.cpp
@@ -37,212 +37,8 @@
#include "scene/resources/default_theme/default_theme.h"
#include "scene/resources/font.h"
-#define MAKE_FALLBACKS(m_name) \
- m_name->add_data(FontArabic); \
- m_name->add_data(FontBengali); \
- m_name->add_data(FontDevanagari); \
- m_name->add_data(FontGeorgian); \
- m_name->add_data(FontHebrew); \
- m_name->add_data(FontMalayalam); \
- m_name->add_data(FontOriya); \
- m_name->add_data(FontSinhala); \
- m_name->add_data(FontTamil); \
- m_name->add_data(FontTelugu); \
- m_name->add_data(FontThai); \
- m_name->add_data(FontJapanese); \
- m_name->add_data(FontFallback);
-
-// Note: In some languages, the use of italic/slanted fonts is controversial. Therefore, we are limiting simulated slant to the main font (Latin, Cyrillic, and Greek) and using bold fonts for the rest.
-
-#define MAKE_FALLBACKS_SLANTED(m_name) \
- m_name->add_data(FontArabicBold); \
- m_name->add_data(FontBengaliBold); \
- m_name->add_data(FontDevanagariBold); \
- m_name->add_data(FontGeorgianBold); \
- m_name->add_data(FontHebrewBold); \
- m_name->add_data(FontMalayalamBold); \
- m_name->add_data(FontOriyaBold); \
- m_name->add_data(FontSinhalaBold); \
- m_name->add_data(FontTamilBold); \
- m_name->add_data(FontTeluguBold); \
- m_name->add_data(FontThaiBold); \
- m_name->add_data(FontJapaneseBold); \
- m_name->add_data(FontFallbackBold);
-
-#define MAKE_FALLBACKS_BOLD(m_name) \
- m_name->add_data(FontArabicBold); \
- m_name->add_data(FontBengaliBold); \
- m_name->add_data(FontDevanagariBold); \
- m_name->add_data(FontGeorgianBold); \
- m_name->add_data(FontHebrewBold); \
- m_name->add_data(FontMalayalamBold); \
- m_name->add_data(FontOriyaBold); \
- m_name->add_data(FontSinhalaBold); \
- m_name->add_data(FontTamilBold); \
- m_name->add_data(FontTeluguBold); \
- m_name->add_data(FontThaiBold); \
- m_name->add_data(FontJapaneseBold); \
- m_name->add_data(FontFallbackBold);
-
-#define MAKE_DEFAULT_FONT(m_name, m_variations) \
- Ref<Font> m_name; \
- m_name.instantiate(); \
- if (CustomFont.is_valid()) { \
- m_name->add_data(CustomFont); \
- m_name->add_data(DefaultFont); \
- } else { \
- m_name->add_data(DefaultFont); \
- } \
- { \
- Dictionary variations; \
- if (!m_variations.is_empty()) { \
- Vector<String> variation_tags = m_variations.split(","); \
- for (int i = 0; i < variation_tags.size(); i++) { \
- Vector<String> tokens = variation_tags[i].split("="); \
- if (tokens.size() == 2) { \
- variations[tokens[0]] = tokens[1].to_float(); \
- } \
- } \
- } \
- m_name->set_variation_coordinates(variations); \
- } \
- m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
- m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
- MAKE_FALLBACKS(m_name);
-
-#define MAKE_DEFAULT_FONT_MSDF(m_name, m_variations) \
- Ref<Font> m_name; \
- m_name.instantiate(); \
- if (CustomFont.is_valid()) { \
- m_name->add_data(CustomFontMSDF); \
- m_name->add_data(DefaultFontMSDF); \
- } else { \
- m_name->add_data(DefaultFontMSDF); \
- } \
- { \
- Dictionary variations; \
- if (!m_variations.is_empty()) { \
- Vector<String> variation_tags = m_variations.split(","); \
- for (int i = 0; i < variation_tags.size(); i++) { \
- Vector<String> tokens = variation_tags[i].split("="); \
- if (tokens.size() == 2) { \
- variations[tokens[0]] = tokens[1].to_float(); \
- } \
- } \
- } \
- m_name->set_variation_coordinates(variations); \
- } \
- m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
- m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
- MAKE_FALLBACKS(m_name);
-
-#define MAKE_SLANTED_FONT(m_name, m_variations) \
- Ref<Font> m_name; \
- m_name.instantiate(); \
- m_name.instantiate(); \
- if (CustomFontSlanted.is_valid()) { \
- m_name->add_data(CustomFontSlanted); \
- m_name->add_data(DefaultFontSlanted); \
- } else { \
- m_name->add_data(DefaultFontSlanted); \
- } \
- { \
- Dictionary variations; \
- if (!m_variations.is_empty()) { \
- Vector<String> variation_tags = m_variations.split(","); \
- for (int i = 0; i < variation_tags.size(); i++) { \
- Vector<String> tokens = variation_tags[i].split("="); \
- if (tokens.size() == 2) { \
- variations[tokens[0]] = tokens[1].to_float(); \
- } \
- } \
- } \
- m_name->set_variation_coordinates(variations); \
- } \
- m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
- m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
- MAKE_FALLBACKS_SLANTED(m_name);
-
-#define MAKE_BOLD_FONT(m_name, m_variations) \
- Ref<Font> m_name; \
- m_name.instantiate(); \
- if (CustomFontBold.is_valid()) { \
- m_name->add_data(CustomFontBold); \
- m_name->add_data(DefaultFontBold); \
- } else { \
- m_name->add_data(DefaultFontBold); \
- } \
- { \
- Dictionary variations; \
- if (!m_variations.is_empty()) { \
- Vector<String> variation_tags = m_variations.split(","); \
- for (int i = 0; i < variation_tags.size(); i++) { \
- Vector<String> tokens = variation_tags[i].split("="); \
- if (tokens.size() == 2) { \
- variations[tokens[0]] = tokens[1].to_float(); \
- } \
- } \
- } \
- m_name->set_variation_coordinates(variations); \
- } \
- m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
- m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
- MAKE_FALLBACKS_BOLD(m_name);
-
-#define MAKE_BOLD_FONT_MSDF(m_name, m_variations) \
- Ref<Font> m_name; \
- m_name.instantiate(); \
- if (CustomFontBold.is_valid()) { \
- m_name->add_data(CustomFontBoldMSDF); \
- m_name->add_data(DefaultFontBoldMSDF); \
- } else { \
- m_name->add_data(DefaultFontBoldMSDF); \
- } \
- { \
- Dictionary variations; \
- if (!m_variations.is_empty()) { \
- Vector<String> variation_tags = m_variations.split(","); \
- for (int i = 0; i < variation_tags.size(); i++) { \
- Vector<String> tokens = variation_tags[i].split("="); \
- if (tokens.size() == 2) { \
- variations[tokens[0]] = tokens[1].to_float(); \
- } \
- } \
- } \
- m_name->set_variation_coordinates(variations); \
- } \
- m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
- m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
- MAKE_FALLBACKS_BOLD(m_name);
-
-#define MAKE_SOURCE_FONT(m_name, m_variations) \
- Ref<Font> m_name; \
- m_name.instantiate(); \
- if (CustomFontSource.is_valid()) { \
- m_name->add_data(CustomFontSource); \
- m_name->add_data(dfmono); \
- } else { \
- m_name->add_data(dfmono); \
- } \
- { \
- Dictionary variations; \
- if (!m_variations.is_empty()) { \
- Vector<String> variation_tags = m_variations.split(","); \
- for (int i = 0; i < variation_tags.size(); i++) { \
- Vector<String> tokens = variation_tags[i].split("="); \
- if (tokens.size() == 2) { \
- variations[tokens[0]] = tokens[1].to_float(); \
- } \
- } \
- } \
- m_name->set_variation_coordinates(variations); \
- } \
- m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
- m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
- MAKE_FALLBACKS(m_name);
-
-Ref<FontData> load_cached_external_font(const String &p_path, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false) {
- Ref<FontData> font;
+Ref<FontFile> load_external_font(const String &p_path, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false, TypedArray<Font> *r_fallbacks = nullptr) {
+ Ref<FontFile> font;
font.instantiate();
Vector<uint8_t> data = FileAccess::get_file_as_array(p_path);
@@ -254,11 +50,15 @@ Ref<FontData> load_cached_external_font(const String &p_path, TextServer::Hintin
font->set_force_autohinter(p_autohint);
font->set_subpixel_positioning(p_font_subpixel_positioning);
+ if (r_fallbacks != nullptr) {
+ r_fallbacks->push_back(font);
+ }
+
return font;
}
-Ref<FontData> load_cached_internal_font(const uint8_t *p_data, size_t p_size, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false) {
- Ref<FontData> font;
+Ref<FontFile> load_internal_font(const uint8_t *p_data, size_t p_size, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false, TypedArray<Font> *r_fallbacks = nullptr) {
+ Ref<FontFile> font;
font.instantiate();
font->set_data_ptr(p_data, p_size);
@@ -268,14 +68,29 @@ Ref<FontData> load_cached_internal_font(const uint8_t *p_data, size_t p_size, Te
font->set_force_autohinter(p_autohint);
font->set_subpixel_positioning(p_font_subpixel_positioning);
+ if (r_fallbacks != nullptr) {
+ r_fallbacks->push_back(font);
+ }
+
return font;
}
+Ref<FontVariation> make_bold_font(const Ref<Font> &p_font, double p_embolden, TypedArray<Font> *r_fallbacks = nullptr) {
+ Ref<FontVariation> font_var;
+ font_var.instantiate();
+ font_var->set_base_font(p_font);
+ font_var->set_variation_embolden(p_embolden);
+
+ if (r_fallbacks != nullptr) {
+ r_fallbacks->push_back(font_var);
+ }
+
+ return font_var;
+}
+
void editor_register_fonts(Ref<Theme> p_theme) {
Ref<DirAccess> dir = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
- /* Custom font */
-
bool font_antialiased = (bool)EditorSettings::get_singleton()->get("interface/editor/font_antialiased");
int font_hinting_setting = (int)EditorSettings::get_singleton()->get("interface/editor/font_hinting");
TextServer::SubpixelPositioning font_subpixel_positioning = (TextServer::SubpixelPositioning)(int)EditorSettings::get_singleton()->get("interface/editor/font_subpixel_positioning");
@@ -287,7 +102,7 @@ void editor_register_fonts(Ref<Theme> p_theme) {
// - macOS doesn't use font hinting.
// - Windows uses ClearType, which is in between "Light" and "Normal" hinting.
// - Linux has configurable font hinting, but most distributions including Ubuntu default to "Light".
-#ifdef OSX_ENABLED
+#ifdef MACOS_ENABLED
font_hinting = TextServer::HINTING_NONE;
#else
font_hinting = TextServer::HINTING_LIGHT;
@@ -304,184 +119,268 @@ void editor_register_fonts(Ref<Theme> p_theme) {
break;
}
+ // Load built-in fonts.
const int default_font_size = int(EDITOR_GET("interface/editor/main_font_size")) * EDSCALE;
const float embolden_strength = 0.6;
+ Ref<Font> default_font = load_internal_font(_font_NotoSans_Regular, _font_NotoSans_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false);
+ Ref<Font> default_font_msdf = load_internal_font(_font_NotoSans_Regular, _font_NotoSans_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
+
+ TypedArray<Font> fallbacks;
+ Ref<FontFile> arabic_font = load_internal_font(_font_NotoNaskhArabicUI_Regular, _font_NotoNaskhArabicUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> bengali_font = load_internal_font(_font_NotoSansBengaliUI_Regular, _font_NotoSansBengaliUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> devanagari_font = load_internal_font(_font_NotoSansDevanagariUI_Regular, _font_NotoSansDevanagariUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> georgian_font = load_internal_font(_font_NotoSansGeorgian_Regular, _font_NotoSansGeorgian_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> hebrew_font = load_internal_font(_font_NotoSansHebrew_Regular, _font_NotoSansHebrew_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> malayalam_font = load_internal_font(_font_NotoSansMalayalamUI_Regular, _font_NotoSansMalayalamUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> oriya_font = load_internal_font(_font_NotoSansOriyaUI_Regular, _font_NotoSansOriyaUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> sinhala_font = load_internal_font(_font_NotoSansSinhalaUI_Regular, _font_NotoSansSinhalaUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> tamil_font = load_internal_font(_font_NotoSansTamilUI_Regular, _font_NotoSansTamilUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> telugu_font = load_internal_font(_font_NotoSansTeluguUI_Regular, _font_NotoSansTeluguUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> thai_font = load_internal_font(_font_NotoSansThaiUI_Regular, _font_NotoSansThaiUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> fallback_font = load_internal_font(_font_DroidSansFallback, _font_DroidSansFallback_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ Ref<FontFile> japanese_font = load_internal_font(_font_DroidSansJapanese, _font_DroidSansJapanese_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks);
+ default_font->set_fallbacks(fallbacks);
+ default_font_msdf->set_fallbacks(fallbacks);
+
+ Ref<FontFile> default_font_bold = load_internal_font(_font_NotoSans_Bold, _font_NotoSans_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false);
+ Ref<FontFile> default_font_bold_msdf = load_internal_font(_font_NotoSans_Bold, _font_NotoSans_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
+
+ TypedArray<Font> fallbacks_bold;
+ Ref<FontFile> arabic_font_bold = load_internal_font(_font_NotoNaskhArabicUI_Bold, _font_NotoNaskhArabicUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> bengali_font_bold = load_internal_font(_font_NotoSansBengaliUI_Bold, _font_NotoSansBengaliUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> devanagari_font_bold = load_internal_font(_font_NotoSansDevanagariUI_Bold, _font_NotoSansDevanagariUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> georgian_font_bold = load_internal_font(_font_NotoSansGeorgian_Bold, _font_NotoSansGeorgian_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> hebrew_font_bold = load_internal_font(_font_NotoSansHebrew_Bold, _font_NotoSansHebrew_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> malayalam_font_bold = load_internal_font(_font_NotoSansMalayalamUI_Bold, _font_NotoSansMalayalamUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> oriya_font_bold = load_internal_font(_font_NotoSansOriyaUI_Bold, _font_NotoSansOriyaUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> sinhala_font_bold = load_internal_font(_font_NotoSansSinhalaUI_Bold, _font_NotoSansSinhalaUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> tamil_font_bold = load_internal_font(_font_NotoSansTamilUI_Bold, _font_NotoSansTamilUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> telugu_font_bold = load_internal_font(_font_NotoSansTeluguUI_Bold, _font_NotoSansTeluguUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontFile> thai_font_bold = load_internal_font(_font_NotoSansThaiUI_Bold, _font_NotoSansThaiUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, false, &fallbacks_bold);
+ Ref<FontVariation> fallback_font_bold = make_bold_font(fallback_font, embolden_strength, &fallbacks_bold);
+ Ref<FontVariation> japanese_font_bold = make_bold_font(japanese_font, embolden_strength, &fallbacks_bold);
+ default_font_bold->set_fallbacks(fallbacks_bold);
+ default_font_bold_msdf->set_fallbacks(fallbacks_bold);
+
+ Ref<FontFile> default_font_mono = load_internal_font(_font_JetBrainsMono_Regular, _font_JetBrainsMono_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ default_font_mono->set_fallbacks(fallbacks);
+
+ // Init base font configs and load custom fonts.
String custom_font_path = EditorSettings::get_singleton()->get("interface/editor/main_font");
- Ref<FontData> CustomFont;
+ String custom_font_path_bold = EditorSettings::get_singleton()->get("interface/editor/main_font_bold");
+ String custom_font_path_source = EditorSettings::get_singleton()->get("interface/editor/code_font");
+
+ Ref<FontVariation> default_fc;
+ default_fc.instantiate();
if (custom_font_path.length() > 0 && dir->file_exists(custom_font_path)) {
- CustomFont = load_cached_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ Ref<FontFile> custom_font = load_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ {
+ TypedArray<Font> fallback_custom;
+ fallback_custom.push_back(default_font);
+ custom_font->set_fallbacks(fallback_custom);
+ }
+ default_fc->set_base_font(custom_font);
} else {
EditorSettings::get_singleton()->set_manually("interface/editor/main_font", "");
+ default_fc->set_base_font(default_font);
}
+ default_fc->set_spacing(TextServer::SPACING_TOP, -EDSCALE);
+ default_fc->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE);
- Ref<FontData> CustomFontMSDF;
+ Ref<FontVariation> default_fc_msdf;
+ default_fc_msdf.instantiate();
if (custom_font_path.length() > 0 && dir->file_exists(custom_font_path)) {
- CustomFontMSDF = load_cached_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
+ Ref<FontFile> custom_font = load_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ {
+ TypedArray<Font> fallback_custom;
+ fallback_custom.push_back(default_font_msdf);
+ custom_font->set_fallbacks(fallback_custom);
+ }
+ default_fc_msdf->set_base_font(custom_font);
} else {
EditorSettings::get_singleton()->set_manually("interface/editor/main_font", "");
+ default_fc_msdf->set_base_font(default_font_msdf);
}
+ default_fc_msdf->set_spacing(TextServer::SPACING_TOP, -EDSCALE);
+ default_fc_msdf->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE);
- Ref<FontData> CustomFontSlanted;
- if (CustomFont.is_valid()) {
- CustomFontSlanted = CustomFont->duplicate();
- CustomFontSlanted->set_transform(Transform2D(1.0, 0.4, 0.0, 1.0, 0.0, 0.0));
- }
-
- /* Custom Bold font */
-
- String custom_font_path_bold = EditorSettings::get_singleton()->get("interface/editor/main_font_bold");
- Ref<FontData> CustomFontBold;
+ Ref<FontVariation> bold_fc;
+ bold_fc.instantiate();
if (custom_font_path_bold.length() > 0 && dir->file_exists(custom_font_path_bold)) {
- CustomFontBold = load_cached_external_font(custom_font_path_bold, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ Ref<FontFile> custom_font = load_external_font(custom_font_path_bold, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ {
+ TypedArray<Font> fallback_custom;
+ fallback_custom.push_back(default_font_bold);
+ custom_font->set_fallbacks(fallback_custom);
+ }
+ bold_fc->set_base_font(custom_font);
+ } else if (custom_font_path.length() > 0 && dir->file_exists(custom_font_path)) {
+ Ref<FontFile> custom_font = load_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ {
+ TypedArray<Font> fallback_custom;
+ fallback_custom.push_back(default_font_bold);
+ custom_font->set_fallbacks(fallback_custom);
+ }
+ bold_fc->set_base_font(custom_font);
+ bold_fc->set_variation_embolden(embolden_strength);
} else {
EditorSettings::get_singleton()->set_manually("interface/editor/main_font_bold", "");
+ bold_fc->set_base_font(default_font_bold);
}
+ bold_fc->set_spacing(TextServer::SPACING_TOP, -EDSCALE);
+ bold_fc->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE);
- if (CustomFont.is_valid() && !CustomFontBold.is_valid()) {
- CustomFontBold = CustomFont->duplicate();
- CustomFontBold->set_embolden(embolden_strength);
- }
-
- Ref<FontData> CustomFontBoldMSDF;
- if (custom_font_path.length() > 0 && dir->file_exists(custom_font_path)) {
- CustomFontBoldMSDF = load_cached_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
+ Ref<FontVariation> bold_fc_msdf;
+ bold_fc_msdf.instantiate();
+ if (custom_font_path_bold.length() > 0 && dir->file_exists(custom_font_path_bold)) {
+ Ref<FontFile> custom_font = load_external_font(custom_font_path_bold, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ {
+ TypedArray<Font> fallback_custom;
+ fallback_custom.push_back(default_font_bold_msdf);
+ custom_font->set_fallbacks(fallback_custom);
+ }
+ bold_fc_msdf->set_base_font(custom_font);
+ } else if (custom_font_path.length() > 0 && dir->file_exists(custom_font_path)) {
+ Ref<FontFile> custom_font = load_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ {
+ TypedArray<Font> fallback_custom;
+ fallback_custom.push_back(default_font_bold_msdf);
+ custom_font->set_fallbacks(fallback_custom);
+ }
+ bold_fc_msdf->set_base_font(custom_font);
+ bold_fc_msdf->set_variation_embolden(embolden_strength);
} else {
EditorSettings::get_singleton()->set_manually("interface/editor/main_font_bold", "");
+ bold_fc_msdf->set_base_font(default_font_bold_msdf);
}
+ bold_fc_msdf->set_spacing(TextServer::SPACING_TOP, -EDSCALE);
+ bold_fc_msdf->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE);
- /* Custom source code font */
-
- String custom_font_path_source = EditorSettings::get_singleton()->get("interface/editor/code_font");
- Ref<FontData> CustomFontSource;
+ Ref<FontVariation> mono_fc;
+ mono_fc.instantiate();
if (custom_font_path_source.length() > 0 && dir->file_exists(custom_font_path_source)) {
- CustomFontSource = load_cached_external_font(custom_font_path_source, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ Ref<FontFile> custom_font = load_external_font(custom_font_path_source, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ {
+ TypedArray<Font> fallback_custom;
+ fallback_custom.push_back(default_font_mono);
+ custom_font->set_fallbacks(fallback_custom);
+ }
+ mono_fc->set_base_font(custom_font);
} else {
EditorSettings::get_singleton()->set_manually("interface/editor/code_font", "");
+ mono_fc->set_base_font(default_font_mono);
}
+ mono_fc->set_spacing(TextServer::SPACING_TOP, -EDSCALE);
+ mono_fc->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE);
+
+ Ref<FontVariation> mono_other_fc = mono_fc->duplicate();
+
+ // Enable contextual alternates (coding ligatures) and custom features for the source editor font.
+ int ot_mode = EditorSettings::get_singleton()->get("interface/editor/code_font_contextual_ligatures");
+ switch (ot_mode) {
+ case 1: { // Disable ligatures.
+ Dictionary ftrs;
+ ftrs[TS->name_to_tag("calt")] = 0;
+ mono_fc->set_opentype_features(ftrs);
+ } break;
+ case 2: { // Custom.
+ Vector<String> subtag = String(EditorSettings::get_singleton()->get("interface/editor/code_font_custom_opentype_features")).split(",");
+ Dictionary ftrs;
+ for (int i = 0; i < subtag.size(); i++) {
+ Vector<String> subtag_a = subtag[i].split("=");
+ if (subtag_a.size() == 2) {
+ ftrs[TS->name_to_tag(subtag_a[0])] = subtag_a[1].to_int();
+ } else if (subtag_a.size() == 1) {
+ ftrs[TS->name_to_tag(subtag_a[0])] = 1;
+ }
+ }
+ mono_fc->set_opentype_features(ftrs);
+ } break;
+ default: { // Default.
+ Dictionary ftrs;
+ ftrs[TS->name_to_tag("calt")] = 1;
+ mono_fc->set_opentype_features(ftrs);
+ } break;
+ }
+
+ {
+ // Disable contextual alternates (coding ligatures).
+ Dictionary ftrs;
+ ftrs[TS->name_to_tag("calt")] = 0;
+ mono_other_fc->set_opentype_features(ftrs);
+ }
+
+ Ref<FontVariation> italic_fc = default_fc->duplicate();
+ italic_fc->set_variation_transform(Transform2D(1.0, 0.2, 0.0, 1.0, 0.0, 0.0));
- /* Noto Sans */
-
- Ref<FontData> DefaultFont = load_cached_internal_font(_font_NotoSans_Regular, _font_NotoSans_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> DefaultFontMSDF = load_cached_internal_font(_font_NotoSans_Regular, _font_NotoSans_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
- Ref<FontData> DefaultFontBold = load_cached_internal_font(_font_NotoSans_Bold, _font_NotoSans_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> DefaultFontBoldMSDF = load_cached_internal_font(_font_NotoSans_Bold, _font_NotoSans_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
- Ref<FontData> FontArabic = load_cached_internal_font(_font_NotoNaskhArabicUI_Regular, _font_NotoNaskhArabicUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontArabicBold = load_cached_internal_font(_font_NotoNaskhArabicUI_Bold, _font_NotoNaskhArabicUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontBengali = load_cached_internal_font(_font_NotoSansBengaliUI_Regular, _font_NotoSansBengaliUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontBengaliBold = load_cached_internal_font(_font_NotoSansBengaliUI_Bold, _font_NotoSansBengaliUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontDevanagari = load_cached_internal_font(_font_NotoSansDevanagariUI_Regular, _font_NotoSansDevanagariUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontDevanagariBold = load_cached_internal_font(_font_NotoSansDevanagariUI_Bold, _font_NotoSansDevanagariUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontGeorgian = load_cached_internal_font(_font_NotoSansGeorgian_Regular, _font_NotoSansGeorgian_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontGeorgianBold = load_cached_internal_font(_font_NotoSansGeorgian_Bold, _font_NotoSansGeorgian_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontHebrew = load_cached_internal_font(_font_NotoSansHebrew_Regular, _font_NotoSansHebrew_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontHebrewBold = load_cached_internal_font(_font_NotoSansHebrew_Bold, _font_NotoSansHebrew_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontMalayalam = load_cached_internal_font(_font_NotoSansMalayalamUI_Regular, _font_NotoSansMalayalamUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontMalayalamBold = load_cached_internal_font(_font_NotoSansMalayalamUI_Bold, _font_NotoSansMalayalamUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontOriya = load_cached_internal_font(_font_NotoSansOriyaUI_Regular, _font_NotoSansOriyaUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontOriyaBold = load_cached_internal_font(_font_NotoSansOriyaUI_Bold, _font_NotoSansOriyaUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontSinhala = load_cached_internal_font(_font_NotoSansSinhalaUI_Regular, _font_NotoSansSinhalaUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontSinhalaBold = load_cached_internal_font(_font_NotoSansSinhalaUI_Bold, _font_NotoSansSinhalaUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontTamil = load_cached_internal_font(_font_NotoSansTamilUI_Regular, _font_NotoSansTamilUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontTamilBold = load_cached_internal_font(_font_NotoSansTamilUI_Bold, _font_NotoSansTamilUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontTelugu = load_cached_internal_font(_font_NotoSansTeluguUI_Regular, _font_NotoSansTeluguUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontTeluguBold = load_cached_internal_font(_font_NotoSansTeluguUI_Bold, _font_NotoSansTeluguUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontThai = load_cached_internal_font(_font_NotoSansThaiUI_Regular, _font_NotoSansThaiUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontThaiBold = load_cached_internal_font(_font_NotoSansThaiUI_Bold, _font_NotoSansThaiUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
-
- Ref<FontData> DefaultFontSlanted = DefaultFont->duplicate();
- DefaultFontSlanted->set_transform(Transform2D(1.0, 0.3, 0.0, 1.0, 0.0, 0.0));
-
- /* Droid Sans */
-
- Ref<FontData> FontFallback = load_cached_internal_font(_font_DroidSansFallback, _font_DroidSansFallback_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Ref<FontData> FontJapanese = load_cached_internal_font(_font_DroidSansJapanese, _font_DroidSansJapanese_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
-
- Ref<FontData> FontFallbackBold = FontFallback->duplicate();
- FontFallbackBold->set_embolden(embolden_strength);
- Ref<FontData> FontJapaneseBold = FontJapanese->duplicate();
- FontJapaneseBold->set_embolden(embolden_strength);
-
- /* Hack */
-
- Ref<FontData> dfmono = load_cached_internal_font(_font_JetBrainsMono_Regular, _font_JetBrainsMono_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
- Dictionary opentype_features;
- opentype_features["calt"] = 0;
- dfmono->set_opentype_feature_overrides(opentype_features); // Disable contextual alternates (coding ligatures).
-
- // Default font
- MAKE_DEFAULT_FONT(df, String());
- p_theme->set_default_font(df); // Default theme font
+ // Setup theme.
+
+ p_theme->set_default_font(default_fc); // Default theme font config.
p_theme->set_default_font_size(default_font_size);
- p_theme->set_font_size("main_size", "EditorFonts", default_font_size);
- p_theme->set_font("main", "EditorFonts", df);
+ // Main font.
- MAKE_DEFAULT_FONT_MSDF(df_msdf, String());
- p_theme->set_font("main_msdf", "EditorFonts", df_msdf);
+ p_theme->set_font("main", "EditorFonts", default_fc);
+ p_theme->set_font("main_msdf", "EditorFonts", default_fc_msdf);
+ p_theme->set_font_size("main_size", "EditorFonts", default_font_size);
- // Bold font
- MAKE_BOLD_FONT(df_bold, String());
- MAKE_SLANTED_FONT(df_italic, String());
+ p_theme->set_font("bold", "EditorFonts", bold_fc);
+ p_theme->set_font("main_bold_msdf", "EditorFonts", bold_fc_msdf);
p_theme->set_font_size("bold_size", "EditorFonts", default_font_size);
- p_theme->set_font("bold", "EditorFonts", df_bold);
- MAKE_BOLD_FONT_MSDF(df_bold_msdf, String());
- p_theme->set_font("main_bold_msdf", "EditorFonts", df_bold_msdf);
+ // Title font.
- // Title font
+ p_theme->set_font("title", "EditorFonts", bold_fc);
p_theme->set_font_size("title_size", "EditorFonts", default_font_size + 1 * EDSCALE);
- p_theme->set_font("title", "EditorFonts", df_bold);
+ p_theme->set_font("main_button_font", "EditorFonts", bold_fc);
p_theme->set_font_size("main_button_font_size", "EditorFonts", default_font_size + 1 * EDSCALE);
- p_theme->set_font("main_button_font", "EditorFonts", df_bold);
- p_theme->set_font("font", "Label", df);
+ p_theme->set_font("font", "Label", default_fc);
p_theme->set_type_variation("HeaderSmall", "Label");
- p_theme->set_font("font", "HeaderSmall", df_bold);
+ p_theme->set_font("font", "HeaderSmall", bold_fc);
p_theme->set_font_size("font_size", "HeaderSmall", default_font_size);
p_theme->set_type_variation("HeaderMedium", "Label");
- p_theme->set_font("font", "HeaderMedium", df_bold);
+ p_theme->set_font("font", "HeaderMedium", bold_fc);
p_theme->set_font_size("font_size", "HeaderMedium", default_font_size + 1 * EDSCALE);
p_theme->set_type_variation("HeaderLarge", "Label");
- p_theme->set_font("font", "HeaderLarge", df_bold);
+ p_theme->set_font("font", "HeaderLarge", bold_fc);
p_theme->set_font_size("font_size", "HeaderLarge", default_font_size + 3 * EDSCALE);
// Documentation fonts
- String code_font_custom_variations = EditorSettings::get_singleton()->get("interface/editor/code_font_custom_variations");
- MAKE_SOURCE_FONT(df_code, code_font_custom_variations);
p_theme->set_font_size("doc_size", "EditorFonts", int(EDITOR_GET("text_editor/help/help_font_size")) * EDSCALE);
- p_theme->set_font("doc", "EditorFonts", df);
- p_theme->set_font("doc_bold", "EditorFonts", df_bold);
- p_theme->set_font("doc_italic", "EditorFonts", df_italic);
+ p_theme->set_font("doc", "EditorFonts", default_fc);
+ p_theme->set_font("doc_bold", "EditorFonts", bold_fc);
+ p_theme->set_font("doc_italic", "EditorFonts", italic_fc);
p_theme->set_font_size("doc_title_size", "EditorFonts", int(EDITOR_GET("text_editor/help/help_title_font_size")) * EDSCALE);
- p_theme->set_font("doc_title", "EditorFonts", df_bold);
+ p_theme->set_font("doc_title", "EditorFonts", bold_fc);
p_theme->set_font_size("doc_source_size", "EditorFonts", int(EDITOR_GET("text_editor/help/help_source_font_size")) * EDSCALE);
- p_theme->set_font("doc_source", "EditorFonts", df_code);
+ p_theme->set_font("doc_source", "EditorFonts", mono_fc);
p_theme->set_font_size("doc_keyboard_size", "EditorFonts", (int(EDITOR_GET("text_editor/help/help_source_font_size")) - 1) * EDSCALE);
- p_theme->set_font("doc_keyboard", "EditorFonts", df_code);
+ p_theme->set_font("doc_keyboard", "EditorFonts", mono_fc);
// Ruler font
p_theme->set_font_size("rulers_size", "EditorFonts", 8 * EDSCALE);
- p_theme->set_font("rulers", "EditorFonts", df);
+ p_theme->set_font("rulers", "EditorFonts", default_fc);
// Rotation widget font
p_theme->set_font_size("rotation_control_size", "EditorFonts", 14 * EDSCALE);
- p_theme->set_font("rotation_control", "EditorFonts", df);
+ p_theme->set_font("rotation_control", "EditorFonts", default_fc);
// Code font
p_theme->set_font_size("source_size", "EditorFonts", int(EDITOR_GET("interface/editor/code_font_size")) * EDSCALE);
- p_theme->set_font("source", "EditorFonts", df_code);
+ p_theme->set_font("source", "EditorFonts", mono_fc);
p_theme->set_font_size("expression_size", "EditorFonts", (int(EDITOR_GET("interface/editor/code_font_size")) - 1) * EDSCALE);
- p_theme->set_font("expression", "EditorFonts", df_code);
+ p_theme->set_font("expression", "EditorFonts", mono_other_fc);
p_theme->set_font_size("output_source_size", "EditorFonts", int(EDITOR_GET("run/output/font_size")) * EDSCALE);
- p_theme->set_font("output_source", "EditorFonts", df_code);
+ p_theme->set_font("output_source", "EditorFonts", mono_other_fc);
p_theme->set_font_size("status_source_size", "EditorFonts", default_font_size);
- p_theme->set_font("status_source", "EditorFonts", df_code);
+ p_theme->set_font("status_source", "EditorFonts", mono_other_fc);
}
diff --git a/editor/editor_fonts.h b/editor/editor_fonts.h
index e450af00da..c8b60b0198 100644
--- a/editor/editor_fonts.h
+++ b/editor/editor_fonts.h
@@ -35,4 +35,4 @@
void editor_register_fonts(Ref<Theme> p_theme);
-#endif
+#endif // EDITOR_FONTS_H
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index dba0864fcb..7fa4303145 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -63,6 +63,8 @@ void EditorHelp::_update_theme() {
doc_bold_font = get_theme_font(SNAME("doc_bold"), SNAME("EditorFonts"));
doc_title_font = get_theme_font(SNAME("doc_title"), SNAME("EditorFonts"));
doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
+
+ doc_title_font_size = get_theme_font_size(SNAME("doc_title_size"), SNAME("EditorFonts"));
}
void EditorHelp::_search(bool p_search_previous) {
@@ -73,6 +75,13 @@ void EditorHelp::_search(bool p_search_previous) {
}
}
+void EditorHelp::_class_desc_finished() {
+ if (scroll_to >= 0) {
+ class_desc->scroll_to_paragraph(scroll_to);
+ }
+ scroll_to = -1;
+}
+
void EditorHelp::_class_list_select(const String &p_select) {
_goto_desc(p_select);
}
@@ -116,6 +125,9 @@ void EditorHelp::_class_desc_select(const String &p_select) {
} else if (tag == "constant") {
topic = "class_constant";
table = &this->constant_line;
+ } else if (tag == "annotation") {
+ topic = "class_annotation";
+ table = &this->annotation_line;
} else if (tag == "theme_item") {
topic = "theme_item";
table = &this->theme_property_line;
@@ -126,7 +138,11 @@ void EditorHelp::_class_desc_select(const String &p_select) {
// Case order is important here to correctly handle edge cases like Variant.Type in @GlobalScope.
if (table->has(link)) {
// Found in the current page.
- class_desc->scroll_to_paragraph((*table)[link]);
+ if (class_desc->is_ready()) {
+ class_desc->scroll_to_paragraph((*table)[link]);
+ } else {
+ scroll_to = (*table)[link];
+ }
} else {
// Look for link in @GlobalScope.
// Note that a link like @GlobalScope.enum_name will not be found in this section, only enum_name will be.
@@ -170,7 +186,7 @@ void EditorHelp::_class_desc_resized(bool p_force_update_theme) {
// The margins increase as the width of the editor help container increases.
Ref<Font> doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
int font_size = get_theme_font_size(SNAME("doc_source_size"), SNAME("EditorFonts"));
- real_t char_width = doc_code_font->get_char_size('x', 0, font_size).width;
+ real_t char_width = doc_code_font->get_char_size('x', font_size).width;
const int new_display_margin = MAX(30 * EDSCALE, get_parent_anchorable_rect().size.width - char_width * 120 * EDSCALE) * 0.5;
if (display_margin != new_display_margin || p_force_update_theme) {
display_margin = new_display_margin;
@@ -261,7 +277,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
class_desc->add_text(" ");
}
- if (p_overview && !p_method.description.is_empty()) {
+ if (p_overview && !p_method.description.strip_edges().is_empty()) {
class_desc->push_meta("@method " + p_method.name);
}
@@ -269,7 +285,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
_add_text(p_method.name);
class_desc->pop();
- if (p_overview && !p_method.description.is_empty()) {
+ if (p_overview && !p_method.description.strip_edges().is_empty()) {
class_desc->pop(); //meta
}
@@ -351,8 +367,9 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) {
void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods, bool &r_method_descrpitons) {
Ref<Font> doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // title font size
+ class_desc->pop(); // title font
+ class_desc->pop(); // title color
class_desc->add_newline();
class_desc->push_font(doc_code_font);
@@ -398,7 +415,7 @@ void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods,
class_desc->pop(); //cell
}
- if (!m[i].description.is_empty() || m[i].errors_returned.size() > 0) {
+ if (!m[i].description.strip_edges().is_empty() || m[i].errors_returned.size() > 0) {
r_method_descrpitons = true;
}
@@ -420,8 +437,9 @@ void EditorHelp::_update_method_descriptions(const DocData::ClassDoc p_classdoc,
Ref<Font> doc_bold_font = get_theme_font(SNAME("doc_bold"), SNAME("EditorFonts"));
Ref<Font> doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts"));
String link_color_text = title_color.to_html(false);
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // title font size
+ class_desc->pop(); // title font
+ class_desc->pop(); // title color
class_desc->add_newline();
class_desc->add_newline();
@@ -512,16 +530,29 @@ void EditorHelp::_update_doc() {
DocData::ClassDoc cd = doc->class_list[edited_class]; // Make a copy, so we can sort without worrying.
+ Ref<Texture2D> icon;
+ if (has_theme_icon(edited_class, SNAME("EditorIcons"))) {
+ icon = get_theme_icon(edited_class, SNAME("EditorIcons"));
+ } else if (ClassDB::class_exists(edited_class) && ClassDB::is_parent_class(edited_class, "Object")) {
+ icon = get_theme_icon(SNAME("Object"), SNAME("EditorIcons"));
+ } else {
+ icon = get_theme_icon(SNAME("ArrowRight"), SNAME("EditorIcons"));
+ }
+
// Class name
section_line.push_back(Pair<String, int>(TTR("Top"), 0));
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->push_color(title_color);
class_desc->add_text(TTR("Class:") + " ");
+ class_desc->add_image(icon, icon->get_width(), icon->get_height());
+ class_desc->add_text(" ");
class_desc->push_color(headline_color);
_add_text(edited_class);
- class_desc->pop();
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // color
+ class_desc->pop(); // color
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
class_desc->add_newline();
// Inheritance tree
@@ -583,7 +614,7 @@ void EditorHelp::_update_doc() {
class_desc->add_newline();
// Brief description
- if (!cd.brief_description.is_empty()) {
+ if (!cd.brief_description.strip_edges().is_empty()) {
class_desc->push_color(text_color);
class_desc->push_font(doc_bold_font);
class_desc->push_indent(1);
@@ -597,14 +628,16 @@ void EditorHelp::_update_doc() {
}
// Class description
- if (!cd.description.is_empty()) {
+ if (!cd.description.strip_edges().is_empty()) {
section_line.push_back(Pair<String, int>(TTR("Description"), class_desc->get_paragraph_count() - 2));
description_line = class_desc->get_paragraph_count() - 2;
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Description"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->add_newline();
class_desc->add_newline();
@@ -624,9 +657,11 @@ void EditorHelp::_update_doc() {
if (cd.tutorials.size()) {
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Online Tutorials"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->push_indent(1);
class_desc->push_font(doc_code_font);
@@ -660,7 +695,7 @@ void EditorHelp::_update_doc() {
if (cd.is_script_doc) {
has_properties = false;
for (int i = 0; i < cd.properties.size(); i++) {
- if (cd.properties[i].name.begins_with("_") && cd.properties[i].description.is_empty()) {
+ if (cd.properties[i].name.begins_with("_") && cd.properties[i].description.strip_edges().is_empty()) {
continue;
}
has_properties = true;
@@ -672,9 +707,11 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Properties"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Properties"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->add_newline();
class_desc->push_font(doc_code_font);
@@ -684,7 +721,7 @@ void EditorHelp::_update_doc() {
for (int i = 0; i < cd.properties.size(); i++) {
// Ignore undocumented private.
- if (cd.properties[i].name.begins_with("_") && cd.properties[i].description.is_empty()) {
+ if (cd.properties[i].name.begins_with("_") && cd.properties[i].description.strip_edges().is_empty()) {
continue;
}
property_line[cd.properties[i].name] = class_desc->get_paragraph_count() - 2; //gets overridden if description
@@ -709,7 +746,7 @@ void EditorHelp::_update_doc() {
describe = true;
}
- if (!cd.properties[i].description.is_empty()) {
+ if (!cd.properties[i].description.strip_edges().is_empty()) {
describe = true;
}
@@ -822,7 +859,7 @@ void EditorHelp::_update_doc() {
}
}
// Ignore undocumented non virtual private.
- if (cd.methods[i].name.begins_with("_") && cd.methods[i].description.is_empty() && !cd.methods[i].qualifiers.contains("virtual")) {
+ if (cd.methods[i].name.begins_with("_") && cd.methods[i].description.strip_edges().is_empty() && !cd.methods[i].qualifiers.contains("virtual")) {
continue;
}
methods.push_back(cd.methods[i]);
@@ -836,6 +873,7 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Constructors"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Constructors"));
_update_method_list(cd.constructors, constructor_descriptions);
}
@@ -847,6 +885,7 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Methods"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Methods"));
_update_method_list(methods, method_descriptions);
}
@@ -859,6 +898,7 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Operators"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Operators"));
_update_method_list(cd.operators, operator_descriptions);
}
@@ -868,9 +908,11 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Theme Properties"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Theme Properties"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->add_newline();
class_desc->add_newline();
@@ -894,13 +936,15 @@ void EditorHelp::_update_doc() {
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
if (data_type_names.has(theme_data_type)) {
class_desc->add_text(data_type_names[theme_data_type]);
} else {
class_desc->add_text("");
}
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->add_newline();
class_desc->add_newline();
@@ -935,7 +979,7 @@ void EditorHelp::_update_doc() {
class_desc->pop(); // monofont
// Theme item description.
- if (!cd.theme_properties[i].description.is_empty()) {
+ if (!cd.theme_properties[i].description.strip_edges().is_empty()) {
class_desc->push_font(doc_font);
class_desc->push_color(comment_color);
class_desc->push_indent(1);
@@ -962,9 +1006,11 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Signals"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Signals"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->add_newline();
class_desc->add_newline();
@@ -975,8 +1021,8 @@ void EditorHelp::_update_doc() {
signal_line[cd.signals[i].name] = class_desc->get_paragraph_count() - 2; // Gets overridden if description.
class_desc->push_font(doc_code_font); // monofont
- class_desc->push_color(headline_color);
_add_bulletpoint();
+ class_desc->push_color(headline_color);
_add_text(cd.signals[i].name);
class_desc->pop();
class_desc->push_color(symbol_color);
@@ -1005,7 +1051,7 @@ void EditorHelp::_update_doc() {
class_desc->add_text(")");
class_desc->pop();
class_desc->pop(); // end monofont
- if (!cd.signals[i].description.is_empty()) {
+ if (!cd.signals[i].description.strip_edges().is_empty()) {
class_desc->push_font(doc_font);
class_desc->push_color(comment_color);
class_desc->push_indent(1);
@@ -1036,7 +1082,7 @@ void EditorHelp::_update_doc() {
enums[cd.constants[i].enumeration].push_back(cd.constants[i]);
} else {
// Ignore undocumented private.
- if (cd.constants[i].name.begins_with("_") && cd.constants[i].description.is_empty()) {
+ if (cd.constants[i].name.begins_with("_") && cd.constants[i].description.strip_edges().is_empty()) {
continue;
}
constants.push_back(cd.constants[i]);
@@ -1048,9 +1094,11 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Enumerations"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Enumerations"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->push_indent(1);
class_desc->add_newline();
@@ -1060,7 +1108,11 @@ void EditorHelp::_update_doc() {
class_desc->push_font(doc_code_font);
class_desc->push_color(title_color);
- class_desc->add_text("enum ");
+ if (E.value.size() && E.value[0].is_bitfield) {
+ class_desc->add_text("flags ");
+ } else {
+ class_desc->add_text("enum ");
+ }
class_desc->pop();
String e = E.key;
if ((e.get_slice_count(".") > 1) && (e.get_slice(".", 0) == edited_class)) {
@@ -1106,8 +1158,8 @@ void EditorHelp::_update_doc() {
constant_line[enum_list[i].name] = class_desc->get_paragraph_count() - 2;
class_desc->push_font(doc_code_font);
- class_desc->push_color(headline_color);
_add_bulletpoint();
+ class_desc->push_color(headline_color);
_add_text(enum_list[i].name);
class_desc->pop();
class_desc->push_color(symbol_color);
@@ -1152,9 +1204,11 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Constants"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Constants"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->push_indent(1);
class_desc->add_newline();
@@ -1189,7 +1243,7 @@ void EditorHelp::_update_doc() {
class_desc->add_newline();
- if (!constants[i].description.is_empty()) {
+ if (!constants[i].description.strip_edges().is_empty()) {
class_desc->push_font(doc_font);
class_desc->push_color(comment_color);
_add_text(DTR(constants[i].description));
@@ -1208,14 +1262,122 @@ void EditorHelp::_update_doc() {
}
}
+ // Annotations
+ if (!cd.annotations.is_empty()) {
+ if (sort_methods) {
+ cd.annotations.sort();
+ }
+
+ section_line.push_back(Pair<String, int>(TTR("Annotations"), class_desc->get_paragraph_count() - 2));
+ class_desc->push_color(title_color);
+ class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
+ class_desc->add_text(TTR("Annotations"));
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
+
+ class_desc->add_newline();
+ class_desc->add_newline();
+
+ class_desc->push_indent(1);
+
+ for (int i = 0; i < cd.annotations.size(); i++) {
+ annotation_line[cd.annotations[i].name] = class_desc->get_paragraph_count() - 2; // Gets overridden if description.
+
+ class_desc->push_font(doc_code_font); // monofont
+ _add_bulletpoint();
+ class_desc->push_color(headline_color);
+ _add_text(cd.annotations[i].name);
+ class_desc->pop();
+
+ if (cd.annotations[i].arguments.size() > 0) {
+ class_desc->push_color(symbol_color);
+ class_desc->add_text("(");
+ class_desc->pop();
+ for (int j = 0; j < cd.annotations[i].arguments.size(); j++) {
+ class_desc->push_color(text_color);
+ if (j > 0) {
+ class_desc->add_text(", ");
+ }
+
+ _add_text(cd.annotations[i].arguments[j].name);
+ class_desc->add_text(": ");
+ _add_type(cd.annotations[i].arguments[j].type);
+ if (!cd.annotations[i].arguments[j].default_value.is_empty()) {
+ class_desc->push_color(symbol_color);
+ class_desc->add_text(" = ");
+ class_desc->pop();
+ _add_text(cd.annotations[i].arguments[j].default_value);
+ }
+
+ class_desc->pop();
+ }
+
+ if (cd.annotations[i].qualifiers.contains("vararg")) {
+ class_desc->push_color(text_color);
+ if (cd.annotations[i].arguments.size()) {
+ class_desc->add_text(", ");
+ }
+ class_desc->push_color(symbol_color);
+ class_desc->add_text("...");
+ class_desc->pop();
+ class_desc->pop();
+ }
+
+ class_desc->push_color(symbol_color);
+ class_desc->add_text(")");
+ class_desc->pop();
+ }
+
+ if (!cd.annotations[i].qualifiers.is_empty()) {
+ class_desc->push_color(qualifier_color);
+ class_desc->add_text(" ");
+ _add_text(cd.annotations[i].qualifiers);
+ class_desc->pop();
+ }
+
+ class_desc->pop(); // end monofont
+
+ if (!cd.annotations[i].description.strip_edges().is_empty()) {
+ class_desc->push_font(doc_font);
+ class_desc->push_color(comment_color);
+ class_desc->push_indent(1);
+ _add_text(DTR(cd.annotations[i].description));
+ class_desc->pop(); // indent
+ class_desc->pop();
+ class_desc->pop(); // font
+ } else {
+ class_desc->push_indent(1);
+ class_desc->add_image(get_theme_icon(SNAME("Error"), SNAME("EditorIcons")));
+ class_desc->add_text(" ");
+ class_desc->push_color(comment_color);
+ if (cd.is_script_doc) {
+ class_desc->append_text(TTR("There is currently no description for this annotation."));
+ } else {
+ class_desc->append_text(TTR("There is currently no description for this annotation. Please help us by [color=$color][url=$url]contributing one[/url][/color]!").replace("$url", CONTRIBUTE_URL).replace("$color", link_color_text));
+ }
+ class_desc->pop();
+ class_desc->pop(); // indent
+ }
+ class_desc->add_newline();
+ class_desc->add_newline();
+ }
+
+ class_desc->pop();
+ class_desc->add_newline();
+ }
+
// Property descriptions
if (property_descr) {
section_line.push_back(Pair<String, int>(TTR("Property Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Property Descriptions"));
- class_desc->pop();
- class_desc->pop();
+ class_desc->pop(); // font size
+ class_desc->pop(); // font
+ class_desc->pop(); // color
class_desc->add_newline();
class_desc->add_newline();
@@ -1379,6 +1541,7 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Constructor Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Constructor Descriptions"));
_update_method_descriptions(cd, cd.constructors, "constructor");
}
@@ -1388,6 +1551,7 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Method Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Method Descriptions"));
_update_method_descriptions(cd, methods, "method");
}
@@ -1397,6 +1561,7 @@ void EditorHelp::_update_doc() {
section_line.push_back(Pair<String, int>(TTR("Operator Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
+ class_desc->push_font_size(doc_title_font_size);
class_desc->add_text(TTR("Operator Descriptions"));
_update_method_descriptions(cd, cd.operators, "operator");
}
@@ -1449,6 +1614,10 @@ void EditorHelp::_help_callback(const String &p_topic) {
if (constant_line.has(name)) {
line = constant_line[name];
}
+ } else if (what == "class_annotation") {
+ if (annotation_line.has(name)) {
+ line = annotation_line[name];
+ }
} else if (what == "class_global") {
if (constant_line.has(name)) {
line = constant_line[name];
@@ -1469,7 +1638,11 @@ void EditorHelp::_help_callback(const String &p_topic) {
}
}
- class_desc->call_deferred(SNAME("scroll_to_paragraph"), line);
+ if (class_desc->is_ready()) {
+ class_desc->call_deferred(SNAME("scroll_to_paragraph"), line);
+ } else {
+ scroll_to = line;
+ }
}
static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
@@ -1545,6 +1718,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
List<String> tag_stack;
bool code_tag = false;
+ bool codeblock_tag = false;
int pos = 0;
while (pos < bbcode.length()) {
@@ -1556,7 +1730,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
if (brk_pos > pos) {
String text = bbcode.substr(pos, brk_pos - pos);
- if (!code_tag) {
+ if (!code_tag && !codeblock_tag) {
text = text.replace("\n", "\n\n");
}
p_rt->add_text(text);
@@ -1570,7 +1744,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
if (brk_end == -1) {
String text = bbcode.substr(brk_pos, bbcode.length() - brk_pos);
- if (!code_tag) {
+ if (!code_tag && !codeblock_tag) {
text = text.replace("\n", "\n\n");
}
p_rt->add_text(text);
@@ -1594,38 +1768,69 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
if (tag != "/img") {
p_rt->pop();
if (code_tag) {
+ // Pop both color and background color.
+ p_rt->pop();
+ p_rt->pop();
+ } else if (codeblock_tag) {
+ // Pop color, cell and table.
+ p_rt->pop();
+ p_rt->pop();
p_rt->pop();
}
}
code_tag = false;
+ codeblock_tag = false;
- } else if (code_tag) {
+ } else if (code_tag || codeblock_tag) {
p_rt->add_text("[");
pos = brk_pos + 1;
- } else if (tag.begins_with("method ") || tag.begins_with("member ") || tag.begins_with("signal ") || tag.begins_with("enum ") || tag.begins_with("constant ") || tag.begins_with("theme_item ")) {
+ } else if (tag.begins_with("method ") || tag.begins_with("member ") || tag.begins_with("signal ") || tag.begins_with("enum ") || tag.begins_with("constant ") || tag.begins_with("annotation ") || tag.begins_with("theme_item ")) {
const int tag_end = tag.find(" ");
const String link_tag = tag.substr(0, tag_end);
const String link_target = tag.substr(tag_end + 1, tag.length()).lstrip(" ");
+ // Use monospace font with translucent colored background color to make clickable references
+ // easier to distinguish from inline code and other text.
p_rt->push_font(doc_code_font);
p_rt->push_color(link_color);
+ p_rt->push_bgcolor(code_color * Color(1, 1, 1, 0.15));
p_rt->push_meta("@" + link_tag + " " + link_target);
p_rt->add_text(link_target + (tag.begins_with("method ") ? "()" : ""));
p_rt->pop();
p_rt->pop();
p_rt->pop();
+ p_rt->pop();
+ pos = brk_end + 1;
+
+ } else if (tag.begins_with("param ")) {
+ const int tag_end = tag.find(" ");
+ const String param_name = tag.substr(tag_end + 1, tag.length()).lstrip(" ");
+
+ // Use monospace font with translucent background color to make code easier to distinguish from other text.
+ p_rt->push_font(doc_code_font);
+ p_rt->push_bgcolor(Color(0.5, 0.5, 0.5, 0.15));
+ p_rt->push_color(code_color);
+ p_rt->add_text(param_name);
+ p_rt->pop();
+ p_rt->pop();
+ p_rt->pop();
+
pos = brk_end + 1;
} else if (doc->class_list.has(tag)) {
// Class reference tag such as [Node2D] or [SceneTree].
+ // Use monospace font with translucent colored background color to make clickable references
+ // easier to distinguish from inline code and other text.
p_rt->push_font(doc_code_font);
p_rt->push_color(link_color);
+ p_rt->push_bgcolor(code_color * Color(1, 1, 1, 0.15));
p_rt->push_meta("#" + tag);
p_rt->add_text(tag);
p_rt->pop();
p_rt->pop();
p_rt->pop();
+ p_rt->pop();
pos = brk_end + 1;
} else if (tag == "b") {
@@ -1638,16 +1843,31 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
p_rt->push_font(doc_italic_font);
pos = brk_end + 1;
tag_stack.push_front(tag);
- } else if (tag == "code" || tag == "codeblock") {
- // Use monospace font.
+ } else if (tag == "code") {
+ // Use monospace font with translucent background color to make code easier to distinguish from other text.
p_rt->push_font(doc_code_font);
+ p_rt->push_bgcolor(Color(0.5, 0.5, 0.5, 0.15));
p_rt->push_color(code_color);
code_tag = true;
pos = brk_end + 1;
tag_stack.push_front(tag);
+ } else if (tag == "codeblock") {
+ // Use monospace font with translucent background color to make code easier to distinguish from other text.
+ // Use a single-column table with cell row background color instead of `[bgcolor]`.
+ // This makes the background color highlight cover the entire block, rather than individual lines.
+ p_rt->push_font(doc_code_font);
+ p_rt->push_table(1);
+ p_rt->push_cell();
+ p_rt->set_cell_row_background_color(Color(0.5, 0.5, 0.5, 0.15), Color(0.5, 0.5, 0.5, 0.15));
+ p_rt->set_cell_padding(Rect2(10 * EDSCALE, 10 * EDSCALE, 10 * EDSCALE, 10 * EDSCALE));
+ p_rt->push_color(code_color);
+ codeblock_tag = true;
+ pos = brk_end + 1;
+ tag_stack.push_front(tag);
} else if (tag == "kbd") {
- // Use keyboard font with custom color.
+ // Use keyboard font with custom color and background color.
p_rt->push_font(doc_kbd_font);
+ p_rt->push_bgcolor(Color(0.5, 0.5, 0.5, 0.15));
p_rt->push_color(kbd_color);
code_tag = true; // Though not strictly a code tag, logic is similar.
pos = brk_end + 1;
@@ -1824,7 +2044,11 @@ Vector<Pair<String, int>> EditorHelp::get_sections() {
void EditorHelp::scroll_to_section(int p_section_index) {
_wait_for_thread();
int line = section_line[p_section_index].second;
- class_desc->scroll_to_paragraph(line);
+ if (class_desc->is_ready()) {
+ class_desc->scroll_to_paragraph(line);
+ } else {
+ scroll_to = line;
+ }
}
void EditorHelp::popup_search() {
@@ -1877,9 +2101,10 @@ EditorHelp::EditorHelp() {
class_desc->set_v_size_flags(SIZE_EXPAND_FILL);
class_desc->add_theme_color_override("selection_color", get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.4));
+ class_desc->connect("finished", callable_mp(this, &EditorHelp::_class_desc_finished));
class_desc->connect("meta_clicked", callable_mp(this, &EditorHelp::_class_desc_select));
class_desc->connect("gui_input", callable_mp(this, &EditorHelp::_class_desc_input));
- class_desc->connect("resized", callable_mp(this, &EditorHelp::_class_desc_resized), varray(false));
+ class_desc->connect("resized", callable_mp(this, &EditorHelp::_class_desc_resized).bind(false));
_class_desc_resized(false);
// Added second so it opens at the bottom so it won't offset the entire widget.
diff --git a/editor/editor_help.h b/editor/editor_help.h
index b5410f6880..9f8da938f1 100644
--- a/editor/editor_help.h
+++ b/editor/editor_help.h
@@ -110,6 +110,7 @@ class EditorHelp : public VBoxContainer {
HashMap<String, int> property_line;
HashMap<String, int> theme_property_line;
HashMap<String, int> constant_line;
+ HashMap<String, int> annotation_line;
HashMap<String, int> enum_line;
HashMap<String, HashMap<String, int>> enum_values_line;
int description_line = 0;
@@ -140,6 +141,10 @@ class EditorHelp : public VBoxContainer {
Ref<Font> doc_title_font;
Ref<Font> doc_code_font;
+ int doc_title_font_size;
+
+ int scroll_to = -1;
+
void _update_theme();
void _help_callback(const String &p_topic);
@@ -152,6 +157,7 @@ class EditorHelp : public VBoxContainer {
void _add_bulletpoint();
+ void _class_desc_finished();
void _class_list_select(const String &p_select);
void _class_desc_select(const String &p_select);
void _class_desc_input(const Ref<InputEvent> &p_input);
diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp
index f454ba2c41..297d1226e3 100644
--- a/editor/editor_help_search.cpp
+++ b/editor/editor_help_search.cpp
@@ -34,6 +34,7 @@
#include "editor/editor_feature_profile.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
void EditorHelpSearch::_update_icons() {
search_box->set_right_icon(results_tree->get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
@@ -185,7 +186,7 @@ EditorHelpSearch::EditorHelpSearch() {
set_title(TTR("Search Help"));
get_ok_button()->set_disabled(true);
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
// Split search and results area.
VBoxContainer *vbox = memnew(VBoxContainer);
@@ -250,7 +251,7 @@ EditorHelpSearch::EditorHelpSearch() {
results_tree->set_hide_root(true);
results_tree->set_select_mode(Tree::SELECT_ROW);
results_tree->connect("item_activated", callable_mp(this, &EditorHelpSearch::_confirmed));
- results_tree->connect("item_selected", callable_mp((BaseButton *)get_ok_button(), &BaseButton::set_disabled), varray(false));
+ results_tree->connect("item_selected", callable_mp((BaseButton *)get_ok_button(), &BaseButton::set_disabled).bind(false));
vbox->add_child(results_tree, true);
}
diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp
index 92ea162962..855f4b1366 100644
--- a/editor/editor_inspector.cpp
+++ b/editor/editor_inspector.cpp
@@ -39,6 +39,7 @@
#include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
+#include "editor/plugins/script_editor_plugin.h"
#include "multi_node_edit.h"
#include "scene/gui/center_container.h"
#include "scene/property_utils.h"
@@ -62,7 +63,7 @@ Size2 EditorProperty::get_minimum_size() const {
Size2 ms;
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree"));
- ms.height = font->get_height(font_size);
+ ms.height = font->get_height(font_size) + 4 * EDSCALE;
for (int i = 0; i < get_child_count(); i++) {
Control *c = Object::cast_to<Control>(get_child(i));
@@ -132,7 +133,7 @@ void EditorProperty::_notification(int p_what) {
int child_room = size.width * (1.0 - split_ratio);
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree"));
- int height = font->get_height(font_size);
+ int height = font->get_height(font_size) + 4 * EDSCALE;
bool no_children = true;
//compute room needed
@@ -236,30 +237,24 @@ void EditorProperty::_notification(int p_what) {
case NOTIFICATION_DRAW: {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree"));
- Color dark_color = get_theme_color(SNAME("dark_color_2"), SNAME("Editor"));
bool rtl = is_layout_rtl();
Size2 size = get_size();
if (bottom_editor) {
- size.height = bottom_editor->get_offset(SIDE_TOP);
+ size.height = bottom_editor->get_offset(SIDE_TOP) - get_theme_constant(SNAME("v_separation"));
} else if (label_reference) {
size.height = label_reference->get_size().height;
}
- Ref<StyleBox> sb;
- if (selected) {
- sb = get_theme_stylebox(SNAME("bg_selected"));
- } else {
- sb = get_theme_stylebox(SNAME("bg"));
- }
-
+ Ref<StyleBox> sb = get_theme_stylebox(selected ? SNAME("bg_selected") : SNAME("bg"));
draw_style_box(sb, Rect2(Vector2(), size));
+ Ref<StyleBox> bg_stylebox = get_theme_stylebox(SNAME("child_bg"));
if (draw_top_bg && right_child_rect != Rect2()) {
- draw_rect(right_child_rect, dark_color);
+ draw_style_box(bg_stylebox, right_child_rect);
}
if (bottom_child_rect != Rect2()) {
- draw_rect(bottom_child_rect, dark_color);
+ draw_style_box(bg_stylebox, bottom_child_rect);
}
Color color;
@@ -328,7 +323,7 @@ void EditorProperty::_notification(int p_what) {
Ref<Texture2D> pinned_icon = get_theme_icon(SNAME("Pin"), SNAME("EditorIcons"));
int margin_w = get_theme_constant(SNAME("hseparator"), SNAME("Tree")) * 2;
int total_icon_w = margin_w + pinned_icon->get_width();
- int text_w = font->get_string_size(label, font_size, rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT, text_limit - total_icon_w).x;
+ int text_w = font->get_string_size(label, rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT, text_limit - total_icon_w, font_size).x;
int y = (size.height - pinned_icon->get_height()) / 2;
if (rtl) {
draw_texture(pinned_icon, Vector2(size.width - ofs - text_w - total_icon_w, y), color);
@@ -412,10 +407,14 @@ Object *EditorProperty::get_edited_object() {
return object;
}
-StringName EditorProperty::get_edited_property() {
+StringName EditorProperty::get_edited_property() const {
return property;
}
+void EditorProperty::set_doc_path(const String &p_doc_path) {
+ doc_path = p_doc_path;
+}
+
void EditorProperty::update_property() {
GDVIRTUAL_CALL(_update_property);
}
@@ -433,26 +432,30 @@ bool EditorProperty::is_read_only() const {
}
Variant EditorPropertyRevert::get_property_revert_value(Object *p_object, const StringName &p_property, bool *r_is_valid) {
- if (p_object->has_method("property_can_revert") && p_object->call("property_can_revert", p_property)) {
+ if (p_object->property_can_revert(p_property)) {
if (r_is_valid) {
*r_is_valid = true;
}
- return p_object->call("property_get_revert", p_property);
+ return p_object->property_get_revert(p_property);
}
return PropertyUtils::get_property_default_value(p_object, p_property, r_is_valid);
}
-bool EditorPropertyRevert::can_property_revert(Object *p_object, const StringName &p_property) {
+bool EditorPropertyRevert::can_property_revert(Object *p_object, const StringName &p_property, const Variant *p_custom_current_value) {
bool is_valid_revert = false;
Variant revert_value = EditorPropertyRevert::get_property_revert_value(p_object, p_property, &is_valid_revert);
if (!is_valid_revert) {
return false;
}
- Variant current_value = p_object->get(p_property);
+ Variant current_value = p_custom_current_value ? *p_custom_current_value : p_object->get(p_property);
return PropertyUtils::is_property_value_different(current_value, revert_value);
}
+StringName EditorProperty::_get_revert_property() const {
+ return property;
+}
+
void EditorProperty::update_revert_and_pin_status() {
if (property == StringName()) {
return; //no property, so nothing to do
@@ -464,9 +467,13 @@ void EditorProperty::update_revert_and_pin_status() {
CRASH_COND(!node);
new_pinned = node->is_property_pinned(property);
}
- bool new_can_revert = EditorPropertyRevert::can_property_revert(object, property) && !is_read_only();
+ Variant current = object->get(_get_revert_property());
+ bool new_can_revert = EditorPropertyRevert::can_property_revert(object, property, &current) && !is_read_only();
if (new_can_revert != can_revert || new_pinned != pinned) {
+ if (new_can_revert != can_revert) {
+ emit_signal(SNAME("property_can_revert_changed"), property, new_can_revert);
+ }
can_revert = new_can_revert;
pinned = new_pinned;
update();
@@ -550,7 +557,7 @@ void EditorProperty::_focusable_focused(int p_index) {
}
void EditorProperty::add_focusable(Control *p_control) {
- p_control->connect("focus_entered", callable_mp(this, &EditorProperty::_focusable_focused), varray(focusables.size()));
+ p_control->connect("focus_entered", callable_mp(this, &EditorProperty::_focusable_focused).bind(focusables.size()));
focusables.push_back(p_control);
}
@@ -723,11 +730,15 @@ void EditorProperty::set_bottom_editor(Control *p_control) {
bottom_editor = p_control;
}
+Variant EditorProperty::_get_cache_value(const StringName &p_prop, bool &r_valid) const {
+ return object->get(p_prop, &r_valid);
+}
+
bool EditorProperty::is_cache_valid() const {
if (object) {
for (const KeyValue<StringName, Variant> &E : cache) {
bool valid;
- Variant value = object->get(E.key, &valid);
+ Variant value = _get_cache_value(E.key, valid);
if (!valid || value != E.value) {
return false;
}
@@ -739,7 +750,7 @@ void EditorProperty::update_cache() {
cache.clear();
if (object && property != StringName()) {
bool valid;
- Variant value = object->get(property, &valid);
+ Variant value = _get_cache_value(property, valid);
if (valid) {
cache[property] = value;
}
@@ -776,6 +787,9 @@ void EditorProperty::expand_all_folding() {
void EditorProperty::collapse_all_folding() {
}
+void EditorProperty::expand_revertable() {
+}
+
void EditorProperty::set_selectable(bool p_selectable) {
selectable = p_selectable;
}
@@ -903,6 +917,10 @@ void EditorProperty::menu_option(int p_option) {
emit_signal(SNAME("property_pinned"), property, !pinned);
update();
} break;
+ case MENU_OPEN_DOCUMENTATION: {
+ ScriptEditor::get_singleton()->goto_help(doc_path);
+ EditorNode::get_singleton()->set_visible_editor(EditorNode::EDITOR_SCRIPT);
+ } break;
}
}
@@ -954,6 +972,7 @@ void EditorProperty::_bind_methods() {
ADD_SIGNAL(MethodInfo("property_keyed_with_value", PropertyInfo(Variant::STRING_NAME, "property"), PropertyInfo(Variant::NIL, "value", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NIL_IS_VARIANT)));
ADD_SIGNAL(MethodInfo("property_checked", PropertyInfo(Variant::STRING_NAME, "property"), PropertyInfo(Variant::BOOL, "checked")));
ADD_SIGNAL(MethodInfo("property_pinned", PropertyInfo(Variant::STRING_NAME, "property"), PropertyInfo(Variant::BOOL, "pinned")));
+ ADD_SIGNAL(MethodInfo("property_can_revert_changed", PropertyInfo(Variant::STRING_NAME, "property"), PropertyInfo(Variant::BOOL, "can_revert")));
ADD_SIGNAL(MethodInfo("resource_selected", PropertyInfo(Variant::STRING, "path"), PropertyInfo(Variant::OBJECT, "resource", PROPERTY_HINT_RESOURCE_TYPE, "Resource")));
ADD_SIGNAL(MethodInfo("object_id_selected", PropertyInfo(Variant::STRING_NAME, "property"), PropertyInfo(Variant::INT, "id")));
ADD_SIGNAL(MethodInfo("selected", PropertyInfo(Variant::STRING, "path"), PropertyInfo(Variant::INT, "focusable_idx")));
@@ -982,20 +1001,25 @@ void EditorProperty::_update_popup() {
add_child(menu);
menu->connect("id_pressed", callable_mp(this, &EditorProperty::menu_option));
}
- menu->add_shortcut(ED_GET_SHORTCUT("property_editor/copy_property"), MENU_COPY_PROPERTY);
- menu->add_shortcut(ED_GET_SHORTCUT("property_editor/paste_property"), MENU_PASTE_PROPERTY);
- menu->add_shortcut(ED_GET_SHORTCUT("property_editor/copy_property_path"), MENU_COPY_PROPERTY_PATH);
+ menu->add_icon_shortcut(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), ED_GET_SHORTCUT("property_editor/copy_property"), MENU_COPY_PROPERTY);
+ menu->add_icon_shortcut(get_theme_icon(SNAME("ActionPaste"), SNAME("EditorIcons")), ED_GET_SHORTCUT("property_editor/paste_property"), MENU_PASTE_PROPERTY);
+ menu->add_icon_shortcut(get_theme_icon(SNAME("CopyNodePath"), SNAME("EditorIcons")), ED_GET_SHORTCUT("property_editor/copy_property_path"), MENU_COPY_PROPERTY_PATH);
menu->set_item_disabled(MENU_PASTE_PROPERTY, is_read_only());
if (!pin_hidden) {
menu->add_separator();
if (can_pin) {
- menu->add_check_item(TTR("Pin value"), MENU_PIN_VALUE);
+ menu->add_icon_check_item(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")), TTR("Pin Value"), MENU_PIN_VALUE);
menu->set_item_checked(menu->get_item_index(MENU_PIN_VALUE), pinned);
- menu->set_item_tooltip(menu->get_item_index(MENU_PIN_VALUE), TTR("Pinning a value forces it to be saved even if it's equal to the default."));
} else {
- menu->add_check_item(vformat(TTR("Pin value [Disabled because '%s' is editor-only]"), property), MENU_PIN_VALUE);
+ menu->add_icon_check_item(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")), vformat(TTR("Pin Value [Disabled because '%s' is editor-only]"), property), MENU_PIN_VALUE);
menu->set_item_disabled(menu->get_item_index(MENU_PIN_VALUE), true);
}
+ menu->set_item_tooltip(menu->get_item_index(MENU_PIN_VALUE), TTR("Pinning a value forces it to be saved even if it's equal to the default."));
+ }
+
+ if (!doc_path.is_empty()) {
+ menu->add_separator();
+ menu->add_icon_item(get_theme_icon(SNAME("Help"), SNAME("EditorIcons")), TTR("Open Documentation"), MENU_OPEN_DOCUMENTATION);
}
}
@@ -1075,7 +1099,7 @@ void EditorInspectorPlugin::_bind_methods() {
void EditorInspectorCategory::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_DRAW: {
- Ref<StyleBox> sb = get_theme_stylebox(SNAME("prop_category_style"), SNAME("Editor"));
+ Ref<StyleBox> sb = get_theme_stylebox(SNAME("bg"));
draw_style_box(sb, Rect2(Vector2(), get_size()));
@@ -1084,7 +1108,7 @@ void EditorInspectorCategory::_notification(int p_what) {
int hs = get_theme_constant(SNAME("h_separation"), SNAME("Tree"));
- int w = font->get_string_size(label, font_size).width;
+ int w = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width;
if (icon.is_valid()) {
w += hs + icon->get_width();
}
@@ -1208,12 +1232,15 @@ void EditorInspectorSection::_notification(int p_what) {
// Get the section header font.
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts"));
int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts"));
+ Color font_color = get_theme_color(SNAME("font_color"), SNAME("Editor"));
// Get the right direction arrow texture, if the section is foldable.
Ref<Texture2D> arrow;
+ bool folded = foldable;
if (foldable) {
if (object->editor_is_section_unfolded(section)) {
arrow = get_theme_icon(SNAME("arrow"), SNAME("Tree"));
+ folded = false;
} else {
if (is_layout_rtl()) {
arrow = get_theme_icon(SNAME("arrow_collapsed_mirrored"), SNAME("Tree"));
@@ -1257,28 +1284,71 @@ void EditorInspectorSection::_notification(int p_what) {
}
draw_rect(header_rect, c);
- // Draw header title and folding arrow.
- const int arrow_margin = 2;
- const int arrow_width = arrow.is_valid() ? arrow->get_width() : 0;
- Color color = get_theme_color(SNAME("font_color"));
- float text_width = get_size().width - Math::round(arrow_width + arrow_margin * EDSCALE) - section_indent;
- Point2 text_offset = Point2(0, font->get_ascent(font_size) + (header_height - font->get_height(font_size)) / 2);
- HorizontalAlignment text_align = HORIZONTAL_ALIGNMENT_LEFT;
- if (rtl) {
- text_align = HORIZONTAL_ALIGNMENT_RIGHT;
- } else {
- text_offset.x = section_indent + Math::round(arrow_width + arrow_margin * EDSCALE);
- }
- draw_string(font, text_offset.floor(), label, text_align, text_width, font_size, color);
+ // Draw header title, folding arrow and coutn of revertable properties.
+ {
+ int separation = Math::round(2 * EDSCALE);
- if (arrow.is_valid()) {
- Point2 arrow_position = Point2(0, (header_height - arrow->get_height()) / 2);
+ int margin_start = section_indent + separation;
+ int margin_end = separation;
+
+ // - Arrow.
+ if (arrow.is_valid()) {
+ Point2 arrow_position;
+ if (rtl) {
+ arrow_position.x = get_size().width - (margin_start + arrow->get_width());
+ } else {
+ arrow_position.x = margin_start;
+ }
+ arrow_position.y = (header_height - arrow->get_height()) / 2;
+ draw_texture(arrow, arrow_position);
+ margin_start += arrow->get_width();
+ }
+
+ int available = get_size().width - (margin_start + margin_end);
+
+ // - Count of revertable properties.
+ String num_revertable_str;
+ int num_revertable_width = 0;
+ if (folded && revertable_properties.size()) {
+ int label_width = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, available, font_size, TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_CONSTRAIN_ELLIPSIS).x;
+
+ Ref<Font> light_font = get_theme_font(SNAME("main"), SNAME("EditorFonts"));
+ int light_font_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts"));
+ Color light_font_color = get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"));
+
+ // Can we fit the long version of the revertable count text?
+ if (revertable_properties.size() == 1) {
+ num_revertable_str = "(1 change)";
+ } else {
+ num_revertable_str = vformat("(%d changes)", revertable_properties.size());
+ }
+ num_revertable_width = light_font->get_string_size(num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, TextServer::JUSTIFICATION_NONE).x;
+ if (label_width + separation + num_revertable_width > available) {
+ // We'll have to use the short version.
+ num_revertable_str = vformat("(%d)", revertable_properties.size());
+ num_revertable_width = light_font->get_string_size(num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, TextServer::JUSTIFICATION_NONE).x;
+ }
+
+ Point2 text_offset = Point2(
+ margin_end,
+ light_font->get_ascent(light_font_size) + (header_height - light_font->get_height(light_font_size)) / 2);
+ if (!rtl) {
+ text_offset.x = get_size().width - (text_offset.x + num_revertable_width);
+ }
+ draw_string(light_font, text_offset, num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, light_font_color, TextServer::JUSTIFICATION_NONE);
+ margin_end += num_revertable_width + separation;
+ available -= num_revertable_width + separation;
+ }
+
+ // - Label.
+ Point2 text_offset = Point2(
+ margin_start,
+ font->get_ascent(font_size) + (header_height - font->get_height(font_size)) / 2);
if (rtl) {
- arrow_position.x = get_size().width - section_indent - arrow->get_width() - Math::round(arrow_margin * EDSCALE);
- } else {
- arrow_position.x = section_indent + Math::round(arrow_margin * EDSCALE);
+ text_offset.x = margin_end;
}
- draw_texture(arrow, arrow_position.floor());
+ HorizontalAlignment text_align = rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT;
+ draw_string(font, text_offset, label, text_align, available, font_size, font_color, TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_CONSTRAIN_ELLIPSIS);
}
// Draw dropping highlight.
@@ -1454,6 +1524,22 @@ void EditorInspectorSection::fold() {
update();
}
+bool EditorInspectorSection::has_revertable_properties() const {
+ return !revertable_properties.is_empty();
+}
+
+void EditorInspectorSection::property_can_revert_changed(const String &p_path, bool p_can_revert) {
+ bool had_revertable_properties = has_revertable_properties();
+ if (p_can_revert) {
+ revertable_properties.insert(p_path);
+ } else {
+ revertable_properties.erase(p_path);
+ }
+ if (has_revertable_properties() != had_revertable_properties) {
+ update();
+ }
+}
+
void EditorInspectorSection::_bind_methods() {
ClassDB::bind_method(D_METHOD("setup", "section", "label", "object", "bg_color", "foldable"), &EditorInspectorSection::setup);
ClassDB::bind_method(D_METHOD("get_vbox"), &EditorInspectorSection::get_vbox);
@@ -1527,12 +1613,11 @@ void EditorInspectorArray::_rmb_popup_id_pressed(int p_id) {
_clear_array();
break;
case OPTION_RESIZE_ARRAY:
- new_size = count;
- new_size_line_edit->set_text(Variant(new_size));
+ new_size_spin_box->set_value(count);
resize_dialog->get_ok_button()->set_disabled(true);
- resize_dialog->popup_centered();
- new_size_line_edit->grab_focus();
- new_size_line_edit->select_all();
+ resize_dialog->popup_centered(Size2i(250, 0) * EDSCALE);
+ new_size_spin_box->get_line_edit()->grab_focus();
+ new_size_spin_box->get_line_edit()->select_all();
break;
default:
break;
@@ -1591,7 +1676,7 @@ void EditorInspectorArray::_panel_gui_input(Ref<InputEvent> p_event, int p_index
Ref<InputEventMouseButton> mb = p_event;
if (mb.is_valid()) {
- if (mb->get_button_index() == MouseButton::RIGHT) {
+ if (movable && mb->get_button_index() == MouseButton::RIGHT) {
popup_array_index_pressed = begin_array_index + p_index;
rmb_popup->set_item_disabled(OPTION_MOVE_UP, popup_array_index_pressed == 0);
rmb_popup->set_item_disabled(OPTION_MOVE_DOWN, popup_array_index_pressed == count - 1);
@@ -1616,53 +1701,122 @@ void EditorInspectorArray::_move_element(int p_element_index, int p_to_pos) {
// Call the function.
Callable move_function = EditorNode::get_singleton()->get_editor_data().get_move_array_element_function(object->get_class_name());
if (move_function.is_valid()) {
- Variant args[] = { (Object *)undo_redo, object, array_element_prefix, p_element_index, p_to_pos };
+ Variant args[] = { undo_redo.ptr(), object, array_element_prefix, p_element_index, p_to_pos };
const Variant *args_p[] = { &args[0], &args[1], &args[2], &args[3], &args[4] };
Variant return_value;
Callable::CallError call_error;
- move_function.call(args_p, 5, return_value, call_error);
+ move_function.callp(args_p, 5, return_value, call_error);
} else {
WARN_PRINT(vformat("Could not find a function to move arrays elements for class %s. Register a move element function using EditorData::add_move_array_element_function", object->get_class_name()));
}
} else if (mode == MODE_USE_COUNT_PROPERTY) {
ERR_FAIL_COND(p_to_pos < -1 || p_to_pos > count);
- List<PropertyInfo> object_property_list;
- object->get_property_list(&object_property_list);
- Array properties_as_array = _extract_properties_as_array(object_property_list);
- properties_as_array.resize(count);
+ if (!swap_method.is_empty()) {
+ ERR_FAIL_COND(!object->has_method(swap_method));
- // For undoing things
- undo_redo->add_undo_property(object, count_property, properties_as_array.size());
- for (int i = 0; i < (int)properties_as_array.size(); i++) {
- Dictionary d = Dictionary(properties_as_array[i]);
- Array keys = d.keys();
- for (int j = 0; j < keys.size(); j++) {
- String key = keys[j];
- undo_redo->add_undo_property(object, vformat(key, i), d[key]);
- }
- }
+ // Swap method was provided, use it.
+ if (p_element_index < 0) {
+ // Add an element at position
+ undo_redo->add_do_property(object, count_property, count + 1);
+ if (p_to_pos >= 0) {
+ for (int i = count; i > p_to_pos; i--) {
+ undo_redo->add_do_method(object, swap_method, i, i - 1);
+ }
+ for (int i = p_to_pos; i < count; i++) {
+ undo_redo->add_undo_method(object, swap_method, i, i + 1);
+ }
+ }
+ undo_redo->add_undo_property(object, count_property, count);
+
+ } else if (p_to_pos < 0) {
+ if (count > 0) {
+ // Remove element at position
+ undo_redo->add_undo_property(object, count_property, count);
+
+ List<PropertyInfo> object_property_list;
+ object->get_property_list(&object_property_list);
+
+ for (int i = p_element_index; i < count - 1; i++) {
+ undo_redo->add_do_method(object, swap_method, i, i + 1);
+ }
+
+ for (int i = count; i > p_element_index; i--) {
+ undo_redo->add_undo_method(object, swap_method, i, i - 1);
+ }
- if (p_element_index < 0) {
- // Add an element.
- properties_as_array.insert(p_to_pos < 0 ? properties_as_array.size() : p_to_pos, Dictionary());
- } else if (p_to_pos < 0) {
- // Delete the element.
- properties_as_array.remove_at(p_element_index);
+ String erase_prefix = String(array_element_prefix) + itos(p_element_index);
+
+ for (const PropertyInfo &E : object_property_list) {
+ if (E.name.begins_with(erase_prefix)) {
+ undo_redo->add_undo_property(object, E.name, object->get(E.name));
+ }
+ }
+
+ undo_redo->add_do_property(object, count_property, count - 1);
+ }
+ } else {
+ if (p_to_pos > p_element_index) {
+ p_to_pos--;
+ }
+
+ if (p_to_pos < p_element_index) {
+ for (int i = p_element_index; i > p_to_pos; i--) {
+ undo_redo->add_do_method(object, swap_method, i, i - 1);
+ }
+ for (int i = p_to_pos; i < p_element_index; i++) {
+ undo_redo->add_undo_method(object, swap_method, i, i + 1);
+ }
+ } else if (p_to_pos > p_element_index) {
+ for (int i = p_element_index; i < p_to_pos; i++) {
+ undo_redo->add_do_method(object, swap_method, i, i + 1);
+ }
+
+ for (int i = p_to_pos; i > p_element_index; i--) {
+ undo_redo->add_undo_method(object, swap_method, i, i - 1);
+ }
+ }
+ }
} else {
- // Move the element.
- properties_as_array.insert(p_to_pos, properties_as_array[p_element_index].duplicate());
- properties_as_array.remove_at(p_to_pos < p_element_index ? p_element_index + 1 : p_element_index);
- }
+ // Use standard properties.
+ List<PropertyInfo> object_property_list;
+ object->get_property_list(&object_property_list);
- // Change the array size then set the properties.
- undo_redo->add_do_property(object, count_property, properties_as_array.size());
- for (int i = 0; i < (int)properties_as_array.size(); i++) {
- Dictionary d = properties_as_array[i];
- Array keys = d.keys();
- for (int j = 0; j < keys.size(); j++) {
- String key = keys[j];
- undo_redo->add_do_property(object, vformat(key, i), d[key]);
+ Array properties_as_array = _extract_properties_as_array(object_property_list);
+ properties_as_array.resize(count);
+
+ // For undoing things
+ undo_redo->add_undo_property(object, count_property, properties_as_array.size());
+ for (int i = 0; i < (int)properties_as_array.size(); i++) {
+ Dictionary d = Dictionary(properties_as_array[i]);
+ Array keys = d.keys();
+ for (int j = 0; j < keys.size(); j++) {
+ String key = keys[j];
+ undo_redo->add_undo_property(object, vformat(key, i), d[key]);
+ }
+ }
+
+ if (p_element_index < 0) {
+ // Add an element.
+ properties_as_array.insert(p_to_pos < 0 ? properties_as_array.size() : p_to_pos, Dictionary());
+ } else if (p_to_pos < 0) {
+ // Delete the element.
+ properties_as_array.remove_at(p_element_index);
+ } else {
+ // Move the element.
+ properties_as_array.insert(p_to_pos, properties_as_array[p_element_index].duplicate());
+ properties_as_array.remove_at(p_to_pos < p_element_index ? p_element_index + 1 : p_element_index);
+ }
+
+ // Change the array size then set the properties.
+ undo_redo->add_do_property(object, count_property, properties_as_array.size());
+ for (int i = 0; i < (int)properties_as_array.size(); i++) {
+ Dictionary d = properties_as_array[i];
+ Array keys = d.keys();
+ for (int j = 0; j < keys.size(); j++) {
+ String key = keys[j];
+ undo_redo->add_do_property(object, vformat(key, i), d[key]);
+ }
}
}
}
@@ -1691,11 +1845,11 @@ void EditorInspectorArray::_clear_array() {
// Call the function.
Callable move_function = EditorNode::get_singleton()->get_editor_data().get_move_array_element_function(object->get_class_name());
if (move_function.is_valid()) {
- Variant args[] = { (Object *)undo_redo, object, array_element_prefix, i, -1 };
+ Variant args[] = { undo_redo.ptr(), object, array_element_prefix, i, -1 };
const Variant *args_p[] = { &args[0], &args[1], &args[2], &args[3], &args[4] };
Variant return_value;
Callable::CallError call_error;
- move_function.call(args_p, 5, return_value, call_error);
+ move_function.callp(args_p, 5, return_value, call_error);
} else {
WARN_PRINT(vformat("Could not find a function to move arrays elements for class %s. Register a move element function using EditorData::add_move_array_element_function", object->get_class_name()));
}
@@ -1744,11 +1898,11 @@ void EditorInspectorArray::_resize_array(int p_size) {
// Call the function.
Callable move_function = EditorNode::get_singleton()->get_editor_data().get_move_array_element_function(object->get_class_name());
if (move_function.is_valid()) {
- Variant args[] = { (Object *)undo_redo, object, array_element_prefix, -1, -1 };
+ Variant args[] = { undo_redo.ptr(), object, array_element_prefix, -1, -1 };
const Variant *args_p[] = { &args[0], &args[1], &args[2], &args[3], &args[4] };
Variant return_value;
Callable::CallError call_error;
- move_function.call(args_p, 5, return_value, call_error);
+ move_function.callp(args_p, 5, return_value, call_error);
} else {
WARN_PRINT(vformat("Could not find a function to move arrays elements for class %s. Register a move element function using EditorData::add_move_array_element_function", object->get_class_name()));
}
@@ -1763,11 +1917,11 @@ void EditorInspectorArray::_resize_array(int p_size) {
// Call the function.
Callable move_function = EditorNode::get_singleton()->get_editor_data().get_move_array_element_function(object->get_class_name());
if (move_function.is_valid()) {
- Variant args[] = { (Object *)undo_redo, object, array_element_prefix, i, -1 };
+ Variant args[] = { undo_redo.ptr(), object, array_element_prefix, i, -1 };
const Variant *args_p[] = { &args[0], &args[1], &args[2], &args[3], &args[4] };
Variant return_value;
Callable::CallError call_error;
- move_function.call(args_p, 5, return_value, call_error);
+ move_function.callp(args_p, 5, return_value, call_error);
} else {
WARN_PRINT(vformat("Could not find a function to move arrays elements for class %s. Register a move element function using EditorData::add_move_array_element_function", object->get_class_name()));
}
@@ -1858,36 +2012,21 @@ int EditorInspectorArray::_drop_position() const {
return -1;
}
-void EditorInspectorArray::_new_size_line_edit_text_changed(String p_text) {
- bool valid = false;
- if (p_text.is_valid_int()) {
- int val = p_text.to_int();
- if (val > 0 && val != count) {
- valid = true;
- }
+void EditorInspectorArray::_resize_dialog_confirmed() {
+ if (int(new_size_spin_box->get_value()) == count) {
+ return;
}
- resize_dialog->get_ok_button()->set_disabled(!valid);
+
+ resize_dialog->hide();
+ _resize_array(int(new_size_spin_box->get_value()));
}
-void EditorInspectorArray::_new_size_line_edit_text_submitted(String p_text) {
- bool valid = false;
- if (p_text.is_valid_int()) {
- int val = p_text.to_int();
- if (val > 0 && val != count) {
- new_size = val;
- valid = true;
- }
- }
- if (valid) {
- resize_dialog->hide();
- _resize_array(new_size);
- } else {
- new_size_line_edit->set_text(Variant(new_size));
- }
+void EditorInspectorArray::_new_size_spin_box_value_changed(float p_value) {
+ resize_dialog->get_ok_button()->set_disabled(int(p_value) == count);
}
-void EditorInspectorArray::_resize_dialog_confirmed() {
- _new_size_line_edit_text_submitted(new_size_line_edit->get_text());
+void EditorInspectorArray::_new_size_spin_box_text_submitted(String p_text) {
+ _resize_dialog_confirmed();
}
void EditorInspectorArray::_setup() {
@@ -1902,6 +2041,20 @@ void EditorInspectorArray::_setup() {
page = CLAMP(page, 0, max_page);
}
+ Ref<Font> numbers_font;
+ int numbers_min_w = 0;
+
+ if (numbered) {
+ numbers_font = get_theme_font(SNAME("bold"), SNAME("EditorFonts"));
+ int digits_found = count;
+ String test;
+ while (digits_found) {
+ test += "8";
+ digits_found /= 10;
+ }
+ numbers_min_w = numbers_font->get_string_size(test).width;
+ }
+
for (int i = 0; i < (int)array_elements.size(); i++) {
ArrayElement &ae = array_elements[i];
@@ -1914,8 +2067,8 @@ void EditorInspectorArray::_setup() {
ae.panel->set_tooltip(vformat(TTR("Element %d: %s%d*"), i, array_element_prefix, i));
ae.panel->connect("focus_entered", callable_mp((CanvasItem *)ae.panel, &PanelContainer::update));
ae.panel->connect("focus_exited", callable_mp((CanvasItem *)ae.panel, &PanelContainer::update));
- ae.panel->connect("draw", callable_bind(callable_mp(this, &EditorInspectorArray::_panel_draw), i));
- ae.panel->connect("gui_input", callable_bind(callable_mp(this, &EditorInspectorArray::_panel_gui_input), i));
+ ae.panel->connect("draw", callable_mp(this, &EditorInspectorArray::_panel_draw).bind(i));
+ ae.panel->connect("gui_input", callable_mp(this, &EditorInspectorArray::_panel_gui_input).bind(i));
ae.panel->add_theme_style_override(SNAME("panel"), i % 2 ? odd_style : even_style);
elements_vbox->add_child(ae.panel);
@@ -1936,19 +2089,38 @@ void EditorInspectorArray::_setup() {
ae.margin->add_child(ae.hbox);
// Move button.
- ae.move_texture_rect = memnew(TextureRect);
- ae.move_texture_rect->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
- ae.move_texture_rect->set_default_cursor_shape(Control::CURSOR_MOVE);
- if (is_inside_tree()) {
- ae.move_texture_rect->set_texture(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons")));
+ if (movable) {
+ ae.move_texture_rect = memnew(TextureRect);
+ ae.move_texture_rect->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
+ ae.move_texture_rect->set_default_cursor_shape(Control::CURSOR_MOVE);
+
+ if (is_inside_tree()) {
+ ae.move_texture_rect->set_texture(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons")));
+ }
+ ae.hbox->add_child(ae.move_texture_rect);
+ }
+
+ if (numbered) {
+ ae.number = memnew(Label);
+ ae.number->add_theme_font_override("font", numbers_font);
+ ae.number->set_custom_minimum_size(Size2(numbers_min_w, 0));
+ ae.number->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT);
+ ae.number->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
+ ae.number->set_text(itos(begin_array_index + i));
+ ae.hbox->add_child(ae.number);
}
- ae.hbox->add_child(ae.move_texture_rect);
// Right vbox.
ae.vbox = memnew(VBoxContainer);
ae.vbox->set_h_size_flags(SIZE_EXPAND_FILL);
ae.vbox->set_v_size_flags(SIZE_EXPAND_FILL);
ae.hbox->add_child(ae.vbox);
+
+ ae.erase = memnew(Button);
+ ae.erase->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
+ ae.erase->set_v_size_flags(SIZE_SHRINK_CENTER);
+ ae.erase->connect("pressed", callable_mp(this, &EditorInspectorArray::_remove_item).bind(begin_array_index + i));
+ ae.hbox->add_child(ae.erase);
}
// Hide/show the add button.
@@ -1963,7 +2135,14 @@ void EditorInspectorArray::_setup() {
}
}
+void EditorInspectorArray::_remove_item(int p_index) {
+ _move_element(p_index, -1);
+}
+
Variant EditorInspectorArray::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
+ if (!movable) {
+ return Variant();
+ }
int index = p_from->get_meta("index");
Dictionary dict;
dict["type"] = "property_array_element";
@@ -1985,6 +2164,9 @@ void EditorInspectorArray::drop_data_fw(const Point2 &p_point, const Variant &p_
}
bool EditorInspectorArray::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
+ if (!movable) {
+ return false;
+ }
// First, update drawing.
control_dropping->update();
@@ -2009,18 +2191,24 @@ void EditorInspectorArray::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
Color color = get_theme_color(SNAME("dark_color_1"), SNAME("Editor"));
- odd_style->set_bg_color(color.lightened(0.15));
- even_style->set_bg_color(color.darkened(0.15));
+ odd_style->set_bg_color(color.darkened(-0.08));
+ even_style->set_bg_color(color.darkened(0.08));
for (int i = 0; i < (int)array_elements.size(); i++) {
ArrayElement &ae = array_elements[i];
- ae.move_texture_rect->set_texture(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons")));
+ if (ae.move_texture_rect) {
+ ae.move_texture_rect->set_texture(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons")));
+ }
Size2 min_size = get_theme_stylebox(SNAME("Focus"), SNAME("EditorStyles"))->get_minimum_size();
ae.margin->add_theme_constant_override("margin_left", min_size.x / 2);
ae.margin->add_theme_constant_override("margin_top", min_size.y / 2);
ae.margin->add_theme_constant_override("margin_right", min_size.x / 2);
ae.margin->add_theme_constant_override("margin_bottom", min_size.y / 2);
+
+ if (ae.erase) {
+ ae.erase->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
+ }
}
add_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
@@ -2052,27 +2240,35 @@ void EditorInspectorArray::_bind_methods() {
ADD_SIGNAL(MethodInfo("page_change_request"));
}
-void EditorInspectorArray::set_undo_redo(UndoRedo *p_undo_redo) {
+void EditorInspectorArray::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
undo_redo = p_undo_redo;
}
-void EditorInspectorArray::setup_with_move_element_function(Object *p_object, String p_label, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable) {
+void EditorInspectorArray::setup_with_move_element_function(Object *p_object, String p_label, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable, bool p_movable, bool p_numbered, int p_page_length, const String &p_add_item_text) {
count_property = "";
mode = MODE_USE_MOVE_ARRAY_ELEMENT_FUNCTION;
array_element_prefix = p_array_element_prefix;
page = p_page;
+ movable = p_movable;
+ page_length = p_page_length;
+ numbered = p_numbered;
EditorInspectorSection::setup(String(p_array_element_prefix) + "_array", p_label, p_object, p_bg_color, p_foldable, 0);
_setup();
}
-void EditorInspectorArray::setup_with_count_property(Object *p_object, String p_label, const StringName &p_count_property, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable) {
+void EditorInspectorArray::setup_with_count_property(Object *p_object, String p_label, const StringName &p_count_property, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable, bool p_movable, bool p_numbered, int p_page_length, const String &p_add_item_text, const String &p_swap_method) {
count_property = p_count_property;
mode = MODE_USE_COUNT_PROPERTY;
array_element_prefix = p_array_element_prefix;
page = p_page;
+ movable = p_movable;
+ page_length = p_page_length;
+ numbered = p_numbered;
+ swap_method = p_swap_method;
+ add_button->set_text(p_add_item_text);
EditorInspectorSection::setup(String(count_property) + "_array", p_label, p_object, p_bg_color, p_foldable, 0);
_setup();
@@ -2130,10 +2326,11 @@ EditorInspectorArray::EditorInspectorArray() {
VBoxContainer *resize_dialog_vbox = memnew(VBoxContainer);
resize_dialog->add_child(resize_dialog_vbox);
- new_size_line_edit = memnew(LineEdit);
- new_size_line_edit->connect("text_changed", callable_mp(this, &EditorInspectorArray::_new_size_line_edit_text_changed));
- new_size_line_edit->connect("text_submitted", callable_mp(this, &EditorInspectorArray::_new_size_line_edit_text_submitted));
- resize_dialog_vbox->add_margin_child(TTRC("New Size:"), new_size_line_edit);
+ new_size_spin_box = memnew(SpinBox);
+ new_size_spin_box->set_max(16384);
+ new_size_spin_box->connect("value_changed", callable_mp(this, &EditorInspectorArray::_new_size_spin_box_value_changed));
+ new_size_spin_box->get_line_edit()->connect("text_submitted", callable_mp(this, &EditorInspectorArray::_new_size_spin_box_text_submitted));
+ resize_dialog_vbox->add_margin_child(TTRC("New Size:"), new_size_spin_box);
vbox->connect("visibility_changed", callable_mp(this, &EditorInspectorArray::_vbox_visibility_changed));
}
@@ -2305,7 +2502,7 @@ Button *EditorInspector::create_inspector_action_button(const String &p_text) {
return button;
}
-void EditorInspector::set_undo_redo(UndoRedo *p_undo_redo) {
+void EditorInspector::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
undo_redo = p_undo_redo;
}
@@ -2313,7 +2510,7 @@ String EditorInspector::get_selected_path() const {
return property_selected;
}
-void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, Ref<EditorInspectorPlugin> ped) {
+void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, EditorInspectorSection *p_section, Ref<EditorInspectorPlugin> ped) {
for (const EditorInspectorPlugin::AddedEditor &F : ped->added_editors) {
EditorProperty *ep = Object::cast_to<EditorProperty>(F.property_editor);
current_vbox->add_child(F.property_editor);
@@ -2322,14 +2519,14 @@ void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, Ref<Edit
ep->object = object;
ep->connect("property_changed", callable_mp(this, &EditorInspector::_property_changed));
ep->connect("property_keyed", callable_mp(this, &EditorInspector::_property_keyed));
- ep->connect("property_deleted", callable_mp(this, &EditorInspector::_property_deleted), varray(), CONNECT_DEFERRED);
+ ep->connect("property_deleted", callable_mp(this, &EditorInspector::_property_deleted), CONNECT_DEFERRED);
ep->connect("property_keyed_with_value", callable_mp(this, &EditorInspector::_property_keyed_with_value));
ep->connect("property_checked", callable_mp(this, &EditorInspector::_property_checked));
ep->connect("property_pinned", callable_mp(this, &EditorInspector::_property_pinned));
ep->connect("selected", callable_mp(this, &EditorInspector::_property_selected));
ep->connect("multiple_properties_changed", callable_mp(this, &EditorInspector::_multiple_properties_changed));
- ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), varray(), CONNECT_DEFERRED);
- ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), varray(), CONNECT_DEFERRED);
+ ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), CONNECT_DEFERRED);
+ ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), CONNECT_DEFERRED);
if (F.properties.size()) {
if (F.properties.size() == 1) {
@@ -2353,6 +2550,10 @@ void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, Ref<Edit
}
}
+ if (p_section) {
+ ep->connect("property_can_revert_changed", callable_mp(p_section, &EditorInspectorSection::property_can_revert_changed));
+ }
+
ep->set_read_only(read_only);
ep->update_property();
ep->_update_pin_flags();
@@ -2449,7 +2650,6 @@ void EditorInspector::update_tree() {
List<PropertyInfo> plist;
object->get_property_list(&plist, true);
- _update_script_class_properties(*object, plist);
HashMap<VBoxContainer *, HashMap<String, VBoxContainer *>> vbox_per_path;
HashMap<String, EditorInspectorArray *> editor_inspector_array_per_prefix;
@@ -2459,9 +2659,11 @@ void EditorInspector::update_tree() {
// Get the lists of editors to add the beginning.
for (Ref<EditorInspectorPlugin> &ped : valid_plugins) {
ped->parse_begin(object);
- _parse_added_editors(main_vbox, ped);
+ _parse_added_editors(main_vbox, nullptr, ped);
}
+ StringName doc_name;
+
// Get the lists of editors for properties.
for (List<PropertyInfo>::Element *E_property = plist.front(); E_property; E_property = E_property->next()) {
PropertyInfo &p = E_property->get();
@@ -2532,17 +2734,28 @@ void EditorInspector::update_tree() {
category_vbox = nullptr; //reset
String type = p.name;
+ String label = p.name;
+ doc_name = p.name;
// Set the category icon.
if (!ClassDB::class_exists(type) && !ScriptServer::is_global_class(type) && p.hint_string.length() && FileAccess::exists(p.hint_string)) {
// If we have a category inside a script, search for the first script with a valid icon.
Ref<Script> script = ResourceLoader::load(p.hint_string, "Script");
StringName base_type;
+ StringName name;
if (script.is_valid()) {
base_type = script->get_instance_base_type();
+ name = EditorNode::get_editor_data().script_class_get_name(script->get_path());
+ Vector<DocData::ClassDoc> docs = script->get_documentation();
+ if (!docs.is_empty()) {
+ doc_name = docs[0].name;
+ }
+ if (name != StringName() && label != name) {
+ label = name;
+ }
}
while (script.is_valid()) {
- StringName name = EditorNode::get_editor_data().script_class_get_name(script->get_path());
+ name = EditorNode::get_editor_data().script_class_get_name(script->get_path());
String icon_path = EditorNode::get_editor_data().script_class_get_icon_path(name);
if (name != StringName() && icon_path.length()) {
category->icon = ResourceLoader::load(icon_path, "Texture");
@@ -2561,28 +2774,27 @@ void EditorInspector::update_tree() {
}
// Set the category label.
- category->label = type;
+ category->label = label;
if (use_doc_hints) {
// Sets the category tooltip to show documentation.
- StringName type2 = p.name;
- if (!class_descr_cache.has(type2)) {
+ if (!class_descr_cache.has(doc_name)) {
String descr;
DocTools *dd = EditorHelp::get_doc_data();
- HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(type2);
+ HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(doc_name);
if (E) {
descr = DTR(E->value.brief_description);
}
- class_descr_cache[type2] = descr;
+ class_descr_cache[doc_name] = descr;
}
- category->set_tooltip(p.name + "::" + (class_descr_cache[type2].is_empty() ? "" : class_descr_cache[type2]));
+ category->set_tooltip(p.name + "::" + (class_descr_cache[doc_name].is_empty() ? "" : class_descr_cache[doc_name]));
}
// Add editors at the start of a category.
for (Ref<EditorInspectorPlugin> &ped : valid_plugins) {
ped->parse_category(object, p.name);
- _parse_added_editors(main_vbox, ped);
+ _parse_added_editors(main_vbox, nullptr, ped);
}
continue;
@@ -2774,7 +2986,7 @@ void EditorInspector::update_tree() {
// Add editors at the start of a group.
for (Ref<EditorInspectorPlugin> &ped : valid_plugins) {
ped->parse_group(object, path);
- _parse_added_editors(section->get_vbox(), ped);
+ _parse_added_editors(section->get_vbox(), section, ped);
}
vbox_per_path[root_vbox][acc_path] = section->get_vbox();
@@ -2795,26 +3007,52 @@ void EditorInspector::update_tree() {
StringName array_element_prefix;
Color c = sscolor;
c.a /= level;
+
+ Vector<String> class_name_components = String(p.class_name).split(",");
+
+ int page_size = 5;
+ bool movable = true;
+ bool numbered = false;
+ bool foldable = use_folding;
+ String add_button_text;
+ String swap_method;
+ for (int i = (p.type == Variant::NIL ? 1 : 2); i < class_name_components.size(); i++) {
+ if (class_name_components[i].begins_with("page_size") && class_name_components[i].get_slice_count("=") == 2) {
+ page_size = class_name_components[i].get_slice("=", 1).to_int();
+ } else if (class_name_components[i].begins_with("add_button_text") && class_name_components[i].get_slice_count("=") == 2) {
+ add_button_text = class_name_components[i].get_slice("=", 1).strip_edges();
+ } else if (class_name_components[i] == "static") {
+ movable = false;
+ } else if (class_name_components[i] == "numbered") {
+ numbered = true;
+ } else if (class_name_components[i] == "unfoldable") {
+ foldable = false;
+ } else if (class_name_components[i].begins_with("swap_method") && class_name_components[i].get_slice_count("=") == 2) {
+ swap_method = class_name_components[i].get_slice("=", 1).strip_edges();
+ }
+ }
+
if (p.type == Variant::NIL) {
// Setup the array to use a method to create/move/delete elements.
- array_element_prefix = p.class_name;
+ array_element_prefix = class_name_components[0];
editor_inspector_array = memnew(EditorInspectorArray);
String array_label = path.contains("/") ? path.substr(path.rfind("/") + 1) : path;
array_label = EditorPropertyNameProcessor::get_singleton()->process_name(property_label_string, property_name_style);
int page = per_array_page.has(array_element_prefix) ? per_array_page[array_element_prefix] : 0;
editor_inspector_array->setup_with_move_element_function(object, array_label, array_element_prefix, page, c, use_folding);
- editor_inspector_array->connect("page_change_request", callable_mp(this, &EditorInspector::_page_change_request), varray(array_element_prefix));
+ editor_inspector_array->connect("page_change_request", callable_mp(this, &EditorInspector::_page_change_request).bind(array_element_prefix));
editor_inspector_array->set_undo_redo(undo_redo);
} else if (p.type == Variant::INT) {
// Setup the array to use the count property and built-in functions to create/move/delete elements.
- Vector<String> class_name_components = String(p.class_name).split(",");
- if (class_name_components.size() == 2) {
+ if (class_name_components.size() >= 2) {
array_element_prefix = class_name_components[1];
editor_inspector_array = memnew(EditorInspectorArray);
int page = per_array_page.has(array_element_prefix) ? per_array_page[array_element_prefix] : 0;
- editor_inspector_array->setup_with_count_property(object, class_name_components[0], p.name, array_element_prefix, page, c, use_folding);
- editor_inspector_array->connect("page_change_request", callable_mp(this, &EditorInspector::_page_change_request), varray(array_element_prefix));
+
+ editor_inspector_array->setup_with_count_property(object, class_name_components[0], p.name, array_element_prefix, page, c, foldable, movable, numbered, page_size, add_button_text, swap_method);
+ editor_inspector_array->connect("page_change_request", callable_mp(this, &EditorInspector::_page_change_request).bind(array_element_prefix));
+
editor_inspector_array->set_undo_redo(undo_redo);
}
}
@@ -2823,6 +3061,7 @@ void EditorInspector::update_tree() {
current_vbox->add_child(editor_inspector_array);
editor_inspector_array_per_prefix[array_element_prefix] = editor_inspector_array;
}
+
continue;
}
@@ -2841,28 +3080,27 @@ void EditorInspector::update_tree() {
restart_request_props.insert(p.name);
}
- String doc_hint;
+ PropertyDocInfo doc_info;
if (use_doc_hints) {
// Build the doc hint, to use as tooltip.
// Get the class name.
- StringName classname = object->get_class_name();
+ StringName classname = doc_name == "" ? object->get_class_name() : doc_name;
if (!object_class.is_empty()) {
classname = object_class;
}
StringName propname = property_prefix + p.name;
- String descr;
bool found = false;
// Search for the property description in the cache.
- HashMap<StringName, HashMap<StringName, String>>::Iterator E = descr_cache.find(classname);
+ HashMap<StringName, HashMap<StringName, PropertyDocInfo>>::Iterator E = doc_info_cache.find(classname);
if (E) {
- HashMap<StringName, String>::Iterator F = E->value.find(propname);
+ HashMap<StringName, PropertyDocInfo>::Iterator F = E->value.find(propname);
if (F) {
found = true;
- descr = F->value;
+ doc_info = F->value;
}
}
@@ -2870,10 +3108,11 @@ void EditorInspector::update_tree() {
// Build the property description String and add it to the cache.
DocTools *dd = EditorHelp::get_doc_data();
HashMap<String, DocData::ClassDoc>::Iterator F = dd->class_list.find(classname);
- while (F && descr.is_empty()) {
+ while (F && doc_info.description.is_empty()) {
for (int i = 0; i < F->value.properties.size(); i++) {
if (F->value.properties[i].name == propname.operator String()) {
- descr = DTR(F->value.properties[i].description);
+ doc_info.description = DTR(F->value.properties[i].description);
+ doc_info.path = "class_property:" + F->value.name + ":" + F->value.properties[i].name;
break;
}
}
@@ -2882,7 +3121,8 @@ void EditorInspector::update_tree() {
if (slices.size() == 2 && slices[0].begins_with("theme_override_")) {
for (int i = 0; i < F->value.theme_properties.size(); i++) {
if (F->value.theme_properties[i].name == slices[1]) {
- descr = DTR(F->value.theme_properties[i].description);
+ doc_info.description = DTR(F->value.theme_properties[i].description);
+ doc_info.path = "class_theme_item:" + F->value.name + ":" + F->value.theme_properties[i].name;
break;
}
}
@@ -2894,10 +3134,9 @@ void EditorInspector::update_tree() {
break;
}
}
- descr_cache[classname][propname] = descr;
- }
- doc_hint = descr;
+ doc_info_cache[classname][propname] = doc_info;
+ }
}
Vector<EditorInspectorPlugin::AddedEditor> editors;
@@ -2956,6 +3195,12 @@ void EditorInspector::update_tree() {
editor_property_map[prop].push_back(ep);
}
}
+
+ EditorInspectorSection *section = Object::cast_to<EditorInspectorSection>(current_vbox->get_parent());
+ if (section) {
+ ep->connect("property_can_revert_changed", callable_mp(section, &EditorInspectorSection::property_can_revert_changed));
+ }
+
ep->set_draw_warning(draw_warning);
ep->set_use_folding(use_folding);
ep->set_checkable(checkable);
@@ -2970,21 +3215,22 @@ void EditorInspector::update_tree() {
if (ep) {
// Eventually, set other properties/signals after the property editor got added to the tree.
bool update_all = (p.usage & PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED);
- ep->connect("property_changed", callable_mp(this, &EditorInspector::_property_changed), varray(update_all));
+ ep->connect("property_changed", callable_mp(this, &EditorInspector::_property_changed).bind(update_all));
ep->connect("property_keyed", callable_mp(this, &EditorInspector::_property_keyed));
- ep->connect("property_deleted", callable_mp(this, &EditorInspector::_property_deleted), varray(), CONNECT_DEFERRED);
+ ep->connect("property_deleted", callable_mp(this, &EditorInspector::_property_deleted), CONNECT_DEFERRED);
ep->connect("property_keyed_with_value", callable_mp(this, &EditorInspector::_property_keyed_with_value));
ep->connect("property_checked", callable_mp(this, &EditorInspector::_property_checked));
ep->connect("property_pinned", callable_mp(this, &EditorInspector::_property_pinned));
ep->connect("selected", callable_mp(this, &EditorInspector::_property_selected));
ep->connect("multiple_properties_changed", callable_mp(this, &EditorInspector::_multiple_properties_changed));
- ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), varray(), CONNECT_DEFERRED);
- ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), varray(), CONNECT_DEFERRED);
- if (!doc_hint.is_empty()) {
- ep->set_tooltip(property_prefix + p.name + "::" + doc_hint);
+ ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), CONNECT_DEFERRED);
+ ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), CONNECT_DEFERRED);
+ if (!doc_info.description.is_empty()) {
+ ep->set_tooltip(property_prefix + p.name + "::" + doc_info.description);
} else {
ep->set_tooltip(property_prefix + p.name);
}
+ ep->set_doc_path(doc_info.path);
ep->update_property();
ep->_update_pin_flags();
ep->update_revert_and_pin_status();
@@ -2998,6 +3244,11 @@ void EditorInspector::update_tree() {
}
if (!hide_metadata) {
+ // Add 4px of spacing between the "Add Metadata" button and the content above it.
+ Control *spacer = memnew(Control);
+ spacer->set_custom_minimum_size(Size2(0, 4) * EDSCALE);
+ main_vbox->add_child(spacer);
+
Button *add_md = EditorInspector::create_inspector_action_button(TTR("Add Metadata"));
add_md->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
add_md->connect(SNAME("pressed"), callable_mp(this, &EditorInspector::_show_add_meta_dialog));
@@ -3007,7 +3258,7 @@ void EditorInspector::update_tree() {
// Get the lists of to add at the end.
for (Ref<EditorInspectorPlugin> &ped : valid_plugins) {
ped->parse_end(object);
- _parse_added_editors(main_vbox, ped);
+ _parse_added_editors(main_vbox, nullptr, ped);
}
}
@@ -3160,6 +3411,44 @@ void EditorInspector::expand_all_folding() {
}
}
+void EditorInspector::expand_revertable() {
+ HashSet<EditorInspectorSection *> sections_to_unfold[2];
+ for (EditorInspectorSection *E : sections) {
+ if (E->has_revertable_properties()) {
+ sections_to_unfold[0].insert(E);
+ }
+ }
+
+ // Climb up the hierachy doing double buffering with the sets.
+ int a = 0;
+ int b = 1;
+ while (sections_to_unfold[a].size()) {
+ for (EditorInspectorSection *E : sections_to_unfold[a]) {
+ E->unfold();
+
+ Node *n = E->get_parent();
+ while (n) {
+ if (Object::cast_to<EditorInspector>(n)) {
+ break;
+ }
+ if (Object::cast_to<EditorInspectorSection>(n) && !sections_to_unfold[a].has((EditorInspectorSection *)n)) {
+ sections_to_unfold[b].insert((EditorInspectorSection *)n);
+ }
+ n = n->get_parent();
+ }
+ }
+
+ sections_to_unfold[a].clear();
+ SWAP(a, b);
+ }
+
+ for (const KeyValue<StringName, List<EditorProperty *>> &F : editor_property_map) {
+ for (EditorProperty *E : F.value) {
+ E->expand_revertable();
+ }
+ }
+}
+
void EditorInspector::set_scroll_offset(int p_offset) {
set_v_scroll(p_offset);
}
@@ -3236,7 +3525,7 @@ void EditorInspector::_edit_set(const String &p_name, const Variant &p_value, bo
}
}
- if (!undo_redo || bool(object->call("_dont_undo_redo"))) {
+ if (!undo_redo.is_valid() || bool(object->call("_dont_undo_redo"))) {
object->set(p_name, p_value);
if (p_refresh_all) {
_edit_request_change(object, "");
@@ -3259,18 +3548,27 @@ void EditorInspector::_edit_set(const String &p_name, const Variant &p_value, bo
undo_redo->add_undo_property(object, p_name, value);
}
- PropertyInfo prop_info;
- if (ClassDB::get_property_info(object->get_class_name(), p_name, &prop_info)) {
- for (const String &linked_prop : prop_info.linked_properties) {
- valid = false;
- value = object->get(linked_prop, &valid);
- if (valid) {
- undo_redo->add_undo_property(object, linked_prop, value);
- }
+ List<StringName> linked_properties;
+ ClassDB::get_linked_properties_info(object->get_class_name(), p_name, &linked_properties);
+
+ for (const StringName &linked_prop : linked_properties) {
+ valid = false;
+ Variant undo_value = object->get(linked_prop, &valid);
+ if (valid) {
+ undo_redo->add_undo_property(object, linked_prop, undo_value);
}
}
- Variant v_undo_redo = (Object *)undo_redo;
+ PackedStringArray linked_properties_dynamic = object->call("_get_linked_undo_properties", p_name, p_value);
+ for (int i = 0; i < linked_properties_dynamic.size(); i++) {
+ valid = false;
+ Variant undo_value = object->get(linked_properties_dynamic[i], &valid);
+ if (valid) {
+ undo_redo->add_undo_property(object, linked_properties_dynamic[i], undo_value);
+ }
+ }
+
+ Variant v_undo_redo = undo_redo;
Variant v_object = object;
Variant v_name = p_name;
for (int i = 0; i < EditorNode::get_singleton()->get_editor_data().get_undo_redo_inspector_hook_callback().size(); i++) {
@@ -3280,7 +3578,7 @@ void EditorInspector::_edit_set(const String &p_name, const Variant &p_value, bo
Variant return_value;
Callable::CallError call_error;
- callback.call(p_arguments, 4, return_value, call_error);
+ callback.callp(p_arguments, 4, return_value, call_error);
if (call_error.error != Callable::CallError::CALL_OK) {
ERR_PRINT("Invalid UndoRedo callback.");
}
@@ -3426,6 +3724,7 @@ void EditorInspector::_property_checked(const String &p_path, bool p_checked) {
if (editor_property_map.has(p_path)) {
for (EditorProperty *E : editor_property_map[p_path]) {
+ E->set_checked(p_checked);
E->update_property();
E->update_revert_and_pin_status();
E->update_cache();
@@ -3445,7 +3744,7 @@ void EditorInspector::_property_pinned(const String &p_path, bool p_pinned) {
Node *node = Object::cast_to<Node>(object);
ERR_FAIL_COND(!node);
- if (undo_redo) {
+ if (undo_redo.is_valid()) {
undo_redo->create_action(vformat(p_pinned ? TTR("Pinned %s") : TTR("Unpinned %s"), p_path));
undo_redo->add_do_method(node, "_set_property_pinned", p_path, p_pinned);
undo_redo->add_undo_method(node, "_set_property_pinned", p_path, !p_pinned);
@@ -3469,7 +3768,7 @@ void EditorInspector::_property_pinned(const String &p_path, bool p_pinned) {
void EditorInspector::_property_selected(const String &p_path, int p_focusable) {
property_selected = p_path;
property_focusable = p_focusable;
- //deselect the others
+ // Deselect the others.
for (const KeyValue<StringName, List<EditorProperty *>> &F : editor_property_map) {
if (F.key == property_selected) {
continue;
@@ -3539,7 +3838,7 @@ void EditorInspector::_notification(int p_what) {
if (refresh_countdown <= 0) {
for (const KeyValue<StringName, List<EditorProperty *>> &F : editor_property_map) {
for (EditorProperty *E : F.value) {
- if (!E->is_cache_valid()) {
+ if (E && !E->is_cache_valid()) {
E->update_property();
E->update_revert_and_pin_status();
E->update_cache();
@@ -3621,88 +3920,6 @@ void EditorInspector::_feature_profile_changed() {
update_tree();
}
-void EditorInspector::_update_script_class_properties(const Object &p_object, List<PropertyInfo> &r_list) const {
- Ref<Script> script = p_object.get_script();
- if (script.is_null()) {
- return;
- }
-
- List<Ref<Script>> classes;
-
- // NodeC -> NodeB -> NodeA
- while (script.is_valid()) {
- classes.push_front(script);
- script = script->get_base_script();
- }
-
- if (classes.is_empty()) {
- return;
- }
-
- // Script Variables -> to insert: NodeC..B..A -> bottom (insert_here)
- List<PropertyInfo>::Element *script_variables = nullptr;
- List<PropertyInfo>::Element *bottom = nullptr;
- List<PropertyInfo>::Element *insert_here = nullptr;
- for (List<PropertyInfo>::Element *E = r_list.front(); E; E = E->next()) {
- PropertyInfo &pi = E->get();
- if (pi.name != "Script Variables") {
- continue;
- }
- script_variables = E;
- bottom = r_list.insert_after(script_variables, PropertyInfo());
- insert_here = bottom;
- break;
- }
-
- HashSet<StringName> added;
- for (const Ref<Script> &s : classes) {
- String path = s->get_path();
- String name = EditorNode::get_editor_data().script_class_get_name(path);
- if (name.is_empty()) {
- if (s->is_built_in()) {
- if (s->get_name().is_empty()) {
- name = TTR("Built-in script");
- } else {
- name = vformat("%s (%s)", s->get_name(), TTR("Built-in"));
- }
- } else {
- name = path.get_file();
- }
- }
-
- List<PropertyInfo> props;
- s->get_script_property_list(&props);
-
- // Script Variables -> NodeA -> bottom (insert_here)
- List<PropertyInfo>::Element *category = r_list.insert_before(insert_here, PropertyInfo(Variant::NIL, name, PROPERTY_HINT_NONE, path, PROPERTY_USAGE_CATEGORY));
-
- // Script Variables -> NodeA -> A props... -> bottom (insert_here)
- for (List<PropertyInfo>::Element *P = props.front(); P; P = P->next()) {
- PropertyInfo &pi = P->get();
- if (added.has(pi.name)) {
- continue;
- }
- added.insert(pi.name);
-
- r_list.insert_before(insert_here, pi);
- }
-
- // Script Variables -> NodeA (insert_here) -> A props... -> bottom
- insert_here = category;
- }
-
- // NodeC -> C props... -> NodeB..C..
- if (script_variables) {
- r_list.erase(script_variables);
- List<PropertyInfo>::Element *to_delete = bottom->next();
- while (to_delete && !(to_delete->get().usage & PROPERTY_USAGE_CATEGORY)) {
- r_list.erase(to_delete);
- to_delete = bottom->next();
- }
- r_list.erase(bottom);
- }
-}
-
void EditorInspector::set_restrict_to_basic_settings(bool p_restrict) {
restrict_to_basic = p_restrict;
update_tree();
@@ -3777,7 +3994,7 @@ void EditorInspector::_show_add_meta_dialog() {
add_meta_type->add_icon_item(get_theme_icon(type, "EditorIcons"), type, i);
}
hbc->add_child(add_meta_type);
- add_meta_dialog->get_ok_button()->set_text(TTR("Add"));
+ add_meta_dialog->set_ok_button_text(TTR("Add"));
add_child(add_meta_dialog);
add_meta_dialog->register_text_enter(add_meta_name);
add_meta_dialog->connect("confirmed", callable_mp(this, &EditorInspector::_add_meta_confirm));
@@ -3809,7 +4026,6 @@ void EditorInspector::_bind_methods() {
EditorInspector::EditorInspector() {
object = nullptr;
- undo_redo = nullptr;
main_vbox = memnew(VBoxContainer);
main_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
main_vbox->add_theme_constant_override("separation", 0);
diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h
index 555fedf939..905e13b3a9 100644
--- a/editor/editor_inspector.h
+++ b/editor/editor_inspector.h
@@ -31,6 +31,7 @@
#ifndef EDITOR_INSPECTOR_H
#define EDITOR_INSPECTOR_H
+#include "editor/editor_undo_redo_manager.h"
#include "editor_property_name_processor.h"
#include "scene/gui/box_container.h"
#include "scene/gui/button.h"
@@ -39,10 +40,9 @@
#include "scene/gui/option_button.h"
#include "scene/gui/panel_container.h"
#include "scene/gui/scroll_container.h"
+#include "scene/gui/spin_box.h"
#include "scene/gui/texture_rect.h"
-class UndoRedo;
-
class EditorPropertyRevert {
public:
static bool get_instantiated_node_original_property(Node *p_node, const StringName &p_prop, Variant &value, bool p_check_class_default = true);
@@ -50,7 +50,7 @@ public:
static bool is_property_value_different(const Variant &p_a, const Variant &p_b);
static Variant get_property_revert_value(Object *p_object, const StringName &p_property, bool *r_is_valid);
- static bool can_property_revert(Object *p_object, const StringName &p_property);
+ static bool can_property_revert(Object *p_object, const StringName &p_property, const Variant *p_custom_current_value = nullptr);
};
class EditorProperty : public Container {
@@ -62,6 +62,7 @@ public:
MENU_PASTE_PROPERTY,
MENU_COPY_PROPERTY_PATH,
MENU_PIN_VALUE,
+ MENU_OPEN_DOCUMENTATION,
};
private:
@@ -71,6 +72,7 @@ private:
Object *object = nullptr;
StringName property;
String property_path;
+ String doc_path;
int property_usage;
@@ -131,6 +133,9 @@ protected:
virtual void shortcut_input(const Ref<InputEvent> &p_event) override;
const Color *_get_property_colors();
+ virtual Variant _get_cache_value(const StringName &p_prop, bool &r_valid) const;
+ virtual StringName _get_revert_property() const;
+
public:
void emit_changed(const StringName &p_property, const Variant &p_value, const StringName &p_field = StringName(), bool p_changing = false);
@@ -143,7 +148,9 @@ public:
bool is_read_only() const;
Object *get_edited_object();
- StringName get_edited_property();
+ StringName get_edited_property() const;
+
+ void set_doc_path(const String &p_doc_path);
virtual void update_property();
void update_revert_and_pin_status();
@@ -177,6 +184,7 @@ public:
virtual void expand_all_folding();
virtual void collapse_all_folding();
+ virtual void expand_revertable();
virtual Variant get_drag_data(const Point2 &p_point) override;
virtual void update_cache();
@@ -274,6 +282,8 @@ class EditorInspectorSection : public Container {
Timer *dropping_unfold_timer = nullptr;
bool dropping = false;
+ HashSet<StringName> revertable_properties;
+
void _test_unfold();
protected:
@@ -292,6 +302,9 @@ public:
void unfold();
void fold();
+ bool has_revertable_properties() const;
+ void property_can_revert_changed(const String &p_path, bool p_can_revert);
+
EditorInspectorSection();
~EditorInspectorSection();
};
@@ -299,7 +312,7 @@ public:
class EditorInspectorArray : public EditorInspectorSection {
GDCLASS(EditorInspectorArray, EditorInspectorSection);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
enum Mode {
MODE_NONE,
@@ -308,6 +321,7 @@ class EditorInspectorArray : public EditorInspectorSection {
} mode;
StringName count_property;
StringName array_element_prefix;
+ String swap_method;
int count = 0;
@@ -319,8 +333,7 @@ class EditorInspectorArray : public EditorInspectorSection {
Button *add_button = nullptr;
AcceptDialog *resize_dialog = nullptr;
- int new_size = 0;
- LineEdit *new_size_line_edit = nullptr;
+ SpinBox *new_size_spin_box = nullptr;
// Pagination
int page_length = 5;
@@ -329,6 +342,9 @@ class EditorInspectorArray : public EditorInspectorSection {
int begin_array_index = 0;
int end_array_index = 0;
+ bool movable = true;
+ bool numbered = false;
+
enum MenuOptions {
OPTION_MOVE_UP = 0,
OPTION_MOVE_DOWN,
@@ -346,7 +362,9 @@ class EditorInspectorArray : public EditorInspectorSection {
MarginContainer *margin = nullptr;
HBoxContainer *hbox = nullptr;
TextureRect *move_texture_rect = nullptr;
+ Label *number = nullptr;
VBoxContainer *vbox = nullptr;
+ Button *erase = nullptr;
};
LocalVector<ArrayElement> array_elements;
@@ -371,8 +389,8 @@ class EditorInspectorArray : public EditorInspectorSection {
Array _extract_properties_as_array(const List<PropertyInfo> &p_list);
int _drop_position() const;
- void _new_size_line_edit_text_changed(String p_text);
- void _new_size_line_edit_text_submitted(String p_text);
+ void _new_size_spin_box_value_changed(float p_value);
+ void _new_size_spin_box_text_submitted(String p_text);
void _resize_dialog_confirmed();
void _update_elements_visibility();
@@ -382,15 +400,17 @@ class EditorInspectorArray : public EditorInspectorSection {
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
+ void _remove_item(int p_index);
+
protected:
void _notification(int p_what);
static void _bind_methods();
public:
- void set_undo_redo(UndoRedo *p_undo_redo);
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
- void setup_with_move_element_function(Object *p_object, String p_label, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable);
- void setup_with_count_property(Object *p_object, String p_label, const StringName &p_count_property, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable);
+ void setup_with_move_element_function(Object *p_object, String p_label, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable, bool p_movable = true, bool p_numbered = false, int p_page_length = 5, const String &p_add_item_text = "");
+ void setup_with_count_property(Object *p_object, String p_label, const StringName &p_count_property, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable, bool p_movable = true, bool p_numbered = false, int p_page_length = 5, const String &p_add_item_text = "", const String &p_swap_method = "");
VBoxContainer *get_vbox(int p_index);
EditorInspectorArray();
@@ -427,7 +447,7 @@ public:
class EditorInspector : public ScrollContainer {
GDCLASS(EditorInspector, ScrollContainer);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
enum {
MAX_PLUGINS = 1024
};
@@ -436,7 +456,7 @@ class EditorInspector : public ScrollContainer {
VBoxContainer *main_vbox = nullptr;
- //map use to cache the instantiated editors
+ // Map used to cache the instantiated editors.
HashMap<StringName, List<EditorProperty *>> editor_property_map;
List<EditorInspectorSection *> sections;
HashSet<StringName> pending;
@@ -470,7 +490,12 @@ class EditorInspector : public ScrollContainer {
int property_focusable;
int update_scroll_request;
- HashMap<StringName, HashMap<StringName, String>> descr_cache;
+ struct PropertyDocInfo {
+ String description;
+ String path;
+ };
+
+ HashMap<StringName, HashMap<StringName, PropertyDocInfo>> doc_info_cache;
HashMap<StringName, String> class_descr_cache;
HashSet<StringName> restart_request_props;
@@ -505,12 +530,11 @@ class EditorInspector : public ScrollContainer {
void _edit_request_change(Object *p_object, const String &p_prop);
void _filter_changed(const String &p_text);
- void _parse_added_editors(VBoxContainer *current_vbox, Ref<EditorInspectorPlugin> ped);
+ void _parse_added_editors(VBoxContainer *current_vbox, EditorInspectorSection *p_section, Ref<EditorInspectorPlugin> ped);
void _vscroll_changed(double);
void _feature_profile_changed();
- void _update_script_class_properties(const Object &p_object, List<PropertyInfo> &r_list) const;
bool _is_property_disabled_by_feature_profile(const StringName &p_property);
@@ -537,7 +561,7 @@ public:
static EditorProperty *instantiate_property_editor(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false);
- void set_undo_redo(UndoRedo *p_undo_redo);
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
String get_selected_path() const;
@@ -567,6 +591,7 @@ public:
void collapse_all_folding();
void expand_all_folding();
+ void expand_revertable();
void set_scroll_offset(int p_offset);
int get_scroll_offset() const;
@@ -590,4 +615,4 @@ public:
EditorInspector();
};
-#endif // INSPECTOR_H
+#endif // EDITOR_INSPECTOR_H
diff --git a/editor/editor_locale_dialog.cpp b/editor/editor_locale_dialog.cpp
index abef0dc353..0cf7f7df2a 100644
--- a/editor/editor_locale_dialog.cpp
+++ b/editor/editor_locale_dialog.cpp
@@ -33,6 +33,7 @@
#include "core/config/project_settings.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/check_button.h"
#include "scene/gui/line_edit.h"
#include "scene/gui/option_button.h"
@@ -552,5 +553,5 @@ EditorLocaleDialog::EditorLocaleDialog() {
add_child(vb);
_update_tree();
- get_ok_button()->set_text(TTR("Select"));
+ set_ok_button_text(TTR("Select"));
}
diff --git a/editor/editor_locale_dialog.h b/editor/editor_locale_dialog.h
index 7a4828e83a..8ac642a038 100644
--- a/editor/editor_locale_dialog.h
+++ b/editor/editor_locale_dialog.h
@@ -40,7 +40,7 @@ class VBoxContainer;
class LineEdit;
class Tree;
class OptionButton;
-class UndoRedo;
+class EditorUndoRedoManager;
class EditorLocaleDialog : public ConfirmationDialog {
GDCLASS(EditorLocaleDialog, ConfirmationDialog);
@@ -63,7 +63,7 @@ class EditorLocaleDialog : public ConfirmationDialog {
Tree *script_list = nullptr;
Tree *cnt_list = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
bool locale_set = false;
bool updating_lists = false;
diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp
index 8d45f90ed6..dc03a1f270 100644
--- a/editor/editor_log.cpp
+++ b/editor/editor_log.cpp
@@ -33,8 +33,11 @@
#include "core/os/keyboard.h"
#include "core/version.h"
#include "editor/editor_node.h"
+#include "editor/editor_paths.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
#include "scene/gui/center_container.h"
+#include "scene/gui/separator.h"
#include "scene/resources/font.h"
void EditorLog::_error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type) {
@@ -90,6 +93,12 @@ void EditorLog::_update_theme() {
collapse_button->set_icon(get_theme_icon(SNAME("CombineLines"), SNAME("EditorIcons")));
show_search_button->set_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
+
+ theme_cache.error_color = get_theme_color(SNAME("error_color"), SNAME("Editor"));
+ theme_cache.error_icon = get_theme_icon(SNAME("Error"), SNAME("EditorIcons"));
+ theme_cache.warning_color = get_theme_color(SNAME("warning_color"), SNAME("Editor"));
+ theme_cache.warning_icon = get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"));
+ theme_cache.message_color = get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.6);
}
void EditorLog::_notification(int p_what) {
@@ -122,7 +131,7 @@ void EditorLog::_save_state() {
Ref<ConfigFile> config;
config.instantiate();
// Load and amend existing config if it exists.
- config->load(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
+ config->load(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
const String section = "editor_log";
for (const KeyValue<MessageType, LogFilter *> &E : type_filter_map) {
@@ -132,7 +141,7 @@ void EditorLog::_save_state() {
config->set_value(section, "collapse", collapse);
config->set_value(section, "show_search", search_box->is_visible());
- config->save(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
+ config->save(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
}
void EditorLog::_load_state() {
@@ -140,7 +149,7 @@ void EditorLog::_load_state() {
Ref<ConfigFile> config;
config.instantiate();
- config->load(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
+ config->load(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
// Run the below code even if config->load returns an error, since we want the defaults to be set even if the file does not exist yet.
const String section = "editor_log";
@@ -181,7 +190,7 @@ void EditorLog::clear() {
}
void EditorLog::_process_message(const String &p_msg, MessageType p_type) {
- if (messages.size() > 0 && messages[messages.size() - 1].text == p_msg) {
+ if (messages.size() > 0 && messages[messages.size() - 1].text == p_msg && messages[messages.size() - 1].type == p_type) {
// If previous message is the same as the new one, increase previous count rather than adding another
// instance to the messages list.
LogMessage &previous = messages.write[messages.size() - 1];
@@ -215,6 +224,10 @@ void EditorLog::set_tool_button(Button *p_tool_button) {
tool_button = p_tool_button;
}
+void EditorLog::register_undo_redo(UndoRedo *p_undo_redo) {
+ p_undo_redo->set_commit_notify_callback(_undo_redo_cbk, this);
+}
+
void EditorLog::_undo_redo_cbk(void *p_self, const String &p_name) {
EditorLog *self = static_cast<EditorLog *>(p_self);
self->add_message(p_name, EditorLog::MSG_TYPE_EDITOR);
@@ -258,23 +271,25 @@ void EditorLog::_add_log_line(LogMessage &p_message, bool p_replace_previous) {
switch (p_message.type) {
case MSG_TYPE_STD: {
} break;
+ case MSG_TYPE_STD_RICH: {
+ } break;
case MSG_TYPE_ERROR: {
- log->push_color(get_theme_color(SNAME("error_color"), SNAME("Editor")));
- Ref<Texture2D> icon = get_theme_icon(SNAME("Error"), SNAME("EditorIcons"));
+ log->push_color(theme_cache.error_color);
+ Ref<Texture2D> icon = theme_cache.error_icon;
log->add_image(icon);
log->add_text(" ");
tool_button->set_icon(icon);
} break;
case MSG_TYPE_WARNING: {
- log->push_color(get_theme_color(SNAME("warning_color"), SNAME("Editor")));
- Ref<Texture2D> icon = get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"));
+ log->push_color(theme_cache.warning_color);
+ Ref<Texture2D> icon = theme_cache.warning_icon;
log->add_image(icon);
log->add_text(" ");
tool_button->set_icon(icon);
} break;
case MSG_TYPE_EDITOR: {
// Distinguish editor messages from messages printed by the project
- log->push_color(get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.6));
+ log->push_color(theme_cache.message_color);
} break;
}
@@ -285,11 +300,15 @@ void EditorLog::_add_log_line(LogMessage &p_message, bool p_replace_previous) {
log->pop();
}
- log->add_text(p_message.text);
+ if (p_message.type == MSG_TYPE_STD_RICH) {
+ log->append_text(p_message.text);
+ } else {
+ log->add_text(p_message.text);
+ }
// Need to use pop() to exit out of the RichTextLabels current "push" stack.
- // We only "push" in the above switch when message type != STD, so only pop when that is the case.
- if (p_message.type != MSG_TYPE_STD) {
+ // We only "push" in the above switch when message type != STD and RICH, so only pop when that is the case.
+ if (p_message.type != MSG_TYPE_STD && p_message.type != MSG_TYPE_STD_RICH) {
log->pop();
}
@@ -342,6 +361,7 @@ EditorLog::EditorLog() {
// Log - Rich Text Label.
log = memnew(RichTextLabel);
+ log->set_use_bbcode(true);
log->set_scroll_follow(true);
log->set_selection_enabled(true);
log->set_focus_mode(FOCUS_CLICK);
@@ -353,7 +373,7 @@ EditorLog::EditorLog() {
// Search box
search_box = memnew(LineEdit);
search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- search_box->set_placeholder(TTR("Filter messages"));
+ search_box->set_placeholder(TTR("Filter Messages"));
search_box->set_clear_button_enabled(true);
search_box->set_visible(true);
search_box->connect("text_changed", callable_mp(this, &EditorLog::_search_changed));
@@ -418,6 +438,7 @@ EditorLog::EditorLog() {
std_filter->initialize_button(TTR("Toggle visibility of standard output messages."), callable_mp(this, &EditorLog::_set_filter_active));
vb_right->add_child(std_filter->toggle_button);
type_filter_map.insert(MSG_TYPE_STD, std_filter);
+ type_filter_map.insert(MSG_TYPE_STD_RICH, std_filter);
LogFilter *error_filter = memnew(LogFilter(MSG_TYPE_ERROR));
error_filter->initialize_button(TTR("Toggle visibility of errors."), callable_mp(this, &EditorLog::_set_filter_active));
@@ -441,8 +462,6 @@ EditorLog::EditorLog() {
add_error_handler(&eh);
current = Thread::get_caller_id();
-
- EditorNode::get_undo_redo()->set_commit_notify_callback(_undo_redo_cbk, this);
}
void EditorLog::deinit() {
@@ -451,6 +470,10 @@ void EditorLog::deinit() {
EditorLog::~EditorLog() {
for (const KeyValue<MessageType, LogFilter *> &E : type_filter_map) {
- memdelete(E.value);
+ // MSG_TYPE_STD_RICH is connected to the std_filter button, so we do this
+ // to avoid it from being deleted twice, causing a crash on closing.
+ if (E.key != MSG_TYPE_STD_RICH) {
+ memdelete(E.value);
+ }
}
}
diff --git a/editor/editor_log.h b/editor/editor_log.h
index de0368501c..3bdfd936c1 100644
--- a/editor/editor_log.h
+++ b/editor/editor_log.h
@@ -41,6 +41,8 @@
#include "scene/gui/texture_button.h"
#include "scene/gui/texture_rect.h"
+class UndoRedo;
+
class EditorLog : public HBoxContainer {
GDCLASS(EditorLog, HBoxContainer);
@@ -48,6 +50,7 @@ public:
enum MessageType {
MSG_TYPE_STD,
MSG_TYPE_ERROR,
+ MSG_TYPE_STD_RICH,
MSG_TYPE_WARNING,
MSG_TYPE_EDITOR,
};
@@ -66,6 +69,16 @@ private:
}
};
+ struct {
+ Color error_color;
+ Ref<Texture2D> error_icon;
+
+ Color warning_color;
+ Ref<Texture2D> warning_icon;
+
+ Color message_color;
+ } theme_cache;
+
// Encapsulates all data and functionality regarding filters.
struct LogFilter {
private:
@@ -87,7 +100,7 @@ private:
toggle_button->add_theme_color_override("icon_color_pressed", Color(1, 1, 1, 1));
toggle_button->set_focus_mode(FOCUS_NONE);
// When toggled call the callback and pass the MessageType this button is for.
- toggle_button->connect("toggled", p_toggled_callback, varray(type));
+ toggle_button->connect("toggled", p_toggled_callback.bind(type));
}
int get_message_count() {
@@ -171,6 +184,7 @@ protected:
public:
void add_message(const String &p_msg, MessageType p_type = MSG_TYPE_STD);
void set_tool_button(Button *p_tool_button);
+ void register_undo_redo(UndoRedo *p_undo_redo);
void deinit();
void clear();
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index c59c7de603..362159cb56 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -49,10 +49,12 @@
#include "main/main.h"
#include "scene/3d/importer_mesh_instance_3d.h"
#include "scene/gui/center_container.h"
+#include "scene/gui/color_picker.h"
#include "scene/gui/control.h"
#include "scene/gui/dialogs.h"
#include "scene/gui/file_dialog.h"
#include "scene/gui/link_button.h"
+#include "scene/gui/menu_bar.h"
#include "scene/gui/menu_button.h"
#include "scene/gui/panel.h"
#include "scene/gui/panel_container.h"
@@ -75,9 +77,9 @@
#include "editor/dependency_editor.h"
#include "editor/editor_about.h"
#include "editor/editor_audio_buses.h"
+#include "editor/editor_build_profile.h"
#include "editor/editor_command_palette.h"
#include "editor/editor_data.h"
-#include "editor/editor_export.h"
#include "editor/editor_feature_profile.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_file_system.h"
@@ -90,6 +92,7 @@
#include "editor/editor_plugin.h"
#include "editor/editor_properties.h"
#include "editor/editor_property_name_processor.h"
+#include "editor/editor_quick_open.h"
#include "editor/editor_resource_picker.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_run.h"
@@ -102,8 +105,12 @@
#include "editor/editor_themes.h"
#include "editor/editor_toaster.h"
#include "editor/editor_translation_parser.h"
-#include "editor/export_template_manager.h"
+#include "editor/editor_undo_redo_manager.h"
+#include "editor/export/editor_export.h"
+#include "editor/export/export_template_manager.h"
+#include "editor/export/project_export.h"
#include "editor/filesystem_dock.h"
+#include "editor/import/audio_stream_import_settings.h"
#include "editor/import/dynamic_font_import_settings.h"
#include "editor/import/editor_import_collada.h"
#include "editor/import/resource_importer_bitmask.h"
@@ -131,11 +138,12 @@
#include "editor/plugins/animation_state_machine_editor.h"
#include "editor/plugins/animation_tree_editor_plugin.h"
#include "editor/plugins/asset_library_editor_plugin.h"
-#include "editor/plugins/audio_stream_editor_plugin.h"
#include "editor/plugins/audio_stream_randomizer_editor_plugin.h"
#include "editor/plugins/bit_map_editor_plugin.h"
+#include "editor/plugins/bone_map_editor_plugin.h"
#include "editor/plugins/camera_3d_editor_plugin.h"
#include "editor/plugins/canvas_item_editor_plugin.h"
+#include "editor/plugins/cast_2d_editor_plugin.h"
#include "editor/plugins/collision_polygon_2d_editor_plugin.h"
#include "editor/plugins/collision_shape_2d_editor_plugin.h"
#include "editor/plugins/control_editor_plugin.h"
@@ -145,7 +153,8 @@
#include "editor/plugins/debugger_editor_plugin.h"
#include "editor/plugins/editor_debugger_plugin.h"
#include "editor/plugins/editor_preview_plugins.h"
-#include "editor/plugins/font_editor_plugin.h"
+#include "editor/plugins/editor_resource_conversion_plugin.h"
+#include "editor/plugins/font_config_plugin.h"
#include "editor/plugins/gdextension_export_plugin.h"
#include "editor/plugins/gpu_particles_2d_editor_plugin.h"
#include "editor/plugins/gpu_particles_3d_editor_plugin.h"
@@ -164,15 +173,12 @@
#include "editor/plugins/navigation_polygon_editor_plugin.h"
#include "editor/plugins/node_3d_editor_plugin.h"
#include "editor/plugins/occluder_instance_3d_editor_plugin.h"
-#include "editor/plugins/ot_features_plugin.h"
#include "editor/plugins/packed_scene_translation_parser_plugin.h"
#include "editor/plugins/path_2d_editor_plugin.h"
#include "editor/plugins/path_3d_editor_plugin.h"
#include "editor/plugins/physical_bone_3d_editor_plugin.h"
#include "editor/plugins/polygon_2d_editor_plugin.h"
#include "editor/plugins/polygon_3d_editor_plugin.h"
-#include "editor/plugins/ray_cast_2d_editor_plugin.h"
-#include "editor/plugins/replication_editor_plugin.h"
#include "editor/plugins/resource_preloader_editor_plugin.h"
#include "editor/plugins/root_motion_editor_plugin.h"
#include "editor/plugins/script_editor_plugin.h"
@@ -186,7 +192,6 @@
#include "editor/plugins/sprite_frames_editor_plugin.h"
#include "editor/plugins/style_box_editor_plugin.h"
#include "editor/plugins/sub_viewport_preview_editor_plugin.h"
-#include "editor/plugins/text_control_editor_plugin.h"
#include "editor/plugins/text_editor.h"
#include "editor/plugins/texture_3d_editor_plugin.h"
#include "editor/plugins/texture_editor_plugin.h"
@@ -198,9 +203,7 @@
#include "editor/plugins/visual_shader_editor_plugin.h"
#include "editor/plugins/voxel_gi_editor_plugin.h"
#include "editor/progress_dialog.h"
-#include "editor/project_export.h"
#include "editor/project_settings_editor.h"
-#include "editor/quick_open.h"
#include "editor/register_exporters.h"
#include "editor/scene_tree_dock.h"
@@ -347,8 +350,7 @@ void EditorNode::_update_scene_tabs() {
icon = EditorNode::get_singleton()->get_object_icon(type_node, "Node");
}
- int current = editor_data.get_edited_scene();
- bool unsaved = (i == current) ? saved_version != editor_data.get_undo_redo().get_version() : editor_data.get_scene_version(i) != 0;
+ bool unsaved = get_undo_redo()->is_history_unsaved(editor_data.get_scene_history_id(i));
scene_tabs->add_tab(disambiguated_scene_names[i] + (unsaved ? "(*)" : ""), icon);
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_GLOBAL_MENU)) {
@@ -460,7 +462,7 @@ void EditorNode::shortcut_input(const Ref<InputEvent> &p_event) {
_editor_select(EDITOR_SCRIPT);
} else if (ED_IS_SHORTCUT("editor/editor_help", p_event)) {
emit_signal(SNAME("request_help_search"), "");
- } else if (ED_IS_SHORTCUT("editor/editor_assetlib", p_event) && StreamPeerSSL::is_available()) {
+ } else if (ED_IS_SHORTCUT("editor/editor_assetlib", p_event) && AssetLibraryEditorPlugin::is_available()) {
_editor_select(EDITOR_ASSETLIB);
} else if (ED_IS_SHORTCUT("editor/editor_next", p_event)) {
_editor_select_next();
@@ -513,10 +515,10 @@ void EditorNode::_update_from_settings() {
uint32_t directional_shadow_16_bits = GLOBAL_GET("rendering/shadows/directional_shadow/16_bits");
RS::get_singleton()->directional_shadow_atlas_set_size(directional_shadow_size, directional_shadow_16_bits);
- RS::ShadowQuality shadows_quality = RS::ShadowQuality(int(GLOBAL_GET("rendering/shadows/shadows/soft_shadow_quality")));
- RS::get_singleton()->shadows_quality_set(shadows_quality);
- RS::ShadowQuality directional_shadow_quality = RS::ShadowQuality(int(GLOBAL_GET("rendering/shadows/directional_shadow/soft_shadow_quality")));
- RS::get_singleton()->directional_shadow_quality_set(directional_shadow_quality);
+ RS::ShadowQuality shadows_quality = RS::ShadowQuality(int(GLOBAL_GET("rendering/shadows/positional_shadow/soft_shadow_filter_quality")));
+ RS::get_singleton()->positional_soft_shadow_filter_set_quality(shadows_quality);
+ RS::ShadowQuality directional_shadow_quality = RS::ShadowQuality(int(GLOBAL_GET("rendering/shadows/directional_shadow/soft_shadow_filter_quality")));
+ RS::get_singleton()->directional_soft_shadow_filter_set_quality(directional_shadow_quality);
float probe_update_speed = GLOBAL_GET("rendering/lightmapping/probe_capture/update_speed");
RS::get_singleton()->lightmap_set_probe_capture_update_speed(probe_update_speed);
RS::EnvironmentSDFGIFramesToConverge frames_to_converge = RS::EnvironmentSDFGIFramesToConverge(int(GLOBAL_GET("rendering/global_illumination/sdfgi/frames_to_converge")));
@@ -553,6 +555,19 @@ void EditorNode::_update_from_settings() {
tree->set_debug_collision_contact_color(GLOBAL_GET("debug/shapes/collision/contact_color"));
tree->set_debug_navigation_color(GLOBAL_GET("debug/shapes/navigation/geometry_color"));
tree->set_debug_navigation_disabled_color(GLOBAL_GET("debug/shapes/navigation/disabled_geometry_color"));
+
+#ifdef DEBUG_ENABLED
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_edge_connection_color(GLOBAL_GET("debug/shapes/navigation/edge_connection_color"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_geometry_edge_color(GLOBAL_GET("debug/shapes/navigation/geometry_edge_color"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_geometry_face_color(GLOBAL_GET("debug/shapes/navigation/geometry_face_color"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_geometry_edge_disabled_color(GLOBAL_GET("debug/shapes/navigation/geometry_edge_disabled_color"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_geometry_face_disabled_color(GLOBAL_GET("debug/shapes/navigation/geometry_face_disabled_color"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_enable_edge_connections(GLOBAL_GET("debug/shapes/navigation/enable_edge_connections"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_enable_edge_connections_xray(GLOBAL_GET("debug/shapes/navigation/enable_edge_connections_xray"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_enable_edge_lines(GLOBAL_GET("debug/shapes/navigation/enable_edge_lines"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_enable_edge_lines_xray(GLOBAL_GET("debug/shapes/navigation/enable_edge_lines_xray"));
+ NavigationServer3D::get_singleton_mut()->set_debug_navigation_enable_geometry_face_random_color(GLOBAL_GET("debug/shapes/navigation/enable_geometry_face_random_color"));
+#endif // DEBUG_ENABLED
}
void EditorNode::_select_default_main_screen_plugin() {
@@ -582,14 +597,15 @@ void EditorNode::_notification(int p_what) {
opening_prev = false;
}
- if (unsaved_cache != (saved_version != editor_data.get_undo_redo().get_version())) {
- unsaved_cache = (saved_version != editor_data.get_undo_redo().get_version());
+ bool global_unsaved = get_undo_redo()->is_history_unsaved(EditorUndoRedoManager::GLOBAL_HISTORY);
+ bool scene_or_global_unsaved = global_unsaved || get_undo_redo()->is_history_unsaved(editor_data.get_current_edited_scene_history_id());
+ if (unsaved_cache != scene_or_global_unsaved) {
+ unsaved_cache = scene_or_global_unsaved;
_update_title();
}
- if (last_checked_version != editor_data.get_undo_redo().get_version()) {
+ if (editor_data.is_scene_changed(-1)) {
_update_scene_tabs();
- last_checked_version = editor_data.get_undo_redo().get_version();
}
// Update the animation frame of the update spinner.
@@ -616,6 +632,10 @@ void EditorNode::_notification(int p_what) {
ResourceImporterTexture::get_singleton()->update_imports();
if (settings_changed) {
+ _update_title();
+ }
+
+ if (settings_changed) {
_update_from_settings();
settings_changed = false;
emit_signal(SNAME("project_settings_changed"));
@@ -641,6 +661,7 @@ void EditorNode::_notification(int p_what) {
command_palette->register_shortcuts_as_command();
+ MessageQueue::get_singleton()->push_callable(callable_mp(this, &EditorNode::_begin_first_scan));
/* DO NOT LOAD SCENES HERE, WAIT FOR FILE SCANNING AND REIMPORT TO COMPLETE */
} break;
@@ -732,11 +753,7 @@ void EditorNode::_notification(int p_what) {
scene_tabs->add_theme_style_override("tab_selected", gui_base->get_theme_stylebox(SNAME("SceneTabFG"), SNAME("EditorStyles")));
scene_tabs->add_theme_style_override("tab_unselected", gui_base->get_theme_stylebox(SNAME("SceneTabBG"), SNAME("EditorStyles")));
- file_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- project_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- debug_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- settings_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- help_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
+ main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
}
scene_tabs->set_max_tab_width(int(EDITOR_GET("interface/scene_tabs/maximum_width")) * EDSCALE);
@@ -784,16 +801,15 @@ void EditorNode::_notification(int p_what) {
dock_tab_move_right->set_icon(theme->get_icon(SNAME("Forward"), SNAME("EditorIcons")));
}
- PopupMenu *p = help_menu->get_popup();
- p->set_item_icon(p->get_item_index(HELP_SEARCH), gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_DOCS), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_QA), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_REPORT_A_BUG), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_SUGGEST_A_FEATURE), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_SEND_DOCS_FEEDBACK), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_COMMUNITY), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_ABOUT), gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons")));
- p->set_item_icon(p->get_item_index(HELP_SUPPORT_GODOT_DEVELOPMENT), gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_SEARCH), gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_DOCS), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_QA), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_REPORT_A_BUG), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_SUGGEST_A_FEATURE), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_SEND_DOCS_FEEDBACK), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_COMMUNITY), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_ABOUT), gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons")));
+ help_menu->set_item_icon(help_menu->get_item_index(HELP_SUPPORT_GODOT_DEVELOPMENT), gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons")));
for (int i = 0; i < main_editor_buttons.size(); i++) {
main_editor_buttons.write[i]->add_theme_font_override("font", gui_base->get_theme_font(SNAME("main_button_font"), SNAME("EditorFonts")));
@@ -876,7 +892,7 @@ void EditorNode::_resources_changed(const Vector<String> &p_resources) {
int rc = p_resources.size();
for (int i = 0; i < rc; i++) {
- Ref<Resource> res(ResourceCache::get(p_resources.get(i)));
+ Ref<Resource> res = ResourceCache::get_ref(p_resources.get(i));
if (res.is_null()) {
continue;
}
@@ -919,6 +935,7 @@ void EditorNode::_fs_changed() {
// FIXME: Move this to a cleaner location, it's hacky to do this in _fs_changed.
String export_error;
+ Error err = OK;
if (!export_defer.preset.is_empty() && !EditorFileSystem::get_singleton()->is_scanning()) {
String preset_name = export_defer.preset;
// Ensures export_project does not loop infinitely, because notifications may
@@ -936,6 +953,7 @@ void EditorNode::_fs_changed() {
if (export_preset.is_null()) {
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
if (da->file_exists("res://export_presets.cfg")) {
+ err = FAILED;
export_error = vformat(
"Invalid export preset name: %s.\nThe following presets were detected in this project's `export_presets.cfg`:\n\n",
preset_name);
@@ -944,17 +962,19 @@ void EditorNode::_fs_changed() {
export_error += vformat(" \"%s\"\n", EditorExport::get_singleton()->get_export_preset(i)->get_name());
}
} else {
+ err = FAILED;
export_error = "This project doesn't have an `export_presets.cfg` file at its root.\nCreate an export preset from the \"Project > Export\" dialog and try again.";
}
} else {
Ref<EditorExportPlatform> platform = export_preset->get_platform();
const String export_path = export_defer.path.is_empty() ? export_preset->get_export_path() : export_defer.path;
if (export_path.is_empty()) {
+ err = FAILED;
export_error = vformat("Export preset \"%s\" doesn't have a default export path, and none was specified.", preset_name);
} else if (platform.is_null()) {
+ err = FAILED;
export_error = vformat("Export preset \"%s\" doesn't have a matching platform.", preset_name);
} else {
- Error err = OK;
if (export_defer.pack_only) { // Only export .pck or .zip data pack.
if (export_path.ends_with(".zip")) {
err = platform->export_zip(export_preset, export_defer.debug, export_path);
@@ -968,31 +988,25 @@ void EditorNode::_fs_changed() {
ERR_PRINT(vformat("Cannot export project with preset \"%s\" due to configuration errors:\n%s", preset_name, config_error));
err = missing_templates ? ERR_FILE_NOT_FOUND : ERR_UNCONFIGURED;
} else {
+ platform->clear_messages();
err = platform->export_project(export_preset, export_defer.debug, export_path);
}
}
- switch (err) {
- case OK:
- break;
- case ERR_FILE_NOT_FOUND:
- export_error = vformat("Project export failed for preset \"%s\". The export template appears to be missing.", preset_name);
- break;
- case ERR_FILE_BAD_PATH:
- export_error = vformat("Project export failed for preset \"%s\". The target path \"%s\" appears to be invalid.", preset_name, export_path);
- break;
- default:
- export_error = vformat("Project export failed with error code %d for preset \"%s\".", (int)err, preset_name);
- break;
+ if (err != OK) {
+ export_error = vformat("Project export for preset \"%s\" failed.", preset_name);
+ } else if (platform->get_worst_message_type() >= EditorExportPlatform::EXPORT_MESSAGE_WARNING) {
+ export_error = vformat("Project export for preset \"%s\" completed with warnings.", preset_name);
}
}
}
- if (!export_error.is_empty()) {
+ if (err != OK) {
ERR_PRINT(export_error);
_exit_editor(EXIT_FAILURE);
- } else {
- _exit_editor(EXIT_SUCCESS);
+ } else if (!export_error.is_empty()) {
+ WARN_PRINT(export_error);
}
+ _exit_editor(EXIT_SUCCESS);
}
}
@@ -1013,8 +1027,8 @@ void EditorNode::_resources_reimported(const Vector<String> &p_resources) {
continue;
}
// Reload normally.
- Resource *resource = ResourceCache::get(p_resources[i]);
- if (resource) {
+ Ref<Resource> resource = ResourceCache::get_ref(p_resources[i]);
+ if (resource.is_valid()) {
resource->reload_from_file();
}
}
@@ -1030,9 +1044,11 @@ void EditorNode::_sources_changed(bool p_exist) {
if (waiting_for_first_scan) {
waiting_for_first_scan = false;
+ Engine::get_singleton()->startup_benchmark_end_measure(); // editor_scan_and_reimport
+
// Reload the global shader variables, but this time
// loading textures, as they are now properly imported.
- RenderingServer::get_singleton()->global_variables_load_settings(true);
+ RenderingServer::get_singleton()->global_shader_uniforms_load_settings(true);
// Start preview thread now that it's safe.
if (!singleton->cmdline_export_mode) {
@@ -1042,8 +1058,16 @@ void EditorNode::_sources_changed(bool p_exist) {
_load_docks();
if (!defer_load_scene.is_empty()) {
+ Engine::get_singleton()->startup_benchmark_begin_measure("editor_load_scene");
load_scene(defer_load_scene);
defer_load_scene = "";
+ Engine::get_singleton()->startup_benchmark_end_measure();
+
+ if (use_startup_benchmark) {
+ Engine::get_singleton()->startup_dump(startup_benchmark_file);
+ startup_benchmark_file = String();
+ use_startup_benchmark = false;
+ }
}
}
}
@@ -1114,7 +1138,6 @@ void EditorNode::_reload_modified_scenes() {
}
}
- get_undo_redo()->clear_history(false);
set_current_scene(current_idx);
_update_scene_tabs();
disk_changed->hide();
@@ -1210,7 +1233,7 @@ void EditorNode::save_resource_in_path(const Ref<Resource> &p_resource, const St
}
String path = ProjectSettings::get_singleton()->localize_path(p_path);
- Error err = ResourceSaver::save(path, p_resource, flg | ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS);
+ Error err = ResourceSaver::save(p_resource, path, flg | ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS);
if (err != OK) {
if (ResourceLoader::is_imported(p_resource->get_path())) {
@@ -1262,7 +1285,7 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String
// This serves no purpose and confused people.
continue;
}
- file->add_filter("*." + E + " ; " + E.to_upper());
+ file->add_filter("*." + E, E.to_upper());
preferred.push_back(E);
}
// Lowest priority extension.
@@ -1361,7 +1384,7 @@ void EditorNode::_get_scene_metadata(const String &p_file) {
return;
}
- String path = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(p_file.get_file() + "-editstate-" + p_file.md5_text() + ".cfg");
+ String path = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(p_file.get_file() + "-editstate-" + p_file.md5_text() + ".cfg");
Ref<ConfigFile> cf;
cf.instantiate();
@@ -1393,7 +1416,7 @@ void EditorNode::_set_scene_metadata(const String &p_file, int p_idx) {
return;
}
- String path = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(p_file.get_file() + "-editstate-" + p_file.md5_text() + ".cfg");
+ String path = EditorPaths::get_singleton()->get_project_settings_dir().plus_file(p_file.get_file() + "-editstate-" + p_file.md5_text() + ".cfg");
Ref<ConfigFile> cf;
cf.instantiate();
@@ -1433,7 +1456,7 @@ bool EditorNode::_find_and_save_resource(Ref<Resource> p_res, HashMap<Ref<Resour
if (p_res->get_path().is_resource_file()) {
if (changed || subchanged) {
- ResourceSaver::save(p_res->get_path(), p_res, flags);
+ ResourceSaver::save(p_res, p_res->get_path(), flags);
}
processed[p_res] = false; // Because it's a file.
return false;
@@ -1622,34 +1645,6 @@ bool EditorNode::_validate_scene_recursive(const String &p_filename, Node *p_nod
return false;
}
-static bool _find_edited_resources(const Ref<Resource> &p_resource, HashSet<Ref<Resource>> &edited_resources) {
- if (p_resource->is_edited()) {
- edited_resources.insert(p_resource);
- return true;
- }
-
- List<PropertyInfo> plist;
-
- p_resource->get_property_list(&plist);
-
- for (const PropertyInfo &E : plist) {
- if (E.type == Variant::OBJECT && E.usage & PROPERTY_USAGE_STORAGE && !(E.usage & PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT)) {
- Ref<Resource> res = p_resource->get(E.name);
- if (res.is_null()) {
- continue;
- }
- if (res->get_path().is_resource_file()) { // Not a subresource, continue.
- continue;
- }
- if (_find_edited_resources(res, edited_resources)) {
- return true;
- }
- }
- }
-
- return false;
-}
-
int EditorNode::_save_external_resources() {
// Save external resources and its subresources if any was modified.
@@ -1659,29 +1654,45 @@ int EditorNode::_save_external_resources() {
}
flg |= ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS;
- HashSet<Ref<Resource>> edited_subresources;
+ HashSet<String> edited_resources;
int saved = 0;
List<Ref<Resource>> cached;
ResourceCache::get_cached_resources(&cached);
- for (const Ref<Resource> &res : cached) {
- if (!res->get_path().is_resource_file()) {
+
+ for (Ref<Resource> res : cached) {
+ if (!res->is_edited()) {
continue;
}
- // not only check if this resource is edited, check contained subresources too
- if (_find_edited_resources(res, edited_subresources)) {
- ResourceSaver::save(res->get_path(), res, flg);
- saved++;
- }
- }
- // Clear later, because user may have put the same subresource in two different resources,
- // which will be shared until the next reload.
+ String path = res->get_path();
+ if (path.begins_with("res://")) {
+ int subres_pos = path.find("::");
+ if (subres_pos == -1) {
+ // Actual resource.
+ edited_resources.insert(path);
+ } else {
+ edited_resources.insert(path.substr(0, subres_pos));
+ }
+ }
- for (const Ref<Resource> &E : edited_subresources) {
- Ref<Resource> res = E;
res->set_edited(false);
}
+ for (const String &E : edited_resources) {
+ Ref<Resource> res = ResourceCache::get_ref(E);
+ if (!res.is_valid()) {
+ continue; // Maybe it was erased in a thread, who knows.
+ }
+ Ref<PackedScene> ps = res;
+ if (ps.is_valid()) {
+ continue; // Do not save PackedScenes, this will mess up the editor.
+ }
+ ResourceSaver::save(res, res->get_path(), flg);
+ saved++;
+ }
+
+ get_undo_redo()->set_history_as_saved(EditorUndoRedoManager::GLOBAL_HISTORY);
+
return saved;
}
@@ -1727,7 +1738,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
// We must update it, but also let the previous scene state go, as
// old version still work for referencing changes in instantiated or inherited scenes.
- sdata = Ref<PackedScene>(Object::cast_to<PackedScene>(ResourceCache::get(p_file)));
+ sdata = ResourceCache::get_ref(p_file);
if (sdata.is_valid()) {
sdata->recreate_state();
} else {
@@ -1749,7 +1760,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
}
flg |= ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS;
- err = ResourceSaver::save(p_file, sdata, flg);
+ err = ResourceSaver::save(sdata, p_file, flg);
// This needs to be emitted before saving external resources.
emit_signal(SNAME("scene_saved"), p_file);
@@ -1763,11 +1774,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
if (err == OK) {
scene->set_scene_file_path(ProjectSettings::get_singleton()->localize_path(p_file));
- if (idx < 0 || idx == editor_data.get_edited_scene()) {
- set_current_version(editor_data.get_undo_redo().get_version());
- } else {
- editor_data.set_edited_scene_version(0, idx);
- }
+ editor_data.set_scene_as_saved(idx);
editor_data.set_scene_modified_time(idx, FileAccess::get_modified_time(p_file));
editor_folding.save_scene_folding(scene, p_file);
@@ -1799,6 +1806,10 @@ void EditorNode::save_scene_list(Vector<String> p_scene_filenames) {
void EditorNode::restart_editor() {
exiting = true;
+ if (editor_run.get_status() != EditorRun::STATUS_STOP) {
+ editor_run.stop();
+ }
+
String to_reopen;
if (get_tree()->get_edited_scene_root()) {
to_reopen = get_tree()->get_edited_scene_root()->get_scene_file_path();
@@ -1807,9 +1818,16 @@ void EditorNode::restart_editor() {
_exit_editor(EXIT_SUCCESS);
List<String> args;
+
+ for (const String &a : Main::get_forwardable_cli_arguments(Main::CLI_SCOPE_TOOL)) {
+ args.push_back(a);
+ }
+
args.push_back("--path");
args.push_back(ProjectSettings::get_singleton()->get_resource_path());
+
args.push_back("-e");
+
if (!to_reopen.is_empty()) {
args.push_back(to_reopen);
}
@@ -1848,12 +1866,9 @@ void EditorNode::_mark_unsaved_scenes() {
}
String path = node->get_scene_file_path();
- if (!(path.is_empty() || FileAccess::exists(path))) {
- if (i == editor_data.get_edited_scene()) {
- set_current_version(-1);
- } else {
- editor_data.set_edited_scene_version(-1, i);
- }
+ if (!path.is_empty() && !FileAccess::exists(path)) {
+ // Mark scene tab as unsaved if the file is gone.
+ get_undo_redo()->set_history_as_unsaved(editor_data.get_scene_history_id(i));
}
}
@@ -1928,6 +1943,21 @@ void EditorNode::_dialog_action(String p_file) {
}
} break;
+ case FILE_SAVE_AND_RUN_MAIN_SCENE: {
+ ProjectSettings::get_singleton()->set("application/run/main_scene", p_file);
+ ProjectSettings::get_singleton()->save();
+
+ if (file->get_file_mode() == EditorFileDialog::FILE_MODE_SAVE_FILE) {
+ _save_default_environment();
+ _save_scene_with_preview(p_file);
+ if ((bool)pick_main_scene->get_meta("from_native", false)) {
+ run_native->resume_run_native();
+ } else {
+ _run(false, p_file);
+ }
+ }
+ } break;
+
case FILE_EXPORT_MESH_LIBRARY: {
Ref<MeshLibrary> ml;
if (file_export_lib_merge->is_pressed() && FileAccess::exists(p_file)) {
@@ -1945,7 +1975,7 @@ void EditorNode::_dialog_action(String p_file) {
MeshLibraryEditor::update_library_file(editor_data.get_edited_scene_root(), ml, true, file_export_lib_apply_xforms->is_pressed());
- Error err = ResourceSaver::save(p_file, ml);
+ Error err = ResourceSaver::save(ml, p_file);
if (err) {
show_accept(TTR("Error saving MeshLibrary!"), TTR("OK"));
return;
@@ -2190,6 +2220,8 @@ void EditorNode::_edit_current(bool p_skip_foreign) {
bool disable_folding = bool(EDITOR_GET("interface/inspector/disable_folding"));
bool is_resource = current_obj->is_class("Resource");
bool is_node = current_obj->is_class("Node");
+ bool stay_in_script_editor_on_node_selected = bool(EDITOR_GET("text_editor/behavior/navigation/stay_in_script_editor_on_node_selected"));
+ bool skip_main_plugin = false;
String editable_warning; // None by default.
@@ -2226,6 +2258,9 @@ void EditorNode::_edit_current(bool p_skip_foreign) {
NodeDock::get_singleton()->set_node(current_node);
SceneTreeDock::get_singleton()->set_selected(current_node);
InspectorDock::get_singleton()->update(current_node);
+ if (!inspector_only && !skip_main_plugin) {
+ skip_main_plugin = stay_in_script_editor_on_node_selected && ScriptEditor::get_singleton()->is_visible_in_tree();
+ }
} else {
NodeDock::get_singleton()->set_node(nullptr);
SceneTreeDock::get_singleton()->set_selected(nullptr);
@@ -2300,7 +2335,7 @@ void EditorNode::_edit_current(bool p_skip_foreign) {
}
}
- if (main_plugin) {
+ if (main_plugin && !skip_main_plugin) {
// Special case if use of external editor is true.
Resource *current_res = Object::cast_to<Resource>(current_obj);
if (main_plugin->get_name() == "Script" && !current_obj->is_class("VisualScript") && current_res && !current_res->is_built_in() && (bool(EditorSettings::get_singleton()->get("text_editor/external/use_external_editor")) || overrides_external_editor(current_obj))) {
@@ -2352,6 +2387,20 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
play_custom_scene_button->set_pressed(false);
play_custom_scene_button->set_icon(gui_base->get_theme_icon(SNAME("PlayCustom"), SNAME("EditorIcons")));
+ String write_movie_file;
+ if (write_movie_button->is_pressed()) {
+ if (p_current && get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root()->has_meta("movie_file")) {
+ // If the scene file has a movie_file metadata set, use this as file. Quick workaround if you want to have multiple scenes that write to multiple movies.
+ write_movie_file = get_tree()->get_edited_scene_root()->get_meta("movie_file");
+ } else {
+ write_movie_file = GLOBAL_GET("editor/movie_writer/movie_file");
+ }
+ if (write_movie_file == String()) {
+ show_accept(TTR("Movie Maker mode is enabled, but no movie file path has been specified.\nA default movie file path can be specified in the project settings under the 'Editor/Movie Writer' category.\nAlternatively, for running single scenes, a 'movie_path' metadata can be added to the root node,\nspecifying the path to a movie file that will be used when recording that scene."), TTR("OK"));
+ return;
+ }
+ }
+
String run_filename;
if (p_current || (editor_data.get_edited_scene_root() && !p_custom.is_empty() && p_custom == editor_data.get_edited_scene_root()->get_scene_file_path())) {
@@ -2363,10 +2412,8 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
}
if (scene->get_scene_file_path().is_empty()) {
- current_menu_option = -1;
- _menu_option(FILE_SAVE_AS_SCENE);
- // Set the option to save and run so when the dialog is accepted, the scene runs.
current_menu_option = FILE_SAVE_AND_RUN;
+ _menu_option_confirm(FILE_SAVE_AS_SCENE, true);
file->set_title(TTR("Save scene before running..."));
return;
}
@@ -2381,6 +2428,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
if (!ensure_main_scene(false)) {
return;
}
+ run_filename = GLOBAL_DEF_BASIC("application/run/main_scene", "");
}
if (bool(EDITOR_GET("run/auto_save/save_before_running"))) {
@@ -2408,7 +2456,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
}
EditorDebuggerNode::get_singleton()->start();
- Error error = editor_run.run(run_filename);
+ Error error = editor_run.run(run_filename, write_movie_file);
if (error != OK) {
EditorDebuggerNode::get_singleton()->stop();
show_accept(TTR("Could not start subprocess(es)!"), TTR("OK"));
@@ -2470,7 +2518,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
ResourceLoader::get_recognized_extensions_for_type("PackedScene", &extensions);
file->clear_filters();
for (int i = 0; i < extensions.size(); i++) {
- file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ file->add_filter("*." + extensions[i], extensions[i].to_upper());
}
Node *scene = editor_data.get_edited_scene_root();
@@ -2540,10 +2588,10 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
if (scene_root) {
String scene_filename = scene_root->get_scene_file_path();
if (p_option == FILE_CLOSE_ALL_AND_RELOAD_CURRENT_PROJECT) {
- save_confirmation->get_ok_button()->set_text(TTR("Save & Reload"));
+ save_confirmation->set_ok_button_text(TTR("Save & Reload"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before reloading?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene"));
} else {
- save_confirmation->get_ok_button()->set_text(TTR("Save & Quit"));
+ save_confirmation->set_ok_button_text(TTR("Save & Quit"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene"));
}
save_confirmation->popup_centered();
@@ -2616,7 +2664,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
ResourceSaver::get_recognized_extensions(sd, &extensions);
file->clear_filters();
for (int i = 0; i < extensions.size(); i++) {
- file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ file->add_filter("*." + extensions[i], extensions[i].to_upper());
}
if (!scene->get_scene_file_path().is_empty()) {
@@ -2659,7 +2707,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
case FILE_EXTERNAL_OPEN_SCENE: {
if (unsaved_cache && !p_confirmed) {
- confirmation->get_ok_button()->set_text(TTR("Open"));
+ confirmation->set_ok_button_text(TTR("Open"));
confirmation->set_text(TTR("Current scene not saved. Open anyway?"));
confirmation->popup_centered();
break;
@@ -2678,9 +2726,9 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
if ((int)Input::get_singleton()->get_mouse_button_mask() & 0x7) {
log->add_message(TTR("Can't undo while mouse buttons are pressed."), EditorLog::MSG_TYPE_EDITOR);
} else {
- String action = editor_data.get_undo_redo().get_current_action_name();
+ String action = editor_data.get_undo_redo()->get_current_action_name();
- if (!editor_data.get_undo_redo().undo()) {
+ if (!editor_data.get_undo_redo()->undo()) {
log->add_message(TTR("Nothing to undo."), EditorLog::MSG_TYPE_EDITOR);
} else if (!action.is_empty()) {
log->add_message(vformat(TTR("Undo: %s"), action), EditorLog::MSG_TYPE_EDITOR);
@@ -2691,10 +2739,10 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
if ((int)Input::get_singleton()->get_mouse_button_mask() & 0x7) {
log->add_message(TTR("Can't redo while mouse buttons are pressed."), EditorLog::MSG_TYPE_EDITOR);
} else {
- if (!editor_data.get_undo_redo().redo()) {
+ if (!editor_data.get_undo_redo()->redo()) {
log->add_message(TTR("Nothing to redo."), EditorLog::MSG_TYPE_EDITOR);
} else {
- String action = editor_data.get_undo_redo().get_current_action_name();
+ String action = editor_data.get_undo_redo()->get_current_action_name();
log->add_message(vformat(TTR("Redo: %s"), action), EditorLog::MSG_TYPE_EDITOR);
}
}
@@ -2715,7 +2763,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
}
if (unsaved_cache && !p_confirmed) {
- confirmation->get_ok_button()->set_text(TTR("Reload Saved Scene"));
+ confirmation->set_ok_button_text(TTR("Reload Saved Scene"));
confirmation->set_text(
TTR("The current scene has unsaved changes.\nReload the saved scene anyway? This action cannot be undone."));
confirmation->popup_centered();
@@ -2729,7 +2777,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
ERR_PRINT("Failed to load scene");
}
editor_data.move_edited_scene_to_index(cur_idx);
- get_undo_redo()->clear_history(false);
+ get_undo_redo()->clear_history(false, editor_data.get_current_edited_scene_history_id());
scene_tabs->set_current_tab(cur_idx);
} break;
@@ -2804,6 +2852,9 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
}
}
} break;
+ case TOOLS_BUILD_PROFILE_MANAGER: {
+ build_profile_manager->popup_centered_clamped(Size2(700, 800) * EDSCALE, 0.8);
+ } break;
case RUN_USER_DATA_FOLDER: {
// Ensure_user_data_dir() to prevent the edge case: "Open User Data Folder" won't work after the project was renamed in ProjectSettingsEditor unless the project is saved.
OS::get_singleton()->ensure_user_data_dir();
@@ -2837,10 +2888,10 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
i = _next_unsaved_scene(true, ++i);
}
if (p_option == RELOAD_CURRENT_PROJECT) {
- save_confirmation->get_ok_button()->set_text(TTR("Save & Reload"));
+ save_confirmation->set_ok_button_text(TTR("Save & Reload"));
save_confirmation->set_text(TTR("Save changes to the following scene(s) before reloading?") + unsaved_scenes);
} else {
- save_confirmation->get_ok_button()->set_text(TTR("Save & Quit"));
+ save_confirmation->set_ok_button_text(TTR("Save & Quit"));
save_confirmation->set_text((p_option == FILE_QUIT ? TTR("Save changes to the following scene(s) before quitting?") : TTR("Save changes to the following scene(s) before opening Project Manager?")) + unsaved_scenes);
}
save_confirmation->popup_centered();
@@ -2902,7 +2953,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
ResourceLoader::get_recognized_extensions_for_type("PackedScene", &extensions);
file->clear_filters();
for (int i = 0; i < extensions.size(); i++) {
- file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ file->add_filter("*." + extensions[i], extensions[i].to_upper());
}
Node *scene = editor_data.get_edited_scene_root();
@@ -2989,7 +3040,7 @@ void EditorNode::_tool_menu_option(int p_idx) {
Callable callback = tool_menu->get_item_metadata(p_idx);
Callable::CallError ce;
Variant result;
- callback.call(nullptr, 0, result, ce);
+ callback.callp(nullptr, 0, result, ce);
if (ce.error != Callable::CallError::CALL_OK) {
String err = Variant::get_callable_error_text(callback, nullptr, 0, ce);
@@ -3024,7 +3075,7 @@ void EditorNode::_export_as_menu_option(int p_idx) {
Callable callback = export_as_menu->get_item_metadata(p_idx);
Callable::CallError ce;
Variant result;
- callback.call(nullptr, 0, result, ce);
+ callback.callp(nullptr, 0, result, ce);
if (ce.error != Callable::CallError::CALL_OK) {
String err = Variant::get_callable_error_text(callback, nullptr, 0, ce);
@@ -3039,8 +3090,7 @@ int EditorNode::_next_unsaved_scene(bool p_valid_filename, int p_start) {
if (!editor_data.get_edited_scene_root(i)) {
continue;
}
- int current = editor_data.get_edited_scene();
- bool unsaved = (i == current) ? saved_version != editor_data.get_undo_redo().get_version() : editor_data.get_scene_version(i) != 0;
+ bool unsaved = get_undo_redo()->is_history_unsaved(editor_data.get_scene_history_id(i));
if (unsaved) {
String scene_filename = editor_data.get_edited_scene_root(i)->get_scene_file_path();
if (p_valid_filename && scene_filename.length() == 0) {
@@ -3126,6 +3176,9 @@ void EditorNode::_discard_changes(const String &p_str) {
String exec = OS::get_singleton()->get_executable_path();
List<String> args;
+ for (const String &a : Main::get_forwardable_cli_arguments(Main::CLI_SCOPE_TOOL)) {
+ args.push_back(a);
+ }
args.push_back("--path");
args.push_back(exec.get_base_dir());
args.push_back("--project-manager");
@@ -3145,17 +3198,15 @@ void EditorNode::_update_file_menu_opened() {
Ref<Shortcut> reopen_closed_scene_sc = ED_GET_SHORTCUT("editor/reopen_closed_scene");
reopen_closed_scene_sc->set_name(TTR("Reopen Closed Scene"));
- PopupMenu *pop = file_menu->get_popup();
- pop->set_item_disabled(pop->get_item_index(FILE_OPEN_PREV), previous_scenes.is_empty());
+ file_menu->set_item_disabled(file_menu->get_item_index(FILE_OPEN_PREV), previous_scenes.is_empty());
- const UndoRedo &undo_redo = editor_data.get_undo_redo();
- pop->set_item_disabled(pop->get_item_index(EDIT_UNDO), !undo_redo.has_undo());
- pop->set_item_disabled(pop->get_item_index(EDIT_REDO), !undo_redo.has_redo());
+ Ref<EditorUndoRedoManager> undo_redo = editor_data.get_undo_redo();
+ file_menu->set_item_disabled(file_menu->get_item_index(EDIT_UNDO), !undo_redo->has_undo());
+ file_menu->set_item_disabled(file_menu->get_item_index(EDIT_REDO), !undo_redo->has_redo());
}
void EditorNode::_update_file_menu_closed() {
- PopupMenu *pop = file_menu->get_popup();
- pop->set_item_disabled(pop->get_item_index(FILE_OPEN_PREV), false);
+ file_menu->set_item_disabled(file_menu->get_item_index(FILE_OPEN_PREV), false);
}
Control *EditorNode::get_main_control() {
@@ -3229,7 +3280,7 @@ void EditorNode::add_editor_plugin(EditorPlugin *p_editor, bool p_config_changed
Button *tb = memnew(Button);
tb->set_flat(true);
tb->set_toggle_mode(true);
- tb->connect("pressed", callable_mp(singleton, &EditorNode::_editor_select), varray(singleton->main_editor_buttons.size()));
+ tb->connect("pressed", callable_mp(singleton, &EditorNode::_editor_select).bind(singleton->main_editor_buttons.size()));
tb->set_name(p_editor->get_name());
tb->set_text(p_editor->get_name());
@@ -3306,33 +3357,39 @@ void EditorNode::_update_addon_config() {
}
void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled, bool p_config_changed) {
- ERR_FAIL_COND(p_enabled && addon_name_to_plugin.has(p_addon));
- ERR_FAIL_COND(!p_enabled && !addon_name_to_plugin.has(p_addon));
+ String addon_path = p_addon;
+
+ if (!addon_path.begins_with("res://")) {
+ addon_path = "res://addons/" + addon_path + "/plugin.cfg";
+ }
+
+ ERR_FAIL_COND(p_enabled && addon_name_to_plugin.has(addon_path));
+ ERR_FAIL_COND(!p_enabled && !addon_name_to_plugin.has(addon_path));
if (!p_enabled) {
- EditorPlugin *addon = addon_name_to_plugin[p_addon];
+ EditorPlugin *addon = addon_name_to_plugin[addon_path];
remove_editor_plugin(addon, p_config_changed);
memdelete(addon);
- addon_name_to_plugin.erase(p_addon);
+ addon_name_to_plugin.erase(addon_path);
_update_addon_config();
return;
}
Ref<ConfigFile> cf;
cf.instantiate();
- if (!DirAccess::exists(p_addon.get_base_dir())) {
- _remove_plugin_from_enabled(p_addon);
- WARN_PRINT("Addon '" + p_addon + "' failed to load. No directory found. Removing from enabled plugins.");
+ if (!DirAccess::exists(addon_path.get_base_dir())) {
+ _remove_plugin_from_enabled(addon_path);
+ WARN_PRINT("Addon '" + addon_path + "' failed to load. No directory found. Removing from enabled plugins.");
return;
}
- Error err = cf->load(p_addon);
+ Error err = cf->load(addon_path);
if (err != OK) {
- show_warning(vformat(TTR("Unable to enable addon plugin at: '%s' parsing of config failed."), p_addon));
+ show_warning(vformat(TTR("Unable to enable addon plugin at: '%s' parsing of config failed."), addon_path));
return;
}
if (!cf->has_section_key("plugin", "script")) {
- show_warning(vformat(TTR("Unable to find script field for addon plugin at: '%s'."), p_addon));
+ show_warning(vformat(TTR("Unable to find script field for addon plugin at: '%s'."), addon_path));
return;
}
@@ -3341,7 +3398,7 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
// Only try to load the script if it has a name. Else, the plugin has no init script.
if (script_path.length() > 0) {
- script_path = p_addon.get_base_dir().plus_file(script_path);
+ script_path = addon_path.get_base_dir().plus_file(script_path);
script = ResourceLoader::load(script_path);
if (script.is_null()) {
@@ -3351,8 +3408,8 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
// Errors in the script cause the base_type to be an empty StringName.
if (script->get_instance_base_type() == StringName()) {
- show_warning(vformat(TTR("Unable to load addon script from path: '%s'. This might be due to a code error in that script.\nDisabling the addon at '%s' to prevent further errors."), script_path, p_addon));
- _remove_plugin_from_enabled(p_addon);
+ show_warning(vformat(TTR("Unable to load addon script from path: '%s'. This might be due to a code error in that script.\nDisabling the addon at '%s' to prevent further errors."), script_path, addon_path));
+ _remove_plugin_from_enabled(addon_path);
return;
}
@@ -3370,14 +3427,18 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
EditorPlugin *ep = memnew(EditorPlugin);
ep->set_script(script);
- addon_name_to_plugin[p_addon] = ep;
+ addon_name_to_plugin[addon_path] = ep;
add_editor_plugin(ep, p_config_changed);
_update_addon_config();
}
bool EditorNode::is_addon_plugin_enabled(const String &p_addon) const {
- return addon_name_to_plugin.has(p_addon);
+ if (p_addon.begins_with("res://")) {
+ return addon_name_to_plugin.has(p_addon);
+ }
+
+ return addon_name_to_plugin.has("res://addons/" + p_addon + "/plugin.cfg");
}
void EditorNode::_remove_edited_scene(bool p_change_tab) {
@@ -3397,7 +3458,6 @@ void EditorNode::_remove_edited_scene(bool p_change_tab) {
_scene_tab_changed(new_index);
}
editor_data.remove_scene(old_index);
- editor_data.get_undo_redo().clear_history(false);
_update_title();
_update_scene_tabs();
}
@@ -3453,7 +3513,6 @@ Dictionary EditorNode::_get_main_scene_state() {
state["main_tab"] = _get_current_main_editor();
state["scene_tree_offset"] = SceneTreeDock::get_singleton()->get_tree_editor()->get_scene_tree()->get_vscroll_bar()->get_value();
state["property_edit_offset"] = InspectorDock::get_inspector_singleton()->get_scroll_offset();
- state["saved_version"] = saved_version;
state["node_filter"] = SceneTreeDock::get_singleton()->get_filter();
return state;
}
@@ -3513,11 +3572,6 @@ void EditorNode::_set_main_scene_state(Dictionary p_state, Node *p_for_scene) {
editor_data.notify_edited_scene_changed();
}
-void EditorNode::set_current_version(uint64_t p_version) {
- saved_version = p_version;
- editor_data.set_edited_scene_version(p_version);
-}
-
bool EditorNode::is_changing_scene() const {
return changing_scene;
}
@@ -3537,7 +3591,7 @@ void EditorNode::set_current_scene(int p_idx) {
editor_folding.load_scene_folding(editor_data.get_edited_scene_root(p_idx), editor_data.get_scene_path(p_idx));
}
- call_deferred(SNAME("_clear_undo_history"));
+ get_undo_redo()->clear_history(false, editor_data.get_scene_history_id(p_idx));
}
changing_scene = true;
@@ -3554,8 +3608,8 @@ void EditorNode::set_current_scene(int p_idx) {
Node *new_scene = editor_data.get_edited_scene_root();
- if (Object::cast_to<Popup>(new_scene)) {
- Object::cast_to<Popup>(new_scene)->show();
+ if (Popup *p = Object::cast_to<Popup>(new_scene)) {
+ p->show();
}
SceneTreeDock::get_singleton()->set_edited_scene(new_scene);
@@ -3573,10 +3627,18 @@ void EditorNode::set_current_scene(int p_idx) {
_edit_current(true);
_update_title();
+ _update_scene_tabs();
call_deferred(SNAME("_set_main_scene_state"), state, get_edited_scene()); // Do after everything else is done setting up.
}
+void EditorNode::setup_color_picker(ColorPicker *picker) {
+ int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
+ int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
+ picker->set_color_mode((ColorPicker::ColorModeType)default_color_mode);
+ picker->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
+}
+
bool EditorNode::is_scene_open(const String &p_path) {
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
if (editor_data.get_scene_path(i) == p_path) {
@@ -3688,7 +3750,7 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b
if (ResourceCache::has(lpath)) {
// Used from somewhere else? No problem! Update state and replace sdata.
- Ref<PackedScene> ps = Ref<PackedScene>(Object::cast_to<PackedScene>(ResourceCache::get(lpath)));
+ Ref<PackedScene> ps = ResourceCache::get_ref(lpath);
if (ps.is_valid()) {
ps->replace_state(sdata->get_state());
ps->set_last_modified_time(sdata->get_last_modified_time());
@@ -3724,7 +3786,6 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b
set_edited_scene(new_scene);
_get_scene_metadata(p_scene);
- saved_version = editor_data.get_undo_redo().get_version();
_update_title();
_update_scene_tabs();
_add_to_recent_scenes(lpath);
@@ -3775,6 +3836,10 @@ void EditorNode::request_instantiate_scenes(const Vector<String> &p_files) {
SceneTreeDock::get_singleton()->instantiate_scenes(p_files);
}
+Ref<EditorUndoRedoManager> &EditorNode::get_undo_redo() {
+ return singleton->editor_data.get_undo_redo();
+}
+
void EditorNode::_inherit_request(String p_file) {
current_menu_option = FILE_NEW_INHERITED_SCENE;
_dialog_action(p_file);
@@ -3935,6 +4000,7 @@ void EditorNode::register_editor_types() {
GDREGISTER_CLASS(EditorSpinSlider);
GDREGISTER_CLASS(EditorResourcePicker);
GDREGISTER_CLASS(EditorScriptPicker);
+ GDREGISTER_ABSTRACT_CLASS(EditorUndoRedoManager);
GDREGISTER_ABSTRACT_CLASS(FileSystemDock);
GDREGISTER_VIRTUAL_CLASS(EditorFileSystemImportFormatSupportQuery);
@@ -4032,10 +4098,8 @@ Ref<ImageTexture> EditorNode::_load_custom_class_icon(const String &p_path) cons
Ref<Image> img = memnew(Image);
Error err = ImageLoader::load_image(p_path, img);
if (err == OK) {
- Ref<ImageTexture> icon = memnew(ImageTexture);
img->resize(16 * EDSCALE, 16 * EDSCALE, Image::INTERPOLATE_LANCZOS);
- icon->create_from_image(img);
- return icon;
+ return ImageTexture::create_from_image(img);
}
}
return nullptr;
@@ -4051,8 +4115,15 @@ void EditorNode::_pick_main_scene_custom_action(const String &p_custom_action_na
}
pick_main_scene->hide();
- current_menu_option = SETTINGS_PICK_MAIN_SCENE;
- _dialog_action(scene->get_scene_file_path());
+
+ if (!FileAccess::exists(scene->get_scene_file_path())) {
+ current_menu_option = FILE_SAVE_AND_RUN_MAIN_SCENE;
+ _menu_option_confirm(FILE_SAVE_AS_SCENE, true);
+ file->set_title(TTR("Save scene before running..."));
+ } else {
+ current_menu_option = SETTINGS_PICK_MAIN_SCENE;
+ _dialog_action(scene->get_scene_file_path());
+ }
}
}
@@ -4252,6 +4323,15 @@ void EditorNode::_editor_file_dialog_unregister(EditorFileDialog *p_dialog) {
Vector<EditorNodeInitCallback> EditorNode::_init_callbacks;
+void EditorNode::_begin_first_scan() {
+ Engine::get_singleton()->startup_benchmark_begin_measure("editor_scan_and_import");
+ EditorFileSystem::get_singleton()->scan();
+}
+void EditorNode::set_use_startup_benchmark(bool p_use_startup_benchmark, const String &p_startup_benchmark_file) {
+ use_startup_benchmark = p_use_startup_benchmark;
+ startup_benchmark_file = p_startup_benchmark_file;
+}
+
Error EditorNode::export_preset(const String &p_preset, const String &p_path, bool p_debug, bool p_pack_only) {
export_defer.preset = p_preset;
export_defer.path = p_path;
@@ -4263,14 +4343,14 @@ Error EditorNode::export_preset(const String &p_preset, const String &p_path, bo
void EditorNode::show_accept(const String &p_text, const String &p_title) {
current_menu_option = -1;
- accept->get_ok_button()->set_text(p_title);
+ accept->set_ok_button_text(p_title);
accept->set_text(p_text);
accept->popup_centered();
}
void EditorNode::show_save_accept(const String &p_text, const String &p_title) {
current_menu_option = -1;
- save_accept->get_ok_button()->set_text(p_title);
+ save_accept->set_ok_button_text(p_title);
save_accept->set_text(p_text);
save_accept->popup_centered();
}
@@ -4324,22 +4404,22 @@ void EditorNode::_dock_make_float() {
window->set_title(dock->get_name());
Panel *p = memnew(Panel);
p->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("PanelForeground"), SNAME("EditorStyles")));
- p->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ p->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
window->add_child(p);
MarginContainer *margin = memnew(MarginContainer);
- margin->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ margin->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
margin->add_theme_constant_override("margin_right", borders.width);
margin->add_theme_constant_override("margin_top", borders.height);
margin->add_theme_constant_override("margin_left", borders.width);
margin->add_theme_constant_override("margin_bottom", borders.height);
window->add_child(margin);
- dock->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ dock->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
margin->add_child(dock);
window->set_wrap_controls(true);
window->set_size(dock_size);
window->set_position(dock_screen_pos);
window->set_transient(true);
- window->connect("close_requested", callable_mp(this, &EditorNode::_dock_floating_close_request), varray(dock));
+ window->connect("close_requested", callable_mp(this, &EditorNode::_dock_floating_close_request).bind(dock));
window->set_meta("dock_slot", dock_popup_selected_idx);
window->set_meta("dock_index", dock_index);
gui_base->add_child(window);
@@ -4560,13 +4640,13 @@ void EditorNode::_save_docks() {
Ref<ConfigFile> config;
config.instantiate();
// Load and amend existing config if it exists.
- config->load(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
+ config->load(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
_save_docks_to_config(config, "docks");
_save_open_scenes_to_config(config, "EditorNode");
editor_data.get_plugin_window_layout(config);
- config->save(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
+ config->save(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
}
void EditorNode::_save_docks_to_config(Ref<ConfigFile> p_layout, const String &p_section) {
@@ -4580,8 +4660,14 @@ void EditorNode::_save_docks_to_config(Ref<ConfigFile> p_layout, const String &p
names += name;
}
+ String config_key = "dock_" + itos(i + 1);
+
+ if (p_layout->has_section_key(p_section, config_key)) {
+ p_layout->erase_section_key(p_section, config_key);
+ }
+
if (!names.is_empty()) {
- p_layout->set_value(p_section, "dock_" + itos(i + 1), names);
+ p_layout->set_value(p_section, config_key, names);
}
}
@@ -4624,7 +4710,7 @@ void EditorNode::_dock_split_dragged(int ofs) {
void EditorNode::_load_docks() {
Ref<ConfigFile> config;
config.instantiate();
- Error err = config->load(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
+ Error err = config->load(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
if (err != OK) {
// No config.
if (overridden_default_layout >= 0) {
@@ -4857,7 +4943,7 @@ bool EditorNode::has_scenes_in_session() {
}
Ref<ConfigFile> config;
config.instantiate();
- Error err = config->load(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
+ Error err = config->load(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("editor_layout.cfg"));
if (err != OK) {
return false;
}
@@ -4870,7 +4956,7 @@ bool EditorNode::has_scenes_in_session() {
bool EditorNode::ensure_main_scene(bool p_from_native) {
pick_main_scene->set_meta("from_native", p_from_native); // Whether from play button or native run.
- String main_scene = GLOBAL_DEF("application/run/main_scene", "");
+ String main_scene = GLOBAL_DEF_BASIC("application/run/main_scene", "");
if (main_scene.is_empty()) {
current_menu_option = -1;
@@ -4936,7 +5022,7 @@ bool EditorNode::is_run_playing() const {
String EditorNode::get_run_playing_scene() const {
String run_filename = editor_run.get_running_scene();
if (run_filename.is_empty() && is_run_playing()) {
- run_filename = GLOBAL_DEF("application/run/main_scene", ""); // Must be the main scene then.
+ run_filename = GLOBAL_DEF_BASIC("application/run/main_scene", ""); // Must be the main scene then.
}
return run_filename;
@@ -4948,8 +5034,8 @@ void EditorNode::_immediate_dialog_confirmed() {
bool EditorNode::immediate_confirmation_dialog(const String &p_text, const String &p_ok_text, const String &p_cancel_text) {
ConfirmationDialog *cd = memnew(ConfirmationDialog);
cd->set_text(p_text);
- cd->get_ok_button()->set_text(p_ok_text);
- cd->get_cancel_button()->set_text(p_cancel_text);
+ cd->set_ok_button_text(p_ok_text);
+ cd->set_cancel_button_text(p_cancel_text);
cd->connect("confirmed", callable_mp(singleton, &EditorNode::_immediate_dialog_confirmed));
singleton->gui_base->add_child(cd);
@@ -5011,14 +5097,14 @@ void EditorNode::_layout_menu_option(int p_id) {
case SETTINGS_LAYOUT_SAVE: {
current_menu_option = p_id;
layout_dialog->set_title(TTR("Save Layout"));
- layout_dialog->get_ok_button()->set_text(TTR("Save"));
+ layout_dialog->set_ok_button_text(TTR("Save"));
layout_dialog->popup_centered();
layout_dialog->set_name_line_enabled(true);
} break;
case SETTINGS_LAYOUT_DELETE: {
current_menu_option = p_id;
layout_dialog->set_title(TTR("Delete Layout"));
- layout_dialog->get_ok_button()->set_text(TTR("Delete"));
+ layout_dialog->set_ok_button_text(TTR("Delete"));
layout_dialog->popup_centered();
layout_dialog->set_name_line_enabled(false);
} break;
@@ -5056,11 +5142,9 @@ void EditorNode::_scene_tab_closed(int p_tab, int option) {
return;
}
- bool unsaved = (p_tab == editor_data.get_edited_scene())
- ? saved_version != editor_data.get_undo_redo().get_version()
- : editor_data.get_scene_version(p_tab) != 0;
+ bool unsaved = get_undo_redo()->is_history_unsaved(editor_data.get_scene_history_id(p_tab));
if (unsaved) {
- save_confirmation->get_ok_button()->set_text(TTR("Save & Close"));
+ save_confirmation->set_ok_button_text(TTR("Save & Close"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene->get_scene_file_path().is_empty() ? scene->get_scene_file_path() : "unsaved scene"));
save_confirmation->popup_centered();
} else {
@@ -5170,29 +5254,16 @@ void EditorNode::_thumbnail_done(const String &p_path, const Ref<Texture2D> &p_p
void EditorNode::_scene_tab_changed(int p_tab) {
tab_preview_panel->hide();
- bool unsaved = (saved_version != editor_data.get_undo_redo().get_version());
-
if (p_tab == editor_data.get_edited_scene()) {
return; // Pointless.
}
-
- uint64_t next_scene_version = editor_data.get_scene_version(p_tab);
-
- editor_data.get_undo_redo().create_action(TTR("Switch Scene Tab"));
- editor_data.get_undo_redo().add_do_method(this, "set_current_version", unsaved ? saved_version : 0);
- editor_data.get_undo_redo().add_do_method(this, "set_current_scene", p_tab);
- editor_data.get_undo_redo().add_do_method(this, "set_current_version", next_scene_version == 0 ? editor_data.get_undo_redo().get_version() + 1 : next_scene_version);
-
- editor_data.get_undo_redo().add_undo_method(this, "set_current_version", next_scene_version);
- editor_data.get_undo_redo().add_undo_method(this, "set_current_scene", editor_data.get_edited_scene());
- editor_data.get_undo_redo().add_undo_method(this, "set_current_version", saved_version);
- editor_data.get_undo_redo().commit_action();
+ set_current_scene(p_tab);
}
Button *EditorNode::add_bottom_panel_item(String p_text, Control *p_item) {
Button *tb = memnew(Button);
tb->set_flat(true);
- tb->connect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch), varray(bottom_panel_items.size()));
+ tb->connect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch).bind(bottom_panel_items.size()));
tb->set_text(p_text);
tb->set_toggle_mode(true);
tb->set_focus_mode(Control::FOCUS_NONE);
@@ -5239,7 +5310,7 @@ void EditorNode::raise_bottom_panel_item(Control *p_item) {
for (int i = 0; i < bottom_panel_items.size(); i++) {
bottom_panel_items[i].button->disconnect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch));
- bottom_panel_items[i].button->connect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch), varray(i));
+ bottom_panel_items[i].button->connect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch).bind(i));
}
}
@@ -5259,7 +5330,7 @@ void EditorNode::remove_bottom_panel_item(Control *p_item) {
for (int i = 0; i < bottom_panel_items.size(); i++) {
bottom_panel_items[i].button->disconnect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch));
- bottom_panel_items[i].button->connect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch), varray(i));
+ bottom_panel_items[i].button->connect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch).bind(i));
}
}
@@ -5382,9 +5453,7 @@ Variant EditorNode::drag_resource(const Ref<Resource> &p_res, Control *p_from) {
Ref<Image> img = texture->get_image();
img = img->duplicate();
img->resize(48, 48); // meh
- Ref<ImageTexture> resized_pic = Ref<ImageTexture>(memnew(ImageTexture));
- resized_pic->create_from_image(img);
- preview = resized_pic;
+ preview = ImageTexture::create_from_image(img);
}
drag_preview->set_texture(preview);
@@ -5574,7 +5643,7 @@ void EditorNode::reload_scene(const String &p_path) {
if (scene_idx == -1) {
if (get_edited_scene()) {
// Scene is not open, so at it might be instantiated. We'll refresh the whole scene later.
- editor_data.get_undo_redo().clear_history();
+ editor_data.get_undo_redo()->clear_history(false, editor_data.get_current_edited_scene_history_id());
}
return;
}
@@ -5590,7 +5659,7 @@ void EditorNode::reload_scene(const String &p_path) {
// Adjust index so tab is back a the previous position.
editor_data.move_edited_scene_to_index(scene_idx);
- get_undo_redo()->clear_history();
+ get_undo_redo()->clear_history(false, editor_data.get_scene_history_id(scene_idx));
// Recover the tab.
scene_tabs->set_current_tab(current_tab);
@@ -5729,12 +5798,12 @@ void EditorNode::_feature_profile_changed() {
main_editor_buttons[EDITOR_3D]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D));
main_editor_buttons[EDITOR_SCRIPT]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT));
- if (StreamPeerSSL::is_available()) {
+ if (AssetLibraryEditorPlugin::is_available()) {
main_editor_buttons[EDITOR_ASSETLIB]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB));
}
if ((profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D) && singleton->main_editor_buttons[EDITOR_3D]->is_pressed()) ||
(profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT) && singleton->main_editor_buttons[EDITOR_SCRIPT]->is_pressed()) ||
- (StreamPeerSSL::is_available() && profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB) && singleton->main_editor_buttons[EDITOR_ASSETLIB]->is_pressed())) {
+ (AssetLibraryEditorPlugin::is_available() && profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB) && singleton->main_editor_buttons[EDITOR_ASSETLIB]->is_pressed())) {
_editor_select(EDITOR_2D);
}
} else {
@@ -5746,7 +5815,7 @@ void EditorNode::_feature_profile_changed() {
FileSystemDock::get_singleton()->set_visible(true);
main_editor_buttons[EDITOR_3D]->set_visible(true);
main_editor_buttons[EDITOR_SCRIPT]->set_visible(true);
- if (StreamPeerSSL::is_available()) {
+ if (AssetLibraryEditorPlugin::is_available()) {
main_editor_buttons[EDITOR_ASSETLIB]->set_visible(true);
}
}
@@ -5774,7 +5843,6 @@ void EditorNode::_bind_methods() {
ClassDB::bind_method("stop_child_process", &EditorNode::stop_child_process);
ClassDB::bind_method("set_current_scene", &EditorNode::set_current_scene);
- ClassDB::bind_method("set_current_version", &EditorNode::set_current_version);
ClassDB::bind_method("_thumbnail_done", &EditorNode::_thumbnail_done);
ClassDB::bind_method("_set_main_scene_state", &EditorNode::_set_main_scene_state);
ClassDB::bind_method("_update_recent_scenes", &EditorNode::_update_recent_scenes);
@@ -5806,9 +5874,15 @@ static Node *_resource_get_edited_scene() {
return EditorNode::get_singleton()->get_edited_scene();
}
-void EditorNode::_print_handler(void *p_this, const String &p_string, bool p_error) {
+void EditorNode::_print_handler(void *p_this, const String &p_string, bool p_error, bool p_rich) {
EditorNode *en = static_cast<EditorNode *>(p_this);
- en->log->add_message(p_string, p_error ? EditorLog::MSG_TYPE_ERROR : EditorLog::MSG_TYPE_STD);
+ if (p_error) {
+ en->log->add_message(p_string, EditorLog::MSG_TYPE_ERROR);
+ } else if (p_rich) {
+ en->log->add_message(p_string, EditorLog::MSG_TYPE_STD_RICH);
+ } else {
+ en->log->add_message(p_string, EditorLog::MSG_TYPE_STD);
+ }
}
static void _execute_thread(void *p_ud) {
@@ -5880,8 +5954,14 @@ EditorNode::EditorNode() {
RenderingServer::get_singleton()->set_debug_generate_wireframes(true);
+ AudioServer::get_singleton()->set_enable_tagging_used_audio_streams(true);
+
// No navigation server by default if in editor.
- NavigationServer3D::get_singleton()->set_active(false);
+ if (NavigationServer3D::get_singleton()->get_debug_enabled()) {
+ NavigationServer3D::get_singleton()->set_active(true);
+ } else {
+ NavigationServer3D::get_singleton()->set_active(false);
+ }
// No physics by default if in editor.
PhysicsServer3D::get_singleton()->set_active(false);
@@ -6063,7 +6143,7 @@ EditorNode::EditorNode() {
rmp.instantiate();
EditorInspector::add_inspector_plugin(rmp);
- Ref<EditorInspectorShaderModePlugin> smp;
+ Ref<EditorInspectorVisualShaderModePlugin> smp;
smp.instantiate();
EditorInspector::add_inspector_plugin(smp);
}
@@ -6090,8 +6170,6 @@ EditorNode::EditorNode() {
register_exporters();
- ClassDB::set_class_enabled("RootMotionView", true);
-
EDITOR_DEF("interface/editor/save_on_focus_loss", false);
EDITOR_DEF("interface/editor/show_update_spinner", false);
EDITOR_DEF("interface/editor/update_continuously", false);
@@ -6100,17 +6178,26 @@ EditorNode::EditorNode() {
EDITOR_DEF_RST("interface/inspector/default_property_name_style", EditorPropertyNameProcessor::STYLE_CAPITALIZED);
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_property_name_style", PROPERTY_HINT_ENUM, "Raw,Capitalized,Localized"));
EDITOR_DEF_RST("interface/inspector/default_float_step", 0.001);
- EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::FLOAT, "interface/inspector/default_float_step", PROPERTY_HINT_RANGE, "0,1,0"));
+ // The lowest value is equal to the minimum float step for 32-bit floats.
+ // The step must be set manually, as changing this setting should not change the step here.
+ EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::FLOAT, "interface/inspector/default_float_step", PROPERTY_HINT_RANGE, "0.0000001,1,0.0000001"));
EDITOR_DEF_RST("interface/inspector/disable_folding", false);
EDITOR_DEF_RST("interface/inspector/auto_unfold_foreign_scenes", true);
EDITOR_DEF("interface/inspector/horizontal_vector2_editing", false);
EDITOR_DEF("interface/inspector/horizontal_vector_types_editing", true);
EDITOR_DEF("interface/inspector/open_resources_in_current_inspector", true);
- EDITOR_DEF("interface/inspector/resources_to_open_in_new_inspector", "Script,MeshLibrary");
+
+ PackedStringArray open_in_new_inspector_defaults;
+ // Required for the script editor to work.
+ open_in_new_inspector_defaults.push_back("Script");
+ // Required for the GridMap editor to work.
+ open_in_new_inspector_defaults.push_back("MeshLibrary");
+ EDITOR_DEF("interface/inspector/resources_to_open_in_new_inspector", open_in_new_inspector_defaults);
+
EDITOR_DEF("interface/inspector/default_color_picker_mode", 0);
- EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_mode", PROPERTY_HINT_ENUM, "RGB,HSV,RAW", PROPERTY_USAGE_DEFAULT));
- EDITOR_DEF("interface/inspector/default_color_picker_shape", (int32_t)ColorPicker::SHAPE_VHS_CIRCLE);
- EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_shape", PROPERTY_HINT_ENUM, "HSV Rectangle,HSV Rectangle Wheel,VHS Circle", PROPERTY_USAGE_DEFAULT));
+ EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_mode", PROPERTY_HINT_ENUM, "RGB,HSV,RAW,OKHSL", PROPERTY_USAGE_DEFAULT));
+ EDITOR_DEF("interface/inspector/default_color_picker_shape", (int32_t)ColorPicker::SHAPE_OKHSL_CIRCLE);
+ EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_shape", PROPERTY_HINT_ENUM, "HSV Rectangle,HSV Rectangle Wheel,VHS Circle,OKHSL Circle", PROPERTY_USAGE_DEFAULT));
ED_SHORTCUT("canvas_item_editor/pan_view", TTR("Pan View"), Key::SPACE);
@@ -6121,11 +6208,11 @@ EditorNode::EditorNode() {
theme_base = memnew(Control);
add_child(theme_base);
- theme_base->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ theme_base->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
gui_base = memnew(Panel);
theme_base->add_child(gui_base);
- gui_base->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ gui_base->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
theme_base->set_theme(theme);
gui_base->set_theme(theme);
@@ -6143,7 +6230,7 @@ EditorNode::EditorNode() {
main_vbox = memnew(VBoxContainer);
gui_base->add_child(main_vbox);
- main_vbox->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 8);
+ main_vbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, 8);
main_vbox->add_theme_constant_override("separation", 8 * EDSCALE);
menu_hb = memnew(HBoxContainer);
@@ -6272,7 +6359,7 @@ EditorNode::EditorNode() {
dock_slot[i]->set_custom_minimum_size(Size2(170, 0) * EDSCALE);
dock_slot[i]->set_v_size_flags(Control::SIZE_EXPAND_FILL);
dock_slot[i]->set_popup(dock_select_popup);
- dock_slot[i]->connect("pre_popup_pressed", callable_mp(this, &EditorNode::_dock_pre_popup), varray(i));
+ dock_slot[i]->connect("pre_popup_pressed", callable_mp(this, &EditorNode::_dock_pre_popup).bind(i));
dock_slot[i]->set_drag_to_rearrange_enabled(true);
dock_slot[i]->set_tabs_rearrange_group(1);
dock_slot[i]->connect("tab_changed", callable_mp(this, &EditorNode::_dock_tab_changed));
@@ -6320,7 +6407,7 @@ EditorNode::EditorNode() {
scene_tabs->set_drag_to_rearrange_enabled(true);
scene_tabs->connect("tab_changed", callable_mp(this, &EditorNode::_scene_tab_changed));
scene_tabs->connect("tab_button_pressed", callable_mp(this, &EditorNode::_scene_tab_script_edited));
- scene_tabs->connect("tab_close_pressed", callable_mp(this, &EditorNode::_scene_tab_closed), varray(SCENE_TAB_CLOSE));
+ scene_tabs->connect("tab_close_pressed", callable_mp(this, &EditorNode::_scene_tab_closed).bind(SCENE_TAB_CLOSE));
scene_tabs->connect("tab_hovered", callable_mp(this, &EditorNode::_scene_tab_hovered));
scene_tabs->connect("mouse_exited", callable_mp(this, &EditorNode::_scene_tab_exit));
scene_tabs->connect("gui_input", callable_mp(this, &EditorNode::_scene_tab_input));
@@ -6339,7 +6426,7 @@ EditorNode::EditorNode() {
scene_tab_add->set_icon(gui_base->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
scene_tab_add->add_theme_color_override("icon_normal_color", Color(0.6f, 0.6f, 0.6f, 0.8f));
scene_tabs->add_child(scene_tab_add);
- scene_tab_add->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(FILE_NEW_SCENE));
+ scene_tab_add->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(FILE_NEW_SCENE));
scene_tab_add_ph = memnew(Control);
scene_tab_add_ph->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
@@ -6376,22 +6463,27 @@ EditorNode::EditorNode() {
main_control->add_theme_constant_override("separation", 0);
scene_root_parent->add_child(main_control);
- HBoxContainer *left_menu_hb = memnew(HBoxContainer);
- menu_hb->add_child(left_menu_hb);
+ bool global_menu = !bool(EDITOR_GET("interface/editor/use_embedded_menu")) && DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_GLOBAL_MENU);
- file_menu = memnew(MenuButton);
- file_menu->set_flat(false);
- file_menu->set_switch_on_hover(true);
- file_menu->set_text(TTR("Scene"));
- file_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- left_menu_hb->add_child(file_menu);
+ main_menu = memnew(MenuBar);
+ menu_hb->add_child(main_menu);
+ main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
+ main_menu->set_flat(true);
+ main_menu->set_start_index(0); // Main menu, add to the start of global menu.
+ main_menu->set_prefer_global_menu(global_menu);
+ main_menu->set_switch_on_hover(true);
+
+ file_menu = memnew(PopupMenu);
+ file_menu->set_name(TTR("Scene"));
+ main_menu->add_child(file_menu);
+ main_menu->set_menu_tooltip(0, TTR("Operations with scene files."));
prev_scene = memnew(Button);
prev_scene->set_flat(true);
prev_scene->set_icon(gui_base->get_theme_icon(SNAME("PrevScene"), SNAME("EditorIcons")));
prev_scene->set_tooltip(TTR("Go to previously opened scene."));
prev_scene->set_disabled(true);
- prev_scene->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(FILE_OPEN_PREV));
+ prev_scene->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(FILE_OPEN_PREV));
gui_base->add_child(prev_scene);
prev_scene->set_position(Point2(3, 24));
prev_scene->hide();
@@ -6402,7 +6494,7 @@ EditorNode::EditorNode() {
save_accept = memnew(AcceptDialog);
gui_base->add_child(save_accept);
- save_accept->connect("confirmed", callable_mp(this, &EditorNode::_menu_option), make_binds((int)MenuOptions::FILE_SAVE_AS_SCENE));
+ save_accept->connect("confirmed", callable_mp(this, &EditorNode::_menu_option).bind((int)MenuOptions::FILE_SAVE_AS_SCENE));
project_export = memnew(ProjectExportDialog);
gui_base->add_child(project_export);
@@ -6422,6 +6514,9 @@ EditorNode::EditorNode() {
scene_import_settings = memnew(SceneImportSettings);
gui_base->add_child(scene_import_settings);
+ audio_stream_import_settings = memnew(AudioStreamImportSettings);
+ gui_base->add_child(audio_stream_import_settings);
+
fontdata_import_settings = memnew(DynamicFontImportSettings);
gui_base->add_child(fontdata_import_settings);
@@ -6430,6 +6525,10 @@ EditorNode::EditorNode() {
feature_profile_manager = memnew(EditorFeatureProfileManager);
gui_base->add_child(feature_profile_manager);
+
+ build_profile_manager = memnew(EditorBuildProfileManager);
+ gui_base->add_child(build_profile_manager);
+
about = memnew(EditorAbout);
gui_base->add_child(about);
feature_profile_manager->connect("current_feature_profile_changed", callable_mp(this, &EditorNode::_feature_profile_changed));
@@ -6447,80 +6546,75 @@ EditorNode::EditorNode() {
command_palette->set_title(TTR("Command Palette"));
gui_base->add_child(command_palette);
- PopupMenu *p;
-
- file_menu->set_tooltip(TTR("Operations with scene files."));
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_scene", TTR("New Scene"), KeyModifierMask::CMD + Key::N), FILE_NEW_SCENE);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_inherited_scene", TTR("New Inherited Scene..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::N), FILE_NEW_INHERITED_SCENE);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/open_scene", TTR("Open Scene..."), KeyModifierMask::CMD + Key::O), FILE_OPEN_SCENE);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reopen_closed_scene", TTR("Reopen Closed Scene"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::T), FILE_OPEN_PREV);
+ file_menu->add_submenu_item(TTR("Open Recent"), "RecentScenes", FILE_OPEN_RECENT);
- p = file_menu->get_popup();
+ file_menu->add_separator();
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene", TTR("Save Scene"), KeyModifierMask::CMD + Key::S), FILE_SAVE_SCENE);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene_as", TTR("Save Scene As..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::S), FILE_SAVE_AS_SCENE);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_all_scenes", TTR("Save All Scenes"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::S), FILE_SAVE_ALL_SCENES);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_scene", TTR("New Scene"), KeyModifierMask::CMD + Key::N), FILE_NEW_SCENE);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_inherited_scene", TTR("New Inherited Scene..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::N), FILE_NEW_INHERITED_SCENE);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/open_scene", TTR("Open Scene..."), KeyModifierMask::CMD + Key::O), FILE_OPEN_SCENE);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reopen_closed_scene", TTR("Reopen Closed Scene"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::T), FILE_OPEN_PREV);
- p->add_submenu_item(TTR("Open Recent"), "RecentScenes", FILE_OPEN_RECENT);
+ file_menu->add_separator();
- p->add_separator();
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene", TTR("Save Scene"), KeyModifierMask::CMD + Key::S), FILE_SAVE_SCENE);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene_as", TTR("Save Scene As..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::S), FILE_SAVE_AS_SCENE);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_all_scenes", TTR("Save All Scenes"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::S), FILE_SAVE_ALL_SCENES);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open", TTR("Quick Open..."), KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::O), FILE_QUICK_OPEN);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_scene", TTR("Quick Open Scene..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::O), FILE_QUICK_OPEN_SCENE);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_script", TTR("Quick Open Script..."), KeyModifierMask::CMD + KeyModifierMask::ALT + Key::O), FILE_QUICK_OPEN_SCRIPT);
- p->add_separator();
-
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open", TTR("Quick Open..."), KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::O), FILE_QUICK_OPEN);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_scene", TTR("Quick Open Scene..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::O), FILE_QUICK_OPEN_SCENE);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_script", TTR("Quick Open Script..."), KeyModifierMask::CMD + KeyModifierMask::ALT + Key::O), FILE_QUICK_OPEN_SCRIPT);
-
- p->add_separator();
+ file_menu->add_separator();
export_as_menu = memnew(PopupMenu);
export_as_menu->set_name("Export");
- p->add_child(export_as_menu);
- p->add_submenu_item(TTR("Export As..."), "Export");
+ file_menu->add_child(export_as_menu);
+ file_menu->add_submenu_item(TTR("Export As..."), "Export");
export_as_menu->add_shortcut(ED_SHORTCUT("editor/export_as_mesh_library", TTR("MeshLibrary...")), FILE_EXPORT_MESH_LIBRARY);
export_as_menu->connect("index_pressed", callable_mp(this, &EditorNode::_export_as_menu_option));
- p->add_separator();
- p->add_shortcut(ED_GET_SHORTCUT("ui_undo"), EDIT_UNDO, true);
- p->add_shortcut(ED_GET_SHORTCUT("ui_redo"), EDIT_REDO, true);
+ file_menu->add_separator();
+ file_menu->add_shortcut(ED_GET_SHORTCUT("ui_undo"), EDIT_UNDO, true);
+ file_menu->add_shortcut(ED_GET_SHORTCUT("ui_redo"), EDIT_REDO, true);
- p->add_separator();
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reload_saved_scene", TTR("Reload Saved Scene")), EDIT_RELOAD_SAVED_SCENE);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/close_scene", TTR("Close Scene"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::W), FILE_CLOSE);
+ file_menu->add_separator();
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reload_saved_scene", TTR("Reload Saved Scene")), EDIT_RELOAD_SAVED_SCENE);
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/close_scene", TTR("Close Scene"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::W), FILE_CLOSE);
recent_scenes = memnew(PopupMenu);
recent_scenes->set_name("RecentScenes");
- p->add_child(recent_scenes);
+ file_menu->add_child(recent_scenes);
recent_scenes->connect("id_pressed", callable_mp(this, &EditorNode::_open_recent_scene));
- p->add_separator();
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/file_quit", TTR("Quit"), KeyModifierMask::CMD + Key::Q), FILE_QUIT, true);
-
- project_menu = memnew(MenuButton);
- project_menu->set_flat(false);
- project_menu->set_switch_on_hover(true);
- project_menu->set_tooltip(TTR("Miscellaneous project or scene-wide tools."));
- project_menu->set_text(TTR("Project"));
- project_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- left_menu_hb->add_child(project_menu);
+ if (!global_menu || !OS::get_singleton()->has_feature("macos")) {
+ // On macOS "Quit" and "About" options are in the "app" menu.
+ file_menu->add_separator();
+ file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/file_quit", TTR("Quit"), KeyModifierMask::CMD + Key::Q), FILE_QUIT, true);
+ }
- p = project_menu->get_popup();
+ project_menu = memnew(PopupMenu);
+ project_menu->set_name(TTR("Project"));
+ main_menu->add_child(project_menu);
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/project_settings", TTR("Project Settings..."), Key::NONE, TTR("Project Settings")), RUN_SETTINGS);
- p->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
+ project_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/project_settings", TTR("Project Settings..."), Key::NONE, TTR("Project Settings")), RUN_SETTINGS);
+ project_menu->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
vcs_actions_menu = VersionControlEditorPlugin::get_singleton()->get_version_control_actions_panel();
vcs_actions_menu->set_name("Version Control");
vcs_actions_menu->connect("index_pressed", callable_mp(this, &EditorNode::_version_control_menu_option));
- p->add_separator();
- p->add_child(vcs_actions_menu);
- p->add_submenu_item(TTR("Version Control"), "Version Control");
+ project_menu->add_separator();
+ project_menu->add_child(vcs_actions_menu);
+ project_menu->add_submenu_item(TTR("Version Control"), "Version Control");
vcs_actions_menu->add_item(TTR("Create Version Control Metadata"), RUN_VCS_METADATA);
vcs_actions_menu->add_item(TTR("Set Up Version Control"), RUN_VCS_SETTINGS);
vcs_actions_menu->add_item(TTR("Shut Down Version Control"), RUN_VCS_SHUT_DOWN);
- p->add_separator();
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/export", TTR("Export..."), Key::NONE, TTR("Export")), FILE_EXPORT_PROJECT);
- p->add_item(TTR("Install Android Build Template..."), FILE_INSTALL_ANDROID_SOURCE);
- p->add_item(TTR("Open User Data Folder"), RUN_USER_DATA_FOLDER);
+ project_menu->add_separator();
+ project_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/export", TTR("Export..."), Key::NONE, TTR("Export")), FILE_EXPORT_PROJECT);
+ project_menu->add_item(TTR("Install Android Build Template..."), FILE_INSTALL_ANDROID_SOURCE);
+ project_menu->add_item(TTR("Open User Data Folder"), RUN_USER_DATA_FOLDER);
+
+ project_menu->add_separator();
+ project_menu->add_item(TTR("Customize Engine Build Configuration..."), TOOLS_BUILD_PROFILE_MANAGER);
+ project_menu->add_separator();
plugin_config_dialog = memnew(PluginConfigDialog);
plugin_config_dialog->connect("plugin_ready", callable_mp(this, &EditorNode::_on_plugin_ready));
@@ -6529,15 +6623,15 @@ EditorNode::EditorNode() {
tool_menu = memnew(PopupMenu);
tool_menu->set_name("Tools");
tool_menu->connect("index_pressed", callable_mp(this, &EditorNode::_tool_menu_option));
- p->add_child(tool_menu);
- p->add_submenu_item(TTR("Tools"), "Tools");
+ project_menu->add_child(tool_menu);
+ project_menu->add_submenu_item(TTR("Tools"), "Tools");
tool_menu->add_item(TTR("Orphan Resource Explorer..."), TOOLS_ORPHAN_RESOURCES);
- p->add_separator();
- p->add_shortcut(ED_SHORTCUT("editor/reload_current_project", TTR("Reload Current Project")), RELOAD_CURRENT_PROJECT);
+ project_menu->add_separator();
+ project_menu->add_shortcut(ED_SHORTCUT("editor/reload_current_project", TTR("Reload Current Project")), RELOAD_CURRENT_PROJECT);
ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::Q);
ED_SHORTCUT_OVERRIDE("editor/quit_to_project_list", "macos", KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::Q);
- p->add_shortcut(ED_GET_SHORTCUT("editor/quit_to_project_list"), RUN_PROJECT_MANAGER, true);
+ project_menu->add_shortcut(ED_GET_SHORTCUT("editor/quit_to_project_list"), RUN_PROJECT_MANAGER, true);
menu_hb->add_spacer();
@@ -6545,85 +6639,79 @@ EditorNode::EditorNode() {
menu_hb->add_child(main_editor_button_vb);
// Options are added and handled by DebuggerEditorPlugin.
- debug_menu = memnew(MenuButton);
- debug_menu->set_flat(false);
- debug_menu->set_switch_on_hover(true);
- debug_menu->set_text(TTR("Debug"));
- debug_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- left_menu_hb->add_child(debug_menu);
+ debug_menu = memnew(PopupMenu);
+ debug_menu->set_name(TTR("Debug"));
+ main_menu->add_child(debug_menu);
menu_hb->add_spacer();
- settings_menu = memnew(MenuButton);
- settings_menu->set_flat(false);
- settings_menu->set_switch_on_hover(true);
- settings_menu->set_text(TTR("Editor"));
- settings_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- left_menu_hb->add_child(settings_menu);
-
- p = settings_menu->get_popup();
+ settings_menu = memnew(PopupMenu);
+ settings_menu->set_name(TTR("Editor"));
+ main_menu->add_child(settings_menu);
ED_SHORTCUT_AND_COMMAND("editor/editor_settings", TTR("Editor Settings..."));
ED_SHORTCUT_OVERRIDE("editor/editor_settings", "macos", KeyModifierMask::CMD + Key::COMMA);
- p->add_shortcut(ED_GET_SHORTCUT("editor/editor_settings"), SETTINGS_PREFERENCES);
- p->add_shortcut(ED_SHORTCUT("editor/command_palette", TTR("Command Palette..."), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::P), HELP_COMMAND_PALETTE);
- p->add_separator();
+ settings_menu->add_shortcut(ED_GET_SHORTCUT("editor/editor_settings"), SETTINGS_PREFERENCES);
+ settings_menu->add_shortcut(ED_SHORTCUT("editor/command_palette", TTR("Command Palette..."), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::P), HELP_COMMAND_PALETTE);
+ settings_menu->add_separator();
editor_layouts = memnew(PopupMenu);
editor_layouts->set_name("Layouts");
- p->add_child(editor_layouts);
+ settings_menu->add_child(editor_layouts);
editor_layouts->connect("id_pressed", callable_mp(this, &EditorNode::_layout_menu_option));
- p->add_submenu_item(TTR("Editor Layout"), "Layouts");
- p->add_separator();
+ settings_menu->add_submenu_item(TTR("Editor Layout"), "Layouts");
+ settings_menu->add_separator();
ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KeyModifierMask::CTRL | Key::F12);
ED_SHORTCUT_OVERRIDE("editor/take_screenshot", "macos", KeyModifierMask::CMD | Key::F12);
- p->add_shortcut(ED_GET_SHORTCUT("editor/take_screenshot"), EDITOR_SCREENSHOT);
+ settings_menu->add_shortcut(ED_GET_SHORTCUT("editor/take_screenshot"), EDITOR_SCREENSHOT);
- p->set_item_tooltip(-1, TTR("Screenshots are stored in the Editor Data/Settings Folder."));
+ settings_menu->set_item_tooltip(-1, TTR("Screenshots are stored in the Editor Data/Settings Folder."));
ED_SHORTCUT_AND_COMMAND("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KeyModifierMask::SHIFT | Key::F11);
ED_SHORTCUT_OVERRIDE("editor/fullscreen_mode", "macos", KeyModifierMask::CMD | KeyModifierMask::CTRL | Key::F);
- p->add_shortcut(ED_GET_SHORTCUT("editor/fullscreen_mode"), SETTINGS_TOGGLE_FULLSCREEN);
+ settings_menu->add_shortcut(ED_GET_SHORTCUT("editor/fullscreen_mode"), SETTINGS_TOGGLE_FULLSCREEN);
- p->add_separator();
+ settings_menu->add_separator();
if (OS::get_singleton()->get_data_path() == OS::get_singleton()->get_config_path()) {
// Configuration and data folders are located in the same place (Windows/MacOS).
- p->add_item(TTR("Open Editor Data/Settings Folder"), SETTINGS_EDITOR_DATA_FOLDER);
+ settings_menu->add_item(TTR("Open Editor Data/Settings Folder"), SETTINGS_EDITOR_DATA_FOLDER);
} else {
// Separate configuration and data folders (Linux).
- p->add_item(TTR("Open Editor Data Folder"), SETTINGS_EDITOR_DATA_FOLDER);
- p->add_item(TTR("Open Editor Settings Folder"), SETTINGS_EDITOR_CONFIG_FOLDER);
+ settings_menu->add_item(TTR("Open Editor Data Folder"), SETTINGS_EDITOR_DATA_FOLDER);
+ settings_menu->add_item(TTR("Open Editor Settings Folder"), SETTINGS_EDITOR_CONFIG_FOLDER);
}
- p->add_separator();
+ settings_menu->add_separator();
- p->add_item(TTR("Manage Editor Features..."), SETTINGS_MANAGE_FEATURE_PROFILES);
- p->add_item(TTR("Manage Export Templates..."), SETTINGS_MANAGE_EXPORT_TEMPLATES);
+ settings_menu->add_item(TTR("Manage Editor Features..."), SETTINGS_MANAGE_FEATURE_PROFILES);
+ settings_menu->add_item(TTR("Manage Export Templates..."), SETTINGS_MANAGE_EXPORT_TEMPLATES);
- help_menu = memnew(MenuButton);
- help_menu->set_flat(false);
- help_menu->set_switch_on_hover(true);
- help_menu->set_text(TTR("Help"));
- help_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
- left_menu_hb->add_child(help_menu);
+ help_menu = memnew(PopupMenu);
+ help_menu->set_name(TTR("Help"));
+ main_menu->add_child(help_menu);
- p = help_menu->get_popup();
- p->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
+ help_menu->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), Key::F1);
ED_SHORTCUT_OVERRIDE("editor/editor_help", "macos", KeyModifierMask::ALT | Key::SPACE);
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_GET_SHORTCUT("editor/editor_help"), HELP_SEARCH);
- p->add_separator();
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/online_docs", TTR("Online Documentation")), HELP_DOCS);
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/q&a", TTR("Questions & Answers")), HELP_QA);
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/report_a_bug", TTR("Report a Bug")), HELP_REPORT_A_BUG);
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/suggest_a_feature", TTR("Suggest a Feature")), HELP_SUGGEST_A_FEATURE);
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/send_docs_feedback", TTR("Send Docs Feedback")), HELP_SEND_DOCS_FEEDBACK);
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/community", TTR("Community")), HELP_COMMUNITY);
- p->add_separator();
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/about", TTR("About Godot")), HELP_ABOUT);
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/support_development", TTR("Support Godot Development")), HELP_SUPPORT_GODOT_DEVELOPMENT);
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_GET_SHORTCUT("editor/editor_help"), HELP_SEARCH);
+ help_menu->add_separator();
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/online_docs", TTR("Online Documentation")), HELP_DOCS);
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/q&a", TTR("Questions & Answers")), HELP_QA);
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/report_a_bug", TTR("Report a Bug")), HELP_REPORT_A_BUG);
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/suggest_a_feature", TTR("Suggest a Feature")), HELP_SUGGEST_A_FEATURE);
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/send_docs_feedback", TTR("Send Docs Feedback")), HELP_SEND_DOCS_FEEDBACK);
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/community", TTR("Community")), HELP_COMMUNITY);
+ help_menu->add_separator();
+ if (!global_menu || !OS::get_singleton()->has_feature("macos")) {
+ // On macOS "Quit" and "About" options are in the "app" menu.
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/about", TTR("About Godot")), HELP_ABOUT);
+ }
+ help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/support_development", TTR("Support Godot Development")), HELP_SUPPORT_GODOT_DEVELOPMENT);
+
+ Control *right_spacer = memnew(Control);
+ menu_hb->add_child(right_spacer);
HBoxContainer *play_hb = memnew(HBoxContainer);
menu_hb->add_child(play_hb);
@@ -6634,7 +6722,7 @@ EditorNode::EditorNode() {
play_button->set_toggle_mode(true);
play_button->set_icon(gui_base->get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
play_button->set_focus_mode(Control::FOCUS_NONE);
- play_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY));
+ play_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(RUN_PLAY));
play_button->set_tooltip(TTR("Play the project."));
ED_SHORTCUT_AND_COMMAND("editor/play", TTR("Play"), Key::F5);
@@ -6659,7 +6747,7 @@ EditorNode::EditorNode() {
play_hb->add_child(stop_button);
stop_button->set_focus_mode(Control::FOCUS_NONE);
stop_button->set_icon(gui_base->get_theme_icon(SNAME("Stop"), SNAME("EditorIcons")));
- stop_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_STOP));
+ stop_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(RUN_STOP));
stop_button->set_tooltip(TTR("Stop the scene."));
stop_button->set_disabled(true);
@@ -6677,7 +6765,7 @@ EditorNode::EditorNode() {
play_scene_button->set_toggle_mode(true);
play_scene_button->set_focus_mode(Control::FOCUS_NONE);
play_scene_button->set_icon(gui_base->get_theme_icon(SNAME("PlayScene"), SNAME("EditorIcons")));
- play_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY_SCENE));
+ play_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(RUN_PLAY_SCENE));
play_scene_button->set_tooltip(TTR("Play the edited scene."));
ED_SHORTCUT_AND_COMMAND("editor/play_scene", TTR("Play Scene"), Key::F6);
@@ -6690,13 +6778,27 @@ EditorNode::EditorNode() {
play_custom_scene_button->set_toggle_mode(true);
play_custom_scene_button->set_focus_mode(Control::FOCUS_NONE);
play_custom_scene_button->set_icon(gui_base->get_theme_icon(SNAME("PlayCustom"), SNAME("EditorIcons")));
- play_custom_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY_CUSTOM_SCENE));
+ play_custom_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(RUN_PLAY_CUSTOM_SCENE));
play_custom_scene_button->set_tooltip(TTR("Play custom scene"));
ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::F5);
ED_SHORTCUT_OVERRIDE("editor/play_custom_scene", "macos", KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::R);
play_custom_scene_button->set_shortcut(ED_GET_SHORTCUT("editor/play_custom_scene"));
+ write_movie_button = memnew(Button);
+ write_movie_button->set_flat(true);
+ write_movie_button->set_toggle_mode(true);
+ play_hb->add_child(write_movie_button);
+ write_movie_button->set_pressed(false);
+ write_movie_button->set_icon(gui_base->get_theme_icon(SNAME("MainMovieWrite"), SNAME("EditorIcons")));
+ write_movie_button->set_focus_mode(Control::FOCUS_NONE);
+ write_movie_button->set_tooltip(TTR("Enable Movie Maker mode.\nThe project will run at stable FPS and the visual and audio output will be recorded to a video file."));
+
+ // This button behaves differently, so color it as such.
+ write_movie_button->add_theme_color_override("icon_normal_color", Color(1, 1, 1, 0.7));
+ write_movie_button->add_theme_color_override("icon_pressed_color", gui_base->get_theme_color(SNAME("error_color"), SNAME("Editor")));
+ write_movie_button->add_theme_color_override("icon_hover_color", Color(1, 1, 1, 0.9));
+
HBoxContainer *right_menu_hb = memnew(HBoxContainer);
menu_hb->add_child(right_menu_hb);
@@ -6742,8 +6844,8 @@ EditorNode::EditorNode() {
video_restart_dialog = memnew(ConfirmationDialog);
video_restart_dialog->set_text(TTR("Changing the video driver requires restarting the editor."));
- video_restart_dialog->get_ok_button()->set_text(TTR("Save & Restart"));
- video_restart_dialog->connect("confirmed", callable_mp(this, &EditorNode::_menu_option), varray(SET_RENDERING_DRIVER_SAVE_AND_RESTART));
+ video_restart_dialog->set_ok_button_text(TTR("Save & Restart"));
+ video_restart_dialog->connect("confirmed", callable_mp(this, &EditorNode::_menu_option).bind(SET_RENDERING_DRIVER_SAVE_AND_RESTART));
gui_base->add_child(video_restart_dialog);
progress_hb = memnew(BackgroundProgress);
@@ -6758,7 +6860,7 @@ EditorNode::EditorNode() {
right_menu_hb->add_child(update_spinner);
update_spinner->set_icon(gui_base->get_theme_icon(SNAME("Progress1"), SNAME("EditorIcons")));
update_spinner->get_popup()->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
- p = update_spinner->get_popup();
+ PopupMenu *p = update_spinner->get_popup();
p->add_radio_check_item(TTR("Update Continuously"), SETTINGS_UPDATE_CONTINUOUSLY);
p->add_radio_check_item(TTR("Update When Changed"), SETTINGS_UPDATE_WHEN_CHANGED);
p->add_separator();
@@ -6776,6 +6878,7 @@ EditorNode::EditorNode() {
filesystem_dock->connect("inherit", callable_mp(this, &EditorNode::_inherit_request));
filesystem_dock->connect("instance", callable_mp(this, &EditorNode::_instantiate_request));
filesystem_dock->connect("display_mode_changed", callable_mp(this, &EditorNode::_save_docks));
+ get_project_settings()->connect_filesystem_dock_signals(filesystem_dock);
// Scene: Top left.
dock_slot[DOCK_SLOT_LEFT_UR]->add_child(SceneTreeDock::get_singleton());
@@ -6911,9 +7014,9 @@ EditorNode::EditorNode() {
custom_build_manage_templates = memnew(ConfirmationDialog);
custom_build_manage_templates->set_text(TTR("Android build template is missing, please install relevant templates."));
- custom_build_manage_templates->get_ok_button()->set_text(TTR("Manage Templates"));
- custom_build_manage_templates->add_button(TTR("Install from file"))->connect("pressed", callable_mp(this, &EditorNode::_menu_option), varray(SETTINGS_INSTALL_ANDROID_BUILD_TEMPLATE));
- custom_build_manage_templates->connect("confirmed", callable_mp(this, &EditorNode::_menu_option), varray(SETTINGS_MANAGE_EXPORT_TEMPLATES));
+ custom_build_manage_templates->set_ok_button_text(TTR("Manage Templates"));
+ custom_build_manage_templates->add_button(TTR("Install from file"))->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(SETTINGS_INSTALL_ANDROID_BUILD_TEMPLATE));
+ custom_build_manage_templates->connect("confirmed", callable_mp(this, &EditorNode::_menu_option).bind(SETTINGS_MANAGE_EXPORT_TEMPLATES));
gui_base->add_child(custom_build_manage_templates);
file_android_build_source = memnew(EditorFileDialog);
@@ -6926,14 +7029,14 @@ EditorNode::EditorNode() {
install_android_build_template = memnew(ConfirmationDialog);
install_android_build_template->set_text(TTR("This will set up your project for custom Android builds by installing the source template to \"res://android/build\".\nYou can then apply modifications and build your own custom APK on export (adding modules, changing the AndroidManifest.xml, etc.).\nNote that in order to make custom builds instead of using pre-built APKs, the \"Use Custom Build\" option should be enabled in the Android export preset."));
- install_android_build_template->get_ok_button()->set_text(TTR("Install"));
+ install_android_build_template->set_ok_button_text(TTR("Install"));
install_android_build_template->connect("confirmed", callable_mp(this, &EditorNode::_menu_confirm_current));
gui_base->add_child(install_android_build_template);
remove_android_build_template = memnew(ConfirmationDialog);
remove_android_build_template->set_text(TTR("The Android build template is already installed in this project and it won't be overwritten.\nRemove the \"res://android/build\" directory manually before attempting this operation again."));
- remove_android_build_template->get_ok_button()->set_text(TTR("Show in File Manager"));
- remove_android_build_template->connect("confirmed", callable_mp(this, &EditorNode::_menu_option), varray(FILE_EXPLORE_ANDROID_BUILD_TEMPLATES));
+ remove_android_build_template->set_ok_button_text(TTR("Show in File Manager"));
+ remove_android_build_template->connect("confirmed", callable_mp(this, &EditorNode::_menu_option).bind(FILE_EXPLORE_ANDROID_BUILD_TEMPLATES));
gui_base->add_child(remove_android_build_template);
file_templates = memnew(EditorFileDialog);
@@ -6943,7 +7046,7 @@ EditorNode::EditorNode() {
file_templates->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
file_templates->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
file_templates->clear_filters();
- file_templates->add_filter("*.tpz ; " + TTR("Template Package"));
+ file_templates->add_filter("*.tpz", TTR("Template Package"));
file = memnew(EditorFileDialog);
gui_base->add_child(file);
@@ -6977,11 +7080,11 @@ EditorNode::EditorNode() {
gui_base->add_child(file_script);
file_script->connect("file_selected", callable_mp(this, &EditorNode::_dialog_action));
- file_menu->get_popup()->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
+ file_menu->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
file_menu->connect("about_to_popup", callable_mp(this, &EditorNode::_update_file_menu_opened));
- file_menu->get_popup()->connect("popup_hide", callable_mp(this, &EditorNode::_update_file_menu_closed));
+ file_menu->connect("popup_hide", callable_mp(this, &EditorNode::_update_file_menu_closed));
- settings_menu->get_popup()->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
+ settings_menu->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
file->connect("file_selected", callable_mp(this, &EditorNode::_dialog_action));
file_templates->connect("file_selected", callable_mp(this, &EditorNode::_dialog_action));
@@ -7007,7 +7110,7 @@ EditorNode::EditorNode() {
disk_changed->connect("confirmed", callable_mp(this, &EditorNode::_reload_modified_scenes));
disk_changed->connect("confirmed", callable_mp(this, &EditorNode::_reload_project_settings));
- disk_changed->get_ok_button()->set_text(TTR("Reload"));
+ disk_changed->set_ok_button_text(TTR("Reload"));
disk_changed->add_button(TTR("Resave"), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "resave");
disk_changed->connect("custom_action", callable_mp(this, &EditorNode::_resave_scenes));
@@ -7025,15 +7128,11 @@ EditorNode::EditorNode() {
ScriptTextEditor::register_editor(); // Register one for text scripts.
TextEditor::register_editor();
- // Asset Library can't work on Web editor for now as most assets are sourced
- // directly from GitHub which does not set CORS.
-#ifndef JAVASCRIPT_ENABLED
- if (StreamPeerSSL::is_available()) {
+ if (AssetLibraryEditorPlugin::is_available()) {
add_editor_plugin(memnew(AssetLibraryEditorPlugin));
} else {
- WARN_PRINT("Asset Library not available, as it requires SSL to work.");
+ print_verbose("Asset Library not available (due to using Web editor, or SSL support disabled).");
}
-#endif
// Add interface before adding plugins.
@@ -7042,65 +7141,64 @@ EditorNode::EditorNode() {
// More visually meaningful to have this later.
raise_bottom_panel_item(AnimationPlayerEditor::get_singleton());
- add_editor_plugin(memnew(ReplicationEditorPlugin));
add_editor_plugin(VersionControlEditorPlugin::get_singleton());
- add_editor_plugin(memnew(ShaderEditorPlugin));
- add_editor_plugin(memnew(ShaderFileEditorPlugin));
- add_editor_plugin(memnew(VisualShaderEditorPlugin));
+ // This list is alphabetized, and plugins that depend on Node2D are in their own section below.
+ add_editor_plugin(memnew(AnimationTreeEditorPlugin));
+ add_editor_plugin(memnew(AudioBusesEditorPlugin(audio_bus_editor)));
+ add_editor_plugin(memnew(AudioStreamRandomizerEditorPlugin));
+ add_editor_plugin(memnew(BitMapEditorPlugin));
+ add_editor_plugin(memnew(BoneMapEditorPlugin));
add_editor_plugin(memnew(Camera3DEditorPlugin));
- add_editor_plugin(memnew(ThemeEditorPlugin));
- add_editor_plugin(memnew(MultiMeshEditorPlugin));
+ add_editor_plugin(memnew(ControlEditorPlugin));
+ add_editor_plugin(memnew(CPUParticles3DEditorPlugin));
+ add_editor_plugin(memnew(CurveEditorPlugin));
+ add_editor_plugin(memnew(FontEditorPlugin));
+ add_editor_plugin(memnew(GPUParticles3DEditorPlugin));
+ add_editor_plugin(memnew(GPUParticlesCollisionSDF3DEditorPlugin));
+ add_editor_plugin(memnew(GradientEditorPlugin));
+ add_editor_plugin(memnew(GradientTexture2DEditorPlugin));
+ add_editor_plugin(memnew(InputEventEditorPlugin));
+ add_editor_plugin(memnew(LightmapGIEditorPlugin));
+ add_editor_plugin(memnew(MaterialEditorPlugin));
+ add_editor_plugin(memnew(MeshEditorPlugin));
add_editor_plugin(memnew(MeshInstance3DEditorPlugin));
- add_editor_plugin(memnew(AnimationTreeEditorPlugin));
add_editor_plugin(memnew(MeshLibraryEditorPlugin));
- add_editor_plugin(memnew(StyleBoxEditorPlugin));
- add_editor_plugin(memnew(Sprite2DEditorPlugin));
- add_editor_plugin(memnew(Skeleton2DEditorPlugin));
- add_editor_plugin(memnew(GPUParticles2DEditorPlugin));
- add_editor_plugin(memnew(GPUParticles3DEditorPlugin));
- add_editor_plugin(memnew(CPUParticles2DEditorPlugin));
- add_editor_plugin(memnew(CPUParticles3DEditorPlugin));
- add_editor_plugin(memnew(ResourcePreloaderEditorPlugin));
+ add_editor_plugin(memnew(MultiMeshEditorPlugin));
+ add_editor_plugin(memnew(OccluderInstance3DEditorPlugin));
+ add_editor_plugin(memnew(Path3DEditorPlugin));
+ add_editor_plugin(memnew(PhysicalBone3DEditorPlugin));
add_editor_plugin(memnew(Polygon3DEditorPlugin));
- add_editor_plugin(memnew(CollisionPolygon2DEditorPlugin));
- add_editor_plugin(memnew(TilesEditorPlugin));
+ add_editor_plugin(memnew(ResourcePreloaderEditorPlugin));
+ add_editor_plugin(memnew(ShaderEditorPlugin));
+ add_editor_plugin(memnew(ShaderFileEditorPlugin));
+ add_editor_plugin(memnew(Skeleton3DEditorPlugin));
+ add_editor_plugin(memnew(SkeletonIK3DEditorPlugin));
add_editor_plugin(memnew(SpriteFramesEditorPlugin));
+ add_editor_plugin(memnew(StyleBoxEditorPlugin));
+ add_editor_plugin(memnew(SubViewportPreviewEditorPlugin));
+ add_editor_plugin(memnew(Texture3DEditorPlugin));
+ add_editor_plugin(memnew(TextureEditorPlugin));
+ add_editor_plugin(memnew(TextureLayeredEditorPlugin));
add_editor_plugin(memnew(TextureRegionEditorPlugin));
+ add_editor_plugin(memnew(ThemeEditorPlugin));
add_editor_plugin(memnew(VoxelGIEditorPlugin));
- add_editor_plugin(memnew(LightmapGIEditorPlugin));
- add_editor_plugin(memnew(OccluderInstance3DEditorPlugin));
- add_editor_plugin(memnew(Path2DEditorPlugin));
- add_editor_plugin(memnew(Path3DEditorPlugin));
- add_editor_plugin(memnew(Line2DEditorPlugin));
- add_editor_plugin(memnew(Polygon2DEditorPlugin));
+
+ // 2D
+ add_editor_plugin(memnew(CollisionPolygon2DEditorPlugin));
+ add_editor_plugin(memnew(CollisionShape2DEditorPlugin));
+ add_editor_plugin(memnew(CPUParticles2DEditorPlugin));
+ add_editor_plugin(memnew(GPUParticles2DEditorPlugin));
add_editor_plugin(memnew(LightOccluder2DEditorPlugin));
+ add_editor_plugin(memnew(Line2DEditorPlugin));
add_editor_plugin(memnew(NavigationPolygonEditorPlugin));
- add_editor_plugin(memnew(GradientEditorPlugin));
- add_editor_plugin(memnew(CollisionShape2DEditorPlugin));
- add_editor_plugin(memnew(CurveEditorPlugin));
- add_editor_plugin(memnew(FontEditorPlugin));
- add_editor_plugin(memnew(OpenTypeFeaturesEditorPlugin));
- add_editor_plugin(memnew(TextureEditorPlugin));
- add_editor_plugin(memnew(TextureLayeredEditorPlugin));
- add_editor_plugin(memnew(Texture3DEditorPlugin));
- add_editor_plugin(memnew(AudioStreamEditorPlugin));
- add_editor_plugin(memnew(AudioStreamRandomizerEditorPlugin));
- add_editor_plugin(memnew(AudioBusesEditorPlugin(audio_bus_editor)));
- add_editor_plugin(memnew(Skeleton3DEditorPlugin));
- add_editor_plugin(memnew(SkeletonIK3DEditorPlugin));
- add_editor_plugin(memnew(PhysicalBone3DEditorPlugin));
- add_editor_plugin(memnew(MeshEditorPlugin));
- add_editor_plugin(memnew(MaterialEditorPlugin));
- add_editor_plugin(memnew(GPUParticlesCollisionSDF3DEditorPlugin));
- add_editor_plugin(memnew(InputEventEditorPlugin));
- add_editor_plugin(memnew(SubViewportPreviewEditorPlugin));
- add_editor_plugin(memnew(TextControlEditorPlugin));
- add_editor_plugin(memnew(ControlEditorPlugin));
- add_editor_plugin(memnew(GradientTexture2DEditorPlugin));
- add_editor_plugin(memnew(BitMapEditorPlugin));
- add_editor_plugin(memnew(RayCast2DEditorPlugin));
+ add_editor_plugin(memnew(Path2DEditorPlugin));
+ add_editor_plugin(memnew(Polygon2DEditorPlugin));
+ add_editor_plugin(memnew(Cast2DEditorPlugin));
+ add_editor_plugin(memnew(Skeleton2DEditorPlugin));
+ add_editor_plugin(memnew(Sprite2DEditorPlugin));
+ add_editor_plugin(memnew(TilesEditorPlugin));
for (int i = 0; i < EditorPlugins::get_plugin_count(); i++) {
add_editor_plugin(EditorPlugins::create(i));
@@ -7158,6 +7256,7 @@ EditorNode::EditorNode() {
vshader_convert.instantiate();
resource_conversion_plugins.push_back(vshader_convert);
}
+
update_spinner_step_msec = OS::get_singleton()->get_ticks_msec();
update_spinner_step_frame = Engine::get_singleton()->get_frames_drawn();
@@ -7187,7 +7286,7 @@ EditorNode::EditorNode() {
set_process(true);
open_imported = memnew(ConfirmationDialog);
- open_imported->get_ok_button()->set_text(TTR("Open Anyway"));
+ open_imported->set_ok_button_text(TTR("Open Anyway"));
new_inherited_button = open_imported->add_button(TTR("New Inherited"), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "inherit");
open_imported->connect("confirmed", callable_mp(this, &EditorNode::_open_imported));
open_imported->connect("custom_action", callable_mp(this, &EditorNode::_inherit_imported));
@@ -7228,8 +7327,8 @@ EditorNode::EditorNode() {
pick_main_scene = memnew(ConfirmationDialog);
gui_base->add_child(pick_main_scene);
- pick_main_scene->get_ok_button()->set_text(TTR("Select"));
- pick_main_scene->connect("confirmed", callable_mp(this, &EditorNode::_menu_option), varray(SETTINGS_PICK_MAIN_SCENE));
+ pick_main_scene->set_ok_button_text(TTR("Select"));
+ pick_main_scene->connect("confirmed", callable_mp(this, &EditorNode::_menu_option).bind(SETTINGS_PICK_MAIN_SCENE));
select_current_scene_button = pick_main_scene->add_button(TTR("Select Current"), true, "select_current");
pick_main_scene->connect("custom_action", callable_mp(this, &EditorNode::_pick_main_scene_custom_action));
@@ -7268,11 +7367,14 @@ EditorNode::EditorNode() {
screenshot_timer = memnew(Timer);
screenshot_timer->set_one_shot(true);
- screenshot_timer->set_wait_time(settings_menu->get_popup()->get_submenu_popup_delay() + 0.1f);
+ screenshot_timer->set_wait_time(settings_menu->get_submenu_popup_delay() + 0.1f);
screenshot_timer->connect("timeout", callable_mp(this, &EditorNode::_request_screenshot));
add_child(screenshot_timer);
screenshot_timer->set_owner(get_owner());
+ main_menu->set_custom_minimum_size(Size2(MAX(main_menu->get_minimum_size().x, play_hb->get_minimum_size().x + right_menu_hb->get_minimum_size().x), 0));
+ right_spacer->set_custom_minimum_size(Size2(MAX(0, main_menu->get_minimum_size().x - play_hb->get_minimum_size().x - right_menu_hb->get_minimum_size().x), 0));
+
String exec = OS::get_singleton()->get_executable_path();
// Save editor executable path for third-party tools.
EditorSettings::get_singleton()->set_project_metadata("editor_metadata", "executable_path", exec);
diff --git a/editor/editor_node.h b/editor/editor_node.h
index 48df767562..7400bcd422 100644
--- a/editor/editor_node.h
+++ b/editor/editor_node.h
@@ -32,12 +32,11 @@
#define EDITOR_NODE_H
#include "core/templates/safe_refcount.h"
-#include "editor/editor_export.h"
#include "editor/editor_folding.h"
#include "editor/editor_native_shader_source_visualizer.h"
#include "editor/editor_run.h"
+#include "editor/export/editor_export.h"
#include "editor/inspector_dock.h"
-#include "editor/property_editor.h"
typedef void (*EditorNodeInitCallback)();
typedef void (*EditorPluginInitializeCallback)();
@@ -48,6 +47,7 @@ class AudioStreamPreviewGenerator;
class BackgroundProgress;
class Button;
class CenterContainer;
+class ColorPicker;
class ConfirmationDialog;
class Control;
class DependencyEditor;
@@ -67,16 +67,19 @@ class EditorPlugin;
class EditorPluginList;
class EditorQuickOpen;
class EditorResourcePreview;
+class EditorResourceConversionPlugin;
class EditorRun;
class EditorRunNative;
class EditorSettingsDialog;
class EditorToaster;
+class EditorUndoRedoManager;
class ExportTemplateManager;
class FileDialog;
class FileSystemDock;
class HSplitContainer;
class ImportDock;
class LinkButton;
+class MenuBar;
class MenuButton;
class NodeDock;
class OrphanResourcesDialog;
@@ -88,6 +91,7 @@ class ProjectExportDialog;
class ProjectSettingsEditor;
class RunSettingsDialog;
class SceneImportSettings;
+class AudioStreamImportSettings;
class ScriptCreateDialog;
class SubViewport;
class TabBar;
@@ -95,6 +99,7 @@ class TabContainer;
class TextureProgressBar;
class VSplitContainer;
class Window;
+class EditorBuildProfileManager;
class EditorNode : public Node {
GDCLASS(EditorNode, Node);
@@ -138,6 +143,7 @@ private:
FILE_SAVE_AS_SCENE,
FILE_SAVE_ALL_SCENES,
FILE_SAVE_AND_RUN,
+ FILE_SAVE_AND_RUN_MAIN_SCENE,
FILE_SHOW_IN_FILESYSTEM,
FILE_EXPORT_PROJECT,
FILE_EXPORT_MESH_LIBRARY,
@@ -163,6 +169,7 @@ private:
EDIT_REDO,
EDIT_RELOAD_SAVED_SCENE,
TOOLS_ORPHAN_RESOURCES,
+ TOOLS_BUILD_PROFILE_MANAGER,
TOOLS_CUSTOM,
RESOURCE_SAVE,
RESOURCE_SAVE_AS,
@@ -317,11 +324,12 @@ private:
HBoxContainer *menu_hb = nullptr;
Control *main_control = nullptr;
- MenuButton *file_menu = nullptr;
- MenuButton *project_menu = nullptr;
- MenuButton *debug_menu = nullptr;
- MenuButton *settings_menu = nullptr;
- MenuButton *help_menu = nullptr;
+ MenuBar *main_menu = nullptr;
+ PopupMenu *file_menu = nullptr;
+ PopupMenu *project_menu = nullptr;
+ PopupMenu *debug_menu = nullptr;
+ PopupMenu *settings_menu = nullptr;
+ PopupMenu *help_menu = nullptr;
PopupMenu *tool_menu = nullptr;
PopupMenu *export_as_menu = nullptr;
Button *export_button = nullptr;
@@ -333,6 +341,7 @@ private:
Button *play_scene_button = nullptr;
Button *play_custom_scene_button = nullptr;
Button *search_button = nullptr;
+ Button *write_movie_button = nullptr;
TextureProgressBar *audio_vu = nullptr;
Timer *screenshot_timer = nullptr;
@@ -376,6 +385,7 @@ private:
EditorFileDialog *file = nullptr;
ExportTemplateManager *export_template_manager = nullptr;
EditorFeatureProfileManager *feature_profile_manager = nullptr;
+ EditorBuildProfileManager *build_profile_manager = nullptr;
EditorFileDialog *file_templates = nullptr;
EditorFileDialog *file_export_lib = nullptr;
EditorFileDialog *file_script = nullptr;
@@ -462,11 +472,9 @@ private:
String open_navigate;
String run_custom_filename;
- uint64_t saved_version = 1;
- uint64_t last_checked_version = 0;
-
DynamicFontImportSettings *fontdata_import_settings = nullptr;
SceneImportSettings *scene_import_settings = nullptr;
+ AudioStreamImportSettings *audio_stream_import_settings = nullptr;
String import_reload_fn;
@@ -503,7 +511,7 @@ private:
static void _load_error_notify(void *p_ud, const String &p_text);
static void _file_access_close_error_notify(const String &p_str);
- static void _print_handler(void *p_this, const String &p_string, bool p_error);
+ static void _print_handler(void *p_this, const String &p_string, bool p_error, bool p_rich);
static void _resource_saved(Ref<Resource> p_resource, const String &p_path);
static void _resource_loaded(Ref<Resource> p_resource, const String &p_path);
@@ -667,12 +675,15 @@ private:
void _pick_main_scene_custom_action(const String &p_custom_action_name);
void _immediate_dialog_confirmed();
-
void _select_default_main_screen_plugin();
void _bottom_panel_switch(bool p_enable, int p_idx);
void _bottom_panel_raise_toggled(bool);
+ void _begin_first_scan();
+ bool use_startup_benchmark = false;
+ String startup_benchmark_file;
+
protected:
friend class FileSystemDock;
@@ -696,7 +707,7 @@ public:
static EditorLog *get_log() { return singleton->log; }
static EditorData &get_editor_data() { return singleton->editor_data; }
static EditorFolding &get_editor_folding() { return singleton->editor_folding; }
- static UndoRedo *get_undo_redo() { return &singleton->editor_data.get_undo_redo(); }
+ static Ref<EditorUndoRedoManager> &get_undo_redo();
static HBoxContainer *get_menu_hb() { return singleton->menu_hb; }
static VSplitContainer *get_top_split() { return singleton->top_split; }
@@ -780,9 +791,10 @@ public:
bool is_scene_open(const String &p_path);
- void set_current_version(uint64_t p_version);
void set_current_scene(int p_idx);
+ void setup_color_picker(ColorPicker *picker);
+
void request_instance_scene(const String &p_path);
void request_instantiate_scenes(const Vector<String> &p_files);
@@ -805,6 +817,7 @@ public:
void _copy_warning(const String &p_str);
+ void set_use_startup_benchmark(bool p_use_startup_benchmark, const String &p_startup_benchmark_file);
Error export_preset(const String &p_preset, const String &p_path, bool p_debug, bool p_pack_only);
Control *get_gui_base() { return gui_base; }
diff --git a/editor/editor_path.cpp b/editor/editor_path.cpp
index 8747128962..87ebd3e1c1 100644
--- a/editor/editor_path.cpp
+++ b/editor/editor_path.cpp
@@ -72,7 +72,7 @@ void EditorPath::_add_children_to_popup(Object *p_obj, int p_depth) {
int index = sub_objects_menu->get_item_count();
sub_objects_menu->add_icon_item(icon, proper_name, objects.size());
- sub_objects_menu->set_item_h_offset(index, p_depth * 10 * EDSCALE);
+ sub_objects_menu->set_item_indent(index, p_depth);
objects.push_back(obj->get_instance_id());
_add_children_to_popup(obj, p_depth + 1);
@@ -198,7 +198,7 @@ EditorPath::EditorPath(EditorSelectionHistory *p_history) {
history = p_history;
MarginContainer *main_mc = memnew(MarginContainer);
- main_mc->set_anchors_and_offsets_preset(PRESET_WIDE);
+ main_mc->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
main_mc->add_theme_constant_override("margin_left", 4 * EDSCALE);
main_mc->add_theme_constant_override("margin_right", 6 * EDSCALE);
add_child(main_mc);
diff --git a/editor/editor_paths.cpp b/editor/editor_paths.cpp
index a5c2fe093c..b6364e1ab7 100644
--- a/editor/editor_paths.cpp
+++ b/editor/editor_paths.cpp
@@ -66,6 +66,30 @@ String EditorPaths::get_self_contained_file() const {
return self_contained_file;
}
+String EditorPaths::get_export_templates_dir() const {
+ return get_data_dir().plus_file(export_templates_folder);
+}
+
+String EditorPaths::get_project_settings_dir() const {
+ return get_project_data_dir().plus_file("editor");
+}
+
+String EditorPaths::get_text_editor_themes_dir() const {
+ return get_config_dir().plus_file(text_editor_themes_folder);
+}
+
+String EditorPaths::get_script_templates_dir() const {
+ return get_config_dir().plus_file(script_templates_folder);
+}
+
+String EditorPaths::get_project_script_templates_dir() const {
+ return ProjectSettings::get_singleton()->get("editor/script/templates_search_path");
+}
+
+String EditorPaths::get_feature_profiles_dir() const {
+ return get_config_dir().plus_file(feature_profiles_folder);
+}
+
void EditorPaths::create() {
ERR_FAIL_COND(singleton != nullptr);
memnew(EditorPaths());
@@ -82,6 +106,8 @@ void EditorPaths::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_cache_dir"), &EditorPaths::get_cache_dir);
ClassDB::bind_method(D_METHOD("is_self_contained"), &EditorPaths::is_self_contained);
ClassDB::bind_method(D_METHOD("get_self_contained_file"), &EditorPaths::get_self_contained_file);
+
+ ClassDB::bind_method(D_METHOD("get_project_settings_dir"), &EditorPaths::get_project_settings_dir);
}
EditorPaths::EditorPaths() {
@@ -153,8 +179,8 @@ EditorPaths::EditorPaths() {
}
}
- if (!dir->dir_exists("templates")) {
- dir->make_dir("templates");
+ if (!dir->dir_exists(export_templates_folder)) {
+ dir->make_dir(export_templates_folder);
}
}
@@ -168,14 +194,14 @@ EditorPaths::EditorPaths() {
}
}
- if (!dir->dir_exists("text_editor_themes")) {
- dir->make_dir("text_editor_themes");
+ if (!dir->dir_exists(text_editor_themes_folder)) {
+ dir->make_dir(text_editor_themes_folder);
}
- if (!dir->dir_exists("script_templates")) {
- dir->make_dir("script_templates");
+ if (!dir->dir_exists(script_templates_folder)) {
+ dir->make_dir(script_templates_folder);
}
- if (!dir->dir_exists("feature_profiles")) {
- dir->make_dir("feature_profiles");
+ if (!dir->dir_exists(feature_profiles_folder)) {
+ dir->make_dir(feature_profiles_folder);
}
}
@@ -192,7 +218,6 @@ EditorPaths::EditorPaths() {
// Validate or create project-specific editor data dir,
// including shader cache subdir.
-
if (Engine::get_singleton()->is_project_manager_hint() || Main::is_cmdline_tool()) {
// Nothing to create, use shared editor data dir for shader cache.
Engine::get_singleton()->set_shader_cache_path(data_dir);
diff --git a/editor/editor_paths.h b/editor/editor_paths.h
index 7d863a7c6c..9cff1063c5 100644
--- a/editor/editor_paths.h
+++ b/editor/editor_paths.h
@@ -45,6 +45,10 @@ class EditorPaths : public Object {
String project_data_dir; // Project-specific data (metadata, shader cache, etc.).
bool self_contained = false; // Self-contained means everything goes to `editor_data` dir.
String self_contained_file; // Self-contained file with configuration.
+ String export_templates_folder = "export_templates";
+ String text_editor_themes_folder = "text_editor_themes";
+ String script_templates_folder = "script_templates";
+ String feature_profiles_folder = "feature_profiles";
static EditorPaths *singleton;
@@ -58,6 +62,12 @@ public:
String get_config_dir() const;
String get_cache_dir() const;
String get_project_data_dir() const;
+ String get_export_templates_dir() const;
+ String get_project_settings_dir() const;
+ String get_text_editor_themes_dir() const;
+ String get_script_templates_dir() const;
+ String get_project_script_templates_dir() const;
+ String get_feature_profiles_dir() const;
bool is_self_contained() const;
String get_self_contained_file() const;
diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp
index 639846861b..b0bd500ef8 100644
--- a/editor/editor_plugin.cpp
+++ b/editor/editor_plugin.cpp
@@ -31,11 +31,12 @@
#include "editor_plugin.h"
#include "editor/editor_command_palette.h"
-#include "editor/editor_export.h"
#include "editor/editor_node.h"
#include "editor/editor_paths.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
+#include "editor/export/editor_export.h"
#include "editor/filesystem_dock.h"
#include "editor/plugins/canvas_item_editor_plugin.h"
#include "editor/plugins/node_3d_editor_plugin.h"
@@ -47,7 +48,7 @@
#include "scene/gui/popup_menu.h"
#include "servers/rendering_server.h"
-Array EditorInterface::_make_mesh_previews(const Array &p_meshes, int p_preview_size) {
+TypedArray<Texture2D> EditorInterface::_make_mesh_previews(const Array &p_meshes, int p_preview_size) {
Vector<Ref<Mesh>> meshes;
for (int i = 0; i < p_meshes.size(); i++) {
@@ -55,7 +56,7 @@ Array EditorInterface::_make_mesh_previews(const Array &p_meshes, int p_preview_
}
Vector<Ref<Texture2D>> textures = make_mesh_previews(meshes, nullptr, p_preview_size);
- Array ret;
+ TypedArray<Texture2D> ret;
for (int i = 0; i < textures.size(); i++) {
ret.push_back(textures[i]);
}
@@ -133,8 +134,7 @@ Vector<Ref<Texture2D>> EditorInterface::make_mesh_previews(const Vector<Ref<Mesh
Main::iteration();
Ref<Image> img = RS::get_singleton()->texture_2d_get(viewport_texture);
ERR_CONTINUE(!img.is_valid() || img->is_empty());
- Ref<ImageTexture> it(memnew(ImageTexture));
- it->create_from_image(img);
+ Ref<ImageTexture> it = ImageTexture::create_from_image(img);
RS::get_singleton()->free(inst);
@@ -216,8 +216,8 @@ Node *EditorInterface::get_edited_scene_root() {
return EditorNode::get_singleton()->get_edited_scene();
}
-Array EditorInterface::get_open_scenes() const {
- Array ret;
+PackedStringArray EditorInterface::get_open_scenes() const {
+ PackedStringArray ret;
Vector<EditorData::EditedScene> scenes = EditorNode::get_editor_data().get_edited_scenes();
int scns_amount = scenes.size();
@@ -313,6 +313,13 @@ void EditorInterface::set_distraction_free_mode(bool p_enter) {
EditorNode::get_singleton()->set_distraction_free_mode(p_enter);
}
+void EditorInterface::restart_editor(bool p_save) {
+ if (p_save) {
+ EditorNode::get_singleton()->save_all_scenes();
+ }
+ EditorNode::get_singleton()->restart_editor();
+}
+
bool EditorInterface::is_distraction_free_mode_enabled() const {
return EditorNode::get_singleton()->is_distraction_free_mode_enabled();
}
@@ -361,6 +368,7 @@ void EditorInterface::_bind_methods() {
ClassDB::bind_method(D_METHOD("save_scene"), &EditorInterface::save_scene);
ClassDB::bind_method(D_METHOD("save_scene_as", "path", "with_preview"), &EditorInterface::save_scene_as, DEFVAL(true));
+ ClassDB::bind_method(D_METHOD("restart_editor", "save"), &EditorInterface::restart_editor, DEFVAL(true));
ClassDB::bind_method(D_METHOD("set_main_screen_editor", "name"), &EditorInterface::set_main_screen_editor);
ClassDB::bind_method(D_METHOD("set_distraction_free_mode", "enter"), &EditorInterface::set_distraction_free_mode);
@@ -446,7 +454,7 @@ void EditorPlugin::add_control_to_container(CustomControlContainer p_location, C
CanvasItemEditor::get_singleton()->get_bottom_split()->add_child(p_control);
} break;
- case CONTAINER_PROPERTY_EDITOR_BOTTOM: {
+ case CONTAINER_INSPECTOR_BOTTOM: {
InspectorDock::get_singleton()->get_addon_area()->add_child(p_control);
} break;
@@ -499,7 +507,7 @@ void EditorPlugin::remove_control_from_container(CustomControlContainer p_locati
CanvasItemEditor::get_singleton()->get_bottom_split()->remove_child(p_control);
} break;
- case CONTAINER_PROPERTY_EDITOR_BOTTOM: {
+ case CONTAINER_INSPECTOR_BOTTOM: {
InspectorDock::get_singleton()->get_addon_area()->remove_child(p_control);
} break;
@@ -886,7 +894,7 @@ void EditorPlugin::_bind_methods() {
ClassDB::bind_method(D_METHOD("make_bottom_panel_item_visible", "item"), &EditorPlugin::make_bottom_panel_item_visible);
ClassDB::bind_method(D_METHOD("hide_bottom_panel"), &EditorPlugin::hide_bottom_panel);
- ClassDB::bind_method(D_METHOD("get_undo_redo"), &EditorPlugin::_get_undo_redo);
+ ClassDB::bind_method(D_METHOD("get_undo_redo"), &EditorPlugin::get_undo_redo);
ClassDB::bind_method(D_METHOD("add_undo_redo_inspector_hook_callback", "callable"), &EditorPlugin::add_undo_redo_inspector_hook_callback);
ClassDB::bind_method(D_METHOD("remove_undo_redo_inspector_hook_callback", "callable"), &EditorPlugin::remove_undo_redo_inspector_hook_callback);
ClassDB::bind_method(D_METHOD("queue_save_layout"), &EditorPlugin::queue_save_layout);
@@ -951,7 +959,7 @@ void EditorPlugin::_bind_methods() {
BIND_ENUM_CONSTANT(CONTAINER_CANVAS_EDITOR_SIDE_LEFT);
BIND_ENUM_CONSTANT(CONTAINER_CANVAS_EDITOR_SIDE_RIGHT);
BIND_ENUM_CONSTANT(CONTAINER_CANVAS_EDITOR_BOTTOM);
- BIND_ENUM_CONSTANT(CONTAINER_PROPERTY_EDITOR_BOTTOM);
+ BIND_ENUM_CONSTANT(CONTAINER_INSPECTOR_BOTTOM);
BIND_ENUM_CONSTANT(CONTAINER_PROJECT_SETTING_TAB_LEFT);
BIND_ENUM_CONSTANT(CONTAINER_PROJECT_SETTING_TAB_RIGHT);
@@ -966,6 +974,10 @@ void EditorPlugin::_bind_methods() {
BIND_ENUM_CONSTANT(DOCK_SLOT_MAX);
}
+Ref<EditorUndoRedoManager> EditorPlugin::get_undo_redo() {
+ return undo_redo;
+}
+
EditorPluginCreateFunc EditorPlugins::creation_funcs[MAX_CREATE_FUNCS];
int EditorPlugins::creation_func_count = 0;
diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h
index c666b4639d..8357f0960a 100644
--- a/editor/editor_plugin.h
+++ b/editor/editor_plugin.h
@@ -53,6 +53,7 @@ class EditorImportPlugin;
class EditorExportPlugin;
class EditorNode3DGizmoPlugin;
class EditorResourcePreview;
+class EditorUndoRedoManager;
class EditorFileSystem;
class EditorToolAddons;
class EditorPaths;
@@ -66,7 +67,7 @@ protected:
static void _bind_methods();
static EditorInterface *singleton;
- Array _make_mesh_previews(const Array &p_meshes, int p_preview_size);
+ TypedArray<Texture2D> _make_mesh_previews(const Array &p_meshes, int p_preview_size);
public:
static EditorInterface *get_singleton() { return singleton; }
@@ -86,7 +87,7 @@ public:
String get_playing_scene() const;
Node *get_edited_scene_root();
- Array get_open_scenes() const;
+ PackedStringArray get_open_scenes() const;
ScriptEditor *get_script_editor();
EditorCommandPalette *get_command_palette() const;
@@ -116,6 +117,7 @@ public:
Error save_scene();
void save_scene_as(const String &p_scene, bool p_with_preview = true);
+ void restart_editor(bool p_save = true);
Vector<Ref<Texture2D>> make_mesh_previews(const Vector<Ref<Mesh>> &p_meshes, Vector<Transform3D> *p_transforms, int p_preview_size);
@@ -129,9 +131,7 @@ public:
class EditorPlugin : public Node {
GDCLASS(EditorPlugin, Node);
friend class EditorData;
- UndoRedo *undo_redo = nullptr;
-
- UndoRedo *_get_undo_redo() { return undo_redo; }
+ Ref<EditorUndoRedoManager> undo_redo;
bool input_event_forwarding_always_enabled = false;
bool force_draw_over_forwarding_enabled = false;
@@ -144,7 +144,7 @@ protected:
void _notification(int p_what);
static void _bind_methods();
- UndoRedo &get_undo_redo() { return *undo_redo; }
+ Ref<EditorUndoRedoManager> get_undo_redo();
void add_custom_type(const String &p_type, const String &p_base, const Ref<Script> &p_script, const Ref<Texture2D> &p_icon);
void remove_custom_type(const String &p_type);
@@ -184,7 +184,7 @@ public:
CONTAINER_CANVAS_EDITOR_SIDE_LEFT,
CONTAINER_CANVAS_EDITOR_SIDE_RIGHT,
CONTAINER_CANVAS_EDITOR_BOTTOM,
- CONTAINER_PROPERTY_EDITOR_BOTTOM,
+ CONTAINER_INSPECTOR_BOTTOM,
CONTAINER_PROJECT_SETTING_TAB_LEFT,
CONTAINER_PROJECT_SETTING_TAB_RIGHT,
};
@@ -346,4 +346,4 @@ public:
}
};
-#endif
+#endif // EDITOR_PLUGIN_H
diff --git a/editor/editor_plugin_settings.cpp b/editor/editor_plugin_settings.cpp
index 3a0b875b8c..5a010a66c1 100644
--- a/editor/editor_plugin_settings.cpp
+++ b/editor/editor_plugin_settings.cpp
@@ -37,6 +37,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "scene/gui/margin_container.h"
+#include "scene/gui/tree.h"
void EditorPluginSettings::_notification(int p_what) {
switch (p_what) {
diff --git a/editor/editor_plugin_settings.h b/editor/editor_plugin_settings.h
index 4903a02c4d..9c619066f2 100644
--- a/editor/editor_plugin_settings.h
+++ b/editor/editor_plugin_settings.h
@@ -28,14 +28,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITORPLUGINSETTINGS_H
-#define EDITORPLUGINSETTINGS_H
+#ifndef EDITOR_PLUGIN_SETTINGS_H
+#define EDITOR_PLUGIN_SETTINGS_H
#include "core/object/undo_redo.h"
#include "editor/editor_data.h"
#include "editor/plugin_config_dialog.h"
-#include "property_editor.h"
-#include "scene/gui/dialogs.h"
+
+class Tree;
class EditorPluginSettings : public VBoxContainer {
GDCLASS(EditorPluginSettings, VBoxContainer);
@@ -65,4 +65,4 @@ public:
EditorPluginSettings();
};
-#endif // EDITORPLUGINSETTINGS_H
+#endif // EDITOR_PLUGIN_SETTINGS_H
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp
index 196fba6e9b..f434df3a1e 100644
--- a/editor/editor_properties.cpp
+++ b/editor/editor_properties.cpp
@@ -43,6 +43,7 @@
#include "scene/main/window.h"
#include "scene/resources/font.h"
#include "scene/resources/mesh.h"
+#include "scene/resources/packed_scene.h"
///////////////////// Nil /////////////////////////
@@ -132,6 +133,11 @@ void EditorPropertyMultilineText::_text_changed() {
void EditorPropertyMultilineText::_open_big_text() {
if (!big_text_dialog) {
big_text = memnew(TextEdit);
+ if (expression) {
+ big_text->set_syntax_highlighter(text->get_syntax_highlighter());
+ big_text->add_theme_font_override("font", get_theme_font(SNAME("expression"), SNAME("EditorFonts")));
+ big_text->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("expression_size"), SNAME("EditorFonts")));
+ }
big_text->connect("text_changed", callable_mp(this, &EditorPropertyMultilineText::_big_text_changed));
big_text->set_line_wrapping_mode(TextEdit::LineWrappingMode::LINE_WRAPPING_BOUNDARY);
big_text_dialog = memnew(AcceptDialog);
@@ -161,8 +167,23 @@ void EditorPropertyMultilineText::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: {
Ref<Texture2D> df = get_theme_icon(SNAME("DistractionFree"), SNAME("EditorIcons"));
open_big_text->set_icon(df);
- Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
- int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
+
+ Ref<Font> font;
+ int font_size;
+ if (expression) {
+ font = get_theme_font(SNAME("expression"), SNAME("EditorFonts"));
+ font_size = get_theme_font_size(SNAME("expression_size"), SNAME("EditorFonts"));
+
+ text->add_theme_font_override("font", font);
+ text->add_theme_font_size_override("font_size", font_size);
+ if (big_text) {
+ big_text->add_theme_font_override("font", font);
+ big_text->add_theme_font_size_override("font_size", font_size);
+ }
+ } else {
+ font = get_theme_font(SNAME("font"), SNAME("TextEdit"));
+ font_size = get_theme_font_size(SNAME("font_size"), SNAME("TextEdit"));
+ }
text->set_custom_minimum_size(Vector2(0, font->get_height(font_size) * 6));
} break;
}
@@ -171,8 +192,9 @@ void EditorPropertyMultilineText::_notification(int p_what) {
void EditorPropertyMultilineText::_bind_methods() {
}
-EditorPropertyMultilineText::EditorPropertyMultilineText() {
+EditorPropertyMultilineText::EditorPropertyMultilineText(bool p_expression) {
HBoxContainer *hb = memnew(HBoxContainer);
+ hb->add_theme_constant_override("separation", 0);
add_child(hb);
set_bottom_editor(hb);
text = memnew(TextEdit);
@@ -187,6 +209,12 @@ EditorPropertyMultilineText::EditorPropertyMultilineText() {
hb->add_child(open_big_text);
big_text_dialog = nullptr;
big_text = nullptr;
+ if (p_expression) {
+ expression = true;
+ Ref<EditorStandardSyntaxHighlighter> highlighter;
+ highlighter.instantiate();
+ text->set_syntax_highlighter(highlighter);
+ }
}
///////////////////// TEXT ENUM /////////////////////////
@@ -479,13 +507,55 @@ void EditorPropertyPath::_path_focus_exited() {
_path_selected(path->get_text());
}
+void EditorPropertyPath::_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
+ const Dictionary drag_data = p_data;
+ if (!drag_data.has("type")) {
+ return;
+ }
+ if (String(drag_data["type"]) != "files") {
+ return;
+ }
+ const Vector<String> filesPaths = drag_data["files"];
+ if (filesPaths.size() == 0) {
+ return;
+ }
+
+ emit_changed(get_edited_property(), filesPaths[0]);
+ update_property();
+}
+
+bool EditorPropertyPath::_can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
+ const Dictionary drag_data = p_data;
+ if (!drag_data.has("type")) {
+ return false;
+ }
+ if (String(drag_data["type"]) != "files") {
+ return false;
+ }
+ const Vector<String> filesPaths = drag_data["files"];
+ if (filesPaths.size() == 0) {
+ return false;
+ }
+
+ for (const String &extension : extensions) {
+ if (filesPaths[0].ends_with(extension.substr(1, extension.size() - 1))) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
void EditorPropertyPath::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("_can_drop_data_fw", "position", "data", "from"), &EditorPropertyPath::_can_drop_data_fw);
+ ClassDB::bind_method(D_METHOD("_drop_data_fw", "position", "data", "from"), &EditorPropertyPath::_drop_data_fw);
}
EditorPropertyPath::EditorPropertyPath() {
HBoxContainer *path_hb = memnew(HBoxContainer);
add_child(path_hb);
path = memnew(LineEdit);
+ path->set_drag_forwarding(this);
path->set_structured_text_bidi_override(TextServer::STRUCTURED_TEXT_FILE);
path_hb->add_child(path);
path->connect("text_submitted", callable_mp(this, &EditorPropertyPath::_path_selected));
@@ -733,14 +803,12 @@ void EditorPropertyFlags::_set_read_only(bool p_read_only) {
}
};
-void EditorPropertyFlags::_flag_toggled() {
- uint32_t value = 0;
- for (int i = 0; i < flags.size(); i++) {
- if (flags[i]->is_pressed()) {
- uint32_t val = 1;
- val <<= flag_indices[i];
- value |= val;
- }
+void EditorPropertyFlags::_flag_toggled(int p_index) {
+ uint32_t value = get_edited_object()->get(get_edited_property());
+ if (flags[p_index]->is_pressed()) {
+ value |= flag_values[p_index];
+ } else {
+ value &= ~flag_values[p_index];
}
emit_changed(get_edited_property(), value);
@@ -750,13 +818,7 @@ void EditorPropertyFlags::update_property() {
uint32_t value = get_edited_object()->get(get_edited_property());
for (int i = 0; i < flags.size(); i++) {
- uint32_t val = 1;
- val <<= flag_indices[i];
- if (value & val) {
- flags[i]->set_pressed(true);
- } else {
- flags[i]->set_pressed(false);
- }
+ flags[i]->set_pressed((value & flag_values[i]) == flag_values[i]);
}
}
@@ -764,17 +826,24 @@ void EditorPropertyFlags::setup(const Vector<String> &p_options) {
ERR_FAIL_COND(flags.size());
bool first = true;
+ uint32_t current_val;
for (int i = 0; i < p_options.size(); i++) {
String option = p_options[i].strip_edges();
if (!option.is_empty()) {
CheckBox *cb = memnew(CheckBox);
cb->set_text(option);
cb->set_clip_text(true);
- cb->connect("pressed", callable_mp(this, &EditorPropertyFlags::_flag_toggled));
+ cb->connect("pressed", callable_mp(this, &EditorPropertyFlags::_flag_toggled).bind(i));
add_focusable(cb);
vbox->add_child(cb);
flags.push_back(cb);
- flag_indices.push_back(i);
+ Vector<String> text_split = p_options[i].split(":");
+ if (text_split.size() != 1) {
+ current_val = text_split[1].to_int();
+ } else {
+ current_val = 1 << i;
+ }
+ flag_values.push_back(current_val);
if (first) {
set_label_reference(cb);
first = false;
@@ -826,7 +895,7 @@ EditorPropertyLayersGrid::EditorPropertyLayersGrid() {
rename_dialog->add_child(rename_dialog_vb);
rename_dialog_text = memnew(LineEdit);
rename_dialog_vb->add_margin_child(TTR("Name:"), rename_dialog_text);
- rename_dialog->get_ok_button()->set_text(TTR("Rename"));
+ rename_dialog->set_ok_button_text(TTR("Rename"));
add_child(rename_dialog);
rename_dialog->register_text_enter(rename_dialog_text);
rename_dialog->connect("confirmed", callable_mp(this, &EditorPropertyLayersGrid::_rename_operation_confirm));
@@ -1078,6 +1147,17 @@ void EditorPropertyLayersGrid::_bind_methods() {
ADD_SIGNAL(MethodInfo("rename_confirmed", PropertyInfo(Variant::INT, "layer_id"), PropertyInfo(Variant::STRING, "new_name")));
}
+void EditorPropertyLayers::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ button->set_normal_texture(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons")));
+ button->set_pressed_texture(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons")));
+ button->set_disabled_texture(get_theme_icon(SNAME("GuiTabMenu"), SNAME("EditorIcons")));
+ } break;
+ }
+}
+
void EditorPropertyLayers::_set_read_only(bool p_read_only) {
button->set_disabled(p_read_only);
grid->set_read_only(p_read_only);
@@ -1214,9 +1294,9 @@ EditorPropertyLayers::EditorPropertyLayers() {
grid->set_h_size_flags(SIZE_EXPAND_FILL);
hb->add_child(grid);
- button = memnew(Button);
+ button = memnew(TextureButton);
+ button->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED);
button->set_toggle_mode(true);
- button->set_text("...");
button->connect("pressed", callable_mp(this, &EditorPropertyLayers::_button_pressed));
hb->add_child(button);
@@ -1226,7 +1306,7 @@ EditorPropertyLayers::EditorPropertyLayers() {
add_child(layers);
layers->set_hide_on_checkable_item_selection(false);
layers->connect("id_pressed", callable_mp(this, &EditorPropertyLayers::_menu_pressed));
- layers->connect("popup_hide", callable_mp((BaseButton *)button, &BaseButton::set_pressed), varray(false));
+ layers->connect("popup_hide", callable_mp((BaseButton *)button, &BaseButton::set_pressed).bind(false));
EditorNode::get_singleton()->connect("project_settings_changed", callable_mp(this, &EditorPropertyLayers::_refresh_names));
}
@@ -1259,12 +1339,13 @@ void EditorPropertyInteger::update_property() {
void EditorPropertyInteger::_bind_methods() {
}
-void EditorPropertyInteger::setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser) {
+void EditorPropertyInteger::setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser, const String &p_suffix) {
spin->set_min(p_min);
spin->set_max(p_max);
spin->set_step(p_step);
spin->set_allow_greater(p_allow_greater);
spin->set_allow_lesser(p_allow_lesser);
+ spin->set_suffix(p_suffix);
}
EditorPropertyInteger::EditorPropertyInteger() {
@@ -1293,7 +1374,7 @@ void EditorPropertyObjectID::update_property() {
ObjectID id = get_edited_object()->get(get_edited_property());
if (id.is_valid()) {
- edit->set_text(type + " ID: " + itos(id));
+ edit->set_text(type + " ID: " + uitos(id));
edit->set_disabled(false);
edit->set_icon(EditorNode::get_singleton()->get_class_icon(type));
} else {
@@ -1317,6 +1398,54 @@ EditorPropertyObjectID::EditorPropertyObjectID() {
edit->connect("pressed", callable_mp(this, &EditorPropertyObjectID::_edit_pressed));
}
+///////////////////// SIGNAL /////////////////////////
+
+void EditorPropertySignal::_edit_pressed() {
+ Signal signal = get_edited_object()->get(get_edited_property());
+ emit_signal(SNAME("object_id_selected"), get_edited_property(), signal.get_object_id());
+}
+
+void EditorPropertySignal::update_property() {
+ String type = base_type;
+
+ Signal signal = get_edited_object()->get(get_edited_property());
+
+ edit->set_text("Signal: " + signal.get_name());
+ edit->set_disabled(false);
+ edit->set_icon(get_theme_icon(SNAME("Signals"), SNAME("EditorIcons")));
+}
+
+void EditorPropertySignal::_bind_methods() {
+}
+
+EditorPropertySignal::EditorPropertySignal() {
+ edit = memnew(Button);
+ add_child(edit);
+ add_focusable(edit);
+ edit->connect("pressed", callable_mp(this, &EditorPropertySignal::_edit_pressed));
+}
+
+///////////////////// CALLABLE /////////////////////////
+
+void EditorPropertyCallable::update_property() {
+ String type = base_type;
+
+ Callable callable = get_edited_object()->get(get_edited_property());
+
+ edit->set_text("Callable");
+ edit->set_disabled(true);
+ edit->set_icon(get_theme_icon(SNAME("Callable"), SNAME("EditorIcons")));
+}
+
+void EditorPropertyCallable::_bind_methods() {
+}
+
+EditorPropertyCallable::EditorPropertyCallable() {
+ edit = memnew(Button);
+ add_child(edit);
+ add_focusable(edit);
+}
+
///////////////////// FLOAT /////////////////////////
void EditorPropertyFloat::_set_read_only(bool p_read_only) {
@@ -1521,6 +1650,11 @@ void EditorPropertyEasing::_spin_value_changed(double p_value) {
// which can cause crashes and other issues.
p_value = CLAMP(p_value, -1'000'000, 1'000'000);
+ if (positive_only) {
+ // Force a positive or zero value if a negative value was manually entered by double-clicking.
+ p_value = MAX(0.0, p_value);
+ }
+
emit_changed(get_edited_property(), p_value);
_spin_focus_exited();
}
@@ -1532,9 +1666,9 @@ void EditorPropertyEasing::_spin_focus_exited() {
easing_draw->update();
}
-void EditorPropertyEasing::setup(bool p_full, bool p_flip) {
+void EditorPropertyEasing::setup(bool p_positive_only, bool p_flip) {
flip = p_flip;
- full = p_full;
+ positive_only = p_positive_only;
}
void EditorPropertyEasing::_notification(int p_what) {
@@ -1542,13 +1676,13 @@ void EditorPropertyEasing::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_ENTER_TREE: {
preset->clear();
- preset->add_icon_item(get_theme_icon(SNAME("CurveConstant"), SNAME("EditorIcons")), "Zero", EASING_ZERO);
preset->add_icon_item(get_theme_icon(SNAME("CurveLinear"), SNAME("EditorIcons")), "Linear", EASING_LINEAR);
- preset->add_icon_item(get_theme_icon(SNAME("CurveIn"), SNAME("EditorIcons")), "In", EASING_IN);
- preset->add_icon_item(get_theme_icon(SNAME("CurveOut"), SNAME("EditorIcons")), "Out", EASING_OUT);
- if (full) {
- preset->add_icon_item(get_theme_icon(SNAME("CurveInOut"), SNAME("EditorIcons")), "In-Out", EASING_IN_OUT);
- preset->add_icon_item(get_theme_icon(SNAME("CurveOutIn"), SNAME("EditorIcons")), "Out-In", EASING_OUT_IN);
+ preset->add_icon_item(get_theme_icon(SNAME("CurveIn"), SNAME("EditorIcons")), "Ease In", EASING_IN);
+ preset->add_icon_item(get_theme_icon(SNAME("CurveOut"), SNAME("EditorIcons")), "Ease Out", EASING_OUT);
+ preset->add_icon_item(get_theme_icon(SNAME("CurveConstant"), SNAME("EditorIcons")), "Zero", EASING_ZERO);
+ if (!positive_only) {
+ preset->add_icon_item(get_theme_icon(SNAME("CurveInOut"), SNAME("EditorIcons")), "Ease In-Out", EASING_IN_OUT);
+ preset->add_icon_item(get_theme_icon(SNAME("CurveOutIn"), SNAME("EditorIcons")), "Ease Out-In", EASING_OUT_IN);
}
easing_draw->set_custom_minimum_size(Size2(0, get_theme_font(SNAME("font"), SNAME("Label"))->get_height(get_theme_font_size(SNAME("font_size"), SNAME("Label"))) * 2));
} break;
@@ -1596,6 +1730,18 @@ void EditorPropertyVector2::_value_changed(double val, const String &p_name) {
return;
}
+ if (linked->is_pressed()) {
+ setting = true;
+ if (p_name == "x") {
+ spin[1]->set_value(spin[0]->get_value() * ratio_yx);
+ }
+
+ if (p_name == "y") {
+ spin[0]->set_value(spin[1]->get_value() * ratio_xy);
+ }
+ setting = false;
+ }
+
Vector2 v2;
v2.x = spin[0]->get_value();
v2.y = spin[1]->get_value();
@@ -1608,12 +1754,28 @@ void EditorPropertyVector2::update_property() {
spin[0]->set_value(val.x);
spin[1]->set_value(val.y);
setting = false;
+ _update_ratio();
+}
+
+void EditorPropertyVector2::_update_ratio() {
+ linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5));
+
+ if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) {
+ ratio_xy = spin[0]->get_value() / spin[1]->get_value();
+ ratio_yx = spin[1]->get_value() / spin[0]->get_value();
+ } else {
+ ratio_xy = 1.0;
+ ratio_yx = 1.0;
+ }
}
void EditorPropertyVector2::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
+ linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons")));
+ linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")));
+
const Color *colors = _get_property_colors();
for (int i = 0; i < 2; i++) {
spin[i]->add_theme_color_override("label_color", colors[i]);
@@ -1622,10 +1784,7 @@ void EditorPropertyVector2::_notification(int p_what) {
}
}
-void EditorPropertyVector2::_bind_methods() {
-}
-
-void EditorPropertyVector2::setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix) {
+void EditorPropertyVector2::setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link, const String &p_suffix) {
for (int i = 0; i < 2; i++) {
spin[i]->set_min(p_min);
spin[i]->set_max(p_max);
@@ -1635,24 +1794,34 @@ void EditorPropertyVector2::setup(double p_min, double p_max, double p_step, boo
spin[i]->set_allow_lesser(true);
spin[i]->set_suffix(p_suffix);
}
+
+ if (!p_link) {
+ linked->hide();
+ } else {
+ linked->set_pressed(true);
+ }
}
EditorPropertyVector2::EditorPropertyVector2(bool p_force_wide) {
bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector2_editing"));
+ HBoxContainer *hb = memnew(HBoxContainer);
+ hb->set_h_size_flags(SIZE_EXPAND_FILL);
+
BoxContainer *bc;
if (p_force_wide) {
bc = memnew(HBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
} else if (horizontal) {
bc = memnew(HBoxContainer);
- add_child(bc);
- set_bottom_editor(bc);
+ hb->add_child(bc);
+ set_bottom_editor(hb);
} else {
bc = memnew(VBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
}
+ bc->set_h_size_flags(SIZE_EXPAND_FILL);
static const char *desc[2] = { "x", "y" };
for (int i = 0; i < 2; i++) {
@@ -1661,12 +1830,19 @@ EditorPropertyVector2::EditorPropertyVector2(bool p_force_wide) {
spin[i]->set_label(desc[i]);
bc->add_child(spin[i]);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector2::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector2::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
}
+ linked = memnew(TextureButton);
+ linked->set_toggle_mode(true);
+ linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED);
+ linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector2::_update_ratio));
+ hb->add_child(linked);
+
+ add_child(hb);
if (!horizontal) {
set_label_reference(spin[0]); //show text and buttons around this
}
@@ -1764,7 +1940,7 @@ EditorPropertyRect2::EditorPropertyRect2(bool p_force_wide) {
}
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyRect2::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyRect2::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
@@ -1788,6 +1964,25 @@ void EditorPropertyVector3::_value_changed(double val, const String &p_name) {
return;
}
+ if (linked->is_pressed()) {
+ setting = true;
+ if (p_name == "x") {
+ spin[1]->set_value(spin[0]->get_value() * ratio_yx);
+ spin[2]->set_value(spin[0]->get_value() * ratio_zx);
+ }
+
+ if (p_name == "y") {
+ spin[0]->set_value(spin[1]->get_value() * ratio_xy);
+ spin[2]->set_value(spin[1]->get_value() * ratio_zy);
+ }
+
+ if (p_name == "z") {
+ spin[0]->set_value(spin[2]->get_value() * ratio_xz);
+ spin[1]->set_value(spin[2]->get_value() * ratio_yz);
+ }
+ setting = false;
+ }
+
Vector3 v3;
v3.x = spin[0]->get_value();
v3.y = spin[1]->get_value();
@@ -1802,6 +1997,27 @@ void EditorPropertyVector3::_value_changed(double val, const String &p_name) {
void EditorPropertyVector3::update_property() {
update_using_vector(get_edited_object()->get(get_edited_property()));
+ _update_ratio();
+}
+
+void EditorPropertyVector3::_update_ratio() {
+ linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5));
+
+ if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) {
+ ratio_yx = spin[1]->get_value() / spin[0]->get_value();
+ ratio_zx = spin[2]->get_value() / spin[0]->get_value();
+ ratio_xy = spin[0]->get_value() / spin[1]->get_value();
+ ratio_zy = spin[2]->get_value() / spin[1]->get_value();
+ ratio_xz = spin[0]->get_value() / spin[2]->get_value();
+ ratio_yz = spin[1]->get_value() / spin[2]->get_value();
+ } else {
+ ratio_yx = 1.0;
+ ratio_zx = 1.0;
+ ratio_xy = 1.0;
+ ratio_zy = 1.0;
+ ratio_xz = 1.0;
+ ratio_yz = 1.0;
+ }
}
void EditorPropertyVector3::update_using_vector(Vector3 p_vector) {
@@ -1835,6 +2051,9 @@ void EditorPropertyVector3::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
+ linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons")));
+ linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")));
+
const Color *colors = _get_property_colors();
for (int i = 0; i < 3; i++) {
spin[i]->add_theme_color_override("label_color", colors[i]);
@@ -1846,7 +2065,7 @@ void EditorPropertyVector3::_notification(int p_what) {
void EditorPropertyVector3::_bind_methods() {
}
-void EditorPropertyVector3::setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix, bool p_angle_in_radians) {
+void EditorPropertyVector3::setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link, const String &p_suffix, bool p_angle_in_radians) {
angle_in_radians = p_angle_in_radians;
for (int i = 0; i < 3; i++) {
spin[i]->set_min(p_min);
@@ -1857,24 +2076,34 @@ void EditorPropertyVector3::setup(double p_min, double p_max, double p_step, boo
spin[i]->set_allow_lesser(true);
spin[i]->set_suffix(p_suffix);
}
+
+ if (!p_link) {
+ linked->hide();
+ } else {
+ linked->set_pressed(true);
+ }
}
EditorPropertyVector3::EditorPropertyVector3(bool p_force_wide) {
bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector_types_editing"));
+ HBoxContainer *hb = memnew(HBoxContainer);
+ hb->set_h_size_flags(SIZE_EXPAND_FILL);
+
BoxContainer *bc;
if (p_force_wide) {
bc = memnew(HBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
} else if (horizontal) {
bc = memnew(HBoxContainer);
- add_child(bc);
- set_bottom_editor(bc);
+ hb->add_child(bc);
+ set_bottom_editor(hb);
} else {
bc = memnew(VBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
}
+ bc->set_h_size_flags(SIZE_EXPAND_FILL);
static const char *desc[3] = { "x", "y", "z" };
for (int i = 0; i < 3; i++) {
@@ -1883,12 +2112,19 @@ EditorPropertyVector3::EditorPropertyVector3(bool p_force_wide) {
spin[i]->set_label(desc[i]);
bc->add_child(spin[i]);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector3::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector3::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
}
+ linked = memnew(TextureButton);
+ linked->set_toggle_mode(true);
+ linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED);
+ linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector3::_update_ratio));
+ hb->add_child(linked);
+
+ add_child(hb);
if (!horizontal) {
set_label_reference(spin[0]); //show text and buttons around this
}
@@ -1907,6 +2143,18 @@ void EditorPropertyVector2i::_value_changed(double val, const String &p_name) {
return;
}
+ if (linked->is_pressed()) {
+ setting = true;
+ if (p_name == "x") {
+ spin[1]->set_value(spin[0]->get_value() * ratio_yx);
+ }
+
+ if (p_name == "y") {
+ spin[0]->set_value(spin[1]->get_value() * ratio_xy);
+ }
+ setting = false;
+ }
+
Vector2i v2;
v2.x = spin[0]->get_value();
v2.y = spin[1]->get_value();
@@ -1919,12 +2167,28 @@ void EditorPropertyVector2i::update_property() {
spin[0]->set_value(val.x);
spin[1]->set_value(val.y);
setting = false;
+ _update_ratio();
+}
+
+void EditorPropertyVector2i::_update_ratio() {
+ linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5));
+
+ if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) {
+ ratio_xy = spin[0]->get_value() / spin[1]->get_value();
+ ratio_yx = spin[1]->get_value() / spin[0]->get_value();
+ } else {
+ ratio_xy = 1.0;
+ ratio_yx = 1.0;
+ }
}
void EditorPropertyVector2i::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
+ linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons")));
+ linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")));
+
const Color *colors = _get_property_colors();
for (int i = 0; i < 2; i++) {
spin[i]->add_theme_color_override("label_color", colors[i]);
@@ -1933,10 +2197,7 @@ void EditorPropertyVector2i::_notification(int p_what) {
}
}
-void EditorPropertyVector2i::_bind_methods() {
-}
-
-void EditorPropertyVector2i::setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix) {
+void EditorPropertyVector2i::setup(int p_min, int p_max, bool p_no_slider, bool p_link, const String &p_suffix) {
for (int i = 0; i < 2; i++) {
spin[i]->set_min(p_min);
spin[i]->set_max(p_max);
@@ -1946,24 +2207,34 @@ void EditorPropertyVector2i::setup(int p_min, int p_max, bool p_no_slider, const
spin[i]->set_allow_lesser(true);
spin[i]->set_suffix(p_suffix);
}
+
+ if (!p_link) {
+ linked->hide();
+ } else {
+ linked->set_pressed(true);
+ }
}
EditorPropertyVector2i::EditorPropertyVector2i(bool p_force_wide) {
bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector2_editing"));
+ HBoxContainer *hb = memnew(HBoxContainer);
+ hb->set_h_size_flags(SIZE_EXPAND_FILL);
+
BoxContainer *bc;
if (p_force_wide) {
bc = memnew(HBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
} else if (horizontal) {
bc = memnew(HBoxContainer);
- add_child(bc);
- set_bottom_editor(bc);
+ hb->add_child(bc);
+ set_bottom_editor(hb);
} else {
bc = memnew(VBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
}
+ bc->set_h_size_flags(SIZE_EXPAND_FILL);
static const char *desc[2] = { "x", "y" };
for (int i = 0; i < 2; i++) {
@@ -1972,12 +2243,19 @@ EditorPropertyVector2i::EditorPropertyVector2i(bool p_force_wide) {
spin[i]->set_label(desc[i]);
bc->add_child(spin[i]);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector2i::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector2i::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
}
+ linked = memnew(TextureButton);
+ linked->set_toggle_mode(true);
+ linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED);
+ linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector2i::_update_ratio));
+ hb->add_child(linked);
+
+ add_child(hb);
if (!horizontal) {
set_label_reference(spin[0]); //show text and buttons around this
}
@@ -2075,7 +2353,7 @@ EditorPropertyRect2i::EditorPropertyRect2i(bool p_force_wide) {
}
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyRect2i::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyRect2i::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
@@ -2099,6 +2377,25 @@ void EditorPropertyVector3i::_value_changed(double val, const String &p_name) {
return;
}
+ if (linked->is_pressed()) {
+ setting = true;
+ if (p_name == "x") {
+ spin[1]->set_value(spin[0]->get_value() * ratio_yx);
+ spin[2]->set_value(spin[0]->get_value() * ratio_zx);
+ }
+
+ if (p_name == "y") {
+ spin[0]->set_value(spin[1]->get_value() * ratio_xy);
+ spin[2]->set_value(spin[1]->get_value() * ratio_zy);
+ }
+
+ if (p_name == "z") {
+ spin[0]->set_value(spin[2]->get_value() * ratio_xz);
+ spin[1]->set_value(spin[2]->get_value() * ratio_yz);
+ }
+ setting = false;
+ }
+
Vector3i v3;
v3.x = spin[0]->get_value();
v3.y = spin[1]->get_value();
@@ -2113,12 +2410,36 @@ void EditorPropertyVector3i::update_property() {
spin[1]->set_value(val.y);
spin[2]->set_value(val.z);
setting = false;
+ _update_ratio();
+}
+
+void EditorPropertyVector3i::_update_ratio() {
+ linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5));
+
+ if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) {
+ ratio_yx = spin[1]->get_value() / spin[0]->get_value();
+ ratio_zx = spin[2]->get_value() / spin[0]->get_value();
+ ratio_xy = spin[0]->get_value() / spin[1]->get_value();
+ ratio_zy = spin[2]->get_value() / spin[1]->get_value();
+ ratio_xz = spin[0]->get_value() / spin[2]->get_value();
+ ratio_yz = spin[1]->get_value() / spin[2]->get_value();
+ } else {
+ ratio_yx = 1.0;
+ ratio_zx = 1.0;
+ ratio_xy = 1.0;
+ ratio_zy = 1.0;
+ ratio_xz = 1.0;
+ ratio_yz = 1.0;
+ }
}
void EditorPropertyVector3i::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
+ linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons")));
+ linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")));
+
const Color *colors = _get_property_colors();
for (int i = 0; i < 3; i++) {
spin[i]->add_theme_color_override("label_color", colors[i]);
@@ -2130,7 +2451,7 @@ void EditorPropertyVector3i::_notification(int p_what) {
void EditorPropertyVector3i::_bind_methods() {
}
-void EditorPropertyVector3i::setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix) {
+void EditorPropertyVector3i::setup(int p_min, int p_max, bool p_no_slider, bool p_link, const String &p_suffix) {
for (int i = 0; i < 3; i++) {
spin[i]->set_min(p_min);
spin[i]->set_max(p_max);
@@ -2140,22 +2461,31 @@ void EditorPropertyVector3i::setup(int p_min, int p_max, bool p_no_slider, const
spin[i]->set_allow_lesser(true);
spin[i]->set_suffix(p_suffix);
}
+
+ if (!p_link) {
+ linked->hide();
+ } else {
+ linked->set_pressed(true);
+ }
}
EditorPropertyVector3i::EditorPropertyVector3i(bool p_force_wide) {
bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector_types_editing"));
+ HBoxContainer *hb = memnew(HBoxContainer);
+ hb->set_h_size_flags(SIZE_EXPAND_FILL);
+
BoxContainer *bc;
if (p_force_wide) {
bc = memnew(HBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
} else if (horizontal) {
bc = memnew(HBoxContainer);
- add_child(bc);
- set_bottom_editor(bc);
+ hb->add_child(bc);
+ set_bottom_editor(hb);
} else {
bc = memnew(VBoxContainer);
- add_child(bc);
+ hb->add_child(bc);
}
static const char *desc[3] = { "x", "y", "z" };
@@ -2165,12 +2495,20 @@ EditorPropertyVector3i::EditorPropertyVector3i(bool p_force_wide) {
spin[i]->set_label(desc[i]);
bc->add_child(spin[i]);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector3i::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector3i::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
}
+ bc->set_h_size_flags(SIZE_EXPAND_FILL);
+ linked = memnew(TextureButton);
+ linked->set_toggle_mode(true);
+ linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED);
+ linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector3i::_update_ratio));
+ hb->add_child(linked);
+
+ add_child(hb);
if (!horizontal) {
set_label_reference(spin[0]); //show text and buttons around this
}
@@ -2258,7 +2596,7 @@ EditorPropertyPlane::EditorPropertyPlane(bool p_force_wide) {
spin[i]->set_label(desc[i]);
bc->add_child(spin[i]);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyPlane::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyPlane::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
@@ -2350,7 +2688,187 @@ EditorPropertyQuaternion::EditorPropertyQuaternion() {
spin[i]->set_label(desc[i]);
bc->add_child(spin[i]);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyQuaternion::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyQuaternion::_value_changed).bind(desc[i]));
+ if (horizontal) {
+ spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
+ }
+ }
+
+ if (!horizontal) {
+ set_label_reference(spin[0]); //show text and buttons around this
+ }
+}
+///////////////////// VECTOR4 /////////////////////////
+
+void EditorPropertyVector4::_set_read_only(bool p_read_only) {
+ for (int i = 0; i < 4; i++) {
+ spin[i]->set_read_only(p_read_only);
+ }
+};
+
+void EditorPropertyVector4::_value_changed(double val, const String &p_name) {
+ if (setting) {
+ return;
+ }
+
+ Vector4 p;
+ p.x = spin[0]->get_value();
+ p.y = spin[1]->get_value();
+ p.z = spin[2]->get_value();
+ p.w = spin[3]->get_value();
+ emit_changed(get_edited_property(), p, p_name);
+}
+
+void EditorPropertyVector4::update_property() {
+ Vector4 val = get_edited_object()->get(get_edited_property());
+ setting = true;
+ spin[0]->set_value(val.x);
+ spin[1]->set_value(val.y);
+ spin[2]->set_value(val.z);
+ spin[3]->set_value(val.w);
+ setting = false;
+}
+
+void EditorPropertyVector4::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ const Color *colors = _get_property_colors();
+ for (int i = 0; i < 4; i++) {
+ spin[i]->add_theme_color_override("label_color", colors[i]);
+ }
+ } break;
+ }
+}
+
+void EditorPropertyVector4::_bind_methods() {
+}
+
+void EditorPropertyVector4::setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix) {
+ for (int i = 0; i < 4; i++) {
+ spin[i]->set_min(p_min);
+ spin[i]->set_max(p_max);
+ spin[i]->set_step(p_step);
+ spin[i]->set_hide_slider(p_no_slider);
+ spin[i]->set_allow_greater(true);
+ spin[i]->set_allow_lesser(true);
+ // Vector4 is inherently unitless, however someone may want to use it as
+ // a generic way to store 4 values, so we'll still respect the suffix.
+ spin[i]->set_suffix(p_suffix);
+ }
+}
+
+EditorPropertyVector4::EditorPropertyVector4() {
+ bool horizontal = EDITOR_GET("interface/inspector/horizontal_vector_types_editing");
+
+ BoxContainer *bc;
+
+ if (horizontal) {
+ bc = memnew(HBoxContainer);
+ add_child(bc);
+ set_bottom_editor(bc);
+ } else {
+ bc = memnew(VBoxContainer);
+ add_child(bc);
+ }
+
+ static const char *desc[4] = { "x", "y", "z", "w" };
+ for (int i = 0; i < 4; i++) {
+ spin[i] = memnew(EditorSpinSlider);
+ spin[i]->set_flat(true);
+ spin[i]->set_label(desc[i]);
+ bc->add_child(spin[i]);
+ add_focusable(spin[i]);
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector4::_value_changed).bind(desc[i]));
+ if (horizontal) {
+ spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
+ }
+ }
+
+ if (!horizontal) {
+ set_label_reference(spin[0]); //show text and buttons around this
+ }
+}
+
+///////////////////// VECTOR4I /////////////////////////
+
+void EditorPropertyVector4i::_set_read_only(bool p_read_only) {
+ for (int i = 0; i < 4; i++) {
+ spin[i]->set_read_only(p_read_only);
+ }
+};
+
+void EditorPropertyVector4i::_value_changed(double val, const String &p_name) {
+ if (setting) {
+ return;
+ }
+
+ Vector4i p;
+ p.x = spin[0]->get_value();
+ p.y = spin[1]->get_value();
+ p.z = spin[2]->get_value();
+ p.w = spin[3]->get_value();
+ emit_changed(get_edited_property(), p, p_name);
+}
+
+void EditorPropertyVector4i::update_property() {
+ Vector4i val = get_edited_object()->get(get_edited_property());
+ setting = true;
+ spin[0]->set_value(val.x);
+ spin[1]->set_value(val.y);
+ spin[2]->set_value(val.z);
+ spin[3]->set_value(val.w);
+ setting = false;
+}
+
+void EditorPropertyVector4i::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ const Color *colors = _get_property_colors();
+ for (int i = 0; i < 4; i++) {
+ spin[i]->add_theme_color_override("label_color", colors[i]);
+ }
+ } break;
+ }
+}
+
+void EditorPropertyVector4i::_bind_methods() {
+}
+
+void EditorPropertyVector4i::setup(double p_min, double p_max, bool p_no_slider, const String &p_suffix) {
+ for (int i = 0; i < 4; i++) {
+ spin[i]->set_min(p_min);
+ spin[i]->set_max(p_max);
+ spin[i]->set_hide_slider(p_no_slider);
+ spin[i]->set_allow_greater(true);
+ spin[i]->set_allow_lesser(true);
+ spin[i]->set_suffix(p_suffix);
+ }
+}
+
+EditorPropertyVector4i::EditorPropertyVector4i() {
+ bool horizontal = EDITOR_GET("interface/inspector/horizontal_vector_types_editing");
+
+ BoxContainer *bc;
+
+ if (horizontal) {
+ bc = memnew(HBoxContainer);
+ add_child(bc);
+ set_bottom_editor(bc);
+ } else {
+ bc = memnew(VBoxContainer);
+ add_child(bc);
+ }
+
+ static const char *desc[4] = { "x", "y", "z", "w" };
+ for (int i = 0; i < 4; i++) {
+ spin[i] = memnew(EditorSpinSlider);
+ spin[i]->set_flat(true);
+ spin[i]->set_label(desc[i]);
+ bc->add_child(spin[i]);
+ add_focusable(spin[i]);
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyVector4i::_value_changed).bind(desc[i]));
if (horizontal) {
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
}
@@ -2439,7 +2957,7 @@ EditorPropertyAABB::EditorPropertyAABB() {
g->add_child(spin[i]);
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyAABB::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyAABB::_value_changed).bind(desc[i]));
}
set_bottom_editor(g);
}
@@ -2530,7 +3048,7 @@ EditorPropertyTransform2D::EditorPropertyTransform2D(bool p_include_origin) {
}
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyTransform2D::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyTransform2D::_value_changed).bind(desc[i]));
}
set_bottom_editor(g);
}
@@ -2620,7 +3138,7 @@ EditorPropertyBasis::EditorPropertyBasis() {
g->add_child(spin[i]);
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyBasis::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyBasis::_value_changed).bind(desc[i]));
}
set_bottom_editor(g);
}
@@ -2718,11 +3236,116 @@ EditorPropertyTransform3D::EditorPropertyTransform3D() {
g->add_child(spin[i]);
spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
add_focusable(spin[i]);
- spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyTransform3D::_value_changed), varray(desc[i]));
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyTransform3D::_value_changed).bind(desc[i]));
}
set_bottom_editor(g);
}
+///////////////////// PROJECTION /////////////////////////
+
+void EditorPropertyProjection::_set_read_only(bool p_read_only) {
+ for (int i = 0; i < 12; i++) {
+ spin[i]->set_read_only(p_read_only);
+ }
+};
+
+void EditorPropertyProjection::_value_changed(double val, const String &p_name) {
+ if (setting) {
+ return;
+ }
+
+ Projection p;
+ p.matrix[0][0] = spin[0]->get_value();
+ p.matrix[0][1] = spin[1]->get_value();
+ p.matrix[0][2] = spin[2]->get_value();
+ p.matrix[0][3] = spin[3]->get_value();
+ p.matrix[1][0] = spin[4]->get_value();
+ p.matrix[1][1] = spin[5]->get_value();
+ p.matrix[1][2] = spin[6]->get_value();
+ p.matrix[1][3] = spin[7]->get_value();
+ p.matrix[2][0] = spin[8]->get_value();
+ p.matrix[2][1] = spin[9]->get_value();
+ p.matrix[2][2] = spin[10]->get_value();
+ p.matrix[2][3] = spin[11]->get_value();
+ p.matrix[3][0] = spin[12]->get_value();
+ p.matrix[3][1] = spin[13]->get_value();
+ p.matrix[3][2] = spin[14]->get_value();
+ p.matrix[3][3] = spin[15]->get_value();
+
+ emit_changed(get_edited_property(), p, p_name);
+}
+
+void EditorPropertyProjection::update_property() {
+ update_using_transform(get_edited_object()->get(get_edited_property()));
+}
+
+void EditorPropertyProjection::update_using_transform(Projection p_transform) {
+ setting = true;
+ spin[0]->set_value(p_transform.matrix[0][0]);
+ spin[1]->set_value(p_transform.matrix[0][1]);
+ spin[2]->set_value(p_transform.matrix[0][2]);
+ spin[3]->set_value(p_transform.matrix[0][3]);
+ spin[4]->set_value(p_transform.matrix[1][0]);
+ spin[5]->set_value(p_transform.matrix[1][1]);
+ spin[6]->set_value(p_transform.matrix[1][2]);
+ spin[7]->set_value(p_transform.matrix[1][3]);
+ spin[8]->set_value(p_transform.matrix[2][0]);
+ spin[9]->set_value(p_transform.matrix[2][1]);
+ spin[10]->set_value(p_transform.matrix[2][2]);
+ spin[11]->set_value(p_transform.matrix[2][3]);
+ spin[12]->set_value(p_transform.matrix[3][0]);
+ spin[13]->set_value(p_transform.matrix[3][1]);
+ spin[14]->set_value(p_transform.matrix[3][2]);
+ spin[15]->set_value(p_transform.matrix[3][3]);
+ setting = false;
+}
+
+void EditorPropertyProjection::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ const Color *colors = _get_property_colors();
+ for (int i = 0; i < 16; i++) {
+ spin[i]->add_theme_color_override("label_color", colors[i % 4]);
+ }
+ } break;
+ }
+}
+
+void EditorPropertyProjection::_bind_methods() {
+}
+
+void EditorPropertyProjection::setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix) {
+ for (int i = 0; i < 16; i++) {
+ spin[i]->set_min(p_min);
+ spin[i]->set_max(p_max);
+ spin[i]->set_step(p_step);
+ spin[i]->set_hide_slider(p_no_slider);
+ spin[i]->set_allow_greater(true);
+ spin[i]->set_allow_lesser(true);
+ if (i % 4 == 3) {
+ spin[i]->set_suffix(p_suffix);
+ }
+ }
+}
+
+EditorPropertyProjection::EditorPropertyProjection() {
+ GridContainer *g = memnew(GridContainer);
+ g->set_columns(4);
+ add_child(g);
+
+ static const char *desc[16] = { "xx", "xy", "xz", "xw", "yx", "yy", "yz", "yw", "zx", "zy", "zz", "zw", "wx", "wy", "wz", "ww" };
+ for (int i = 0; i < 16; i++) {
+ spin[i] = memnew(EditorSpinSlider);
+ spin[i]->set_label(desc[i]);
+ spin[i]->set_flat(true);
+ g->add_child(spin[i]);
+ spin[i]->set_h_size_flags(SIZE_EXPAND_FILL);
+ add_focusable(spin[i]);
+ spin[i]->connect("value_changed", callable_mp(this, &EditorPropertyProjection::_value_changed).bind(desc[i]));
+ }
+ set_bottom_editor(g);
+}
////////////// COLOR PICKER //////////////////////
void EditorPropertyColor::_set_read_only(bool p_read_only) {
@@ -2744,19 +3367,6 @@ void EditorPropertyColor::_popup_closed() {
}
}
-void EditorPropertyColor::_picker_created() {
- // get default color picker mode from editor settings
- int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
- if (default_color_mode == 1) {
- picker->get_picker()->set_hsv_mode(true);
- } else if (default_color_mode == 2) {
- picker->get_picker()->set_raw_mode(true);
- }
-
- int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
- picker->get_picker()->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
-}
-
void EditorPropertyColor::_picker_opening() {
last_color = picker->get_pick_color();
}
@@ -2801,7 +3411,7 @@ EditorPropertyColor::EditorPropertyColor() {
picker->set_flat(true);
picker->connect("color_changed", callable_mp(this, &EditorPropertyColor::_color_changed));
picker->connect("popup_closed", callable_mp(this, &EditorPropertyColor::_popup_closed));
- picker->connect("picker_created", callable_mp(this, &EditorPropertyColor::_picker_created));
+ picker->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker).bind(picker->get_picker()));
picker->get_popup()->connect("about_to_popup", callable_mp(this, &EditorPropertyColor::_picker_opening));
}
@@ -2812,6 +3422,27 @@ void EditorPropertyNodePath::_set_read_only(bool p_read_only) {
clear->set_disabled(p_read_only);
};
+String EditorPropertyNodePath::_get_meta_pointer_property() const {
+ ERR_FAIL_COND_V(!pointer_mode, String());
+ return SceneState::get_meta_pointer_property(get_edited_property());
+}
+
+Variant EditorPropertyNodePath::_get_cache_value(const StringName &p_prop, bool &r_valid) const {
+ if (p_prop == get_edited_property()) {
+ r_valid = true;
+ return const_cast<EditorPropertyNodePath *>(this)->get_edited_object()->get(pointer_mode ? StringName(_get_meta_pointer_property()) : get_edited_property(), &r_valid);
+ }
+ return Variant();
+}
+
+StringName EditorPropertyNodePath::_get_revert_property() const {
+ if (pointer_mode) {
+ return _get_meta_pointer_property();
+ } else {
+ return get_edited_property();
+ }
+}
+
void EditorPropertyNodePath::_node_selected(const NodePath &p_path) {
NodePath path = p_path;
Node *base_node = nullptr;
@@ -2843,7 +3474,11 @@ void EditorPropertyNodePath::_node_selected(const NodePath &p_path) {
if (base_node) { // for AnimationTrackKeyEdit
path = base_node->get_path().rel_path_to(p_path);
}
- emit_changed(get_edited_property(), path);
+ if (pointer_mode && base_node) {
+ emit_changed(_get_meta_pointer_property(), path);
+ } else {
+ emit_changed(get_edited_property(), path);
+ }
update_property();
}
@@ -2859,7 +3494,11 @@ void EditorPropertyNodePath::_node_assign() {
}
void EditorPropertyNodePath::_node_clear() {
- emit_changed(get_edited_property(), NodePath());
+ if (pointer_mode) {
+ emit_changed(_get_meta_pointer_property(), NodePath());
+ } else {
+ emit_changed(get_edited_property(), NodePath());
+ }
update_property();
}
@@ -2883,11 +3522,34 @@ bool EditorPropertyNodePath::is_drop_valid(const Dictionary &p_drag_data) const
return false;
}
Array nodes = p_drag_data["nodes"];
- return nodes.size() == 1;
+ if (nodes.size() != 1) {
+ return false;
+ }
+
+ Node *dropped_node = get_tree()->get_edited_scene_root()->get_node(nodes[0]);
+ ERR_FAIL_NULL_V(dropped_node, false);
+
+ if (valid_types.is_empty()) {
+ // No type requirements specified so any type is valid.
+ return true;
+ }
+
+ for (const StringName &E : valid_types) {
+ if (dropped_node->is_class(E)) {
+ return true;
+ }
+ }
+
+ return false;
}
void EditorPropertyNodePath::update_property() {
- NodePath p = get_edited_object()->get(get_edited_property());
+ NodePath p;
+ if (pointer_mode) {
+ p = get_edited_object()->get(_get_meta_pointer_property());
+ } else {
+ p = get_edited_object()->get(get_edited_property());
+ }
assign->set_tooltip(p);
if (p == NodePath()) {
@@ -2926,7 +3588,8 @@ void EditorPropertyNodePath::update_property() {
assign->set_icon(EditorNode::get_singleton()->get_object_icon(target_node, "Node"));
}
-void EditorPropertyNodePath::setup(const NodePath &p_base_hint, Vector<StringName> p_valid_types, bool p_use_path_from_scene_root) {
+void EditorPropertyNodePath::setup(const NodePath &p_base_hint, Vector<StringName> p_valid_types, bool p_use_path_from_scene_root, bool p_pointer_mode) {
+ pointer_mode = p_pointer_mode;
base_hint = p_base_hint;
valid_types = p_valid_types;
use_path_from_scene_root = p_use_path_from_scene_root;
@@ -2949,6 +3612,7 @@ void EditorPropertyNodePath::_bind_methods() {
EditorPropertyNodePath::EditorPropertyNodePath() {
HBoxContainer *hbc = memnew(HBoxContainer);
+ hbc->add_theme_constant_override("separation", 0);
add_child(hbc);
assign = memnew(Button);
assign->set_flat(true);
@@ -2971,8 +3635,8 @@ EditorPropertyNodePath::EditorPropertyNodePath() {
void EditorPropertyRID::update_property() {
RID rid = get_edited_object()->get(get_edited_property());
if (rid.is_valid()) {
- int id = rid.get_id();
- label->set_text("RID: " + itos(id));
+ uint64_t id = rid.get_id();
+ label->set_text("RID: " + uitos(id));
} else {
label->set_text(TTR("Invalid RID"));
}
@@ -3014,7 +3678,10 @@ void EditorPropertyResource::_resource_selected(const Ref<Resource> &p_resource,
void EditorPropertyResource::_resource_changed(const Ref<Resource> &p_resource) {
// Make visual script the correct type.
Ref<Script> s = p_resource;
+ bool is_script = false;
if (get_edited_object() && s.is_valid()) {
+ is_script = true;
+ InspectorDock::get_singleton()->store_script_properties(get_edited_object());
s->call("set_instance_base_type", get_edited_object()->get_class());
}
@@ -3040,6 +3707,11 @@ void EditorPropertyResource::_resource_changed(const Ref<Resource> &p_resource)
emit_changed(get_edited_property(), p_resource);
update_property();
+ if (is_script) {
+ // Restore properties if script was changed.
+ InspectorDock::get_singleton()->apply_script_properties(get_edited_object());
+ }
+
// Automatically suggest setting up the path for a ViewportTexture.
if (vpt.is_valid() && vpt->get_viewport_path_in_scene().is_empty()) {
if (!scene_tree) {
@@ -3135,17 +3807,15 @@ void EditorPropertyResource::_update_property_bg() {
count_subinspectors = MIN(15, count_subinspectors);
add_theme_color_override("property_color", get_theme_color(SNAME("sub_inspector_property_color"), SNAME("Editor")));
- add_theme_style_override("bg_selected", get_theme_stylebox("sub_inspector_property_bg_selected" + itos(count_subinspectors), SNAME("Editor")));
+ add_theme_style_override("bg_selected", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), SNAME("Editor")));
add_theme_style_override("bg", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), SNAME("Editor")));
- add_theme_constant_override("font_offset", get_theme_constant(SNAME("sub_inspector_font_offset"), SNAME("Editor")));
add_theme_constant_override("v_separation", 0);
} else {
add_theme_color_override("property_color", get_theme_color(SNAME("property_color"), SNAME("EditorProperty")));
add_theme_style_override("bg_selected", get_theme_stylebox(SNAME("bg_selected"), SNAME("EditorProperty")));
add_theme_style_override("bg", get_theme_stylebox(SNAME("bg"), SNAME("EditorProperty")));
add_theme_constant_override("v_separation", get_theme_constant(SNAME("v_separation"), SNAME("EditorProperty")));
- add_theme_constant_override("font_offset", get_theme_constant(SNAME("font_offset"), SNAME("EditorProperty")));
}
updating_theme = false;
@@ -3212,6 +3882,9 @@ void EditorPropertyResource::setup(Object *p_object, const String &p_path, const
shader_picker->set_edited_material(Object::cast_to<ShaderMaterial>(p_object));
resource_picker = shader_picker;
connect(SNAME("ready"), callable_mp(this, &EditorPropertyResource::_update_preferred_shader));
+ } else if (p_base_type == "AudioStream") {
+ EditorAudioStreamPicker *astream_picker = memnew(EditorAudioStreamPicker);
+ resource_picker = astream_picker;
} else {
resource_picker = memnew(EditorResourcePicker);
}
@@ -3320,6 +3993,12 @@ void EditorPropertyResource::expand_all_folding() {
}
}
+void EditorPropertyResource::expand_revertable() {
+ if (sub_inspector) {
+ sub_inspector->expand_revertable();
+ }
+}
+
void EditorPropertyResource::set_use_sub_inspector(bool p_enable) {
use_sub_inspector = p_enable;
}
@@ -3397,7 +4076,7 @@ static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const Stri
hint.greater = true;
} else if (slice == "or_lesser") {
hint.lesser = true;
- } else if (slice == "noslider") {
+ } else if (slice == "no_slider") {
hint.hide_slider = true;
} else if (slice == "exp") {
hint.exp_range = true;
@@ -3493,7 +4172,7 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
EditorPropertyInteger *editor = memnew(EditorPropertyInteger);
EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, 1);
- editor->setup(hint.min, hint.max, hint.step, hint.greater, hint.lesser);
+ editor->setup(hint.min, hint.max, hint.step, hint.greater, hint.lesser, hint.suffix);
return editor;
}
@@ -3501,20 +4180,20 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
case Variant::FLOAT: {
if (p_hint == PROPERTY_HINT_EXP_EASING) {
EditorPropertyEasing *editor = memnew(EditorPropertyEasing);
- bool full = true;
+ bool positive_only = false;
bool flip = false;
- Vector<String> hints = p_hint_text.split(",");
+ const Vector<String> hints = p_hint_text.split(",");
for (int i = 0; i < hints.size(); i++) {
- String h = hints[i].strip_edges();
- if (h == "attenuation") {
+ const String hint = hints[i].strip_edges();
+ if (hint == "attenuation") {
flip = true;
}
- if (h == "inout") {
- full = true;
+ if (hint == "positive_only") {
+ positive_only = true;
}
}
- editor->setup(full, flip);
+ editor->setup(positive_only, flip);
return editor;
} else {
@@ -3535,6 +4214,9 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
} else if (p_hint == PROPERTY_HINT_MULTILINE_TEXT) {
EditorPropertyMultilineText *editor = memnew(EditorPropertyMultilineText);
return editor;
+ } else if (p_hint == PROPERTY_HINT_EXPRESSION) {
+ EditorPropertyMultilineText *editor = memnew(EditorPropertyMultilineText(true));
+ return editor;
} else if (p_hint == PROPERTY_HINT_TYPE_STRING) {
EditorPropertyClassName *editor = memnew(EditorPropertyClassName);
editor->setup("Object", p_hint_text);
@@ -3543,11 +4225,11 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
EditorPropertyLocale *editor = memnew(EditorPropertyLocale);
editor->setup(p_hint_text);
return editor;
- } else if (p_hint == PROPERTY_HINT_DIR || p_hint == PROPERTY_HINT_FILE || p_hint == PROPERTY_HINT_SAVE_FILE || p_hint == PROPERTY_HINT_GLOBAL_DIR || p_hint == PROPERTY_HINT_GLOBAL_FILE) {
+ } else if (p_hint == PROPERTY_HINT_DIR || p_hint == PROPERTY_HINT_FILE || p_hint == PROPERTY_HINT_SAVE_FILE || p_hint == PROPERTY_HINT_GLOBAL_SAVE_FILE || p_hint == PROPERTY_HINT_GLOBAL_DIR || p_hint == PROPERTY_HINT_GLOBAL_FILE) {
Vector<String> extensions = p_hint_text.split(",");
- bool global = p_hint == PROPERTY_HINT_GLOBAL_DIR || p_hint == PROPERTY_HINT_GLOBAL_FILE;
+ bool global = p_hint == PROPERTY_HINT_GLOBAL_DIR || p_hint == PROPERTY_HINT_GLOBAL_FILE || p_hint == PROPERTY_HINT_GLOBAL_SAVE_FILE;
bool folder = p_hint == PROPERTY_HINT_DIR || p_hint == PROPERTY_HINT_GLOBAL_DIR;
- bool save = p_hint == PROPERTY_HINT_SAVE_FILE;
+ bool save = p_hint == PROPERTY_HINT_SAVE_FILE || p_hint == PROPERTY_HINT_GLOBAL_SAVE_FILE;
EditorPropertyPath *editor = memnew(EditorPropertyPath);
editor->setup(extensions, folder, global);
if (save) {
@@ -3608,14 +4290,14 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
EditorPropertyVector2 *editor = memnew(EditorPropertyVector2(p_wide));
EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, default_float_step);
- editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, hint.suffix);
+ editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix);
return editor;
} break;
case Variant::VECTOR2I: {
EditorPropertyVector2i *editor = memnew(EditorPropertyVector2i(p_wide));
EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, 1);
- editor->setup(hint.min, hint.max, hint.hide_slider, hint.suffix);
+ editor->setup(hint.min, hint.max, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix);
return editor;
} break;
@@ -3635,13 +4317,27 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
case Variant::VECTOR3: {
EditorPropertyVector3 *editor = memnew(EditorPropertyVector3(p_wide));
EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, default_float_step);
- editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, hint.suffix, hint.radians);
+ editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix, hint.radians);
return editor;
} break;
case Variant::VECTOR3I: {
EditorPropertyVector3i *editor = memnew(EditorPropertyVector3i(p_wide));
EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, 1);
+ editor->setup(hint.min, hint.max, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix);
+ return editor;
+
+ } break;
+ case Variant::VECTOR4: {
+ EditorPropertyVector4 *editor = memnew(EditorPropertyVector4);
+ EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, default_float_step);
+ editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, hint.suffix);
+ return editor;
+
+ } break;
+ case Variant::VECTOR4I: {
+ EditorPropertyVector4i *editor = memnew(EditorPropertyVector4i);
+ EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, 1);
editor->setup(hint.min, hint.max, hint.hide_slider, hint.suffix);
return editor;
@@ -3683,6 +4379,13 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
return editor;
} break;
+ case Variant::PROJECTION: {
+ EditorPropertyProjection *editor = memnew(EditorPropertyProjection);
+ EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, default_float_step);
+ editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, hint.suffix);
+ return editor;
+
+ } break;
// misc types
case Variant::COLOR: {
@@ -3723,24 +4426,40 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
return editor;
} break;
case Variant::OBJECT: {
- EditorPropertyResource *editor = memnew(EditorPropertyResource);
- editor->setup(p_object, p_path, p_hint == PROPERTY_HINT_RESOURCE_TYPE ? p_hint_text : "Resource");
-
- if (p_hint == PROPERTY_HINT_RESOURCE_TYPE) {
- String open_in_new = EDITOR_GET("interface/inspector/resources_to_open_in_new_inspector");
- for (int i = 0; i < open_in_new.get_slice_count(","); i++) {
- String type = open_in_new.get_slicec(',', i).strip_edges();
- for (int j = 0; j < p_hint_text.get_slice_count(","); j++) {
- String inherits = p_hint_text.get_slicec(',', j);
- if (ClassDB::is_parent_class(inherits, type)) {
- editor->set_use_sub_inspector(false);
+ if (p_hint == PROPERTY_HINT_NODE_TYPE) {
+ EditorPropertyNodePath *editor = memnew(EditorPropertyNodePath);
+ Vector<String> types = p_hint_text.split(",", false);
+ Vector<StringName> sn = Variant(types); //convert via variant
+ editor->setup(NodePath(), sn, false, true);
+ return editor;
+ } else {
+ EditorPropertyResource *editor = memnew(EditorPropertyResource);
+ editor->setup(p_object, p_path, p_hint == PROPERTY_HINT_RESOURCE_TYPE ? p_hint_text : "Resource");
+
+ if (p_hint == PROPERTY_HINT_RESOURCE_TYPE) {
+ const PackedStringArray open_in_new_inspector = EDITOR_GET("interface/inspector/resources_to_open_in_new_inspector");
+
+ for (const String &type : open_in_new_inspector) {
+ for (int j = 0; j < p_hint_text.get_slice_count(","); j++) {
+ const String inherits = p_hint_text.get_slicec(',', j);
+ if (ClassDB::is_parent_class(inherits, type)) {
+ editor->set_use_sub_inspector(false);
+ }
}
}
}
+
+ return editor;
}
+ } break;
+ case Variant::CALLABLE: {
+ EditorPropertyCallable *editor = memnew(EditorPropertyCallable);
+ return editor;
+ } break;
+ case Variant::SIGNAL: {
+ EditorPropertySignal *editor = memnew(EditorPropertySignal);
return editor;
-
} break;
case Variant::DICTIONARY: {
if (p_hint == PROPERTY_HINT_LOCALIZABLE_STRING) {
diff --git a/editor/editor_properties.h b/editor/editor_properties.h
index 5ee0ba1a6d..c1dfb5cb1e 100644
--- a/editor/editor_properties.h
+++ b/editor/editor_properties.h
@@ -81,6 +81,7 @@ class EditorPropertyMultilineText : public EditorProperty {
void _big_text_changed();
void _text_changed();
void _open_big_text();
+ bool expression = false;
protected:
virtual void _set_read_only(bool p_read_only) override;
@@ -89,7 +90,7 @@ protected:
public:
virtual void update_property() override;
- EditorPropertyMultilineText();
+ EditorPropertyMultilineText(bool p_expression = false);
};
class EditorPropertyTextEnum : public EditorProperty {
@@ -141,6 +142,8 @@ class EditorPropertyPath : public EditorProperty {
void _path_selected(const String &p_path);
void _path_pressed();
void _path_focus_exited();
+ void _drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
+ bool _can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
protected:
virtual void _set_read_only(bool p_read_only) override;
@@ -265,9 +268,9 @@ class EditorPropertyFlags : public EditorProperty {
GDCLASS(EditorPropertyFlags, EditorProperty);
VBoxContainer *vbox = nullptr;
Vector<CheckBox *> flags;
- Vector<int> flag_indices;
+ Vector<uint32_t> flag_values;
- void _flag_toggled();
+ void _flag_toggled(int p_index);
protected:
virtual void _set_read_only(bool p_read_only) override;
@@ -339,13 +342,14 @@ private:
String basename;
LayerType layer_type;
PopupMenu *layers = nullptr;
- Button *button = nullptr;
+ TextureButton *button = nullptr;
void _button_pressed();
void _menu_pressed(int p_menu);
void _refresh_names();
protected:
+ void _notification(int p_what);
virtual void _set_read_only(bool p_read_only) override;
static void _bind_methods();
@@ -368,7 +372,7 @@ protected:
public:
virtual void update_property() override;
- void setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser);
+ void setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser, const String &p_suffix = String());
EditorPropertyInteger();
};
@@ -388,6 +392,33 @@ public:
EditorPropertyObjectID();
};
+class EditorPropertySignal : public EditorProperty {
+ GDCLASS(EditorPropertySignal, EditorProperty);
+ Button *edit = nullptr;
+ String base_type;
+ void _edit_pressed();
+
+protected:
+ static void _bind_methods();
+
+public:
+ virtual void update_property() override;
+ EditorPropertySignal();
+};
+
+class EditorPropertyCallable : public EditorProperty {
+ GDCLASS(EditorPropertyCallable, EditorProperty);
+ Button *edit = nullptr;
+ String base_type;
+
+protected:
+ static void _bind_methods();
+
+public:
+ virtual void update_property() override;
+ EditorPropertyCallable();
+};
+
class EditorPropertyFloat : public EditorProperty {
GDCLASS(EditorPropertyFloat, EditorProperty);
EditorSpinSlider *spin = nullptr;
@@ -415,6 +446,7 @@ class EditorPropertyEasing : public EditorProperty {
bool dragging = false;
bool full = false;
bool flip = false;
+ bool positive_only = false;
enum {
EASING_ZERO,
@@ -443,7 +475,7 @@ protected:
public:
virtual void update_property() override;
- void setup(bool p_full, bool p_flip);
+ void setup(bool p_positive_only, bool p_flip);
EditorPropertyEasing();
};
@@ -451,16 +483,19 @@ class EditorPropertyVector2 : public EditorProperty {
GDCLASS(EditorPropertyVector2, EditorProperty);
EditorSpinSlider *spin[2];
bool setting = false;
+ double ratio_xy = 1.0;
+ double ratio_yx = 1.0;
+ TextureButton *linked = nullptr;
+ void _update_ratio();
void _value_changed(double p_val, const String &p_name);
protected:
virtual void _set_read_only(bool p_read_only) override;
void _notification(int p_what);
- static void _bind_methods();
public:
virtual void update_property() override;
- void setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix = String());
+ void setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link = false, const String &p_suffix = String());
EditorPropertyVector2(bool p_force_wide = false);
};
@@ -486,6 +521,14 @@ class EditorPropertyVector3 : public EditorProperty {
EditorSpinSlider *spin[3];
bool setting = false;
bool angle_in_radians = false;
+ double ratio_yx = 1.0;
+ double ratio_zx = 1.0;
+ double ratio_xy = 1.0;
+ double ratio_zy = 1.0;
+ double ratio_xz = 1.0;
+ double ratio_yz = 1.0;
+ TextureButton *linked = nullptr;
+ void _update_ratio();
void _value_changed(double p_val, const String &p_name);
protected:
@@ -497,7 +540,7 @@ public:
virtual void update_property() override;
virtual void update_using_vector(Vector3 p_vector);
virtual Vector3 get_vector();
- void setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix = String(), bool p_angle_in_radians = false);
+ void setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link = false, const String &p_suffix = String(), bool p_angle_in_radians = false);
EditorPropertyVector3(bool p_force_wide = false);
};
@@ -505,16 +548,19 @@ class EditorPropertyVector2i : public EditorProperty {
GDCLASS(EditorPropertyVector2i, EditorProperty);
EditorSpinSlider *spin[2];
bool setting = false;
+ double ratio_xy = 1.0;
+ double ratio_yx = 1.0;
+ TextureButton *linked = nullptr;
+ void _update_ratio();
void _value_changed(double p_val, const String &p_name);
protected:
virtual void _set_read_only(bool p_read_only) override;
void _notification(int p_what);
- static void _bind_methods();
public:
virtual void update_property() override;
- void setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix = String());
+ void setup(int p_min, int p_max, bool p_no_slider, bool p_link = false, const String &p_suffix = String());
EditorPropertyVector2i(bool p_force_wide = false);
};
@@ -539,6 +585,14 @@ class EditorPropertyVector3i : public EditorProperty {
GDCLASS(EditorPropertyVector3i, EditorProperty);
EditorSpinSlider *spin[3];
bool setting = false;
+ double ratio_yx = 1.0;
+ double ratio_zx = 1.0;
+ double ratio_xy = 1.0;
+ double ratio_zy = 1.0;
+ double ratio_xz = 1.0;
+ double ratio_yz = 1.0;
+ TextureButton *linked = nullptr;
+ void _update_ratio();
void _value_changed(double p_val, const String &p_name);
protected:
@@ -548,7 +602,7 @@ protected:
public:
virtual void update_property() override;
- void setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix = String());
+ void setup(int p_min, int p_max, bool p_no_slider, bool p_link = false, const String &p_suffix = String());
EditorPropertyVector3i(bool p_force_wide = false);
};
@@ -586,6 +640,40 @@ public:
EditorPropertyQuaternion();
};
+class EditorPropertyVector4 : public EditorProperty {
+ GDCLASS(EditorPropertyVector4, EditorProperty);
+ EditorSpinSlider *spin[4];
+ bool setting = false;
+ void _value_changed(double p_val, const String &p_name);
+
+protected:
+ virtual void _set_read_only(bool p_read_only) override;
+ void _notification(int p_what);
+ static void _bind_methods();
+
+public:
+ virtual void update_property() override;
+ void setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix = String());
+ EditorPropertyVector4();
+};
+
+class EditorPropertyVector4i : public EditorProperty {
+ GDCLASS(EditorPropertyVector4i, EditorProperty);
+ EditorSpinSlider *spin[4];
+ bool setting = false;
+ void _value_changed(double p_val, const String &p_name);
+
+protected:
+ virtual void _set_read_only(bool p_read_only) override;
+ void _notification(int p_what);
+ static void _bind_methods();
+
+public:
+ virtual void update_property() override;
+ void setup(double p_min, double p_max, bool p_no_slider, const String &p_suffix = String());
+ EditorPropertyVector4i();
+};
+
class EditorPropertyAABB : public EditorProperty {
GDCLASS(EditorPropertyAABB, EditorProperty);
EditorSpinSlider *spin[6];
@@ -655,6 +743,24 @@ public:
EditorPropertyTransform3D();
};
+class EditorPropertyProjection : public EditorProperty {
+ GDCLASS(EditorPropertyProjection, EditorProperty);
+ EditorSpinSlider *spin[16];
+ bool setting = false;
+ void _value_changed(double p_val, const String &p_name);
+
+protected:
+ virtual void _set_read_only(bool p_read_only) override;
+ void _notification(int p_what);
+ static void _bind_methods();
+
+public:
+ virtual void update_property() override;
+ virtual void update_using_transform(Projection p_transform);
+ void setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix = String());
+ EditorPropertyProjection();
+};
+
class EditorPropertyColor : public EditorProperty {
GDCLASS(EditorPropertyColor, EditorProperty);
ColorPickerButton *picker = nullptr;
@@ -682,6 +788,7 @@ class EditorPropertyNodePath : public EditorProperty {
SceneTreeDialog *scene_tree = nullptr;
NodePath base_hint;
bool use_path_from_scene_root = false;
+ bool pointer_mode = false;
Vector<StringName> valid_types;
void _node_selected(const NodePath &p_path);
@@ -692,6 +799,10 @@ class EditorPropertyNodePath : public EditorProperty {
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
bool is_drop_valid(const Dictionary &p_drag_data) const;
+ String _get_meta_pointer_property() const;
+ virtual Variant _get_cache_value(const StringName &p_prop, bool &r_valid) const override;
+ virtual StringName _get_revert_property() const override;
+
protected:
virtual void _set_read_only(bool p_read_only) override;
static void _bind_methods();
@@ -699,7 +810,7 @@ protected:
public:
virtual void update_property() override;
- void setup(const NodePath &p_base_hint, Vector<StringName> p_valid_types, bool p_use_path_from_scene_root = true);
+ void setup(const NodePath &p_base_hint, Vector<StringName> p_valid_types, bool p_use_path_from_scene_root = true, bool p_pointer_mode = false);
EditorPropertyNodePath();
};
@@ -749,6 +860,7 @@ public:
void collapse_all_folding() override;
void expand_all_folding() override;
+ void expand_revertable() override;
void set_use_sub_inspector(bool p_enable);
diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp
index cdbe2fa1d3..9a83082d1e 100644
--- a/editor/editor_properties_array_dict.cpp
+++ b/editor/editor_properties_array_dict.cpp
@@ -211,17 +211,24 @@ void EditorPropertyArray::update_property() {
String array_type_name = Variant::get_type_name(array_type);
if (array_type == Variant::ARRAY && subtype != Variant::NIL) {
- array_type_name = vformat("%s[%s]", array_type_name, Variant::get_type_name(subtype));
+ String type_name;
+ if (subtype == Variant::OBJECT && subtype_hint == PROPERTY_HINT_RESOURCE_TYPE) {
+ type_name = subtype_hint_string;
+ } else {
+ type_name = Variant::get_type_name(subtype);
+ }
+
+ array_type_name = vformat("%s[%s]", array_type_name, type_name);
}
if (array.get_type() == Variant::NIL) {
edit->set_text(vformat(TTR("(Nil) %s"), array_type_name));
edit->set_pressed(false);
- if (vbox) {
+ if (container) {
set_bottom_editor(nullptr);
- memdelete(vbox);
+ memdelete(container);
button_add_item = nullptr;
- vbox = nullptr;
+ container = nullptr;
}
return;
}
@@ -241,15 +248,19 @@ void EditorPropertyArray::update_property() {
if (unfolded) {
updating = true;
- if (!vbox) {
- vbox = memnew(VBoxContainer);
- add_child(vbox);
- set_bottom_editor(vbox);
+ if (!container) {
+ container = memnew(MarginContainer);
+ container->set_theme_type_variation("MarginContainer4px");
+ add_child(container);
+ set_bottom_editor(container);
+
+ VBoxContainer *vbox = memnew(VBoxContainer);
+ container->add_child(vbox);
HBoxContainer *hbox = memnew(HBoxContainer);
vbox->add_child(hbox);
- Label *label = memnew(Label(TTR("Size: ")));
+ Label *label = memnew(Label(TTR("Size:")));
label->set_h_size_flags(SIZE_EXPAND_FILL);
hbox->add_child(label);
@@ -318,7 +329,7 @@ void EditorPropertyArray::update_property() {
reorder_button->set_icon(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons")));
reorder_button->set_default_cursor_shape(Control::CURSOR_MOVE);
reorder_button->connect("gui_input", callable_mp(this, &EditorPropertyArray::_reorder_button_gui_input));
- reorder_button->connect("button_down", callable_mp(this, &EditorPropertyArray::_reorder_button_down), varray(i + offset));
+ reorder_button->connect("button_down", callable_mp(this, &EditorPropertyArray::_reorder_button_down).bind(i + offset));
reorder_button->connect("button_up", callable_mp(this, &EditorPropertyArray::_reorder_button_up));
hbox->add_child(reorder_button);
@@ -343,6 +354,7 @@ void EditorPropertyArray::update_property() {
prop->set_object_and_property(object.ptr(), prop_name);
prop->set_label(itos(i + offset));
prop->set_selectable(false);
+ prop->set_use_folding(is_using_folding());
prop->connect("property_changed", callable_mp(this, &EditorPropertyArray::_property_changed));
prop->connect("object_id_selected", callable_mp(this, &EditorPropertyArray::_object_id_selected));
prop->set_h_size_flags(SIZE_EXPAND_FILL);
@@ -354,11 +366,11 @@ void EditorPropertyArray::update_property() {
Button *edit = memnew(Button);
edit->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
hbox->add_child(edit);
- edit->connect("pressed", callable_mp(this, &EditorPropertyArray::_change_type), varray(edit, i + offset));
+ edit->connect("pressed", callable_mp(this, &EditorPropertyArray::_change_type).bind(edit, i + offset));
} else {
Button *remove = memnew(Button);
remove->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
- remove->connect("pressed", callable_mp(this, &EditorPropertyArray::_remove_pressed), varray(i + offset));
+ remove->connect("pressed", callable_mp(this, &EditorPropertyArray::_remove_pressed).bind(i + offset));
hbox->add_child(remove);
}
@@ -372,11 +384,11 @@ void EditorPropertyArray::update_property() {
updating = false;
} else {
- if (vbox) {
+ if (container) {
set_bottom_editor(nullptr);
- memdelete(vbox);
+ memdelete(container);
button_add_item = nullptr;
- vbox = nullptr;
+ container = nullptr;
}
}
}
@@ -687,7 +699,7 @@ EditorPropertyArray::EditorPropertyArray() {
add_child(edit);
add_focusable(edit);
- vbox = nullptr;
+ container = nullptr;
property_vbox = nullptr;
size_slider = nullptr;
button_add_item = nullptr;
@@ -791,11 +803,11 @@ void EditorPropertyDictionary::update_property() {
if (updated_val.get_type() == Variant::NIL) {
edit->set_text(TTR("Dictionary (Nil)")); // This provides symmetry with the array property.
edit->set_pressed(false);
- if (vbox) {
+ if (container) {
set_bottom_editor(nullptr);
- memdelete(vbox);
+ memdelete(container);
button_add_item = nullptr;
- vbox = nullptr;
+ container = nullptr;
}
return;
}
@@ -812,10 +824,14 @@ void EditorPropertyDictionary::update_property() {
if (unfolded) {
updating = true;
- if (!vbox) {
- vbox = memnew(VBoxContainer);
- add_child(vbox);
- set_bottom_editor(vbox);
+ if (!container) {
+ container = memnew(MarginContainer);
+ container->set_theme_type_variation("MarginContainer4px");
+ add_child(container);
+ set_bottom_editor(container);
+
+ VBoxContainer *vbox = memnew(VBoxContainer);
+ container->add_child(vbox);
property_vbox = memnew(VBoxContainer);
property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
@@ -933,6 +949,18 @@ void EditorPropertyDictionary::update_property() {
prop = editor;
} break;
+ case Variant::VECTOR4: {
+ EditorPropertyVector4 *editor = memnew(EditorPropertyVector4);
+ editor->setup(-100000, 100000, default_float_step, true);
+ prop = editor;
+
+ } break;
+ case Variant::VECTOR4I: {
+ EditorPropertyVector4i *editor = memnew(EditorPropertyVector4i);
+ editor->setup(-100000, 100000, true);
+ prop = editor;
+
+ } break;
case Variant::TRANSFORM2D: {
EditorPropertyTransform2D *editor = memnew(EditorPropertyTransform2D);
editor->setup(-100000, 100000, default_float_step, true);
@@ -969,6 +997,12 @@ void EditorPropertyDictionary::update_property() {
prop = editor;
} break;
+ case Variant::PROJECTION: {
+ EditorPropertyProjection *editor = memnew(EditorPropertyProjection);
+ editor->setup(-100000, 100000, default_float_step, true);
+ prop = editor;
+
+ } break;
// Miscellaneous types.
case Variant::COLOR: {
@@ -998,6 +1032,7 @@ void EditorPropertyDictionary::update_property() {
} else {
EditorPropertyResource *editor = memnew(EditorPropertyResource);
editor->setup(object.ptr(), prop_name, "Resource");
+ editor->set_use_folding(is_using_folding());
prop = editor;
}
@@ -1101,7 +1136,7 @@ void EditorPropertyDictionary::update_property() {
Button *edit = memnew(Button);
edit->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
hbox->add_child(edit);
- edit->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_change_type), varray(edit, change_index));
+ edit->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_change_type).bind(edit, change_index));
prop->update_property();
@@ -1116,11 +1151,11 @@ void EditorPropertyDictionary::update_property() {
updating = false;
} else {
- if (vbox) {
+ if (container) {
set_bottom_editor(nullptr);
- memdelete(vbox);
+ memdelete(container);
button_add_item = nullptr;
- vbox = nullptr;
+ container = nullptr;
}
}
}
@@ -1188,7 +1223,7 @@ EditorPropertyDictionary::EditorPropertyDictionary() {
add_child(edit);
add_focusable(edit);
- vbox = nullptr;
+ container = nullptr;
button_add_item = nullptr;
paginator = nullptr;
change_type = memnew(PopupMenu);
@@ -1250,11 +1285,11 @@ void EditorPropertyLocalizableString::update_property() {
if (updated_val.get_type() == Variant::NIL) {
edit->set_text(TTR("Localizable String (Nil)")); // This provides symmetry with the array property.
edit->set_pressed(false);
- if (vbox) {
+ if (container) {
set_bottom_editor(nullptr);
- memdelete(vbox);
+ memdelete(container);
button_add_item = nullptr;
- vbox = nullptr;
+ container = nullptr;
}
return;
}
@@ -1271,10 +1306,14 @@ void EditorPropertyLocalizableString::update_property() {
if (unfolded) {
updating = true;
- if (!vbox) {
- vbox = memnew(VBoxContainer);
- add_child(vbox);
- set_bottom_editor(vbox);
+ if (!container) {
+ container = memnew(MarginContainer);
+ container->set_theme_type_variation("MarginContainer4px");
+ add_child(container);
+ set_bottom_editor(container);
+
+ VBoxContainer *vbox = memnew(VBoxContainer);
+ container->add_child(vbox);
property_vbox = memnew(VBoxContainer);
property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
@@ -1336,7 +1375,7 @@ void EditorPropertyLocalizableString::update_property() {
Button *edit = memnew(Button);
edit->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
hbox->add_child(edit);
- edit->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_remove_item), varray(edit, remove_index));
+ edit->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_remove_item).bind(edit, remove_index));
prop->update_property();
}
@@ -1351,11 +1390,11 @@ void EditorPropertyLocalizableString::update_property() {
updating = false;
} else {
- if (vbox) {
+ if (container) {
set_bottom_editor(nullptr);
- memdelete(vbox);
+ memdelete(container);
button_add_item = nullptr;
- vbox = nullptr;
+ container = nullptr;
}
}
}
@@ -1410,7 +1449,7 @@ EditorPropertyLocalizableString::EditorPropertyLocalizableString() {
add_child(edit);
add_focusable(edit);
- vbox = nullptr;
+ container = nullptr;
button_add_item = nullptr;
paginator = nullptr;
updating = false;
diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h
index 070353c538..82aeebe14a 100644
--- a/editor/editor_properties_array_dict.h
+++ b/editor/editor_properties_array_dict.h
@@ -81,15 +81,12 @@ class EditorPropertyArray : public EditorProperty {
GDCLASS(EditorPropertyArray, EditorProperty);
PopupMenu *change_type = nullptr;
- bool updating = false;
- bool dropping = false;
- Ref<EditorPropertyArrayObject> object;
int page_length = 20;
int page_index = 0;
int changing_type_index;
Button *edit = nullptr;
- VBoxContainer *vbox = nullptr;
+ MarginContainer *container = nullptr;
VBoxContainer *property_vbox = nullptr;
EditorSpinSlider *size_slider = nullptr;
Button *button_add_item = nullptr;
@@ -106,29 +103,35 @@ class EditorPropertyArray : public EditorProperty {
Button *reorder_selected_button = nullptr;
void _page_changed(int p_page);
- void _length_changed(double p_page);
- void _add_element();
- void _edit_pressed();
- void _property_changed(const String &p_property, Variant p_value, const String &p_name = "", bool p_changing = false);
- void _change_type(Object *p_button, int p_index);
- void _change_type_menu(int p_index);
-
- void _object_id_selected(const StringName &p_property, ObjectID p_id);
- void _remove_pressed(int p_index);
-
- void _button_draw();
- bool _is_drop_valid(const Dictionary &p_drag_data) const;
- bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
- void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
void _reorder_button_gui_input(const Ref<InputEvent> &p_event);
void _reorder_button_down(int p_index);
void _reorder_button_up();
protected:
+ Ref<EditorPropertyArrayObject> object;
+
+ bool updating = false;
+ bool dropping = false;
+
static void _bind_methods();
void _notification(int p_what);
+ virtual void _add_element();
+ virtual void _length_changed(double p_page);
+ virtual void _edit_pressed();
+ virtual void _property_changed(const String &p_property, Variant p_value, const String &p_name = "", bool p_changing = false);
+ virtual void _change_type(Object *p_button, int p_index);
+ virtual void _change_type_menu(int p_index);
+
+ virtual void _object_id_selected(const StringName &p_property, ObjectID p_id);
+ virtual void _remove_pressed(int p_index);
+
+ virtual void _button_draw();
+ virtual bool _is_drop_valid(const Dictionary &p_drag_data) const;
+ virtual bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
+ virtual void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
+
public:
void setup(Variant::Type p_array_type, const String &p_hint_string = "");
virtual void update_property() override;
@@ -146,9 +149,9 @@ class EditorPropertyDictionary : public EditorProperty {
int page_index = 0;
int changing_type_index;
Button *edit = nullptr;
- VBoxContainer *vbox = nullptr;
+ MarginContainer *container = nullptr;
VBoxContainer *property_vbox = nullptr;
- EditorSpinSlider *size_slider = nullptr;
+ EditorSpinSlider *size_sliderv;
Button *button_add_item = nullptr;
EditorPaginator *paginator = nullptr;
@@ -181,7 +184,7 @@ class EditorPropertyLocalizableString : public EditorProperty {
int page_length = 20;
int page_index = 0;
Button *edit = nullptr;
- VBoxContainer *vbox = nullptr;
+ MarginContainer *container = nullptr;
VBoxContainer *property_vbox = nullptr;
EditorSpinSlider *size_slider = nullptr;
Button *button_add_item = nullptr;
diff --git a/editor/editor_property_name_processor.cpp b/editor/editor_property_name_processor.cpp
index 1e7638bf72..6c713de94a 100644
--- a/editor/editor_property_name_processor.cpp
+++ b/editor/editor_property_name_processor.cpp
@@ -114,6 +114,7 @@ EditorPropertyNameProcessor::EditorPropertyNameProcessor() {
capitalize_string_remaps["bidi"] = "BiDi";
capitalize_string_remaps["bp"] = "BP";
capitalize_string_remaps["bpc"] = "BPC";
+ capitalize_string_remaps["bpm"] = "BPM";
capitalize_string_remaps["bptc"] = "BPTC";
capitalize_string_remaps["bvh"] = "BVH";
capitalize_string_remaps["ca"] = "CA";
@@ -176,6 +177,7 @@ EditorPropertyNameProcessor::EditorPropertyNameProcessor() {
capitalize_string_remaps["lowpass"] = "Low-pass";
capitalize_string_remaps["macos"] = "macOS";
capitalize_string_remaps["mb"] = "(MB)"; // Unit.
+ capitalize_string_remaps["mjpeg"] = "MJPEG";
capitalize_string_remaps["mms"] = "MMS";
capitalize_string_remaps["ms"] = "(ms)"; // Unit
capitalize_string_remaps["msaa"] = "MSAA";
@@ -213,6 +215,7 @@ EditorPropertyNameProcessor::EditorPropertyNameProcessor() {
capitalize_string_remaps["stdout"] = "stdout";
capitalize_string_remaps["sv"] = "SV";
capitalize_string_remaps["svg"] = "SVG";
+ capitalize_string_remaps["taa"] = "TAA";
capitalize_string_remaps["tcp"] = "TCP";
capitalize_string_remaps["ui"] = "UI";
capitalize_string_remaps["url"] = "URL";
diff --git a/editor/quick_open.cpp b/editor/editor_quick_open.cpp
index 53da945868..539cb7cd8a 100644
--- a/editor/quick_open.cpp
+++ b/editor/editor_quick_open.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* quick_open.cpp */
+/* editor_quick_open.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,7 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "quick_open.h"
+#include "editor_quick_open.h"
#include "core/os/keyboard.h"
@@ -146,8 +146,8 @@ void EditorQuickOpen::_confirmed() {
return;
}
_cleanup();
- emit_signal(SNAME("quick_open"));
hide();
+ emit_signal(SNAME("quick_open"));
}
void EditorQuickOpen::cancel_pressed() {
@@ -263,6 +263,6 @@ EditorQuickOpen::EditorQuickOpen() {
search_options->add_theme_constant_override("draw_guides", 1);
vbc->add_margin_child(TTR("Matches:"), search_options, true);
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
set_hide_on_ok(false);
}
diff --git a/editor/quick_open.h b/editor/editor_quick_open.h
index 843ef47711..e41a8c7e75 100644
--- a/editor/quick_open.h
+++ b/editor/editor_quick_open.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* quick_open.h */
+/* editor_quick_open.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp
index 34aa7217fa..e5c1836205 100644
--- a/editor/editor_resource_picker.cpp
+++ b/editor/editor_resource_picker.cpp
@@ -30,14 +30,16 @@
#include "editor_resource_picker.h"
+#include "editor/audio_stream_preview.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
+#include "editor/editor_quick_open.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
#include "editor/filesystem_dock.h"
+#include "editor/plugins/editor_resource_conversion_plugin.h"
#include "editor/plugins/script_editor_plugin.h"
-#include "editor/quick_open.h"
#include "editor/scene_tree_dock.h"
HashMap<StringName, List<StringName>> EditorResourcePicker::allowed_types_cache;
@@ -47,32 +49,37 @@ void EditorResourcePicker::clear_caches() {
}
void EditorResourcePicker::_update_resource() {
- preview_rect->set_texture(Ref<Texture2D>());
- assign_button->set_custom_minimum_size(Size2(1, 1));
+ String resource_path;
+ if (edited_resource.is_valid() && edited_resource->get_path().is_resource_file()) {
+ resource_path = edited_resource->get_path() + "\n";
+ }
- if (edited_resource == Ref<Resource>()) {
- assign_button->set_icon(Ref<Texture2D>());
- assign_button->set_text(TTR("[empty]"));
- assign_button->set_tooltip("");
- } else {
- assign_button->set_icon(EditorNode::get_singleton()->get_object_icon(edited_resource.operator->(), "Object"));
+ if (preview_rect) {
+ preview_rect->set_texture(Ref<Texture2D>());
- if (!edited_resource->get_name().is_empty()) {
- assign_button->set_text(edited_resource->get_name());
- } else if (edited_resource->get_path().is_resource_file()) {
- assign_button->set_text(edited_resource->get_path().get_file());
+ assign_button->set_custom_minimum_size(assign_button_min_size);
+
+ if (edited_resource == Ref<Resource>()) {
+ assign_button->set_icon(Ref<Texture2D>());
+ assign_button->set_text(TTR("[empty]"));
+ assign_button->set_tooltip("");
} else {
- assign_button->set_text(edited_resource->get_class());
- }
+ assign_button->set_icon(EditorNode::get_singleton()->get_object_icon(edited_resource.operator->(), "Object"));
- String resource_path;
- if (edited_resource->get_path().is_resource_file()) {
- resource_path = edited_resource->get_path() + "\n";
+ if (!edited_resource->get_name().is_empty()) {
+ assign_button->set_text(edited_resource->get_name());
+ } else if (edited_resource->get_path().is_resource_file()) {
+ assign_button->set_text(edited_resource->get_path().get_file());
+ } else {
+ assign_button->set_text(edited_resource->get_class());
+ }
+ assign_button->set_tooltip(resource_path + TTR("Type:") + " " + edited_resource->get_class());
+
+ // Preview will override the above, so called at the end.
+ EditorResourcePreview::get_singleton()->queue_edited_resource_preview(edited_resource, this, "_update_resource_preview", edited_resource->get_instance_id());
}
+ } else if (edited_resource.is_valid()) {
assign_button->set_tooltip(resource_path + TTR("Type:") + " " + edited_resource->get_class());
-
- // Preview will override the above, so called at the end.
- EditorResourcePreview::get_singleton()->queue_edited_resource_preview(edited_resource, this, "_update_resource_preview", edited_resource->get_instance_id());
}
}
@@ -81,28 +88,30 @@ void EditorResourcePicker::_update_resource_preview(const String &p_path, const
return;
}
- Ref<Script> script = edited_resource;
- if (script.is_valid()) {
- assign_button->set_text(script->get_path().get_file());
- return;
- }
+ if (preview_rect) {
+ Ref<Script> script = edited_resource;
+ if (script.is_valid()) {
+ assign_button->set_text(script->get_path().get_file());
+ return;
+ }
- if (p_preview.is_valid()) {
- preview_rect->set_offset(SIDE_LEFT, assign_button->get_icon()->get_width() + assign_button->get_theme_stylebox(SNAME("normal"))->get_default_margin(SIDE_LEFT) + get_theme_constant(SNAME("h_separation"), SNAME("Button")));
+ if (p_preview.is_valid()) {
+ preview_rect->set_offset(SIDE_LEFT, assign_button->get_icon()->get_width() + assign_button->get_theme_stylebox(SNAME("normal"))->get_default_margin(SIDE_LEFT) + get_theme_constant(SNAME("h_separation"), SNAME("Button")));
- // Resource-specific stretching.
- if (Ref<GradientTexture1D>(edited_resource).is_valid() || Ref<Gradient>(edited_resource).is_valid()) {
- preview_rect->set_stretch_mode(TextureRect::STRETCH_SCALE);
- assign_button->set_custom_minimum_size(Size2(1, 1));
- } else {
- preview_rect->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED);
- int thumbnail_size = EditorSettings::get_singleton()->get("filesystem/file_dialog/thumbnail_size");
- thumbnail_size *= EDSCALE;
- assign_button->set_custom_minimum_size(Size2(1, thumbnail_size));
- }
+ // Resource-specific stretching.
+ if (Ref<GradientTexture1D>(edited_resource).is_valid() || Ref<Gradient>(edited_resource).is_valid()) {
+ preview_rect->set_stretch_mode(TextureRect::STRETCH_SCALE);
+ assign_button->set_custom_minimum_size(assign_button_min_size);
+ } else {
+ preview_rect->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED);
+ int thumbnail_size = EditorSettings::get_singleton()->get("filesystem/file_dialog/thumbnail_size");
+ thumbnail_size *= EDSCALE;
+ assign_button->set_custom_minimum_size(Size2(MIN(1, assign_button_min_size.x), MIN(thumbnail_size, assign_button_min_size.y)));
+ }
- preview_rect->set_texture(p_preview);
- assign_button->set_text("");
+ preview_rect->set_texture(p_preview);
+ assign_button->set_text("");
+ }
}
}
@@ -175,6 +184,21 @@ void EditorResourcePicker::_update_menu_items() {
edit_menu->add_icon_item(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")), TTR("Edit"), OBJ_MENU_EDIT);
edit_menu->add_icon_item(get_theme_icon(SNAME("Clear"), SNAME("EditorIcons")), TTR("Clear"), OBJ_MENU_CLEAR);
edit_menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Make Unique"), OBJ_MENU_MAKE_UNIQUE);
+
+ // Check whether the resource has subresources.
+ List<PropertyInfo> property_list;
+ edited_resource->get_property_list(&property_list);
+ bool has_subresources = false;
+ for (PropertyInfo &p : property_list) {
+ if ((p.type == Variant::OBJECT) && (p.hint == PROPERTY_HINT_RESOURCE_TYPE) && (p.name != "script")) {
+ has_subresources = true;
+ break;
+ }
+ }
+ if (has_subresources) {
+ edit_menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Make Unique (Recursive)"), OBJ_MENU_MAKE_UNIQUE_RECURSIVE);
+ }
+
edit_menu->add_icon_item(get_theme_icon(SNAME("Save"), SNAME("EditorIcons")), TTR("Save"), OBJ_MENU_SAVE);
if (edited_resource->get_path().is_resource_file()) {
@@ -254,7 +278,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
file_dialog->clear_filters();
for (const String &E : valid_extensions) {
- file_dialog->add_filter("*." + E + " ; " + E.to_upper());
+ file_dialog->add_filter("*." + E, E.to_upper());
}
file_dialog->popup_file_dialog();
@@ -288,28 +312,22 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
return;
}
- List<PropertyInfo> property_list;
- edited_resource->get_property_list(&property_list);
- List<Pair<String, Variant>> propvalues;
- for (const PropertyInfo &pi : property_list) {
- Pair<String, Variant> p;
- if (pi.usage & PROPERTY_USAGE_STORAGE) {
- p.first = pi.name;
- p.second = edited_resource->get(pi.name);
- }
+ Ref<Resource> unique_resource = edited_resource->duplicate();
+ ERR_FAIL_COND(unique_resource.is_null());
- propvalues.push_back(p);
+ edited_resource = unique_resource;
+ emit_signal(SNAME("resource_changed"), edited_resource);
+ _update_resource();
+ } break;
+
+ case OBJ_MENU_MAKE_UNIQUE_RECURSIVE: {
+ if (edited_resource.is_null()) {
+ return;
}
- String orig_type = edited_resource->get_class();
- Object *inst = ClassDB::instantiate(orig_type);
- Ref<Resource> unique_resource = Ref<Resource>(Object::cast_to<Resource>(inst));
+ Ref<Resource> unique_resource = edited_resource->duplicate(true);
ERR_FAIL_COND(unique_resource.is_null());
- for (const Pair<String, Variant> &p : propvalues) {
- unique_resource->set(p.first, p.second);
- }
-
edited_resource = unique_resource;
emit_signal(SNAME("resource_changed"), edited_resource);
_update_resource();
@@ -534,8 +552,6 @@ void EditorResourcePicker::_get_allowed_types(bool p_with_convert, HashSet<Strin
p_vector->insert("Texture2D");
} else if (base == "ShaderMaterial") {
p_vector->insert("Shader");
- } else if (base == "Font") {
- p_vector->insert("FontData");
} else if (base == "Texture2D") {
p_vector->insert("Image");
}
@@ -675,22 +691,12 @@ void EditorResourcePicker::drop_data_fw(const Point2 &p_point, const Variant &p_
break;
}
- if (at == "Font" && Ref<FontData>(dropped_resource).is_valid()) {
- Ref<Font> font = edited_resource;
- if (!font.is_valid()) {
- font.instantiate();
- }
- font->add_data(dropped_resource);
- dropped_resource = font;
- break;
- }
-
if (at == "Texture2D" && Ref<Image>(dropped_resource).is_valid()) {
Ref<ImageTexture> texture = edited_resource;
if (!texture.is_valid()) {
texture.instantiate();
}
- texture->create_from_image(dropped_resource);
+ texture->set_image(dropped_resource);
dropped_resource = texture;
break;
}
@@ -875,10 +881,10 @@ void EditorResourcePicker::_ensure_resource_menu() {
edit_menu = memnew(PopupMenu);
add_child(edit_menu);
edit_menu->connect("id_pressed", callable_mp(this, &EditorResourcePicker::_edit_menu_cbk));
- edit_menu->connect("popup_hide", callable_mp((BaseButton *)edit_button, &BaseButton::set_pressed), varray(false));
+ edit_menu->connect("popup_hide", callable_mp((BaseButton *)edit_button, &BaseButton::set_pressed).bind(false));
}
-EditorResourcePicker::EditorResourcePicker() {
+EditorResourcePicker::EditorResourcePicker(bool p_hide_assign_button_controls) {
assign_button = memnew(Button);
assign_button->set_flat(true);
assign_button->set_h_size_flags(SIZE_EXPAND_FILL);
@@ -889,13 +895,15 @@ EditorResourcePicker::EditorResourcePicker() {
assign_button->connect("draw", callable_mp(this, &EditorResourcePicker::_button_draw));
assign_button->connect("gui_input", callable_mp(this, &EditorResourcePicker::_button_input));
- preview_rect = memnew(TextureRect);
- preview_rect->set_ignore_texture_size(true);
- preview_rect->set_anchors_and_offsets_preset(PRESET_WIDE);
- preview_rect->set_offset(SIDE_TOP, 1);
- preview_rect->set_offset(SIDE_BOTTOM, -1);
- preview_rect->set_offset(SIDE_RIGHT, -1);
- assign_button->add_child(preview_rect);
+ if (!p_hide_assign_button_controls) {
+ preview_rect = memnew(TextureRect);
+ preview_rect->set_ignore_texture_size(true);
+ preview_rect->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
+ preview_rect->set_offset(SIDE_TOP, 1);
+ preview_rect->set_offset(SIDE_BOTTOM, -1);
+ preview_rect->set_offset(SIDE_RIGHT, -1);
+ assign_button->add_child(preview_rect);
+ }
edit_button = memnew(Button);
edit_button->set_flat(true);
@@ -903,6 +911,8 @@ EditorResourcePicker::EditorResourcePicker() {
edit_button->connect("pressed", callable_mp(this, &EditorResourcePicker::_update_menu));
add_child(edit_button);
edit_button->connect("gui_input", callable_mp(this, &EditorResourcePicker::_button_input));
+
+ add_theme_constant_override("separation", 0);
}
// EditorScriptPicker
@@ -1003,3 +1013,176 @@ void EditorShaderPicker::set_preferred_mode(int p_mode) {
EditorShaderPicker::EditorShaderPicker() {
}
+
+//////////////
+
+void EditorAudioStreamPicker::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_READY:
+ case NOTIFICATION_THEME_CHANGED: {
+ _update_resource();
+ } break;
+ case NOTIFICATION_INTERNAL_PROCESS: {
+ Ref<AudioStream> audio_stream = get_edited_resource();
+ if (audio_stream.is_valid()) {
+ if (audio_stream->get_length() > 0) {
+ Ref<AudioStreamPreview> preview = AudioStreamPreviewGenerator::get_singleton()->generate_preview(audio_stream);
+ if (preview.is_valid()) {
+ if (preview->get_version() != last_preview_version) {
+ stream_preview_rect->update();
+ last_preview_version = preview->get_version();
+ }
+ }
+ }
+
+ uint64_t tagged_frame = audio_stream->get_tagged_frame();
+ uint64_t diff_frames = AudioServer::get_singleton()->get_mixed_frames() - tagged_frame;
+ uint64_t diff_msec = diff_frames * 1000 / AudioServer::get_singleton()->get_mix_rate();
+
+ if (diff_msec < 300) {
+ uint32_t count = audio_stream->get_tagged_frame_count();
+
+ bool differ = false;
+
+ if (count != tagged_frame_offset_count) {
+ differ = true;
+ }
+ float offsets[MAX_TAGGED_FRAMES];
+
+ for (uint32_t i = 0; i < MIN(count, uint32_t(MAX_TAGGED_FRAMES)); i++) {
+ offsets[i] = audio_stream->get_tagged_frame_offset(i);
+ if (offsets[i] != tagged_frame_offsets[i]) {
+ differ = true;
+ }
+ }
+
+ if (differ) {
+ tagged_frame_offset_count = count;
+ for (uint32_t i = 0; i < count; i++) {
+ tagged_frame_offsets[i] = offsets[i];
+ }
+ }
+
+ stream_preview_rect->update();
+ } else {
+ if (tagged_frame_offset_count != 0) {
+ stream_preview_rect->update();
+ }
+ tagged_frame_offset_count = 0;
+ }
+ }
+ } break;
+ }
+}
+
+void EditorAudioStreamPicker::_update_resource() {
+ EditorResourcePicker::_update_resource();
+
+ Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
+ int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
+ Ref<AudioStream> audio_stream = get_edited_resource();
+ if (audio_stream.is_valid() && audio_stream->get_length() > 0.0) {
+ set_assign_button_min_size(Size2(1, font->get_height(font_size) * 3));
+ } else {
+ set_assign_button_min_size(Size2(1, font->get_height(font_size) * 1.5));
+ }
+
+ stream_preview_rect->update();
+}
+
+void EditorAudioStreamPicker::_preview_draw() {
+ Ref<AudioStream> audio_stream = get_edited_resource();
+ if (!audio_stream.is_valid()) {
+ get_assign_button()->set_text(TTR("[empty]"));
+ return;
+ }
+
+ int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
+
+ get_assign_button()->set_text("");
+
+ Size2i size = stream_preview_rect->get_size();
+ Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
+
+ Rect2 rect(Point2(), size);
+
+ if (audio_stream->get_length() > 0) {
+ rect.size.height *= 0.5;
+
+ stream_preview_rect->draw_rect(rect, Color(0, 0, 0, 1));
+
+ Ref<AudioStreamPreview> preview = AudioStreamPreviewGenerator::get_singleton()->generate_preview(audio_stream);
+ float preview_len = preview->get_length();
+
+ Vector<Vector2> lines;
+ lines.resize(size.width * 2);
+
+ for (int i = 0; i < size.width; i++) {
+ float ofs = i * preview_len / size.width;
+ float ofs_n = (i + 1) * preview_len / size.width;
+ float max = preview->get_max(ofs, ofs_n) * 0.5 + 0.5;
+ float min = preview->get_min(ofs, ofs_n) * 0.5 + 0.5;
+
+ int idx = i;
+ lines.write[idx * 2 + 0] = Vector2(i + 1, rect.position.y + min * rect.size.y);
+ lines.write[idx * 2 + 1] = Vector2(i + 1, rect.position.y + max * rect.size.y);
+ }
+
+ Vector<Color> color;
+ color.push_back(get_theme_color(SNAME("contrast_color_2"), SNAME("Editor")));
+
+ RS::get_singleton()->canvas_item_add_multiline(stream_preview_rect->get_canvas_item(), lines, color);
+
+ if (tagged_frame_offset_count) {
+ Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor"));
+
+ for (uint32_t i = 0; i < tagged_frame_offset_count; i++) {
+ int x = CLAMP(tagged_frame_offsets[i] * size.width / preview_len, 0, size.width);
+ if (x == 0) {
+ continue; // Because some may always return 0, ignore offset 0.
+ }
+ stream_preview_rect->draw_rect(Rect2i(x, 0, 2, rect.size.height), accent);
+ }
+ }
+ rect.position.y += rect.size.height;
+ }
+
+ Ref<Texture2D> icon;
+ Color icon_modulate(1, 1, 1, 1);
+
+ if (tagged_frame_offset_count > 0) {
+ icon = get_theme_icon(SNAME("Play"), SNAME("EditorIcons"));
+ if ((OS::get_singleton()->get_ticks_msec() % 500) > 250) {
+ icon_modulate = Color(1, 0.5, 0.5, 1); // get_theme_color(SNAME("accent_color"), SNAME("Editor"));
+ }
+ } else {
+ icon = EditorNode::get_singleton()->get_object_icon(audio_stream.operator->(), "Object");
+ }
+ String text;
+ if (!audio_stream->get_name().is_empty()) {
+ text = audio_stream->get_name();
+ } else if (audio_stream->get_path().is_resource_file()) {
+ text = audio_stream->get_path().get_file();
+ } else {
+ text = audio_stream->get_class().replace_first("AudioStream", "");
+ }
+
+ stream_preview_rect->draw_texture(icon, Point2i(EDSCALE * 2, rect.position.y + (rect.size.height - icon->get_height()) / 2), icon_modulate);
+ stream_preview_rect->draw_string(font, Point2i(EDSCALE * 2 + icon->get_width(), rect.position.y + font->get_ascent(font_size) + (rect.size.height - font->get_height(font_size)) / 2), text, HORIZONTAL_ALIGNMENT_CENTER, size.width - 4 * EDSCALE - icon->get_width());
+}
+
+EditorAudioStreamPicker::EditorAudioStreamPicker() :
+ EditorResourcePicker(true) {
+ stream_preview_rect = memnew(Control);
+
+ stream_preview_rect->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
+ stream_preview_rect->set_offset(SIDE_TOP, 1);
+ stream_preview_rect->set_offset(SIDE_BOTTOM, -1);
+ stream_preview_rect->set_offset(SIDE_RIGHT, -1);
+ stream_preview_rect->set_mouse_filter(MOUSE_FILTER_IGNORE);
+ stream_preview_rect->connect("draw", callable_mp(this, &EditorAudioStreamPicker::_preview_draw));
+
+ get_assign_button()->add_child(stream_preview_rect);
+ get_assign_button()->move_child(stream_preview_rect, 0);
+ set_process_internal(true);
+}
diff --git a/editor/editor_resource_picker.h b/editor/editor_resource_picker.h
index 8e26e1f4c0..3a4d5985bd 100644
--- a/editor/editor_resource_picker.h
+++ b/editor/editor_resource_picker.h
@@ -58,12 +58,15 @@ class EditorResourcePicker : public HBoxContainer {
EditorFileDialog *file_dialog = nullptr;
EditorQuickOpen *quick_open = nullptr;
+ Size2i assign_button_min_size = Size2i(1, 1);
+
enum MenuOption {
OBJ_MENU_LOAD,
OBJ_MENU_QUICKLOAD,
OBJ_MENU_EDIT,
OBJ_MENU_CLEAR,
OBJ_MENU_MAKE_UNIQUE,
+ OBJ_MENU_MAKE_UNIQUE_RECURSIVE,
OBJ_MENU_SAVE,
OBJ_MENU_COPY,
OBJ_MENU_PASTE,
@@ -75,7 +78,6 @@ class EditorResourcePicker : public HBoxContainer {
PopupMenu *edit_menu = nullptr;
- void _update_resource();
void _update_resource_preview(const String &p_path, const Ref<Texture2D> &p_preview, const Ref<Texture2D> &p_small_preview, ObjectID p_obj);
void _resource_selected();
@@ -100,9 +102,17 @@ class EditorResourcePicker : public HBoxContainer {
void _ensure_resource_menu();
protected:
+ virtual void _update_resource();
+
+ Button *get_assign_button() { return assign_button; }
static void _bind_methods();
void _notification(int p_what);
+ void set_assign_button_min_size(const Size2i &p_size) {
+ assign_button_min_size = p_size;
+ assign_button->set_custom_minimum_size(assign_button_min_size);
+ }
+
GDVIRTUAL1(_set_create_options, Object *)
GDVIRTUAL1R(bool, _handle_menu_selected, int)
@@ -126,7 +136,7 @@ public:
virtual void set_create_options(Object *p_menu_node);
virtual bool handle_menu_selected(int p_which);
- EditorResourcePicker();
+ EditorResourcePicker(bool p_hide_assign_button_controls = false);
};
class EditorScriptPicker : public EditorResourcePicker {
@@ -173,4 +183,26 @@ public:
EditorShaderPicker();
};
+class EditorAudioStreamPicker : public EditorResourcePicker {
+ GDCLASS(EditorAudioStreamPicker, EditorResourcePicker);
+
+ uint64_t last_preview_version = 0;
+ Control *stream_preview_rect = nullptr;
+
+ enum {
+ MAX_TAGGED_FRAMES = 8
+ };
+ float tagged_frame_offsets[MAX_TAGGED_FRAMES];
+ uint32_t tagged_frame_offset_count = 0;
+
+ void _preview_draw();
+ virtual void _update_resource() override;
+
+protected:
+ void _notification(int p_what);
+
+public:
+ EditorAudioStreamPicker();
+};
+
#endif // EDITOR_RESOURCE_PICKER_H
diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp
index dffb378408..c0ea2b743e 100644
--- a/editor/editor_resource_preview.cpp
+++ b/editor/editor_resource_preview.cpp
@@ -184,7 +184,7 @@ void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref<
small_image = small_image->duplicate();
small_image->resize(small_thumbnail_size, small_thumbnail_size, Image::INTERPOLATE_CUBIC);
r_small_texture.instantiate();
- r_small_texture->create_from_image(small_image);
+ r_small_texture->set_image(small_image);
}
break;
@@ -195,9 +195,9 @@ void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref<
if (r_texture.is_valid()) {
//wow it generated a preview... save cache
bool has_small_texture = r_small_texture.is_valid();
- ResourceSaver::save(cache_base + ".png", r_texture);
+ ResourceSaver::save(r_texture, cache_base + ".png");
if (has_small_texture) {
- ResourceSaver::save(cache_base + "_small.png", r_small_texture);
+ ResourceSaver::save(r_small_texture, cache_base + "_small.png");
}
Ref<FileAccess> f = FileAccess::open(cache_base + ".txt", FileAccess::WRITE);
ERR_FAIL_COND_MSG(f.is_null(), "Cannot create file '" + cache_base + ".txt'. Check user write permissions.");
@@ -300,14 +300,14 @@ void EditorResourcePreview::_iterate() {
cache_valid = false;
} else {
texture.instantiate();
- texture->create_from_image(img);
+ texture->set_image(img);
if (has_small_texture) {
if (small_img->load(cache_base + "_small.png") != OK) {
cache_valid = false;
} else {
small_texture.instantiate();
- small_texture->create_from_image(small_img);
+ small_texture->set_image(small_img);
}
}
}
diff --git a/editor/editor_resource_preview.h b/editor/editor_resource_preview.h
index 820e22bdc8..0413477d88 100644
--- a/editor/editor_resource_preview.h
+++ b/editor/editor_resource_preview.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITORRESOURCEPREVIEW_H
-#define EDITORRESOURCEPREVIEW_H
+#ifndef EDITOR_RESOURCE_PREVIEW_H
+#define EDITOR_RESOURCE_PREVIEW_H
#include "core/os/semaphore.h"
#include "core/os/thread.h"
@@ -124,4 +124,4 @@ public:
~EditorResourcePreview();
};
-#endif // EDITORRESOURCEPREVIEW_H
+#endif // EDITOR_RESOURCE_PREVIEW_H
diff --git a/editor/editor_run.cpp b/editor/editor_run.cpp
index 6a2ff50ee0..3b828951e4 100644
--- a/editor/editor_run.cpp
+++ b/editor/editor_run.cpp
@@ -33,6 +33,7 @@
#include "core/config/project_settings.h"
#include "editor/editor_node.h"
#include "editor/editor_settings.h"
+#include "main/main.h"
#include "servers/display_server.h"
EditorRun::Status EditorRun::get_status() const {
@@ -43,9 +44,13 @@ String EditorRun::get_running_scene() const {
return running_scene;
}
-Error EditorRun::run(const String &p_scene) {
+Error EditorRun::run(const String &p_scene, const String &p_write_movie) {
List<String> args;
+ for (const String &a : Main::get_forwardable_cli_arguments(Main::CLI_SCOPE_PROJECT)) {
+ args.push_back(a);
+ }
+
String resource_path = ProjectSettings::get_singleton()->get_resource_path();
if (!resource_path.is_empty()) {
args.push_back("--path");
@@ -55,19 +60,34 @@ Error EditorRun::run(const String &p_scene) {
args.push_back("--remote-debug");
args.push_back(EditorDebuggerNode::get_singleton()->get_server_uri());
- args.push_back("--allow_focus_steal_pid");
+ args.push_back("--editor-pid");
args.push_back(itos(OS::get_singleton()->get_process_id()));
bool debug_collisions = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_collisons", false);
+ bool debug_paths = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_paths", false);
bool debug_navigation = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_navigation", false);
if (debug_collisions) {
args.push_back("--debug-collisions");
}
+ if (debug_paths) {
+ args.push_back("--debug-paths");
+ }
+
if (debug_navigation) {
args.push_back("--debug-navigation");
}
+ if (p_write_movie != "") {
+ args.push_back("--write-movie");
+ args.push_back(p_write_movie);
+ args.push_back("--fixed-fps");
+ args.push_back(itos(GLOBAL_GET("editor/movie_writer/fps")));
+ if (bool(GLOBAL_GET("editor/movie_writer/disable_vsync"))) {
+ args.push_back("--disable-vsync");
+ }
+ }
+
int screen = EditorSettings::get_singleton()->get("run/window_placement/screen");
if (screen == 0) {
// Same as editor
@@ -90,10 +110,6 @@ Error EditorRun::run(const String &p_scene) {
screen -= 3;
}
- if (OS::get_singleton()->is_disable_crash_handler()) {
- args.push_back("--disable-crash-handler");
- }
-
Rect2 screen_rect;
screen_rect.position = DisplayServer::get_singleton()->screen_get_position(screen);
screen_rect.size = DisplayServer::get_singleton()->screen_get_size(screen);
diff --git a/editor/editor_run.h b/editor/editor_run.h
index 50604ff032..4cbc6838e4 100644
--- a/editor/editor_run.h
+++ b/editor/editor_run.h
@@ -50,7 +50,7 @@ private:
public:
Status get_status() const;
String get_running_scene() const;
- Error run(const String &p_scene);
+ Error run(const String &p_scene, const String &p_write_movie = "");
void run_native_notify() { status = STATUS_PLAY; }
void stop();
diff --git a/editor/editor_run_native.cpp b/editor/editor_run_native.cpp
index 5db7b8673f..d8b738be17 100644
--- a/editor/editor_run_native.cpp
+++ b/editor/editor_run_native.cpp
@@ -30,9 +30,10 @@
#include "editor_run_native.h"
-#include "editor/editor_export.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/export/editor_export_platform.h"
void EditorRunNative::_notification(int p_what) {
switch (p_what) {
@@ -49,12 +50,10 @@ void EditorRunNative::_notification(int p_what) {
im->clear_mipmaps();
if (!im->is_empty()) {
im->resize(16 * EDSCALE, 16 * EDSCALE);
- Ref<ImageTexture> small_icon;
- small_icon.instantiate();
- small_icon->create_from_image(im);
+ Ref<ImageTexture> small_icon = ImageTexture::create_from_image(im);
MenuButton *mb = memnew(MenuButton);
- mb->get_popup()->connect("id_pressed", callable_mp(this, &EditorRunNative::run_native), varray(i));
- mb->connect("pressed", callable_mp(this, &EditorRunNative::run_native), varray(-1, i));
+ mb->get_popup()->connect("id_pressed", callable_mp(this, &EditorRunNative::run_native).bind(i));
+ mb->connect("pressed", callable_mp(this, &EditorRunNative::run_native).bind(-1, i));
mb->set_icon(small_icon);
add_child(mb);
menus[i] = mb;
@@ -151,7 +150,13 @@ Error EditorRunNative::run_native(int p_idx, int p_platform) {
flags |= EditorExportPlatform::DEBUG_FLAG_VIEW_NAVIGATION;
}
- return eep->run(preset, p_idx, flags);
+ eep->clear_messages();
+ Error err = eep->run(preset, p_idx, flags);
+ result_dialog_log->clear();
+ if (eep->fill_log_messages(result_dialog_log, err)) {
+ result_dialog->popup_centered_ratio(0.5);
+ }
+ return err;
}
void EditorRunNative::resume_run_native() {
@@ -167,6 +172,15 @@ bool EditorRunNative::is_deploy_debug_remote_enabled() const {
}
EditorRunNative::EditorRunNative() {
+ result_dialog = memnew(AcceptDialog);
+ result_dialog->set_title(TTR("Project Run"));
+ result_dialog_log = memnew(RichTextLabel);
+ result_dialog_log->set_custom_minimum_size(Size2(300, 80) * EDSCALE);
+ result_dialog->add_child(result_dialog_log);
+
+ add_child(result_dialog);
+ result_dialog->hide();
+
set_process(true);
resume_idx = 0;
resume_platform = 0;
diff --git a/editor/editor_run_native.h b/editor/editor_run_native.h
index 798a0371a4..66d9b0402a 100644
--- a/editor/editor_run_native.h
+++ b/editor/editor_run_native.h
@@ -32,11 +32,16 @@
#define EDITOR_RUN_NATIVE_H
#include "scene/gui/box_container.h"
+#include "scene/gui/dialogs.h"
#include "scene/gui/menu_button.h"
+#include "scene/gui/rich_text_label.h"
class EditorRunNative : public HBoxContainer {
GDCLASS(EditorRunNative, HBoxContainer);
+ RichTextLabel *result_dialog_log = nullptr;
+ AcceptDialog *result_dialog = nullptr;
+
HashMap<int, MenuButton *> menus;
bool first = true;
diff --git a/editor/editor_scale.h b/editor/editor_scale.h
index 918fde15fb..02e9b997f6 100644
--- a/editor/editor_scale.h
+++ b/editor/editor_scale.h
@@ -35,4 +35,5 @@ void editor_set_scale(float p_scale);
float editor_get_scale();
#define EDSCALE (editor_get_scale())
+
#endif // EDITOR_SCALE_H
diff --git a/editor/editor_sectioned_inspector.cpp b/editor/editor_sectioned_inspector.cpp
index 801a1a4641..cbca3e9dcd 100644
--- a/editor/editor_sectioned_inspector.cpp
+++ b/editor/editor_sectioned_inspector.cpp
@@ -114,11 +114,11 @@ class SectionedInspectorFilter : public Object {
}
bool property_can_revert(const String &p_name) {
- return edited->call("property_can_revert", section + "/" + p_name);
+ return edited->property_can_revert(section + "/" + p_name);
}
Variant property_get_revert(const String &p_name) {
- return edited->call("property_get_revert", section + "/" + p_name);
+ return edited->property_get_revert(section + "/" + p_name);
}
protected:
diff --git a/editor/editor_sectioned_inspector.h b/editor/editor_sectioned_inspector.h
index babd11eb69..758efae31e 100644
--- a/editor/editor_sectioned_inspector.h
+++ b/editor/editor_sectioned_inspector.h
@@ -76,4 +76,5 @@ public:
SectionedInspector();
~SectionedInspector();
};
+
#endif // EDITOR_SECTIONED_INSPECTOR_H
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 31ce31a437..4437b1b166 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -406,6 +406,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
_initial_set("interface/editor/debug/enable_pseudolocalization", false);
set_restart_if_changed("interface/editor/debug/enable_pseudolocalization", true);
// Use pseudolocalization in editor.
+ EDITOR_SETTING_USAGE(Variant::BOOL, PROPERTY_HINT_NONE, "interface/editor/use_embedded_menu", false, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)
EDITOR_SETTING_USAGE(Variant::FLOAT, PROPERTY_HINT_RANGE, "interface/editor/custom_display_scale", 1.0, "0.5,3,0.01", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "interface/editor/main_font_size", 14, "8,48,1")
@@ -414,7 +415,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
_initial_set("interface/editor/code_font_custom_opentype_features", "");
_initial_set("interface/editor/code_font_custom_variations", "");
_initial_set("interface/editor/font_antialiased", true);
-#ifdef OSX_ENABLED
+#ifdef MACOS_ENABLED
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "interface/editor/font_hinting", 0, "Auto (None),None,Light,Normal")
#else
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "interface/editor/font_hinting", 0, "Auto (Light),None,Light,Normal")
@@ -444,6 +445,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
// Inspector
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "interface/inspector/max_array_dictionary_items_per_page", 20, "10,100,1")
+ EDITOR_SETTING(Variant::BOOL, PROPERTY_HINT_NONE, "interface/inspector/show_low_level_opentype_features", false, "")
// Theme
EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_ENUM, "interface/theme/preset", "Default", "Default,Breeze Dark,Godot 2,Gray,Light,Solarized (Dark),Solarized (Light),Custom")
@@ -542,6 +544,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
_initial_set("text_editor/behavior/navigation/scroll_past_end_of_file", false);
_initial_set("text_editor/behavior/navigation/smooth_scrolling", true);
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "text_editor/behavior/navigation/v_scroll_speed", 80, "1,10000,1")
+ _initial_set("text_editor/behavior/navigation/drag_and_drop_selection", true);
+ _initial_set("text_editor/behavior/navigation/stay_in_script_editor_on_node_selected", true);
// Behavior: Indent
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "text_editor/behavior/indent/type", 0, "Tabs,Spaces")
@@ -681,7 +685,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
// Visual editors
EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "editors/visual_editors/minimap_opacity", 0.85, "0.0,1.0,0.01")
- EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "editors/visual_editors/visualshader/port_preview_size", 160, "100,400,0.01")
+ EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "editors/visual_editors/lines_curvature", 0.5, "0.0,1.0,0.01")
+ EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "editors/visual_editors/visual_shader/port_preview_size", 160, "100,400,0.01")
/* Run */
@@ -714,7 +719,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
EDITOR_SETTING_USAGE(Variant::STRING, PROPERTY_HINT_GLOBAL_FILE, "network/ssl/editor_ssl_certificates", _SYSTEM_CERTS_PATH, "*.crt,*.pem", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
// Profiler
- _initial_set("debugger/profiler_frame_history_size", 600);
+ EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "debugger/profiler_frame_history_size", 3600, "60,10000,1")
// HTTP Proxy
_initial_set("network/http_proxy/host", "");
@@ -722,6 +727,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
/* Extra config */
+ // TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "project_manager/sorting_order", 0, "Last Edited,Name,Path")
if (p_extra_config.is_valid()) {
@@ -760,6 +766,7 @@ void EditorSettings::_load_godot2_text_editor_theme() {
_initial_set("text_editor/theme/highlighting/completion_selected_color", Color(0.26, 0.26, 0.27));
_initial_set("text_editor/theme/highlighting/completion_existing_color", Color(0.87, 0.87, 0.87, 0.13));
_initial_set("text_editor/theme/highlighting/completion_scroll_color", Color(1, 1, 1, 0.29));
+ _initial_set("text_editor/theme/highlighting/completion_scroll_hovered_color", Color(1, 1, 1, 0.4));
_initial_set("text_editor/theme/highlighting/completion_font_color", Color(0.67, 0.67, 0.67));
_initial_set("text_editor/theme/highlighting/text_color", Color(0.67, 0.67, 0.67));
_initial_set("text_editor/theme/highlighting/line_number_color", Color(0.67, 0.67, 0.67, 0.4));
@@ -861,7 +868,6 @@ void EditorSettings::create() {
}
singleton->save_changed_setting = true;
- singleton->config_file_path = config_file_path;
print_verbose("EditorSettings: Load OK!");
@@ -886,8 +892,8 @@ fail:
}
singleton = Ref<EditorSettings>(memnew(EditorSettings));
+ singleton->set_path(config_file_path, true);
singleton->save_changed_setting = true;
- singleton->config_file_path = config_file_path;
singleton->_load_defaults(extra_config);
singleton->setup_language();
singleton->setup_network();
@@ -947,23 +953,18 @@ void EditorSettings::save() {
return;
}
- if (singleton->config_file_path.is_empty()) {
- ERR_PRINT("Cannot save EditorSettings config, no valid path");
- return;
- }
-
- Error err = ResourceSaver::save(singleton->config_file_path, singleton);
+ Error err = ResourceSaver::save(singleton);
if (err != OK) {
- ERR_PRINT("Error saving editor settings to " + singleton->config_file_path);
+ ERR_PRINT("Error saving editor settings to " + singleton->get_path());
} else {
singleton->changed_settings.clear();
print_verbose("EditorSettings: Save OK!");
}
}
-Array EditorSettings::get_changed_settings() const {
- Array arr;
+PackedStringArray EditorSettings::get_changed_settings() const {
+ PackedStringArray arr;
for (const String &setting : changed_settings) {
arr.push_back(setting);
}
@@ -1051,6 +1052,8 @@ void EditorSettings::set_initial_value(const StringName &p_setting, const Varian
}
Variant _EDITOR_DEF(const String &p_setting, const Variant &p_default, bool p_restart_if_changed) {
+ ERR_FAIL_NULL_V_MSG(EditorSettings::get_singleton(), p_default, "EditorSettings not instantiated yet.");
+
Variant ret = p_default;
if (EditorSettings::get_singleton()->has_setting(p_setting)) {
ret = EditorSettings::get_singleton()->get(p_setting);
@@ -1067,28 +1070,29 @@ Variant _EDITOR_DEF(const String &p_setting, const Variant &p_default, bool p_re
}
Variant _EDITOR_GET(const String &p_setting) {
- ERR_FAIL_COND_V(!EditorSettings::get_singleton()->has_setting(p_setting), Variant());
+ ERR_FAIL_COND_V(!EditorSettings::get_singleton() || !EditorSettings::get_singleton()->has_setting(p_setting), Variant());
return EditorSettings::get_singleton()->get(p_setting);
}
-bool EditorSettings::property_can_revert(const String &p_setting) {
- if (!props.has(p_setting)) {
+bool EditorSettings::_property_can_revert(const StringName &p_name) const {
+ if (!props.has(p_name)) {
return false;
}
- if (!props[p_setting].has_default_value) {
+ if (!props[p_name].has_default_value) {
return false;
}
- return props[p_setting].initial != props[p_setting].variant;
+ return props[p_name].initial != props[p_name].variant;
}
-Variant EditorSettings::property_get_revert(const String &p_setting) {
- if (!props.has(p_setting) || !props[p_setting].has_default_value) {
- return Variant();
+bool EditorSettings::_property_get_revert(const StringName &p_name, Variant &r_property) const {
+ if (!props.has(p_name) || !props[p_name].has_default_value) {
+ return false;
}
- return props[p_setting].initial;
+ r_property = props[p_name].initial;
+ return true;
}
void EditorSettings::add_property_hint(const PropertyInfo &p_hint) {
@@ -1097,38 +1101,11 @@ void EditorSettings::add_property_hint(const PropertyInfo &p_hint) {
hints[p_hint.name] = p_hint;
}
-// Editor data and config directories
-// EditorPaths::create() is responsible for the creation of these directories.
-
-String EditorSettings::get_templates_dir() const {
- return EditorPaths::get_singleton()->get_data_dir().plus_file("templates");
-}
-
-String EditorSettings::get_project_settings_dir() const {
- return EditorPaths::get_singleton()->get_project_data_dir().plus_file("editor");
-}
-
-String EditorSettings::get_text_editor_themes_dir() const {
- return EditorPaths::get_singleton()->get_config_dir().plus_file("text_editor_themes");
-}
-
-String EditorSettings::get_script_templates_dir() const {
- return EditorPaths::get_singleton()->get_config_dir().plus_file("script_templates");
-}
-
-String EditorSettings::get_project_script_templates_dir() const {
- return ProjectSettings::get_singleton()->get("editor/script/templates_search_path");
-}
-
-String EditorSettings::get_feature_profiles_dir() const {
- return EditorPaths::get_singleton()->get_config_dir().plus_file("feature_profiles");
-}
-
// Metadata
void EditorSettings::set_project_metadata(const String &p_section, const String &p_key, Variant p_data) {
Ref<ConfigFile> cf = memnew(ConfigFile);
- String path = get_project_settings_dir().plus_file("project_metadata.cfg");
+ String path = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("project_metadata.cfg");
Error err;
err = cf->load(path);
ERR_FAIL_COND_MSG(err != OK && err != ERR_FILE_NOT_FOUND, "Cannot load editor settings from file '" + path + "'.");
@@ -1139,7 +1116,7 @@ void EditorSettings::set_project_metadata(const String &p_section, const String
Variant EditorSettings::get_project_metadata(const String &p_section, const String &p_key, Variant p_default) const {
Ref<ConfigFile> cf = memnew(ConfigFile);
- String path = get_project_settings_dir().plus_file("project_metadata.cfg");
+ String path = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("project_metadata.cfg");
Error err = cf->load(path);
if (err != OK) {
return p_default;
@@ -1153,7 +1130,7 @@ void EditorSettings::set_favorites(const Vector<String> &p_favorites) {
if (Engine::get_singleton()->is_project_manager_hint()) {
favorites_file = EditorPaths::get_singleton()->get_config_dir().plus_file("favorite_dirs");
} else {
- favorites_file = get_project_settings_dir().plus_file("favorites");
+ favorites_file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("favorites");
}
Ref<FileAccess> f = FileAccess::open(favorites_file, FileAccess::WRITE);
if (f.is_valid()) {
@@ -1173,7 +1150,7 @@ void EditorSettings::set_recent_dirs(const Vector<String> &p_recent_dirs) {
if (Engine::get_singleton()->is_project_manager_hint()) {
recent_dirs_file = EditorPaths::get_singleton()->get_config_dir().plus_file("recent_dirs");
} else {
- recent_dirs_file = get_project_settings_dir().plus_file("recent_dirs");
+ recent_dirs_file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("recent_dirs");
}
Ref<FileAccess> f = FileAccess::open(recent_dirs_file, FileAccess::WRITE);
if (f.is_valid()) {
@@ -1194,8 +1171,8 @@ void EditorSettings::load_favorites_and_recent_dirs() {
favorites_file = EditorPaths::get_singleton()->get_config_dir().plus_file("favorite_dirs");
recent_dirs_file = EditorPaths::get_singleton()->get_config_dir().plus_file("recent_dirs");
} else {
- favorites_file = get_project_settings_dir().plus_file("favorites");
- recent_dirs_file = get_project_settings_dir().plus_file("recent_dirs");
+ favorites_file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("favorites");
+ recent_dirs_file = EditorPaths::get_singleton()->get_project_settings_dir().plus_file("recent_dirs");
}
Ref<FileAccess> f = FileAccess::open(favorites_file, FileAccess::READ);
if (f.is_valid()) {
@@ -1227,7 +1204,7 @@ bool EditorSettings::is_dark_theme() {
void EditorSettings::list_text_editor_themes() {
String themes = "Default,Godot 2,Custom";
- Ref<DirAccess> d = DirAccess::open(get_text_editor_themes_dir());
+ Ref<DirAccess> d = DirAccess::open(EditorPaths::get_singleton()->get_text_editor_themes_dir());
if (d.is_valid()) {
List<String> custom_themes;
d->list_dir_begin();
@@ -1258,7 +1235,7 @@ void EditorSettings::load_text_editor_theme() {
return; // sorry for "Settings changed" console spam
}
- String theme_path = get_text_editor_themes_dir().plus_file(p_file + ".tet");
+ String theme_path = EditorPaths::get_singleton()->get_text_editor_themes_dir().plus_file(p_file + ".tet");
Ref<ConfigFile> cf = memnew(ConfigFile);
Error err = cf->load(theme_path);
@@ -1293,9 +1270,9 @@ bool EditorSettings::import_text_editor_theme(String p_file) {
return false;
}
- Ref<DirAccess> d = DirAccess::open(get_text_editor_themes_dir());
+ Ref<DirAccess> d = DirAccess::open(EditorPaths::get_singleton()->get_text_editor_themes_dir());
if (d.is_valid()) {
- d->copy(p_file, get_text_editor_themes_dir().plus_file(p_file.get_file()));
+ d->copy(p_file, EditorPaths::get_singleton()->get_text_editor_themes_dir().plus_file(p_file.get_file()));
return true;
}
}
@@ -1308,7 +1285,7 @@ bool EditorSettings::save_text_editor_theme() {
if (_is_default_text_editor_theme(p_file.get_file().to_lower())) {
return false;
}
- String theme_path = get_text_editor_themes_dir().plus_file(p_file + ".tet");
+ String theme_path = EditorPaths::get_singleton()->get_text_editor_themes_dir().plus_file(p_file + ".tet");
return _save_text_editor_theme(theme_path);
}
@@ -1325,7 +1302,7 @@ bool EditorSettings::save_text_editor_theme_as(String p_file) {
list_text_editor_themes();
String theme_name = p_file.substr(0, p_file.length() - 4).get_file();
- if (p_file.get_base_dir() == get_text_editor_themes_dir()) {
+ if (p_file.get_base_dir() == EditorPaths::get_singleton()->get_text_editor_themes_dir()) {
_initial_set("text_editor/theme/color_theme", theme_name);
load_text_editor_theme();
}
@@ -1341,7 +1318,7 @@ bool EditorSettings::is_default_text_editor_theme() {
Vector<String> EditorSettings::get_script_templates(const String &p_extension, const String &p_custom_path) {
Vector<String> templates;
- String template_dir = get_script_templates_dir();
+ String template_dir = EditorPaths::get_singleton()->get_script_templates_dir();
if (!p_custom_path.is_empty()) {
template_dir = p_custom_path;
}
@@ -1365,7 +1342,7 @@ String EditorSettings::get_editor_layouts_config() const {
}
float EditorSettings::get_auto_display_scale() const {
-#if defined(OSX_ENABLED) || defined(ANDROID_ENABLED)
+#if defined(MACOS_ENABLED) || defined(ANDROID_ENABLED)
return DisplayServer::get_singleton()->screen_get_max_scale();
#else
const int screen = DisplayServer::get_singleton()->window_get_current_screen();
@@ -1449,9 +1426,7 @@ void EditorSettings::get_shortcut_list(List<String> *r_shortcuts) {
}
Ref<Shortcut> ED_GET_SHORTCUT(const String &p_path) {
- if (!EditorSettings::get_singleton()) {
- return nullptr;
- }
+ ERR_FAIL_NULL_V_MSG(EditorSettings::get_singleton(), nullptr, "EditorSettings not instantiated yet.");
Ref<Shortcut> sc = EditorSettings::get_singleton()->get_shortcut(p_path);
@@ -1461,6 +1436,8 @@ Ref<Shortcut> ED_GET_SHORTCUT(const String &p_path) {
}
void ED_SHORTCUT_OVERRIDE(const String &p_path, const String &p_feature, Key p_keycode) {
+ ERR_FAIL_NULL_MSG(EditorSettings::get_singleton(), "EditorSettings not instantiated yet.");
+
Ref<Shortcut> sc = EditorSettings::get_singleton()->get_shortcut(p_path);
ERR_FAIL_COND_MSG(!sc.is_valid(), "Used ED_SHORTCUT_OVERRIDE with invalid shortcut: " + p_path + ".");
@@ -1471,6 +1448,8 @@ void ED_SHORTCUT_OVERRIDE(const String &p_path, const String &p_feature, Key p_k
}
void ED_SHORTCUT_OVERRIDE_ARRAY(const String &p_path, const String &p_feature, const PackedInt32Array &p_keycodes) {
+ ERR_FAIL_NULL_MSG(EditorSettings::get_singleton(), "EditorSettings not instantiated yet.");
+
Ref<Shortcut> sc = EditorSettings::get_singleton()->get_shortcut(p_path);
ERR_FAIL_COND_MSG(!sc.is_valid(), "Used ED_SHORTCUT_OVERRIDE_ARRAY with invalid shortcut: " + p_path + ".");
@@ -1484,7 +1463,7 @@ void ED_SHORTCUT_OVERRIDE_ARRAY(const String &p_path, const String &p_feature, c
for (int i = 0; i < p_keycodes.size(); i++) {
Key keycode = (Key)p_keycodes[i];
-#ifdef OSX_ENABLED
+#ifdef MACOS_ENABLED
// Use Cmd+Backspace as a general replacement for Delete shortcuts on macOS
if (keycode == Key::KEY_DELETE) {
keycode = KeyModifierMask::CMD | Key::BACKSPACE;
@@ -1514,7 +1493,7 @@ Ref<Shortcut> ED_SHORTCUT_ARRAY(const String &p_path, const String &p_name, cons
for (int i = 0; i < p_keycodes.size(); i++) {
Key keycode = (Key)p_keycodes[i];
-#ifdef OSX_ENABLED
+#ifdef MACOS_ENABLED
// Use Cmd+Backspace as a general replacement for Delete shortcuts on macOS
if (keycode == Key::KEY_DELETE) {
keycode = KeyModifierMask::CMD | Key::BACKSPACE;
@@ -1644,12 +1623,8 @@ void EditorSettings::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_setting", "name"), &EditorSettings::get_setting);
ClassDB::bind_method(D_METHOD("erase", "property"), &EditorSettings::erase);
ClassDB::bind_method(D_METHOD("set_initial_value", "name", "value", "update_current"), &EditorSettings::set_initial_value);
- ClassDB::bind_method(D_METHOD("property_can_revert", "name"), &EditorSettings::property_can_revert);
- ClassDB::bind_method(D_METHOD("property_get_revert", "name"), &EditorSettings::property_get_revert);
ClassDB::bind_method(D_METHOD("add_property_info", "info"), &EditorSettings::_add_property_info_bind);
- ClassDB::bind_method(D_METHOD("get_project_settings_dir"), &EditorSettings::get_project_settings_dir);
-
ClassDB::bind_method(D_METHOD("set_project_metadata", "section", "key", "data"), &EditorSettings::set_project_metadata);
ClassDB::bind_method(D_METHOD("get_project_metadata", "section", "key", "default"), &EditorSettings::get_project_metadata, DEFVAL(Variant()));
diff --git a/editor/editor_settings.h b/editor/editor_settings.h
index 43f90f9258..09bc4caa22 100644
--- a/editor/editor_settings.h
+++ b/editor/editor_settings.h
@@ -88,8 +88,6 @@ private:
mutable HashMap<String, Ref<Shortcut>> shortcuts;
HashMap<String, List<Ref<InputEvent>>> builtin_action_overrides;
- String config_file_path;
-
Vector<String> favorites;
Vector<String> recent_dirs;
@@ -102,6 +100,8 @@ private:
void _initial_set(const StringName &p_name, const Variant &p_value);
void _get_property_list(List<PropertyInfo> *p_list) const;
void _add_property_info_bind(const Dictionary &p_info);
+ bool _property_can_revert(const StringName &p_name) const;
+ bool _property_get_revert(const StringName &p_name, Variant &r_property) const;
void _load_defaults(Ref<ConfigFile> p_extra_config = Ref<ConfigFile>());
void _load_godot2_text_editor_theme();
@@ -140,24 +140,14 @@ public:
_set_only(p_setting, p_value);
}
}
- bool property_can_revert(const String &p_setting);
- Variant property_get_revert(const String &p_setting);
void add_property_hint(const PropertyInfo &p_hint);
- Array get_changed_settings() const;
+ PackedStringArray get_changed_settings() const;
bool check_changed_settings_in_group(const String &p_setting_prefix) const;
void mark_setting_changed(const String &p_setting);
void set_resource_clipboard(const Ref<Resource> &p_resource) { clipboard = p_resource; }
Ref<Resource> get_resource_clipboard() const { return clipboard; }
- String get_data_dir() const;
- String get_templates_dir() const;
- String get_project_settings_dir() const;
- String get_text_editor_themes_dir() const;
- String get_script_templates_dir() const;
- String get_project_script_templates_dir() const;
- String get_feature_profiles_dir() const;
-
void set_project_metadata(const String &p_section, const String &p_key, Variant p_data);
Variant get_project_metadata(const String &p_section, const String &p_key, Variant p_default) const;
diff --git a/editor/editor_settings_dialog.cpp b/editor/editor_settings_dialog.cpp
index 712a5b150f..67c602ad2d 100644
--- a/editor/editor_settings_dialog.cpp
+++ b/editor/editor_settings_dialog.cpp
@@ -40,6 +40,7 @@
#include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/margin_container.h"
void EditorSettingsDialog::ok_pressed() {
@@ -124,9 +125,9 @@ void EditorSettingsDialog::_notification(int p_what) {
} break;
case NOTIFICATION_READY: {
- undo_redo->set_method_notify_callback(EditorDebuggerNode::_method_changeds, nullptr);
- undo_redo->set_property_notify_callback(EditorDebuggerNode::_property_changeds, nullptr);
- undo_redo->set_commit_notify_callback(_undo_redo_callback, this);
+ undo_redo->get_or_create_history(EditorUndoRedoManager::GLOBAL_HISTORY).undo_redo->set_method_notify_callback(EditorDebuggerNode::_method_changeds, nullptr);
+ undo_redo->get_or_create_history(EditorUndoRedoManager::GLOBAL_HISTORY).undo_redo->set_property_notify_callback(EditorDebuggerNode::_property_changeds, nullptr);
+ undo_redo->get_or_create_history(EditorUndoRedoManager::GLOBAL_HISTORY).undo_redo->set_commit_notify_callback(_undo_redo_callback, this);
} break;
case NOTIFICATION_ENTER_TREE: {
@@ -680,9 +681,10 @@ void EditorSettingsDialog::_bind_methods() {
EditorSettingsDialog::EditorSettingsDialog() {
set_title(TTR("Editor Settings"));
- undo_redo = memnew(UndoRedo);
+ undo_redo = EditorNode::get_undo_redo();
tabs = memnew(TabContainer);
+ tabs->set_theme_type_variation("TabContainerOdd");
tabs->connect("tab_changed", callable_mp(this, &EditorSettingsDialog::_tabs_tab_changed));
add_child(tabs);
@@ -697,7 +699,7 @@ EditorSettingsDialog::EditorSettingsDialog() {
tab_general->add_child(hbc);
search_box = memnew(LineEdit);
- search_box->set_placeholder(TTR("Search"));
+ search_box->set_placeholder(TTR("Filter Settings"));
search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
hbc->add_child(search_box);
@@ -739,7 +741,7 @@ EditorSettingsDialog::EditorSettingsDialog() {
tab_shortcuts->set_name(TTR("Shortcuts"));
shortcut_search_box = memnew(LineEdit);
- shortcut_search_box->set_placeholder(TTR("Search"));
+ shortcut_search_box->set_placeholder(TTR("Filter Shortcuts"));
shortcut_search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
tab_shortcuts->add_child(shortcut_search_box);
shortcut_search_box->connect("text_changed", callable_mp(this, &EditorSettingsDialog::_filter_shortcuts));
@@ -771,9 +773,8 @@ EditorSettingsDialog::EditorSettingsDialog() {
timer->set_one_shot(true);
add_child(timer);
EditorSettings::get_singleton()->connect("settings_changed", callable_mp(this, &EditorSettingsDialog::_settings_changed));
- get_ok_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Close"));
}
EditorSettingsDialog::~EditorSettingsDialog() {
- memdelete(undo_redo);
}
diff --git a/editor/editor_settings_dialog.h b/editor/editor_settings_dialog.h
index a1ea54c6fb..87ed6a77eb 100644
--- a/editor/editor_settings_dialog.h
+++ b/editor/editor_settings_dialog.h
@@ -40,6 +40,8 @@
#include "scene/gui/tab_container.h"
#include "scene/gui/texture_rect.h"
+class EditorUndoRedoManager;
+
class EditorSettingsDialog : public AcceptDialog {
GDCLASS(EditorSettingsDialog, AcceptDialog);
@@ -73,7 +75,7 @@ class EditorSettingsDialog : public AcceptDialog {
Timer *timer = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
virtual void cancel_pressed() override;
virtual void ok_pressed() override;
diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp
index 09e407de57..20e9d7a3df 100644
--- a/editor/editor_spin_slider.cpp
+++ b/editor/editor_spin_slider.cpp
@@ -37,7 +37,7 @@
String EditorSpinSlider::get_tooltip(const Point2 &p_pos) const {
if (grabber->is_visible()) {
-#ifdef OSX_ENABLED
+#ifdef MACOS_ENABLED
Key key = Key::META;
#else
Key key = Key::CTRL;
@@ -286,7 +286,7 @@ void EditorSpinSlider::_draw_spin_slider() {
int sep_base = 4 * EDSCALE;
int sep = sep_base + sb->get_offset().x; //make it have the same margin on both sides, looks better
- int label_width = font->get_string_size(label, font_size).width;
+ int label_width = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width;
int number_width = size.width - sb->get_minimum_size().width - label_width - sep;
Ref<Texture2D> updown = get_theme_icon(is_read_only() ? SNAME("updown_disabled") : SNAME("updown"), SNAME("SpinBox"));
@@ -303,11 +303,11 @@ void EditorSpinSlider::_draw_spin_slider() {
Color lc = get_theme_color(is_read_only() ? SNAME("read_only_label_color") : SNAME("label_color"));
if (flat && !label.is_empty()) {
- Color label_bg_color = get_theme_color(SNAME("dark_color_3"), SNAME("Editor"));
+ Ref<StyleBox> label_bg = get_theme_stylebox(SNAME("label_bg"), SNAME("EditorSpinSlider"));
if (rtl) {
- draw_rect(Rect2(Vector2(size.width - (sb->get_offset().x * 2 + label_width), 0), Vector2(sb->get_offset().x * 2 + label_width, size.height)), label_bg_color);
+ draw_style_box(label_bg, Rect2(Vector2(size.width - (sb->get_offset().x * 2 + label_width), 0), Vector2(sb->get_offset().x * 2 + label_width, size.height)));
} else {
- draw_rect(Rect2(Vector2(), Vector2(sb->get_offset().x * 2 + label_width, size.height)), label_bg_color);
+ draw_style_box(label_bg, Rect2(Vector2(), Vector2(sb->get_offset().x * 2 + label_width, size.height)));
}
}
@@ -324,7 +324,10 @@ void EditorSpinSlider::_draw_spin_slider() {
int suffix_start = numstr.length();
RID num_rid = TS->create_shaped_text();
- TS->shaped_text_add_string(num_rid, numstr + U"\u2009" + suffix, font->get_rids(), font_size);
+ TS->shaped_text_add_string(num_rid, numstr + U"\u2009" + suffix, font->get_rids(), font_size, font->get_opentype_features());
+ for (int i = 0; i < TextServer::SPACING_MAX; i++) {
+ TS->shaped_text_set_spacing(num_rid, TextServer::SpacingType(i), font->get_spacing(TextServer::SpacingType(i)));
+ }
float text_start = rtl ? Math::round(sb->get_offset().x) : Math::round(sb->get_offset().x + label_width + sep);
Vector2 text_ofs = rtl ? Vector2(text_start + (number_width - TS->shaped_text_get_width(num_rid)), vofs) : Vector2(text_start, vofs);
@@ -448,6 +451,7 @@ void EditorSpinSlider::_notification(int p_what) {
if (grabbing_spinner) {
grabber->hide();
Input::get_singleton()->set_mouse_mode(Input::MOUSE_MODE_VISIBLE);
+ Input::get_singleton()->warp_mouse(grabbing_spinner_mouse_pos);
grabbing_spinner = false;
grabbing_spinner_attempt = false;
}
@@ -529,7 +533,7 @@ void EditorSpinSlider::_evaluate_input_text() {
return;
}
- Variant v = expr->execute(Array(), nullptr, false);
+ Variant v = expr->execute(Array(), nullptr, false, true);
if (v.get_type() == Variant::NIL) {
return;
}
@@ -648,7 +652,7 @@ void EditorSpinSlider::_ensure_input_popup() {
value_input = memnew(LineEdit);
value_input_popup->add_child(value_input);
value_input_popup->set_wrap_controls(true);
- value_input->set_anchors_and_offsets_preset(PRESET_WIDE);
+ value_input->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
value_input_popup->connect("popup_hide", callable_mp(this, &EditorSpinSlider::_value_input_closed));
value_input->connect("text_submitted", callable_mp(this, &EditorSpinSlider::_value_input_submitted));
value_input->connect("focus_exited", callable_mp(this, &EditorSpinSlider::_value_focus_exited));
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index 550a73ed72..3da9899052 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -72,11 +72,13 @@ static Ref<StyleBoxFlat> make_flat_stylebox(Color p_color, float p_margin_left =
style->set_bg_color(p_color);
// Adjust level of detail based on the corners' effective sizes.
style->set_corner_detail(Math::ceil(1.5 * p_corner_width * EDSCALE));
- style->set_corner_radius_all(p_corner_width);
+ style->set_corner_radius_all(p_corner_width * EDSCALE);
style->set_default_margin(SIDE_LEFT, p_margin_left * EDSCALE);
style->set_default_margin(SIDE_RIGHT, p_margin_right * EDSCALE);
style->set_default_margin(SIDE_BOTTOM, p_margin_bottom * EDSCALE);
style->set_default_margin(SIDE_TOP, p_margin_top * EDSCALE);
+ // Work around issue about antialiased edges being blurrier (GH-35279).
+ style->set_anti_aliased(false);
return style;
}
@@ -95,7 +97,6 @@ static Ref<Texture2D> flip_icon(Ref<Texture2D> p_texture, bool p_flip_y = false,
return p_texture;
}
- Ref<ImageTexture> texture(memnew(ImageTexture));
Ref<Image> img = p_texture->get_image();
ERR_FAIL_NULL_V(img, Ref<Texture2D>());
img = img->duplicate();
@@ -107,14 +108,12 @@ static Ref<Texture2D> flip_icon(Ref<Texture2D> p_texture, bool p_flip_y = false,
img->flip_x();
}
- texture->create_from_image(img);
- return texture;
+ return ImageTexture::create_from_image(img);
}
#ifdef MODULE_SVG_ENABLED
// See also `generate_icon()` in `scene/resources/default_theme.cpp`.
static Ref<ImageTexture> editor_generate_icon(int p_index, bool p_convert_color, float p_scale = EDSCALE, float p_saturation = 1.0, Dictionary p_convert_colors = Dictionary()) {
- Ref<ImageTexture> icon = memnew(ImageTexture);
Ref<Image> img = memnew(Image);
// Upsample icon generation only if the editor scale isn't an integer multiplier.
@@ -127,9 +126,9 @@ static Ref<ImageTexture> editor_generate_icon(int p_index, bool p_convert_color,
if (p_saturation != 1.0) {
img->adjust_bcs(1.0, 1.0, p_saturation);
}
- icon->create_from_image(img); // in this case filter really helps
- return icon;
+ // In this case filter really helps.
+ return ImageTexture::create_from_image(img);
}
#endif
@@ -278,6 +277,14 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme =
exceptions.insert("StatusWarning");
exceptions.insert("OverbrightIndicator");
exceptions.insert("GuiMiniCheckerboard");
+
+ // Prevents Code Editor icons from changing
+ exceptions.insert("GuiTab");
+ exceptions.insert("GuiSpace");
+ exceptions.insert("CodeFoldedRightArrow");
+ exceptions.insert("CodeFoldDownArrow");
+ exceptions.insert("TextEditorPlay");
+ exceptions.insert("Breakpoint");
}
// These ones should be converted even if we are using a dark theme.
@@ -462,6 +469,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
Color icon_hover_color = icon_normal_color * (dark_theme ? 1.15 : 1.45);
icon_hover_color.a = 1.0;
Color icon_focus_color = icon_hover_color;
+ Color icon_disabled_color = Color(icon_normal_color, 0.4);
// Make the pressed icon color overbright because icons are not completely white on a dark theme.
// On a light theme, icons are dark, so we need to modulate them with an even brighter color.
Color icon_pressed_color = accent_color * (dark_theme ? 1.15 : 3.5);
@@ -564,8 +572,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// Styleboxes
// This is the most commonly used stylebox, variations should be made as duplicate of this
Ref<StyleBoxFlat> style_default = make_flat_stylebox(base_color, default_margin_size, default_margin_size, default_margin_size, default_margin_size, corner_width);
- // Work around issue about antialiased edges being blurrier (GH-35279).
- style_default->set_anti_aliased(false);
style_default->set_border_width_all(border_width);
style_default->set_border_color(base_color);
style_default->set_draw_center(true);
@@ -635,6 +641,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// Add a highlight line at the top of the selected tab.
style_tab_selected->set_border_width_all(0);
+ style_tab_selected->set_default_margin(SIDE_LEFT, widget_default_margin.x - border_width);
style_tab_selected->set_border_width(SIDE_TOP, Math::round(2 * EDSCALE));
// Make the highlight line prominent, but not too prominent as to not be distracting.
Color tab_highlight = dark_color_2.lerp(accent_color, 0.75);
@@ -647,6 +654,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// We can't prevent them with both rounded corners and non-zero border width, though
style_tab_selected->set_expand_margin_size(SIDE_BOTTOM, corner_width > 0 ? corner_width : border_width);
+ // When using a border width greater than 0, visually line up the left of the selected tab with the underlying panel.
+ style_tab_selected->set_expand_margin_size(SIDE_LEFT, -border_width);
+
style_tab_selected->set_default_margin(SIDE_LEFT, widget_default_margin.x + 2 * EDSCALE);
style_tab_selected->set_default_margin(SIDE_RIGHT, widget_default_margin.x + 2 * EDSCALE);
style_tab_selected->set_default_margin(SIDE_BOTTOM, widget_default_margin.y);
@@ -692,6 +702,21 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
style_canvas_editor_info->set_expand_margin_size_all(4 * EDSCALE);
theme->set_stylebox("CanvasItemInfoOverlay", "EditorStyles", style_canvas_editor_info);
+ // 2D and 3D contextual toolbar.
+ // Use a custom stylebox to make contextual menu items stand out from the rest.
+ // This helps with editor usability as contextual menu items change when selecting nodes,
+ // even though it may not be immediately obvious at first.
+ Ref<StyleBoxFlat> toolbar_stylebox = memnew(StyleBoxFlat);
+ toolbar_stylebox->set_bg_color(accent_color * Color(1, 1, 1, 0.1));
+ toolbar_stylebox->set_corner_radius(CORNER_TOP_LEFT, corner_radius * EDSCALE);
+ toolbar_stylebox->set_corner_radius(CORNER_TOP_RIGHT, corner_radius * EDSCALE);
+ toolbar_stylebox->set_anti_aliased(false);
+ // Add an underline to the StyleBox, but prevent its minimum vertical size from changing.
+ toolbar_stylebox->set_border_color(accent_color);
+ toolbar_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE));
+ toolbar_stylebox->set_default_margin(SIDE_BOTTOM, 0);
+ theme->set_stylebox("ContextualToolbar", "EditorStyles", toolbar_stylebox);
+
// Script Editor
theme->set_stylebox("ScriptEditorPanel", "EditorStyles", make_empty_stylebox(default_margin_size, 0, default_margin_size, default_margin_size));
theme->set_stylebox("ScriptEditor", "EditorStyles", make_empty_stylebox(0, 0, 0, 0));
@@ -723,10 +748,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_focus_color", "Button", font_focus_color);
theme->set_color("font_pressed_color", "Button", accent_color);
theme->set_color("font_disabled_color", "Button", font_disabled_color);
+
theme->set_color("icon_normal_color", "Button", icon_normal_color);
theme->set_color("icon_hover_color", "Button", icon_hover_color);
theme->set_color("icon_focus_color", "Button", icon_focus_color);
theme->set_color("icon_pressed_color", "Button", icon_pressed_color);
+ theme->set_color("icon_disabled_color", "Button", icon_disabled_color);
const float ACTION_BUTTON_EXTRA_MARGIN = 32 * EDSCALE;
@@ -753,7 +780,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// When pressed, don't tint the icons with the accent color, just leave them normal.
theme->set_color("icon_pressed_color", "EditorLogFilterButton", icon_normal_color);
// When unpressed, dim the icons.
- theme->set_color("icon_normal_color", "EditorLogFilterButton", font_disabled_color);
+ theme->set_color("icon_normal_color", "EditorLogFilterButton", icon_disabled_color);
// When pressed, add a small bottom border to the buttons to better show their active state,
// similar to active tabs.
Ref<StyleBoxFlat> editor_log_button_pressed = style_widget_pressed->duplicate();
@@ -761,6 +788,25 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
editor_log_button_pressed->set_border_color(accent_color);
theme->set_stylebox("pressed", "EditorLogFilterButton", editor_log_button_pressed);
+ // MenuBar
+ theme->set_stylebox("normal", "MenuBar", style_widget);
+ theme->set_stylebox("hover", "MenuBar", style_widget_hover);
+ theme->set_stylebox("pressed", "MenuBar", style_widget_pressed);
+ theme->set_stylebox("focus", "MenuBar", style_widget_focus);
+ theme->set_stylebox("disabled", "MenuBar", style_widget_disabled);
+
+ theme->set_color("font_color", "MenuBar", font_color);
+ theme->set_color("font_hover_color", "MenuBar", font_hover_color);
+ theme->set_color("font_focus_color", "MenuBar", font_focus_color);
+ theme->set_color("font_pressed_color", "MenuBar", accent_color);
+ theme->set_color("font_disabled_color", "MenuBar", font_disabled_color);
+
+ theme->set_color("icon_normal_color", "MenuBar", icon_normal_color);
+ theme->set_color("icon_hover_color", "MenuBar", icon_hover_color);
+ theme->set_color("icon_focus_color", "MenuBar", icon_focus_color);
+ theme->set_color("icon_pressed_color", "MenuBar", icon_pressed_color);
+ theme->set_color("icon_disabled_color", "MenuBar", icon_disabled_color);
+
// OptionButton
Ref<StyleBoxFlat> style_option_button_focus = style_widget_focus->duplicate();
Ref<StyleBoxFlat> style_option_button_normal = style_widget->duplicate();
@@ -790,8 +836,13 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_focus_color", "OptionButton", font_focus_color);
theme->set_color("font_pressed_color", "OptionButton", accent_color);
theme->set_color("font_disabled_color", "OptionButton", font_disabled_color);
+
+ theme->set_color("icon_normal_color", "OptionButton", icon_normal_color);
theme->set_color("icon_hover_color", "OptionButton", icon_hover_color);
theme->set_color("icon_focus_color", "OptionButton", icon_focus_color);
+ theme->set_color("icon_pressed_color", "OptionButton", icon_pressed_color);
+ theme->set_color("icon_disabled_color", "OptionButton", icon_disabled_color);
+
theme->set_icon("arrow", "OptionButton", theme->get_icon(SNAME("GuiOptionArrow"), SNAME("EditorIcons")));
theme->set_constant("arrow_margin", "OptionButton", widget_default_margin.x - 2 * EDSCALE);
theme->set_constant("modulate_arrow", "OptionButton", true);
@@ -802,6 +853,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("pressed", "CheckButton", style_menu);
theme->set_stylebox("disabled", "CheckButton", style_menu);
theme->set_stylebox("hover", "CheckButton", style_menu);
+ theme->set_stylebox("hover_pressed", "CheckButton", style_menu);
theme->set_icon("on", "CheckButton", theme->get_icon(SNAME("GuiToggleOn"), SNAME("EditorIcons")));
theme->set_icon("on_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabled"), SNAME("EditorIcons")));
@@ -818,8 +870,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_focus_color", "CheckButton", font_focus_color);
theme->set_color("font_pressed_color", "CheckButton", accent_color);
theme->set_color("font_disabled_color", "CheckButton", font_disabled_color);
+
+ theme->set_color("icon_normal_color", "CheckButton", icon_normal_color);
theme->set_color("icon_hover_color", "CheckButton", icon_hover_color);
theme->set_color("icon_focus_color", "CheckButton", icon_focus_color);
+ theme->set_color("icon_pressed_color", "CheckButton", icon_pressed_color);
+ theme->set_color("icon_disabled_color", "CheckButton", icon_disabled_color);
theme->set_constant("h_separation", "CheckButton", 8 * EDSCALE);
theme->set_constant("check_v_adjust", "CheckButton", 0 * EDSCALE);
@@ -835,6 +891,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("pressed", "CheckBox", sb_checkbox);
theme->set_stylebox("disabled", "CheckBox", sb_checkbox);
theme->set_stylebox("hover", "CheckBox", sb_checkbox);
+ theme->set_stylebox("hover_pressed", "CheckBox", sb_checkbox);
theme->set_icon("checked", "CheckBox", theme->get_icon(SNAME("GuiChecked"), SNAME("EditorIcons")));
theme->set_icon("unchecked", "CheckBox", theme->get_icon(SNAME("GuiUnchecked"), SNAME("EditorIcons")));
theme->set_icon("radio_checked", "CheckBox", theme->get_icon(SNAME("GuiRadioChecked"), SNAME("EditorIcons")));
@@ -849,8 +906,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_focus_color", "CheckBox", font_focus_color);
theme->set_color("font_pressed_color", "CheckBox", accent_color);
theme->set_color("font_disabled_color", "CheckBox", font_disabled_color);
+
+ theme->set_color("icon_normal_color", "CheckBox", icon_normal_color);
theme->set_color("icon_hover_color", "CheckBox", icon_hover_color);
theme->set_color("icon_focus_color", "CheckBox", icon_focus_color);
+ theme->set_color("icon_pressed_color", "CheckBox", icon_pressed_color);
+ theme->set_color("icon_disabled_color", "CheckBox", icon_disabled_color);
theme->set_constant("h_separation", "CheckBox", 8 * EDSCALE);
theme->set_constant("check_v_adjust", "CheckBox", 0 * EDSCALE);
@@ -859,18 +920,20 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("panel", "PopupDialog", style_popup);
// PopupMenu
- const int popup_menu_margin_size = default_margin_size * 1.5 * EDSCALE;
Ref<StyleBoxFlat> style_popup_menu = style_popup->duplicate();
// Use 1 pixel for the sides, since if 0 is used, the highlight of hovered items is drawn
// on top of the popup border. This causes a 'gap' in the panel border when an item is highlighted,
// and it looks weird. 1px solves this.
- style_popup_menu->set_default_margin(SIDE_LEFT, 1 * EDSCALE);
- style_popup_menu->set_default_margin(SIDE_TOP, popup_menu_margin_size);
- style_popup_menu->set_default_margin(SIDE_RIGHT, 1 * EDSCALE);
- style_popup_menu->set_default_margin(SIDE_BOTTOM, popup_menu_margin_size);
+ style_popup_menu->set_default_margin(SIDE_LEFT, EDSCALE);
+ style_popup_menu->set_default_margin(SIDE_TOP, 2 * EDSCALE);
+ style_popup_menu->set_default_margin(SIDE_RIGHT, EDSCALE);
+ style_popup_menu->set_default_margin(SIDE_BOTTOM, 2 * EDSCALE);
// Always display a border for PopupMenus so they can be distinguished from their background.
- style_popup_menu->set_border_width_all(1 * EDSCALE);
+ style_popup_menu->set_border_width_all(EDSCALE);
style_popup_menu->set_border_color(dark_color_2);
+ // Popups are separate windows by default in the editor. Windows currently don't support per-pixel transparency
+ // in 4.0, and even if it was, it may not always work in practice (e.g. running with compositing disabled).
+ style_popup_menu->set_corner_radius_all(0);
theme->set_stylebox("panel", "PopupMenu", style_popup_menu);
Ref<StyleBoxFlat> style_menu_hover = style_widget_hover->duplicate();
@@ -903,13 +966,14 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// Force the v_separation to be even so that the spacing on top and bottom is even.
// If the vsep is odd and cannot be split into 2 even groups (of pixels), then it will be lopsided.
- // We add 2 to the vsep to give it some extra spacing which looks a bit more modern (see Windows, for example)
- int vsep_base = extra_spacing + default_margin_size + 2;
- int force_even_vsep = vsep_base + (vsep_base % 2);
+ // We add 2 to the vsep to give it some extra spacing which looks a bit more modern (see Windows, for example).
+ const int vsep_base = extra_spacing + default_margin_size + 6;
+ const int force_even_vsep = vsep_base + (vsep_base % 2);
theme->set_constant("v_separation", "PopupMenu", force_even_vsep * EDSCALE);
- theme->set_constant("item_start_padding", "PopupMenu", popup_menu_margin_size * EDSCALE);
- theme->set_constant("item_end_padding", "PopupMenu", popup_menu_margin_size * EDSCALE);
+ theme->set_constant("item_start_padding", "PopupMenu", default_margin_size * 1.5 * EDSCALE);
+ theme->set_constant("item_end_padding", "PopupMenu", default_margin_size * 1.5 * EDSCALE);
+ // Sub-inspectors
for (int i = 0; i < 16; i++) {
Color si_base_color = accent_color;
@@ -917,51 +981,53 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
si_base_color.set_hsv(Math::fmod(float(si_base_color.get_h() + hue_rotate), float(1.0)), si_base_color.get_s(), si_base_color.get_v());
si_base_color = accent_color.lerp(si_base_color, float(EDITOR_GET("docks/property_editor/subresource_hue_tint")));
- Ref<StyleBoxFlat> sub_inspector_bg;
-
- sub_inspector_bg = make_flat_stylebox(dark_color_1.lerp(si_base_color, 0.08), 2, 0, 2, 2);
-
- sub_inspector_bg->set_border_width(SIDE_LEFT, 2);
- sub_inspector_bg->set_border_width(SIDE_RIGHT, 2);
- sub_inspector_bg->set_border_width(SIDE_BOTTOM, 2);
- sub_inspector_bg->set_border_width(SIDE_TOP, 2);
- sub_inspector_bg->set_default_margin(SIDE_LEFT, 3);
- sub_inspector_bg->set_default_margin(SIDE_RIGHT, 3);
- sub_inspector_bg->set_default_margin(SIDE_BOTTOM, 10);
- sub_inspector_bg->set_default_margin(SIDE_TOP, 5);
+ // Sub-inspector background.
+ Ref<StyleBoxFlat> sub_inspector_bg = style_default->duplicate();
+ sub_inspector_bg->set_bg_color(dark_color_1.lerp(si_base_color, 0.08));
+ sub_inspector_bg->set_border_width_all(2 * EDSCALE);
sub_inspector_bg->set_border_color(si_base_color * Color(0.7, 0.7, 0.7, 0.8));
- sub_inspector_bg->set_draw_center(true);
+ sub_inspector_bg->set_default_margin(SIDE_LEFT, 4 * EDSCALE);
+ sub_inspector_bg->set_default_margin(SIDE_RIGHT, 4 * EDSCALE);
+ sub_inspector_bg->set_default_margin(SIDE_BOTTOM, 4 * EDSCALE);
+ sub_inspector_bg->set_default_margin(SIDE_TOP, 4 * EDSCALE);
+ sub_inspector_bg->set_corner_radius(CORNER_TOP_LEFT, 0);
+ sub_inspector_bg->set_corner_radius(CORNER_TOP_RIGHT, 0);
theme->set_stylebox("sub_inspector_bg" + itos(i), "Editor", sub_inspector_bg);
- Ref<StyleBoxFlat> bg_color;
- bg_color.instantiate();
- bg_color->set_bg_color(si_base_color * Color(0.7, 0.7, 0.7, 0.8));
- bg_color->set_border_width_all(0);
-
- Ref<StyleBoxFlat> bg_color_selected;
- bg_color_selected.instantiate();
- bg_color_selected->set_border_width_all(0);
- bg_color_selected->set_bg_color(si_base_color * Color(0.8, 0.8, 0.8, 0.8));
+ // EditorProperty background while it has a sub-inspector open.
+ Ref<StyleBoxFlat> bg_color = make_flat_stylebox(si_base_color * Color(0.7, 0.7, 0.7, 0.8), 0, 0, 0, 0, corner_radius);
+ bg_color->set_anti_aliased(false);
+ bg_color->set_corner_radius(CORNER_BOTTOM_LEFT, 0);
+ bg_color->set_corner_radius(CORNER_BOTTOM_RIGHT, 0);
theme->set_stylebox("sub_inspector_property_bg" + itos(i), "Editor", bg_color);
- theme->set_stylebox("sub_inspector_property_bg_selected" + itos(i), "Editor", bg_color_selected);
}
theme->set_color("sub_inspector_property_color", "Editor", dark_theme ? Color(1, 1, 1, 1) : Color(0, 0, 0, 1));
- theme->set_constant("sub_inspector_font_offset", "Editor", 4 * EDSCALE);
// EditorSpinSlider.
theme->set_color("label_color", "EditorSpinSlider", font_color);
theme->set_color("read_only_label_color", "EditorSpinSlider", font_readonly_color);
+ Ref<StyleBoxFlat> editor_spin_label_bg = style_default->duplicate();
+ editor_spin_label_bg->set_bg_color(dark_color_3);
+ editor_spin_label_bg->set_border_width_all(0);
+ theme->set_stylebox("label_bg", "EditorSpinSlider", editor_spin_label_bg);
+
+ // EditorProperty
Ref<StyleBoxFlat> style_property_bg = style_default->duplicate();
style_property_bg->set_bg_color(highlight_color);
style_property_bg->set_border_width_all(0);
+ Ref<StyleBoxFlat> style_property_child_bg = style_default->duplicate();
+ style_property_child_bg->set_bg_color(dark_color_2);
+ style_property_child_bg->set_border_width_all(0);
+
theme->set_constant("font_offset", "EditorProperty", 8 * EDSCALE);
theme->set_stylebox("bg_selected", "EditorProperty", style_property_bg);
theme->set_stylebox("bg", "EditorProperty", Ref<StyleBoxEmpty>(memnew(StyleBoxEmpty)));
+ theme->set_stylebox("child_bg", "EditorProperty", style_property_child_bg);
theme->set_constant("v_separation", "EditorProperty", (extra_spacing + default_margin_size) * EDSCALE);
theme->set_color("warning_color", "EditorProperty", warning_color);
theme->set_color("property_color", "EditorProperty", property_color);
@@ -974,6 +1040,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
style_property_group_note->set_bg_color(property_group_note_color);
theme->set_stylebox("bg_group_note", "EditorProperty", style_property_group_note);
+ // EditorInspectorSection
Color inspector_section_color = font_color.lerp(Color(0.5, 0.5, 0.5), 0.35);
theme->set_color("font_color", "EditorInspectorSection", inspector_section_color);
@@ -1076,11 +1143,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("prop_subsection", "Editor", prop_subsection_color);
theme->set_color("drop_position_color", "Tree", accent_color);
+ // EditorInspectorCategory
Ref<StyleBoxFlat> category_bg = style_default->duplicate();
- // Make Trees easier to distinguish from other controls by using a darker background color.
category_bg->set_bg_color(prop_category_color);
category_bg->set_border_color(prop_category_color);
- theme->set_stylebox("prop_category_style", "Editor", category_bg);
+ theme->set_stylebox("bg", "EditorInspectorCategory", category_bg);
// ItemList
Ref<StyleBoxFlat> style_itemlist_bg = style_default->duplicate();
@@ -1152,14 +1219,16 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
style_content_panel->set_border_color(dark_color_2);
theme->set_stylebox("panel", "TabContainer", style_content_panel);
- // These styleboxes can be used on tabs against the base color background (e.g. nested tabs).
+ // TabContainerOdd can be used on tabs against the base color background (e.g. nested tabs).
+ theme->set_type_variation("TabContainerOdd", "TabContainer");
+
Ref<StyleBoxFlat> style_tab_selected_odd = style_tab_selected->duplicate();
style_tab_selected_odd->set_bg_color(disabled_bg_color);
- theme->set_stylebox("tab_selected_odd", "TabContainer", style_tab_selected_odd);
+ theme->set_stylebox("tab_selected", "TabContainerOdd", style_tab_selected_odd);
Ref<StyleBoxFlat> style_content_panel_odd = style_content_panel->duplicate();
style_content_panel_odd->set_bg_color(disabled_bg_color);
- theme->set_stylebox("panel_odd", "TabContainer", style_content_panel_odd);
+ theme->set_stylebox("panel", "TabContainerOdd", style_content_panel_odd);
// This stylebox is used in 3d and 2d viewports (no borders).
Ref<StyleBoxFlat> style_content_panel_vp = style_content_panel->duplicate();
@@ -1215,7 +1284,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("focus", "LineEdit", style_widget_focus);
theme->set_stylebox("read_only", "LineEdit", style_line_edit_disabled);
theme->set_icon("clear", "LineEdit", theme->get_icon(SNAME("GuiClose"), SNAME("EditorIcons")));
- theme->set_color("read_only", "LineEdit", font_disabled_color);
theme->set_color("font_color", "LineEdit", font_color);
theme->set_color("font_selected_color", "LineEdit", mono_color);
theme->set_color("font_uneditable_color", "LineEdit", font_readonly_color);
@@ -1239,20 +1307,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("selection_color", "TextEdit", selection_color);
theme->set_constant("line_spacing", "TextEdit", 4 * EDSCALE);
- // CodeEdit
- theme->set_font("font", "CodeEdit", theme->get_font(SNAME("source"), SNAME("EditorFonts")));
- theme->set_font_size("font_size", "CodeEdit", theme->get_font_size(SNAME("source_size"), SNAME("EditorFonts")));
- theme->set_stylebox("normal", "CodeEdit", style_widget);
- theme->set_stylebox("focus", "CodeEdit", style_widget_hover);
- theme->set_stylebox("read_only", "CodeEdit", style_widget_disabled);
- theme->set_icon("tab", "CodeEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons")));
- theme->set_icon("space", "CodeEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons")));
- theme->set_icon("folded", "CodeEdit", theme->get_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons")));
- theme->set_icon("can_fold", "CodeEdit", theme->get_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons")));
- theme->set_icon("executing_line", "CodeEdit", theme->get_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
- theme->set_icon("breakpoint", "CodeEdit", theme->get_icon(SNAME("Breakpoint"), SNAME("EditorIcons")));
- theme->set_constant("line_spacing", "CodeEdit", EDITOR_GET("text_editor/appearance/whitespace/line_spacing"));
-
theme->set_icon("grabber", "VSplitContainer", theme->get_icon(SNAME("GuiVsplitter"), SNAME("EditorIcons")));
theme->set_icon("grabber", "HSplitContainer", theme->get_icon(SNAME("GuiHsplitter"), SNAME("EditorIcons")));
@@ -1276,6 +1330,13 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("h_separation", "VFlowContainer", default_margin_size * EDSCALE);
theme->set_constant("v_separation", "VFlowContainer", default_margin_size * EDSCALE);
+ // Custom theme type for MarginContainer with 4px margins.
+ theme->set_type_variation("MarginContainer4px", "MarginContainer");
+ theme->set_constant("margin_left", "MarginContainer4px", 4 * EDSCALE);
+ theme->set_constant("margin_top", "MarginContainer4px", 4 * EDSCALE);
+ theme->set_constant("margin_right", "MarginContainer4px", 4 * EDSCALE);
+ theme->set_constant("margin_bottom", "MarginContainer4px", 4 * EDSCALE);
+
// Window
// Prevent corner artifacts between window title and body.
@@ -1403,7 +1464,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_pressed_color", "LinkButton", accent_color);
theme->set_color("font_disabled_color", "LinkButton", font_disabled_color);
- // TooltipPanel
+ // TooltipPanel + TooltipLabel
+ // TooltipPanel is also used for custom tooltips, while TooltipLabel
+ // is only relevant for default tooltips.
Ref<StyleBoxFlat> style_tooltip = style_popup->duplicate();
style_tooltip->set_shadow_size(0);
style_tooltip->set_default_margin(SIDE_LEFT, default_margin_size * EDSCALE * 0.5);
@@ -1413,12 +1476,23 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
style_tooltip->set_bg_color(dark_color_3 * Color(0.8, 0.8, 0.8, 0.9));
style_tooltip->set_border_width_all(0);
theme->set_color("font_color", "TooltipLabel", font_hover_color);
- theme->set_color("font_color_shadow", "TooltipLabel", Color(0, 0, 0, 0));
+ theme->set_color("font_shadow_color", "TooltipLabel", Color(0, 0, 0, 0));
theme->set_stylebox("panel", "TooltipPanel", style_tooltip);
// PopupPanel
theme->set_stylebox("panel", "PopupPanel", style_popup);
+ Ref<StyleBoxFlat> control_editor_popup_style = style_popup->duplicate();
+ control_editor_popup_style->set_shadow_size(0);
+ control_editor_popup_style->set_default_margin(SIDE_LEFT, default_margin_size * EDSCALE);
+ control_editor_popup_style->set_default_margin(SIDE_TOP, default_margin_size * EDSCALE);
+ control_editor_popup_style->set_default_margin(SIDE_RIGHT, default_margin_size * EDSCALE);
+ control_editor_popup_style->set_default_margin(SIDE_BOTTOM, default_margin_size * EDSCALE);
+ control_editor_popup_style->set_border_width_all(0);
+
+ theme->set_stylebox("panel", "ControlEditorPopupButton", control_editor_popup_style);
+ theme->set_type_variation("ControlEditorPopupButton", "PopupPanel");
+
// SpinBox
theme->set_icon("updown", "SpinBox", theme->get_icon(SNAME("GuiSpinboxUpdown"), SNAME("EditorIcons")));
theme->set_icon("updown_disabled", "SpinBox", theme->get_icon(SNAME("GuiSpinboxUpdownDisabled"), SNAME("EditorIcons")));
@@ -1446,8 +1520,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_icon("snap", "GraphEdit", theme->get_icon(SNAME("SnapGrid"), SNAME("EditorIcons")));
theme->set_icon("minimap", "GraphEdit", theme->get_icon(SNAME("GridMinimap"), SNAME("EditorIcons")));
theme->set_icon("layout", "GraphEdit", theme->get_icon(SNAME("GridLayout"), SNAME("EditorIcons")));
- theme->set_constant("bezier_len_pos", "GraphEdit", 80 * EDSCALE);
- theme->set_constant("bezier_len_neg", "GraphEdit", 160 * EDSCALE);
// GraphEditMinimap
Ref<StyleBoxFlat> style_minimap_bg = make_flat_stylebox(dark_color_1, 0, 0, 0, 0);
@@ -1484,6 +1556,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
const int gn_margin_side = 2;
const int gn_margin_bottom = 2;
+ // StateMachine
+ const int sm_margin_side = 10;
+
Color graphnode_bg = dark_color_3;
if (!dark_theme) {
graphnode_bg = prop_section_color;
@@ -1510,10 +1585,10 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
graphsbposition->set_border_color(error_color);
graphsbposition->set_shadow_color(error_color * Color(1.0, 1.0, 1.0, 0.2));
Ref<StyleBoxEmpty> graphsbslot = make_empty_stylebox(12, 0, 12, 0);
- Ref<StyleBoxFlat> smgraphsb = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.7), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
+ Ref<StyleBoxFlat> smgraphsb = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.7), sm_margin_side, 24, sm_margin_side, gn_margin_bottom, corner_width);
smgraphsb->set_border_width_all(border_width);
smgraphsb->set_border_color(graphnode_bg);
- Ref<StyleBoxFlat> smgraphsbselected = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 0.9), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
+ Ref<StyleBoxFlat> smgraphsbselected = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 0.9), sm_margin_side, 24, sm_margin_side, gn_margin_bottom, corner_width);
smgraphsbselected->set_border_width_all(2 * EDSCALE + border_width);
smgraphsbselected->set_border_color(Color(accent_color.r, accent_color.g, accent_color.b, 0.9));
smgraphsbselected->set_shadow_size(8 * EDSCALE);
@@ -1586,7 +1661,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// ColorPresetButton
Ref<StyleBoxFlat> preset_sb = make_flat_stylebox(Color(1, 1, 1), 2, 2, 2, 2, 2);
- preset_sb->set_anti_aliased(false);
theme->set_stylebox("preset_fg", "ColorPresetButton", preset_sb);
theme->set_icon("preset_bg", "ColorPresetButton", theme->get_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons")));
theme->set_icon("overbright_indicator", "ColorPresetButton", theme->get_icon(SNAME("OverbrightIndicator"), SNAME("EditorIcons")));
@@ -1617,7 +1691,14 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("preview_picker_label", "ThemeEditor", theme_preview_picker_label_sb);
// Dictionary editor add item.
- theme->set_stylebox("DictionaryAddItem", "EditorStyles", make_flat_stylebox(prop_subsection_color, 4, 4, 4, 4, corner_radius));
+ // Expand to the left and right by 4px to compensate for the dictionary editor margins.
+ Ref<StyleBoxFlat> style_dictionary_add_item = make_flat_stylebox(prop_subsection_color, 0, 4, 0, 4, corner_radius);
+ style_dictionary_add_item->set_expand_margin_size(SIDE_LEFT, 4 * EDSCALE);
+ style_dictionary_add_item->set_expand_margin_size(SIDE_RIGHT, 4 * EDSCALE);
+ theme->set_stylebox("DictionaryAddItem", "EditorStyles", style_dictionary_add_item);
+
+ Ref<StyleBoxEmpty> vshader_label_style = make_empty_stylebox(2, 1, 2, 1);
+ theme->set_stylebox("label_style", "VShaderEditor", vshader_label_style);
// adaptive script theme constants
// for comments and elements with lower relevance
@@ -1626,19 +1707,16 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
const float mono_value = mono_color.r;
const Color alpha1 = Color(mono_value, mono_value, mono_value, 0.07);
const Color alpha2 = Color(mono_value, mono_value, mono_value, 0.14);
- const Color alpha3 = Color(mono_value, mono_value, mono_value, 0.7);
-
- // editor main color
- const Color main_color = dark_theme ? Color(0.34, 0.7, 1.0) : Color(0.02, 0.5, 1.0);
+ const Color alpha3 = Color(mono_value, mono_value, mono_value, 0.27);
- const Color symbol_color = Color(0.34, 0.57, 1.0).lerp(mono_color, dark_theme ? 0.5 : 0.3);
- const Color keyword_color = Color(1.0, 0.44, 0.52);
- const Color control_flow_keyword_color = dark_theme ? Color(1.0, 0.55, 0.8) : Color(0.8, 0.4, 0.6);
- const Color basetype_color = dark_theme ? Color(0.26, 1.0, 0.76) : Color(0.0, 0.76, 0.38);
- const Color type_color = basetype_color.lerp(mono_color, dark_theme ? 0.4 : 0.3);
- const Color usertype_color = basetype_color.lerp(mono_color, dark_theme ? 0.7 : 0.5);
- const Color comment_color = dim_color;
- const Color string_color = (dark_theme ? Color(1.0, 0.85, 0.26) : Color(1.0, 0.82, 0.09)).lerp(mono_color, dark_theme ? 0.5 : 0.3);
+ const Color symbol_color = dark_theme ? Color(0.67, 0.79, 1) : Color(0, 0, 0.61);
+ const Color keyword_color = dark_theme ? Color(1.0, 0.44, 0.52) : Color(0.9, 0.135, 0.51);
+ const Color control_flow_keyword_color = dark_theme ? Color(1.0, 0.55, 0.8) : Color(0.743, 0.12, 0.8);
+ const Color base_type_color = dark_theme ? Color(0.26, 1.0, 0.76) : Color(0, 0.6, 0.2);
+ const Color engine_type_color = dark_theme ? Color(0.56, 1, 0.86) : Color(0.11, 0.55, 0.4);
+ const Color user_type_color = dark_theme ? Color(0.78, 1, 0.93) : Color(0.18, 0.45, 0.4);
+ const Color comment_color = dark_theme ? dim_color : Color(0.08, 0.08, 0.08, 0.5);
+ const Color string_color = dark_theme ? Color(1, 0.93, 0.63) : Color(0.6, 0.42, 0);
// Use the brightest background color on a light theme (which generally uses a negative contrast rate).
const Color te_background_color = dark_theme ? background_color : dark_color_3;
@@ -1647,27 +1725,28 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
const Color completion_existing_color = alpha2;
// Same opacity as the scroll grabber editor icon.
const Color completion_scroll_color = Color(mono_value, mono_value, mono_value, 0.29);
+ const Color completion_scroll_hovered_color = Color(mono_value, mono_value, mono_value, 0.4);
const Color completion_font_color = font_color;
const Color text_color = font_color;
const Color line_number_color = dim_color;
- const Color safe_line_number_color = dim_color * Color(1, 1.2, 1, 1.5);
+ const Color safe_line_number_color = dark_theme ? (dim_color * Color(1, 1.2, 1, 1.5)) : Color(0, 0.4, 0, 0.75);
const Color caret_color = mono_color;
const Color caret_background_color = mono_color.inverted();
const Color text_selected_color = dark_color_3;
- const Color brace_mismatch_color = error_color;
+ const Color brace_mismatch_color = dark_theme ? error_color : Color(1, 0.08, 0, 1);
const Color current_line_color = alpha1;
const Color line_length_guideline_color = dark_theme ? base_color : background_color;
const Color word_highlighted_color = alpha1;
- const Color number_color = basetype_color.lerp(mono_color, dark_theme ? 0.5 : 0.3);
- const Color function_color = main_color;
- const Color member_variable_color = main_color.lerp(mono_color, 0.6);
+ const Color number_color = dark_theme ? Color(0.63, 1, 0.88) : Color(0, 0.55, 0.28, 1);
+ const Color function_color = dark_theme ? Color(0.34, 0.7, 1.0) : Color(0, 0.225, 0.9, 1);
+ const Color member_variable_color = dark_theme ? Color(0.34, 0.7, 1.0).lerp(mono_color, 0.6) : Color(0, 0.4, 0.68, 1);
const Color mark_color = Color(error_color.r, error_color.g, error_color.b, 0.3);
const Color bookmark_color = Color(0.08, 0.49, 0.98);
- const Color breakpoint_color = error_color;
+ const Color breakpoint_color = dark_theme ? error_color : Color(1, 0.27, 0.2, 1);
const Color executing_line_color = Color(0.98, 0.89, 0.27);
const Color code_folding_color = alpha3;
const Color search_result_color = alpha1;
- const Color search_result_border_color = Color(0.41, 0.61, 0.91, 0.38);
+ const Color search_result_border_color = dark_theme ? Color(0.41, 0.61, 0.91, 0.38) : Color(0, 0.4, 1, 0.38);
EditorSettings *setting = EditorSettings::get_singleton();
String text_editor_color_theme = setting->get("text_editor/theme/color_theme");
@@ -1675,9 +1754,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
setting->set_initial_value("text_editor/theme/highlighting/symbol_color", symbol_color, true);
setting->set_initial_value("text_editor/theme/highlighting/keyword_color", keyword_color, true);
setting->set_initial_value("text_editor/theme/highlighting/control_flow_keyword_color", control_flow_keyword_color, true);
- setting->set_initial_value("text_editor/theme/highlighting/base_type_color", basetype_color, true);
- setting->set_initial_value("text_editor/theme/highlighting/engine_type_color", type_color, true);
- setting->set_initial_value("text_editor/theme/highlighting/user_type_color", usertype_color, true);
+ setting->set_initial_value("text_editor/theme/highlighting/base_type_color", base_type_color, true);
+ setting->set_initial_value("text_editor/theme/highlighting/engine_type_color", engine_type_color, true);
+ setting->set_initial_value("text_editor/theme/highlighting/user_type_color", user_type_color, true);
setting->set_initial_value("text_editor/theme/highlighting/comment_color", comment_color, true);
setting->set_initial_value("text_editor/theme/highlighting/string_color", string_color, true);
setting->set_initial_value("text_editor/theme/highlighting/background_color", te_background_color, true);
@@ -1685,6 +1764,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
setting->set_initial_value("text_editor/theme/highlighting/completion_selected_color", completion_selected_color, true);
setting->set_initial_value("text_editor/theme/highlighting/completion_existing_color", completion_existing_color, true);
setting->set_initial_value("text_editor/theme/highlighting/completion_scroll_color", completion_scroll_color, true);
+ setting->set_initial_value("text_editor/theme/highlighting/completion_scroll_hovered_color", completion_scroll_hovered_color, true);
setting->set_initial_value("text_editor/theme/highlighting/completion_font_color", completion_font_color, true);
setting->set_initial_value("text_editor/theme/highlighting/text_color", text_color, true);
setting->set_initial_value("text_editor/theme/highlighting/line_number_color", line_number_color, true);
@@ -1712,11 +1792,29 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
}
// Now theme is loaded, apply it to CodeEdit.
- theme->set_color("background_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/background_color"));
+ theme->set_font("font", "CodeEdit", theme->get_font(SNAME("source"), SNAME("EditorFonts")));
+ theme->set_font_size("font_size", "CodeEdit", theme->get_font_size(SNAME("source_size"), SNAME("EditorFonts")));
+
+ Ref<StyleBoxFlat> code_edit_stylebox = make_flat_stylebox(EDITOR_GET("text_editor/theme/highlighting/background_color"), widget_default_margin.x, widget_default_margin.y, widget_default_margin.x, widget_default_margin.y, corner_radius);
+ theme->set_stylebox("normal", "CodeEdit", code_edit_stylebox);
+ theme->set_stylebox("read_only", "CodeEdit", code_edit_stylebox);
+ theme->set_stylebox("focus", "CodeEdit", Ref<StyleBoxEmpty>(memnew(StyleBoxEmpty)));
+
+ theme->set_icon("tab", "CodeEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons")));
+ theme->set_icon("space", "CodeEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons")));
+ theme->set_icon("folded", "CodeEdit", theme->get_icon(SNAME("CodeFoldedRightArrow"), SNAME("EditorIcons")));
+ theme->set_icon("can_fold", "CodeEdit", theme->get_icon(SNAME("CodeFoldDownArrow"), SNAME("EditorIcons")));
+ theme->set_icon("executing_line", "CodeEdit", theme->get_icon(SNAME("TextEditorPlay"), SNAME("EditorIcons")));
+ theme->set_icon("breakpoint", "CodeEdit", theme->get_icon(SNAME("Breakpoint"), SNAME("EditorIcons")));
+
+ theme->set_constant("line_spacing", "CodeEdit", EDITOR_GET("text_editor/appearance/whitespace/line_spacing"));
+
+ theme->set_color("background_color", "CodeEdit", Color(0, 0, 0, 0));
theme->set_color("completion_background_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_background_color"));
theme->set_color("completion_selected_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_selected_color"));
theme->set_color("completion_existing_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_existing_color"));
theme->set_color("completion_scroll_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_scroll_color"));
+ theme->set_color("completion_scroll_hovered_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_scroll_hovered_color"));
theme->set_color("completion_font_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_font_color"));
theme->set_color("font_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/text_color"));
theme->set_color("line_number_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/line_number_color"));
diff --git a/editor/editor_themes.h b/editor/editor_themes.h
index 642558d774..95184b9d4a 100644
--- a/editor/editor_themes.h
+++ b/editor/editor_themes.h
@@ -40,4 +40,4 @@ Ref<Theme> create_custom_theme(Ref<Theme> p_theme = nullptr);
Ref<ImageTexture> create_unscaled_default_project_icon();
-#endif
+#endif // EDITOR_THEMES_H
diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp
index 7ca88bd2a2..050cde6069 100644
--- a/editor/editor_toaster.cpp
+++ b/editor/editor_toaster.cpp
@@ -234,6 +234,16 @@ void EditorToaster::_auto_hide_or_free_toasts() {
to_delete[i]->queue_delete();
toasts.erase(to_delete[i]);
}
+
+ if (toasts.is_empty()) {
+ main_button->set_tooltip(TTR("No notifications."));
+ main_button->set_modulate(Color(0.5, 0.5, 0.5));
+ main_button->set_disabled(true);
+ } else {
+ main_button->set_tooltip(TTR("Show notifications."));
+ main_button->set_modulate(Color(1, 1, 1));
+ main_button->set_disabled(false);
+ }
}
void EditorToaster::_draw_button() {
@@ -346,7 +356,7 @@ Control *EditorToaster::popup(Control *p_control, Severity p_severity, double p_
break;
}
panel->set_modulate(Color(1, 1, 1, 0));
- panel->connect("draw", callable_bind(callable_mp(this, &EditorToaster::_draw_progress), panel));
+ panel->connect("draw", callable_mp(this, &EditorToaster::_draw_progress).bind(panel));
// Horizontal container.
HBoxContainer *hbox_container = memnew(HBoxContainer);
@@ -362,8 +372,8 @@ Control *EditorToaster::popup(Control *p_control, Severity p_severity, double p_
Button *close_button = memnew(Button);
close_button->set_flat(true);
close_button->set_icon(get_theme_icon(SNAME("Close"), SNAME("EditorIcons")));
- close_button->connect("pressed", callable_bind(callable_mp(this, &EditorToaster::close), panel));
- close_button->connect("theme_changed", callable_bind(callable_mp(this, &EditorToaster::_close_button_theme_changed), close_button));
+ close_button->connect("pressed", callable_mp(this, &EditorToaster::close).bind(panel));
+ close_button->connect("theme_changed", callable_mp(this, &EditorToaster::_close_button_theme_changed).bind(close_button));
hbox_container->add_child(close_button);
}
@@ -508,8 +518,11 @@ EditorToaster::EditorToaster() {
// Main button.
main_button = memnew(Button);
+ main_button->set_tooltip(TTR("No notifications."));
+ main_button->set_modulate(Color(0.5, 0.5, 0.5));
+ main_button->set_disabled(true);
main_button->set_flat(true);
- main_button->connect("pressed", callable_mp(this, &EditorToaster::_set_notifications_enabled), varray(true));
+ main_button->connect("pressed", callable_mp(this, &EditorToaster::_set_notifications_enabled).bind(true));
main_button->connect("pressed", callable_mp(this, &EditorToaster::_repop_old));
main_button->connect("draw", callable_mp(this, &EditorToaster::_draw_button));
add_child(main_button);
@@ -521,8 +534,9 @@ EditorToaster::EditorToaster() {
add_child(disable_notifications_panel);
disable_notifications_button = memnew(Button);
+ disable_notifications_button->set_tooltip(TTR("Silence the notifications."));
disable_notifications_button->set_flat(true);
- disable_notifications_button->connect("pressed", callable_mp(this, &EditorToaster::_set_notifications_enabled), varray(false));
+ disable_notifications_button->connect("pressed", callable_mp(this, &EditorToaster::_set_notifications_enabled).bind(false));
disable_notifications_panel->add_child(disable_notifications_button);
// Other
diff --git a/editor/editor_undo_redo_manager.cpp b/editor/editor_undo_redo_manager.cpp
new file mode 100644
index 0000000000..eca2b3143b
--- /dev/null
+++ b/editor/editor_undo_redo_manager.cpp
@@ -0,0 +1,442 @@
+/*************************************************************************/
+/* editor_undo_redo_manager.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "editor_undo_redo_manager.h"
+
+#include "core/io/resource.h"
+#include "core/os/os.h"
+#include "core/templates/local_vector.h"
+#include "editor/editor_log.h"
+#include "editor/editor_node.h"
+#include "scene/main/node.h"
+
+EditorUndoRedoManager::History &EditorUndoRedoManager::get_or_create_history(int p_idx) {
+ if (!history_map.has(p_idx)) {
+ History history;
+ history.undo_redo = memnew(UndoRedo);
+ history.id = p_idx;
+ history_map[p_idx] = history;
+
+ EditorNode::get_singleton()->get_log()->register_undo_redo(history.undo_redo);
+ EditorDebuggerNode::get_singleton()->register_undo_redo(history.undo_redo);
+ }
+ return history_map[p_idx];
+}
+
+UndoRedo *EditorUndoRedoManager::get_history_undo_redo(int p_idx) const {
+ ERR_FAIL_COND_V(!history_map.has(p_idx), nullptr);
+ return history_map[p_idx].undo_redo;
+}
+
+int EditorUndoRedoManager::get_history_id_for_object(Object *p_object) const {
+ int history_id = INVALID_HISTORY;
+
+ if (Node *node = Object::cast_to<Node>(p_object)) {
+ Node *edited_scene = EditorNode::get_singleton()->get_edited_scene();
+
+ if (edited_scene && (node == edited_scene || edited_scene->is_ancestor_of(node))) {
+ int idx = EditorNode::get_singleton()->get_editor_data().get_current_edited_scene_history_id();
+ if (idx > 0) {
+ history_id = idx;
+ }
+ }
+ }
+
+ if (Resource *res = Object::cast_to<Resource>(p_object)) {
+ if (res->is_built_in()) {
+ if (res->get_path().is_empty()) {
+ int idx = EditorNode::get_singleton()->get_editor_data().get_current_edited_scene_history_id();
+ if (idx > 0) {
+ history_id = idx;
+ }
+ } else {
+ int idx = EditorNode::get_singleton()->get_editor_data().get_scene_history_id_from_path(res->get_path().get_slice("::", 0));
+ if (idx > 0) {
+ history_id = idx;
+ }
+ }
+ }
+ }
+
+ if (history_id == INVALID_HISTORY) {
+ if (pending_action.history_id != INVALID_HISTORY) {
+ history_id = pending_action.history_id;
+ } else {
+ history_id = GLOBAL_HISTORY;
+ }
+ }
+ return history_id;
+}
+
+EditorUndoRedoManager::History &EditorUndoRedoManager::get_history_for_object(Object *p_object) {
+ int history_id = get_history_id_for_object(p_object);
+ ERR_FAIL_COND_V_MSG(pending_action.history_id != INVALID_HISTORY && history_id != pending_action.history_id, get_or_create_history(pending_action.history_id), vformat("UndoRedo history mismatch: expected %d, got %d.", pending_action.history_id, history_id));
+
+ History &history = get_or_create_history(history_id);
+ if (pending_action.history_id == INVALID_HISTORY) {
+ pending_action.history_id = history_id;
+ history.undo_redo->create_action(pending_action.action_name, pending_action.merge_mode);
+ }
+
+ return history;
+}
+
+void EditorUndoRedoManager::create_action_for_history(const String &p_name, int p_history_id, UndoRedo::MergeMode p_mode) {
+ pending_action.action_name = p_name;
+ pending_action.timestamp = OS::get_singleton()->get_unix_time();
+ pending_action.merge_mode = p_mode;
+
+ if (p_history_id != INVALID_HISTORY) {
+ pending_action.history_id = p_history_id;
+ History &history = get_or_create_history(p_history_id);
+ history.undo_redo->create_action(pending_action.action_name, pending_action.merge_mode);
+ }
+}
+
+void EditorUndoRedoManager::create_action(const String &p_name, UndoRedo::MergeMode p_mode, Object *p_custom_context) {
+ create_action_for_history(p_name, INVALID_HISTORY, p_mode);
+
+ if (p_custom_context) {
+ // This assigns context to pending action.
+ get_history_for_object(p_custom_context);
+ }
+}
+
+void EditorUndoRedoManager::add_do_methodp(Object *p_object, const StringName &p_method, const Variant **p_args, int p_argcount) {
+ UndoRedo *undo_redo = get_history_for_object(p_object).undo_redo;
+ undo_redo->add_do_methodp(p_object, p_method, p_args, p_argcount);
+}
+
+void EditorUndoRedoManager::add_undo_methodp(Object *p_object, const StringName &p_method, const Variant **p_args, int p_argcount) {
+ UndoRedo *undo_redo = get_history_for_object(p_object).undo_redo;
+ undo_redo->add_undo_methodp(p_object, p_method, p_args, p_argcount);
+}
+
+void EditorUndoRedoManager::_add_do_method(const Variant **p_args, int p_argcount, Callable::CallError &r_error) {
+ if (p_argcount < 2) {
+ r_error.error = Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
+ r_error.argument = 0;
+ return;
+ }
+
+ if (p_args[0]->get_type() != Variant::OBJECT) {
+ r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::OBJECT;
+ return;
+ }
+
+ if (p_args[1]->get_type() != Variant::STRING_NAME && p_args[1]->get_type() != Variant::STRING) {
+ r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 1;
+ r_error.expected = Variant::STRING_NAME;
+ return;
+ }
+
+ r_error.error = Callable::CallError::CALL_OK;
+
+ Object *object = *p_args[0];
+ StringName method = *p_args[1];
+
+ add_do_methodp(object, method, p_args + 2, p_argcount - 2);
+}
+
+void EditorUndoRedoManager::_add_undo_method(const Variant **p_args, int p_argcount, Callable::CallError &r_error) {
+ if (p_argcount < 2) {
+ r_error.error = Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
+ r_error.argument = 0;
+ return;
+ }
+
+ if (p_args[0]->get_type() != Variant::OBJECT) {
+ r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::OBJECT;
+ return;
+ }
+
+ if (p_args[1]->get_type() != Variant::STRING_NAME && p_args[1]->get_type() != Variant::STRING) {
+ r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 1;
+ r_error.expected = Variant::STRING_NAME;
+ return;
+ }
+
+ r_error.error = Callable::CallError::CALL_OK;
+
+ Object *object = *p_args[0];
+ StringName method = *p_args[1];
+
+ add_undo_methodp(object, method, p_args + 2, p_argcount - 2);
+}
+
+void EditorUndoRedoManager::add_do_property(Object *p_object, const StringName &p_property, const Variant &p_value) {
+ UndoRedo *undo_redo = get_history_for_object(p_object).undo_redo;
+ undo_redo->add_do_property(p_object, p_property, p_value);
+}
+
+void EditorUndoRedoManager::add_undo_property(Object *p_object, const StringName &p_property, const Variant &p_value) {
+ UndoRedo *undo_redo = get_history_for_object(p_object).undo_redo;
+ undo_redo->add_undo_property(p_object, p_property, p_value);
+}
+
+void EditorUndoRedoManager::add_do_reference(Object *p_object) {
+ UndoRedo *undo_redo = get_history_for_object(p_object).undo_redo;
+ undo_redo->add_do_reference(p_object);
+}
+
+void EditorUndoRedoManager::add_undo_reference(Object *p_object) {
+ UndoRedo *undo_redo = get_history_for_object(p_object).undo_redo;
+ undo_redo->add_undo_reference(p_object);
+}
+
+void EditorUndoRedoManager::commit_action(bool p_execute) {
+ ERR_FAIL_COND(pending_action.history_id == INVALID_HISTORY);
+ is_committing = true;
+
+ History &history = get_or_create_history(pending_action.history_id);
+ history.undo_redo->commit_action(p_execute);
+ history.redo_stack.clear();
+
+ if (!history.undo_stack.is_empty()) {
+ const Action &prev_action = history.undo_stack.back()->get();
+ if (pending_action.merge_mode != UndoRedo::MERGE_DISABLE && pending_action.merge_mode == prev_action.merge_mode && pending_action.action_name == prev_action.action_name) {
+ // Discard action if it should be merged (UndoRedo handles merging internally).
+ pending_action = Action();
+ is_committing = false;
+ return;
+ }
+ }
+
+ history.undo_stack.push_back(pending_action);
+ pending_action = Action();
+ is_committing = false;
+}
+
+bool EditorUndoRedoManager::is_committing_action() const {
+ return is_committing;
+}
+
+bool EditorUndoRedoManager::undo() {
+ if (!has_undo()) {
+ return false;
+ }
+
+ History *selected_history = nullptr;
+ double global_timestamp = 0;
+
+ // Pick the history with greatest last action timestamp (either global or current scene).
+ {
+ History &history = get_or_create_history(GLOBAL_HISTORY);
+ if (!history.undo_stack.is_empty()) {
+ selected_history = &history;
+ global_timestamp = history.undo_stack.back()->get().timestamp;
+ }
+ }
+
+ {
+ History &history = get_or_create_history(EditorNode::get_editor_data().get_current_edited_scene_history_id());
+ if (!history.undo_stack.is_empty() && history.undo_stack.back()->get().timestamp > global_timestamp) {
+ selected_history = &history;
+ }
+ }
+
+ if (selected_history) {
+ Action action = selected_history->undo_stack.back()->get();
+ selected_history->undo_stack.pop_back();
+ selected_history->redo_stack.push_back(action);
+ return selected_history->undo_redo->undo();
+ }
+ return false;
+}
+
+bool EditorUndoRedoManager::redo() {
+ if (!has_redo()) {
+ return false;
+ }
+
+ History *selected_history = nullptr;
+ double global_timestamp = INFINITY;
+
+ // Pick the history with lowest last action timestamp (either global or current scene).
+ {
+ History &history = get_or_create_history(GLOBAL_HISTORY);
+ if (!history.redo_stack.is_empty()) {
+ selected_history = &history;
+ global_timestamp = history.redo_stack.back()->get().timestamp;
+ }
+ }
+
+ {
+ History &history = get_or_create_history(EditorNode::get_editor_data().get_current_edited_scene_history_id());
+ if (!history.redo_stack.is_empty() && history.redo_stack.back()->get().timestamp < global_timestamp) {
+ selected_history = &history;
+ }
+ }
+
+ if (selected_history) {
+ Action action = selected_history->redo_stack.back()->get();
+ selected_history->redo_stack.pop_back();
+ selected_history->undo_stack.push_back(action);
+ return selected_history->undo_redo->redo();
+ }
+ return false;
+}
+
+void EditorUndoRedoManager::set_history_as_saved(int p_id) {
+ History &history = get_or_create_history(p_id);
+ history.saved_version = history.undo_redo->get_version();
+}
+
+void EditorUndoRedoManager::set_history_as_unsaved(int p_id) {
+ History &history = get_or_create_history(p_id);
+ history.saved_version = -1;
+}
+
+bool EditorUndoRedoManager::is_history_unsaved(int p_id) {
+ History &history = get_or_create_history(p_id);
+ return history.undo_redo->get_version() != history.saved_version;
+}
+
+bool EditorUndoRedoManager::has_undo() {
+ for (const KeyValue<int, History> &E : history_map) {
+ if ((E.key == GLOBAL_HISTORY || E.key == EditorNode::get_editor_data().get_current_edited_scene_history_id()) && !E.value.undo_stack.is_empty()) {
+ return true;
+ }
+ }
+ return false;
+}
+
+bool EditorUndoRedoManager::has_redo() {
+ for (const KeyValue<int, History> &E : history_map) {
+ if ((E.key == GLOBAL_HISTORY || E.key == EditorNode::get_editor_data().get_current_edited_scene_history_id()) && !E.value.redo_stack.is_empty()) {
+ return true;
+ }
+ }
+ return false;
+}
+
+void EditorUndoRedoManager::clear_history(bool p_increase_version, int p_idx) {
+ if (p_idx != INVALID_HISTORY) {
+ get_or_create_history(p_idx).undo_redo->clear_history(p_increase_version);
+ if (!p_increase_version) {
+ set_history_as_saved(p_idx);
+ }
+ return;
+ }
+
+ for (const KeyValue<int, History> &E : history_map) {
+ E.value.undo_redo->clear_history(p_increase_version);
+ set_history_as_saved(E.key);
+ }
+}
+
+String EditorUndoRedoManager::get_current_action_name() {
+ if (has_undo()) {
+ History *selected_history = nullptr;
+ double global_timestamp = 0;
+
+ // Pick the history with greatest last action timestamp (either global or current scene).
+ {
+ History &history = get_or_create_history(GLOBAL_HISTORY);
+ if (!history.undo_stack.is_empty()) {
+ selected_history = &history;
+ global_timestamp = history.undo_stack.back()->get().timestamp;
+ }
+ }
+
+ {
+ History &history = get_or_create_history(EditorNode::get_editor_data().get_current_edited_scene_history_id());
+ if (!history.undo_stack.is_empty() && history.undo_stack.back()->get().timestamp > global_timestamp) {
+ selected_history = &history;
+ }
+ }
+
+ if (selected_history) {
+ return selected_history->undo_redo->get_current_action_name();
+ }
+ }
+ return "";
+}
+
+void EditorUndoRedoManager::discard_history(int p_idx, bool p_erase_from_map) {
+ ERR_FAIL_COND(!history_map.has(p_idx));
+ History &history = history_map[p_idx];
+
+ if (history.undo_redo) {
+ memdelete(history.undo_redo);
+ history.undo_redo = nullptr;
+ }
+
+ if (p_erase_from_map) {
+ history_map.erase(p_idx);
+ }
+}
+
+void EditorUndoRedoManager::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("create_action", "name", "merge_mode", "custom_context"), &EditorUndoRedoManager::create_action, DEFVAL(UndoRedo::MERGE_DISABLE), DEFVAL((Object *)nullptr));
+ ClassDB::bind_method(D_METHOD("commit_action", "execute"), &EditorUndoRedoManager::commit_action, DEFVAL(true));
+ ClassDB::bind_method(D_METHOD("is_committing_action"), &EditorUndoRedoManager::is_committing_action);
+
+ {
+ MethodInfo mi;
+ mi.name = "add_do_method";
+ mi.arguments.push_back(PropertyInfo(Variant::OBJECT, "object"));
+ mi.arguments.push_back(PropertyInfo(Variant::STRING_NAME, "method"));
+
+ ClassDB::bind_vararg_method(METHOD_FLAGS_DEFAULT, "add_do_method", &EditorUndoRedoManager::_add_do_method, mi, varray(), false);
+ }
+
+ {
+ MethodInfo mi;
+ mi.name = "add_undo_method";
+ mi.arguments.push_back(PropertyInfo(Variant::OBJECT, "object"));
+ mi.arguments.push_back(PropertyInfo(Variant::STRING_NAME, "method"));
+
+ ClassDB::bind_vararg_method(METHOD_FLAGS_DEFAULT, "add_undo_method", &EditorUndoRedoManager::_add_undo_method, mi, varray(), false);
+ }
+
+ ClassDB::bind_method(D_METHOD("add_do_property", "object", "property", "value"), &EditorUndoRedoManager::add_do_property);
+ ClassDB::bind_method(D_METHOD("add_undo_property", "object", "property", "value"), &EditorUndoRedoManager::add_undo_property);
+ ClassDB::bind_method(D_METHOD("add_do_reference", "object"), &EditorUndoRedoManager::add_do_reference);
+ ClassDB::bind_method(D_METHOD("add_undo_reference", "object"), &EditorUndoRedoManager::add_undo_reference);
+
+ ClassDB::bind_method(D_METHOD("get_object_history_id", "object"), &EditorUndoRedoManager::get_history_id_for_object);
+ ClassDB::bind_method(D_METHOD("get_history_undo_redo", "id"), &EditorUndoRedoManager::get_history_undo_redo);
+
+ BIND_ENUM_CONSTANT(GLOBAL_HISTORY);
+ BIND_ENUM_CONSTANT(INVALID_HISTORY);
+}
+
+EditorUndoRedoManager::~EditorUndoRedoManager() {
+ for (const KeyValue<int, History> &E : history_map) {
+ discard_history(E.key, false);
+ }
+}
diff --git a/editor/editor_undo_redo_manager.h b/editor/editor_undo_redo_manager.h
new file mode 100644
index 0000000000..c4d85daa22
--- /dev/null
+++ b/editor/editor_undo_redo_manager.h
@@ -0,0 +1,134 @@
+/*************************************************************************/
+/* editor_undo_redo_manager.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_UNDO_REDO_MANAGER_H
+#define EDITOR_UNDO_REDO_MANAGER_H
+
+#include "core/object/class_db.h"
+#include "core/object/ref_counted.h"
+#include "core/object/undo_redo.h"
+
+class EditorUndoRedoManager : public RefCounted {
+ GDCLASS(EditorUndoRedoManager, RefCounted);
+
+public:
+ enum SpecialHistory {
+ GLOBAL_HISTORY = 0,
+ INVALID_HISTORY = -99,
+ };
+
+private:
+ struct Action {
+ int history_id = INVALID_HISTORY;
+ double timestamp = 0;
+ String action_name;
+ UndoRedo::MergeMode merge_mode = UndoRedo::MERGE_DISABLE;
+ };
+
+ struct History {
+ int id = INVALID_HISTORY;
+ UndoRedo *undo_redo = nullptr;
+ uint64_t saved_version = 1;
+ List<Action> undo_stack;
+ List<Action> redo_stack;
+ };
+
+ HashMap<int, History> history_map;
+ Action pending_action;
+
+ bool is_committing = false;
+
+protected:
+ static void _bind_methods();
+
+public:
+ History &get_or_create_history(int p_idx);
+ UndoRedo *get_history_undo_redo(int p_idx) const;
+ int get_history_id_for_object(Object *p_object) const;
+ History &get_history_for_object(Object *p_object);
+
+ void create_action_for_history(const String &p_name, int p_history_id, UndoRedo::MergeMode p_mode = UndoRedo::MERGE_DISABLE);
+ void create_action(const String &p_name = "", UndoRedo::MergeMode p_mode = UndoRedo::MERGE_DISABLE, Object *p_custom_context = nullptr);
+
+ void add_do_methodp(Object *p_object, const StringName &p_method, const Variant **p_args, int p_argcount);
+ void add_undo_methodp(Object *p_object, const StringName &p_method, const Variant **p_args, int p_argcount);
+
+ template <typename... VarArgs>
+ void add_do_method(Object *p_object, const StringName &p_method, VarArgs... p_args) {
+ Variant args[sizeof...(p_args) + 1] = { p_args..., Variant() }; // +1 makes sure zero sized arrays are also supported.
+ const Variant *argptrs[sizeof...(p_args) + 1];
+ for (uint32_t i = 0; i < sizeof...(p_args); i++) {
+ argptrs[i] = &args[i];
+ }
+
+ add_do_methodp(p_object, p_method, sizeof...(p_args) == 0 ? nullptr : (const Variant **)argptrs, sizeof...(p_args));
+ }
+
+ template <typename... VarArgs>
+ void add_undo_method(Object *p_object, const StringName &p_method, VarArgs... p_args) {
+ Variant args[sizeof...(p_args) + 1] = { p_args..., Variant() }; // +1 makes sure zero sized arrays are also supported.
+ const Variant *argptrs[sizeof...(p_args) + 1];
+ for (uint32_t i = 0; i < sizeof...(p_args); i++) {
+ argptrs[i] = &args[i];
+ }
+
+ add_undo_methodp(p_object, p_method, sizeof...(p_args) == 0 ? nullptr : (const Variant **)argptrs, sizeof...(p_args));
+ }
+
+ void _add_do_method(const Variant **p_args, int p_argcount, Callable::CallError &r_error);
+ void _add_undo_method(const Variant **p_args, int p_argcount, Callable::CallError &r_error);
+
+ void add_do_property(Object *p_object, const StringName &p_property, const Variant &p_value);
+ void add_undo_property(Object *p_object, const StringName &p_property, const Variant &p_value);
+ void add_do_reference(Object *p_object);
+ void add_undo_reference(Object *p_object);
+
+ void commit_action(bool p_execute = true);
+ bool is_committing_action() const;
+
+ bool undo();
+ bool redo();
+ void clear_history(bool p_increase_version = true, int p_idx = INVALID_HISTORY);
+
+ void set_history_as_saved(int p_idx);
+ void set_history_as_unsaved(int p_idx);
+ bool is_history_unsaved(int p_idx);
+ bool has_undo();
+ bool has_redo();
+
+ String get_current_action_name();
+
+ void discard_history(int p_idx, bool p_erase_from_map = true);
+ ~EditorUndoRedoManager();
+};
+
+VARIANT_ENUM_CAST(EditorUndoRedoManager::SpecialHistory);
+
+#endif // EDITOR_UNDO_REDO_MANAGER_H
diff --git a/editor/editor_vcs_interface.cpp b/editor/editor_vcs_interface.cpp
index 3f2012cc16..cb188f9c3e 100644
--- a/editor/editor_vcs_interface.cpp
+++ b/editor/editor_vcs_interface.cpp
@@ -82,8 +82,8 @@ void EditorVCSInterface::_unstage_file(String p_file_path) {
void EditorVCSInterface::_commit(String p_msg) {
}
-Array EditorVCSInterface::_get_file_diff(String p_file_path) {
- return Array();
+TypedArray<Dictionary> EditorVCSInterface::_get_file_diff(String p_file_path) {
+ return TypedArray<Dictionary>();
}
bool EditorVCSInterface::_shut_down() {
@@ -133,11 +133,11 @@ void EditorVCSInterface::commit(String p_msg) {
}
}
-Array EditorVCSInterface::get_file_diff(String p_file_path) {
+TypedArray<Dictionary> EditorVCSInterface::get_file_diff(String p_file_path) {
if (is_addon_ready()) {
return call("_get_file_diff", p_file_path);
}
- return Array();
+ return TypedArray<Dictionary>();
}
bool EditorVCSInterface::shut_down() {
diff --git a/editor/editor_vcs_interface.h b/editor/editor_vcs_interface.h
index 487625e84c..d6d7ffa0e9 100644
--- a/editor/editor_vcs_interface.h
+++ b/editor/editor_vcs_interface.h
@@ -52,7 +52,7 @@ protected:
virtual void _stage_file(String p_file_path);
virtual void _unstage_file(String p_file_path);
virtual void _commit(String p_msg);
- virtual Array _get_file_diff(String p_file_path);
+ virtual TypedArray<Dictionary> _get_file_diff(String p_file_path);
virtual bool _shut_down();
virtual String _get_project_name();
virtual String _get_vcs_name();
@@ -76,7 +76,7 @@ public:
void stage_file(String p_file_path);
void unstage_file(String p_file_path);
void commit(String p_msg);
- Array get_file_diff(String p_file_path);
+ TypedArray<Dictionary> get_file_diff(String p_file_path);
bool shut_down();
String get_project_name();
String get_vcs_name();
@@ -85,4 +85,4 @@ public:
virtual ~EditorVCSInterface();
};
-#endif // !EDITOR_VCS_INTERFACE_H
+#endif // EDITOR_VCS_INTERFACE_H
diff --git a/editor/export/SCsub b/editor/export/SCsub
new file mode 100644
index 0000000000..359d04e5df
--- /dev/null
+++ b/editor/export/SCsub
@@ -0,0 +1,5 @@
+#!/usr/bin/env python
+
+Import("env")
+
+env.add_source_files(env.editor_sources, "*.cpp")
diff --git a/editor/export/editor_export.cpp b/editor/export/editor_export.cpp
new file mode 100644
index 0000000000..31f408eedb
--- /dev/null
+++ b/editor/export/editor_export.cpp
@@ -0,0 +1,355 @@
+/*************************************************************************/
+/* editor_export.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "editor_export.h"
+
+#include "core/config/project_settings.h"
+#include "core/io/config_file.h"
+
+EditorExport *EditorExport::singleton = nullptr;
+
+void EditorExport::_save() {
+ Ref<ConfigFile> config;
+ config.instantiate();
+ for (int i = 0; i < export_presets.size(); i++) {
+ Ref<EditorExportPreset> preset = export_presets[i];
+ String section = "preset." + itos(i);
+
+ config->set_value(section, "name", preset->get_name());
+ config->set_value(section, "platform", preset->get_platform()->get_name());
+ config->set_value(section, "runnable", preset->is_runnable());
+ config->set_value(section, "custom_features", preset->get_custom_features());
+
+ bool save_files = false;
+ switch (preset->get_export_filter()) {
+ case EditorExportPreset::EXPORT_ALL_RESOURCES: {
+ config->set_value(section, "export_filter", "all_resources");
+ } break;
+ case EditorExportPreset::EXPORT_SELECTED_SCENES: {
+ config->set_value(section, "export_filter", "scenes");
+ save_files = true;
+ } break;
+ case EditorExportPreset::EXPORT_SELECTED_RESOURCES: {
+ config->set_value(section, "export_filter", "resources");
+ save_files = true;
+ } break;
+ case EditorExportPreset::EXCLUDE_SELECTED_RESOURCES: {
+ config->set_value(section, "export_filter", "exclude");
+ save_files = true;
+ } break;
+ }
+
+ if (save_files) {
+ Vector<String> export_files = preset->get_files_to_export();
+ config->set_value(section, "export_files", export_files);
+ }
+ config->set_value(section, "include_filter", preset->get_include_filter());
+ config->set_value(section, "exclude_filter", preset->get_exclude_filter());
+ config->set_value(section, "export_path", preset->get_export_path());
+ config->set_value(section, "encryption_include_filters", preset->get_enc_in_filter());
+ config->set_value(section, "encryption_exclude_filters", preset->get_enc_ex_filter());
+ config->set_value(section, "encrypt_pck", preset->get_enc_pck());
+ config->set_value(section, "encrypt_directory", preset->get_enc_directory());
+ config->set_value(section, "script_export_mode", preset->get_script_export_mode());
+ config->set_value(section, "script_encryption_key", preset->get_script_encryption_key());
+
+ String option_section = "preset." + itos(i) + ".options";
+
+ for (const PropertyInfo &E : preset->get_properties()) {
+ config->set_value(option_section, E.name, preset->get(E.name));
+ }
+ }
+
+ config->save("res://export_presets.cfg");
+}
+
+void EditorExport::save_presets() {
+ if (block_save) {
+ return;
+ }
+ save_timer->start();
+}
+
+void EditorExport::_bind_methods() {
+ ADD_SIGNAL(MethodInfo("export_presets_updated"));
+}
+
+void EditorExport::add_export_platform(const Ref<EditorExportPlatform> &p_platform) {
+ export_platforms.push_back(p_platform);
+}
+
+int EditorExport::get_export_platform_count() {
+ return export_platforms.size();
+}
+
+Ref<EditorExportPlatform> EditorExport::get_export_platform(int p_idx) {
+ ERR_FAIL_INDEX_V(p_idx, export_platforms.size(), Ref<EditorExportPlatform>());
+
+ return export_platforms[p_idx];
+}
+
+void EditorExport::add_export_preset(const Ref<EditorExportPreset> &p_preset, int p_at_pos) {
+ if (p_at_pos < 0) {
+ export_presets.push_back(p_preset);
+ } else {
+ export_presets.insert(p_at_pos, p_preset);
+ }
+}
+
+String EditorExportPlatform::test_etc2() const {
+ const bool etc2_supported = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_etc2");
+
+ if (!etc2_supported) {
+ return TTR("Target platform requires 'ETC2' texture compression. Enable 'Import Etc 2' in Project Settings.");
+ }
+
+ return String();
+}
+
+int EditorExport::get_export_preset_count() const {
+ return export_presets.size();
+}
+
+Ref<EditorExportPreset> EditorExport::get_export_preset(int p_idx) {
+ ERR_FAIL_INDEX_V(p_idx, export_presets.size(), Ref<EditorExportPreset>());
+ return export_presets[p_idx];
+}
+
+void EditorExport::remove_export_preset(int p_idx) {
+ export_presets.remove_at(p_idx);
+ save_presets();
+}
+
+void EditorExport::add_export_plugin(const Ref<EditorExportPlugin> &p_plugin) {
+ if (!export_plugins.has(p_plugin)) {
+ export_plugins.push_back(p_plugin);
+ }
+}
+
+void EditorExport::remove_export_plugin(const Ref<EditorExportPlugin> &p_plugin) {
+ export_plugins.erase(p_plugin);
+}
+
+Vector<Ref<EditorExportPlugin>> EditorExport::get_export_plugins() {
+ return export_plugins;
+}
+
+void EditorExport::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE: {
+ load_config();
+ } break;
+
+ case NOTIFICATION_PROCESS: {
+ update_export_presets();
+ } break;
+ }
+}
+
+void EditorExport::load_config() {
+ Ref<ConfigFile> config;
+ config.instantiate();
+ Error err = config->load("res://export_presets.cfg");
+ if (err != OK) {
+ return;
+ }
+
+ block_save = true;
+
+ int index = 0;
+ while (true) {
+ String section = "preset." + itos(index);
+ if (!config->has_section(section)) {
+ break;
+ }
+
+ String platform = config->get_value(section, "platform");
+
+ Ref<EditorExportPreset> preset;
+
+ for (int i = 0; i < export_platforms.size(); i++) {
+ if (export_platforms[i]->get_name() == platform) {
+ preset = export_platforms.write[i]->create_preset();
+ break;
+ }
+ }
+
+ if (!preset.is_valid()) {
+ index++;
+ ERR_CONTINUE(!preset.is_valid());
+ }
+
+ preset->set_name(config->get_value(section, "name"));
+ preset->set_runnable(config->get_value(section, "runnable"));
+
+ if (config->has_section_key(section, "custom_features")) {
+ preset->set_custom_features(config->get_value(section, "custom_features"));
+ }
+
+ String export_filter = config->get_value(section, "export_filter");
+
+ bool get_files = false;
+
+ if (export_filter == "all_resources") {
+ preset->set_export_filter(EditorExportPreset::EXPORT_ALL_RESOURCES);
+ } else if (export_filter == "scenes") {
+ preset->set_export_filter(EditorExportPreset::EXPORT_SELECTED_SCENES);
+ get_files = true;
+ } else if (export_filter == "resources") {
+ preset->set_export_filter(EditorExportPreset::EXPORT_SELECTED_RESOURCES);
+ get_files = true;
+ } else if (export_filter == "exclude") {
+ preset->set_export_filter(EditorExportPreset::EXCLUDE_SELECTED_RESOURCES);
+ get_files = true;
+ }
+
+ if (get_files) {
+ Vector<String> files = config->get_value(section, "export_files");
+
+ for (int i = 0; i < files.size(); i++) {
+ if (!FileAccess::exists(files[i])) {
+ preset->remove_export_file(files[i]);
+ } else {
+ preset->add_export_file(files[i]);
+ }
+ }
+ }
+
+ preset->set_include_filter(config->get_value(section, "include_filter"));
+ preset->set_exclude_filter(config->get_value(section, "exclude_filter"));
+ preset->set_export_path(config->get_value(section, "export_path", ""));
+
+ if (config->has_section_key(section, "encrypt_pck")) {
+ preset->set_enc_pck(config->get_value(section, "encrypt_pck"));
+ }
+ if (config->has_section_key(section, "encrypt_directory")) {
+ preset->set_enc_directory(config->get_value(section, "encrypt_directory"));
+ }
+ if (config->has_section_key(section, "encryption_include_filters")) {
+ preset->set_enc_in_filter(config->get_value(section, "encryption_include_filters"));
+ }
+ if (config->has_section_key(section, "encryption_exclude_filters")) {
+ preset->set_enc_ex_filter(config->get_value(section, "encryption_exclude_filters"));
+ }
+ if (config->has_section_key(section, "script_export_mode")) {
+ preset->set_script_export_mode(config->get_value(section, "script_export_mode"));
+ }
+ if (config->has_section_key(section, "script_encryption_key")) {
+ preset->set_script_encryption_key(config->get_value(section, "script_encryption_key"));
+ }
+
+ String option_section = "preset." + itos(index) + ".options";
+
+ List<String> options;
+
+ config->get_section_keys(option_section, &options);
+
+ for (const String &E : options) {
+ Variant value = config->get_value(option_section, E);
+
+ preset->set(E, value);
+ }
+
+ add_export_preset(preset);
+ index++;
+ }
+
+ block_save = false;
+}
+
+void EditorExport::update_export_presets() {
+ HashMap<StringName, List<EditorExportPlatform::ExportOption>> platform_options;
+
+ for (int i = 0; i < export_platforms.size(); i++) {
+ Ref<EditorExportPlatform> platform = export_platforms[i];
+
+ if (platform->should_update_export_options()) {
+ List<EditorExportPlatform::ExportOption> options;
+ platform->get_export_options(&options);
+
+ platform_options[platform->get_name()] = options;
+ }
+ }
+
+ bool export_presets_updated = false;
+ for (int i = 0; i < export_presets.size(); i++) {
+ Ref<EditorExportPreset> preset = export_presets[i];
+ if (platform_options.has(preset->get_platform()->get_name())) {
+ export_presets_updated = true;
+
+ List<EditorExportPlatform::ExportOption> options = platform_options[preset->get_platform()->get_name()];
+
+ // Copy the previous preset values
+ HashMap<StringName, Variant> previous_values = preset->values;
+
+ // Clear the preset properties and values prior to reloading
+ preset->properties.clear();
+ preset->values.clear();
+
+ for (const EditorExportPlatform::ExportOption &E : options) {
+ preset->properties.push_back(E.option);
+
+ StringName option_name = E.option.name;
+ preset->values[option_name] = previous_values.has(option_name) ? previous_values[option_name] : E.default_value;
+ }
+ }
+ }
+
+ if (export_presets_updated) {
+ emit_signal(_export_presets_updated);
+ }
+}
+
+bool EditorExport::poll_export_platforms() {
+ bool changed = false;
+ for (int i = 0; i < export_platforms.size(); i++) {
+ if (export_platforms.write[i]->poll_export()) {
+ changed = true;
+ }
+ }
+
+ return changed;
+}
+
+EditorExport::EditorExport() {
+ save_timer = memnew(Timer);
+ add_child(save_timer);
+ save_timer->set_wait_time(0.8);
+ save_timer->set_one_shot(true);
+ save_timer->connect("timeout", callable_mp(this, &EditorExport::_save));
+
+ _export_presets_updated = "export_presets_updated";
+
+ singleton = this;
+ set_process(true);
+}
+
+EditorExport::~EditorExport() {
+}
diff --git a/editor/export/editor_export.h b/editor/export/editor_export.h
new file mode 100644
index 0000000000..13c3c34cea
--- /dev/null
+++ b/editor/export/editor_export.h
@@ -0,0 +1,84 @@
+/*************************************************************************/
+/* editor_export.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_EXPORT_H
+#define EDITOR_EXPORT_H
+
+#include "editor_export_platform.h"
+#include "editor_export_plugin.h"
+
+class EditorExport : public Node {
+ GDCLASS(EditorExport, Node);
+
+ Vector<Ref<EditorExportPlatform>> export_platforms;
+ Vector<Ref<EditorExportPreset>> export_presets;
+ Vector<Ref<EditorExportPlugin>> export_plugins;
+
+ StringName _export_presets_updated;
+
+ Timer *save_timer = nullptr;
+ bool block_save = false;
+
+ static EditorExport *singleton;
+
+ void _save();
+
+protected:
+ friend class EditorExportPreset;
+ void save_presets();
+
+ void _notification(int p_what);
+ static void _bind_methods();
+
+public:
+ static EditorExport *get_singleton() { return singleton; }
+
+ void add_export_platform(const Ref<EditorExportPlatform> &p_platform);
+ int get_export_platform_count();
+ Ref<EditorExportPlatform> get_export_platform(int p_idx);
+
+ void add_export_preset(const Ref<EditorExportPreset> &p_preset, int p_at_pos = -1);
+ int get_export_preset_count() const;
+ Ref<EditorExportPreset> get_export_preset(int p_idx);
+ void remove_export_preset(int p_idx);
+
+ void add_export_plugin(const Ref<EditorExportPlugin> &p_plugin);
+ void remove_export_plugin(const Ref<EditorExportPlugin> &p_plugin);
+ Vector<Ref<EditorExportPlugin>> get_export_plugins();
+
+ void load_config();
+ void update_export_presets();
+ bool poll_export_platforms();
+
+ EditorExport();
+ ~EditorExport();
+};
+
+#endif // EDITOR_EXPORT_H
diff --git a/editor/editor_export.cpp b/editor/export/editor_export_platform.cpp
index f4a81521df..ab1586cb77 100644
--- a/editor/editor_export.cpp
+++ b/editor/export/editor_export_platform.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* editor_export.cpp */
+/* editor_export_platform.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,27 +28,22 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "editor_export.h"
+#include "editor_export_platform.h"
#include "core/config/project_settings.h"
#include "core/crypto/crypto_core.h"
#include "core/extension/native_extension.h"
-#include "core/io/config_file.h"
-#include "core/io/dir_access.h"
-#include "core/io/file_access.h"
#include "core/io/file_access_encrypted.h"
#include "core/io/file_access_pack.h" // PACK_HEADER_MAGIC, PACK_FORMAT_VERSION
-#include "core/io/resource_loader.h"
-#include "core/io/resource_saver.h"
#include "core/io/zip_io.h"
-#include "core/object/script_language.h"
#include "core/version.h"
#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
#include "editor/editor_paths.h"
+#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
#include "editor/plugins/script_editor_plugin.h"
-#include "scene/resources/resource_format_text.h"
+#include "editor_export_plugin.h"
static int _get_pad(int p_alignment, int p_n) {
int rest = p_n % p_alignment;
@@ -62,196 +57,83 @@ static int _get_pad(int p_alignment, int p_n) {
#define PCK_PADDING 16
-bool EditorExportPreset::_set(const StringName &p_name, const Variant &p_value) {
- if (values.has(p_name)) {
- values[p_name] = p_value;
- EditorExport::singleton->save_presets();
- return true;
- }
-
- return false;
-}
-
-bool EditorExportPreset::_get(const StringName &p_name, Variant &r_ret) const {
- if (values.has(p_name)) {
- r_ret = values[p_name];
- return true;
- }
-
- return false;
-}
-
-void EditorExportPreset::_get_property_list(List<PropertyInfo> *p_list) const {
- for (const PropertyInfo &E : properties) {
- if (platform->get_export_option_visibility(E.name, values)) {
- p_list->push_back(E);
+bool EditorExportPlatform::fill_log_messages(RichTextLabel *p_log, Error p_err) {
+ bool has_messages = false;
+
+ int msg_count = get_message_count();
+
+ p_log->add_text(TTR("Project export for platform:") + " ");
+ p_log->add_image(get_logo(), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER);
+ p_log->add_text(" ");
+ p_log->add_text(get_name());
+ p_log->add_text(" - ");
+ if (p_err == OK) {
+ if (get_worst_message_type() >= EditorExportPlatform::EXPORT_MESSAGE_WARNING) {
+ p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER);
+ p_log->add_text(" ");
+ p_log->add_text(TTR("Completed with warnings."));
+ has_messages = true;
+ } else {
+ p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusSuccess"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER);
+ p_log->add_text(" ");
+ p_log->add_text(TTR("Completed sucessfully."));
+ if (msg_count > 0) {
+ has_messages = true;
+ }
}
- }
-}
+ } else {
+ p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER);
+ p_log->add_text(" ");
+ p_log->add_text(TTR("Failed."));
+ has_messages = true;
+ }
+ p_log->add_newline();
+
+ if (msg_count) {
+ p_log->push_table(2);
+ p_log->set_table_column_expand(0, false);
+ p_log->set_table_column_expand(1, true);
+ for (int m = 0; m < msg_count; m++) {
+ EditorExportPlatform::ExportMessage msg = get_message(m);
+ Color color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("font_color"), SNAME("Label"));
+ Ref<Texture> icon;
+
+ switch (msg.msg_type) {
+ case EditorExportPlatform::EXPORT_MESSAGE_INFO: {
+ color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.6);
+ } break;
+ case EditorExportPlatform::EXPORT_MESSAGE_WARNING: {
+ icon = EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"));
+ color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), SNAME("Editor"));
+ } break;
+ case EditorExportPlatform::EXPORT_MESSAGE_ERROR: {
+ icon = EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Error"), SNAME("EditorIcons"));
+ color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"));
+ } break;
+ default:
+ break;
+ }
-Ref<EditorExportPlatform> EditorExportPreset::get_platform() const {
- return platform;
-}
+ p_log->push_cell();
+ p_log->add_text("\t");
+ if (icon.is_valid()) {
+ p_log->add_image(icon);
+ }
+ p_log->pop();
-void EditorExportPreset::update_files_to_export() {
- Vector<String> to_remove;
- for (const String &E : selected_files) {
- if (!FileAccess::exists(E)) {
- to_remove.push_back(E);
+ p_log->push_cell();
+ p_log->push_color(color);
+ p_log->add_text(vformat("[%s]: %s", msg.category, msg.text));
+ p_log->pop();
+ p_log->pop();
}
+ p_log->pop();
+ p_log->add_newline();
}
- for (int i = 0; i < to_remove.size(); ++i) {
- selected_files.erase(to_remove[i]);
- }
-}
-
-Vector<String> EditorExportPreset::get_files_to_export() const {
- Vector<String> files;
- for (const String &E : selected_files) {
- files.push_back(E);
- }
- return files;
-}
-
-void EditorExportPreset::set_name(const String &p_name) {
- name = p_name;
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_name() const {
- return name;
-}
-
-void EditorExportPreset::set_runnable(bool p_enable) {
- runnable = p_enable;
- EditorExport::singleton->save_presets();
-}
-
-bool EditorExportPreset::is_runnable() const {
- return runnable;
-}
-
-void EditorExportPreset::set_export_filter(ExportFilter p_filter) {
- export_filter = p_filter;
- EditorExport::singleton->save_presets();
-}
-
-EditorExportPreset::ExportFilter EditorExportPreset::get_export_filter() const {
- return export_filter;
-}
-
-void EditorExportPreset::set_include_filter(const String &p_include) {
- include_filter = p_include;
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_include_filter() const {
- return include_filter;
-}
-
-void EditorExportPreset::set_export_path(const String &p_path) {
- export_path = p_path;
- /* NOTE(SonerSound): if there is a need to implement a PropertyHint that specifically indicates a relative path,
- * this should be removed. */
- if (export_path.is_absolute_path()) {
- String res_path = OS::get_singleton()->get_resource_dir();
- export_path = res_path.path_to_file(export_path);
- }
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_export_path() const {
- return export_path;
-}
-
-void EditorExportPreset::set_exclude_filter(const String &p_exclude) {
- exclude_filter = p_exclude;
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_exclude_filter() const {
- return exclude_filter;
-}
-
-void EditorExportPreset::add_export_file(const String &p_path) {
- selected_files.insert(p_path);
- EditorExport::singleton->save_presets();
-}
-
-void EditorExportPreset::remove_export_file(const String &p_path) {
- selected_files.erase(p_path);
- EditorExport::singleton->save_presets();
-}
-
-bool EditorExportPreset::has_export_file(const String &p_path) {
- return selected_files.has(p_path);
-}
-
-void EditorExportPreset::set_custom_features(const String &p_custom_features) {
- custom_features = p_custom_features;
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_custom_features() const {
- return custom_features;
-}
-
-void EditorExportPreset::set_enc_in_filter(const String &p_filter) {
- enc_in_filters = p_filter;
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_enc_in_filter() const {
- return enc_in_filters;
-}
-
-void EditorExportPreset::set_enc_ex_filter(const String &p_filter) {
- enc_ex_filters = p_filter;
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_enc_ex_filter() const {
- return enc_ex_filters;
-}
-
-void EditorExportPreset::set_enc_pck(bool p_enabled) {
- enc_pck = p_enabled;
- EditorExport::singleton->save_presets();
-}
-
-bool EditorExportPreset::get_enc_pck() const {
- return enc_pck;
-}
-
-void EditorExportPreset::set_enc_directory(bool p_enabled) {
- enc_directory = p_enabled;
- EditorExport::singleton->save_presets();
+ p_log->add_newline();
+ return has_messages;
}
-bool EditorExportPreset::get_enc_directory() const {
- return enc_directory;
-}
-
-void EditorExportPreset::set_script_export_mode(int p_mode) {
- script_mode = p_mode;
- EditorExport::singleton->save_presets();
-}
-
-int EditorExportPreset::get_script_export_mode() const {
- return script_mode;
-}
-
-void EditorExportPreset::set_script_encryption_key(const String &p_key) {
- script_key = p_key;
- EditorExport::singleton->save_presets();
-}
-
-String EditorExportPreset::get_script_encryption_key() const {
- return script_key;
-}
-
-///////////////////////////////////
-
void EditorExportPlatform::gen_debug_flags(Vector<String> &r_flags, int p_flags) {
String host = EditorSettings::get_singleton()->get("network/debug/remote_host");
int remote_port = (int)EditorSettings::get_singleton()->get("network/debug/remote_port");
@@ -413,7 +295,7 @@ Ref<ImageTexture> EditorExportPlatform::get_option_icon(int p_index) const {
String EditorExportPlatform::find_export_template(String template_file_name, String *err) const {
String current_version = VERSION_FULL_CONFIG;
- String template_path = EditorSettings::get_singleton()->get_templates_dir().plus_file(current_version).plus_file(template_file_name);
+ String template_path = EditorPaths::get_singleton()->get_export_templates_dir().plus_file(current_version).plus_file(template_file_name);
if (FileAccess::exists(template_path)) {
return template_path;
@@ -547,156 +429,21 @@ void EditorExportPlatform::_edit_filter_list(HashSet<String> &r_list, const Stri
_edit_files_with_filter(da, filters, r_list, exclude);
}
-void EditorExportPlugin::set_export_preset(const Ref<EditorExportPreset> &p_preset) {
- if (p_preset.is_valid()) {
- export_preset = p_preset;
- }
-}
-
-Ref<EditorExportPreset> EditorExportPlugin::get_export_preset() const {
- return export_preset;
-}
-
-void EditorExportPlugin::add_file(const String &p_path, const Vector<uint8_t> &p_file, bool p_remap) {
- ExtraFile ef;
- ef.data = p_file;
- ef.path = p_path;
- ef.remap = p_remap;
- extra_files.push_back(ef);
-}
-
-void EditorExportPlugin::add_shared_object(const String &p_path, const Vector<String> &p_tags, const String &p_target) {
- shared_objects.push_back(SharedObject(p_path, p_tags, p_target));
-}
-
-void EditorExportPlugin::add_ios_framework(const String &p_path) {
- ios_frameworks.push_back(p_path);
-}
-
-void EditorExportPlugin::add_ios_embedded_framework(const String &p_path) {
- ios_embedded_frameworks.push_back(p_path);
-}
-
-Vector<String> EditorExportPlugin::get_ios_frameworks() const {
- return ios_frameworks;
-}
-
-Vector<String> EditorExportPlugin::get_ios_embedded_frameworks() const {
- return ios_embedded_frameworks;
-}
-
-void EditorExportPlugin::add_ios_plist_content(const String &p_plist_content) {
- ios_plist_content += p_plist_content + "\n";
-}
-
-String EditorExportPlugin::get_ios_plist_content() const {
- return ios_plist_content;
-}
-
-void EditorExportPlugin::add_ios_linker_flags(const String &p_flags) {
- if (ios_linker_flags.length() > 0) {
- ios_linker_flags += ' ';
- }
- ios_linker_flags += p_flags;
-}
-
-String EditorExportPlugin::get_ios_linker_flags() const {
- return ios_linker_flags;
-}
-
-void EditorExportPlugin::add_ios_bundle_file(const String &p_path) {
- ios_bundle_files.push_back(p_path);
-}
-
-Vector<String> EditorExportPlugin::get_ios_bundle_files() const {
- return ios_bundle_files;
-}
-
-void EditorExportPlugin::add_ios_cpp_code(const String &p_code) {
- ios_cpp_code += p_code;
-}
-
-String EditorExportPlugin::get_ios_cpp_code() const {
- return ios_cpp_code;
-}
-
-void EditorExportPlugin::add_osx_plugin_file(const String &p_path) {
- osx_plugin_files.push_back(p_path);
-}
-
-const Vector<String> &EditorExportPlugin::get_osx_plugin_files() const {
- return osx_plugin_files;
-}
-
-void EditorExportPlugin::add_ios_project_static_lib(const String &p_path) {
- ios_project_static_libs.push_back(p_path);
-}
-
-Vector<String> EditorExportPlugin::get_ios_project_static_libs() const {
- return ios_project_static_libs;
-}
-
-void EditorExportPlugin::_export_file_script(const String &p_path, const String &p_type, const Vector<String> &p_features) {
- GDVIRTUAL_CALL(_export_file, p_path, p_type, p_features);
-}
-
-void EditorExportPlugin::_export_begin_script(const Vector<String> &p_features, bool p_debug, const String &p_path, int p_flags) {
- GDVIRTUAL_CALL(_export_begin, p_features, p_debug, p_path, p_flags);
-}
-
-void EditorExportPlugin::_export_end_script() {
- GDVIRTUAL_CALL(_export_end);
-}
-
-void EditorExportPlugin::_export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) {
-}
-
-void EditorExportPlugin::_export_begin(const HashSet<String> &p_features, bool p_debug, const String &p_path, int p_flags) {
-}
-
-void EditorExportPlugin::skip() {
- skipped = true;
-}
-
-void EditorExportPlugin::_bind_methods() {
- ClassDB::bind_method(D_METHOD("add_shared_object", "path", "tags", "target"), &EditorExportPlugin::add_shared_object);
- ClassDB::bind_method(D_METHOD("add_ios_project_static_lib", "path"), &EditorExportPlugin::add_ios_project_static_lib);
- ClassDB::bind_method(D_METHOD("add_file", "path", "file", "remap"), &EditorExportPlugin::add_file);
- ClassDB::bind_method(D_METHOD("add_ios_framework", "path"), &EditorExportPlugin::add_ios_framework);
- ClassDB::bind_method(D_METHOD("add_ios_embedded_framework", "path"), &EditorExportPlugin::add_ios_embedded_framework);
- ClassDB::bind_method(D_METHOD("add_ios_plist_content", "plist_content"), &EditorExportPlugin::add_ios_plist_content);
- ClassDB::bind_method(D_METHOD("add_ios_linker_flags", "flags"), &EditorExportPlugin::add_ios_linker_flags);
- ClassDB::bind_method(D_METHOD("add_ios_bundle_file", "path"), &EditorExportPlugin::add_ios_bundle_file);
- ClassDB::bind_method(D_METHOD("add_ios_cpp_code", "code"), &EditorExportPlugin::add_ios_cpp_code);
- ClassDB::bind_method(D_METHOD("add_osx_plugin_file", "path"), &EditorExportPlugin::add_osx_plugin_file);
- ClassDB::bind_method(D_METHOD("skip"), &EditorExportPlugin::skip);
-
- GDVIRTUAL_BIND(_export_file, "path", "type", "features");
- GDVIRTUAL_BIND(_export_begin, "features", "is_debug", "path", "flags");
- GDVIRTUAL_BIND(_export_end);
-}
-
-EditorExportPlugin::EditorExportPlugin() {
-}
-
-EditorExportPlatform::FeatureContainers EditorExportPlatform::get_feature_containers(const Ref<EditorExportPreset> &p_preset, bool p_debug) {
+HashSet<String> EditorExportPlatform::get_features(const Ref<EditorExportPreset> &p_preset, bool p_debug) const {
Ref<EditorExportPlatform> platform = p_preset->get_platform();
List<String> feature_list;
platform->get_platform_features(&feature_list);
platform->get_preset_features(p_preset, &feature_list);
- FeatureContainers result;
+ HashSet<String> result;
for (const String &E : feature_list) {
- result.features.insert(E);
- result.features_pv.push_back(E);
+ result.insert(E);
}
if (p_debug) {
- result.features.insert("debug");
- result.features_pv.push_back("debug");
+ result.insert("debug");
} else {
- result.features.insert("release");
- result.features_pv.push_back("release");
+ result.insert("release");
}
if (!p_preset->get_custom_features().is_empty()) {
@@ -705,8 +452,7 @@ EditorExportPlatform::FeatureContainers EditorExportPlatform::get_feature_contai
for (int i = 0; i < tmp_custom_list.size(); i++) {
String f = tmp_custom_list[i].strip_edges();
if (!f.is_empty()) {
- result.features.insert(f);
- result.features_pv.push_back(f);
+ result.insert(f);
}
}
}
@@ -715,14 +461,18 @@ EditorExportPlatform::FeatureContainers EditorExportPlatform::get_feature_contai
}
EditorExportPlatform::ExportNotifier::ExportNotifier(EditorExportPlatform &p_platform, const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
- FeatureContainers features = p_platform.get_feature_containers(p_preset, p_debug);
+ HashSet<String> features = p_platform.get_features(p_preset, p_debug);
Vector<Ref<EditorExportPlugin>> export_plugins = EditorExport::get_singleton()->get_export_plugins();
//initial export plugin callback
for (int i = 0; i < export_plugins.size(); i++) {
if (export_plugins[i]->get_script_instance()) { //script based
- export_plugins.write[i]->_export_begin_script(features.features_pv, p_debug, p_path, p_flags);
+ PackedStringArray features_psa;
+ for (const String &feature : features) {
+ features_psa.push_back(feature);
+ }
+ export_plugins.write[i]->_export_begin_script(features_psa, p_debug, p_path, p_flags);
} else {
- export_plugins.write[i]->_export_begin(features.features, p_debug, p_path, p_flags);
+ export_plugins.write[i]->_export_begin(features, p_debug, p_path, p_flags);
}
}
}
@@ -871,9 +621,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
export_plugins.write[i]->_clear();
}
- FeatureContainers feature_containers = get_feature_containers(p_preset, p_debug);
- HashSet<String> &features = feature_containers.features;
- Vector<String> &features_pv = feature_containers.features_pv;
+ HashSet<String> features = get_features(p_preset, p_debug);
//store everything in the export medium
int idx = 0;
@@ -959,7 +707,11 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
bool do_export = true;
for (int i = 0; i < export_plugins.size(); i++) {
if (export_plugins[i]->get_script_instance()) { //script based
- export_plugins.write[i]->_export_file_script(path, type, features_pv);
+ PackedStringArray features_psa;
+ for (const String &feature : features) {
+ features_psa.push_back(feature);
+ }
+ export_plugins.write[i]->_export_file_script(path, type, features_psa);
} else {
export_plugins.write[i]->_export_file(path, type, features);
}
@@ -1134,7 +886,10 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b
String tmppath = EditorPaths::get_singleton()->get_cache_dir().plus_file("packtmp");
Ref<FileAccess> ftmp = FileAccess::open(tmppath, FileAccess::WRITE);
- ERR_FAIL_COND_V_MSG(ftmp.is_null(), ERR_CANT_CREATE, "Cannot create file '" + tmppath + "'.");
+ if (ftmp.is_null()) {
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Cannot create file \"%s\"."), tmppath));
+ return ERR_CANT_CREATE;
+ }
PackData pd;
pd.ep = &ep;
@@ -1149,7 +904,7 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b
if (err != OK) {
DirAccess::remove_file_or_error(tmppath);
- ERR_PRINT("Failed to export project files");
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), TTR("Failed to export project files."));
return err;
}
@@ -1162,14 +917,16 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b
f = FileAccess::open(p_path, FileAccess::WRITE);
if (f.is_null()) {
DirAccess::remove_file_or_error(tmppath);
- ERR_FAIL_V(ERR_CANT_CREATE);
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Can't open file to read from path \"%s\"."), tmppath));
+ return ERR_CANT_CREATE;
}
} else {
// Append to executable
f = FileAccess::open(p_path, FileAccess::READ_WRITE);
if (f.is_null()) {
DirAccess::remove_file_or_error(tmppath);
- ERR_FAIL_V(ERR_FILE_CANT_OPEN);
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Can't open executable file from path \"%s\"."), tmppath));
+ return ERR_FILE_CANT_OPEN;
}
f->seek_end();
@@ -1245,10 +1002,16 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b
}
}
fae.instantiate();
- ERR_FAIL_COND_V(fae.is_null(), ERR_SKIP);
+ if (fae.is_null()) {
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), TTR("Can't create encrypted file."));
+ return ERR_CANT_CREATE;
+ }
err = fae->open_and_parse(f, key, FileAccessEncrypted::MODE_WRITE_AES256, false);
- ERR_FAIL_COND_V(err != OK, ERR_SKIP);
+ if (err != OK) {
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), TTR("Can't open encrypted file to write."));
+ return ERR_CANT_CREATE;
+ }
fhead = fae;
}
@@ -1293,7 +1056,8 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b
ftmp = FileAccess::open(tmppath, FileAccess::READ);
if (ftmp.is_null()) {
DirAccess::remove_file_or_error(tmppath);
- ERR_FAIL_V_MSG(ERR_CANT_CREATE, "Can't open file to read from path '" + String(tmppath) + "'.");
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Can't open file to read from path \"%s\"."), tmppath));
+ return ERR_CANT_CREATE;
}
const int bufsize = 16384;
@@ -1344,7 +1108,7 @@ Error EditorExportPlatform::save_zip(const Ref<EditorExportPreset> &p_preset, bo
Error err = export_project_files(p_preset, p_debug, _save_zip_file, &zd);
if (err != OK && err != ERR_SKIP) {
- ERR_PRINT("Failed to export project files");
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Save ZIP"), TTR("Failed to export project files."));
}
zipClose(zip, nullptr);
@@ -1412,571 +1176,23 @@ void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags
}
}
-EditorExportPlatform::EditorExportPlatform() {
-}
-
-////
-
-EditorExport *EditorExport::singleton = nullptr;
-
-void EditorExport::_save() {
- Ref<ConfigFile> config;
- config.instantiate();
- for (int i = 0; i < export_presets.size(); i++) {
- Ref<EditorExportPreset> preset = export_presets[i];
- String section = "preset." + itos(i);
-
- config->set_value(section, "name", preset->get_name());
- config->set_value(section, "platform", preset->get_platform()->get_name());
- config->set_value(section, "runnable", preset->is_runnable());
- config->set_value(section, "custom_features", preset->get_custom_features());
-
- bool save_files = false;
- switch (preset->get_export_filter()) {
- case EditorExportPreset::EXPORT_ALL_RESOURCES: {
- config->set_value(section, "export_filter", "all_resources");
- } break;
- case EditorExportPreset::EXPORT_SELECTED_SCENES: {
- config->set_value(section, "export_filter", "scenes");
- save_files = true;
- } break;
- case EditorExportPreset::EXPORT_SELECTED_RESOURCES: {
- config->set_value(section, "export_filter", "resources");
- save_files = true;
- } break;
- case EditorExportPreset::EXCLUDE_SELECTED_RESOURCES: {
- config->set_value(section, "export_filter", "exclude");
- save_files = true;
- } break;
- }
-
- if (save_files) {
- Vector<String> export_files = preset->get_files_to_export();
- config->set_value(section, "export_files", export_files);
- }
- config->set_value(section, "include_filter", preset->get_include_filter());
- config->set_value(section, "exclude_filter", preset->get_exclude_filter());
- config->set_value(section, "export_path", preset->get_export_path());
- config->set_value(section, "encryption_include_filters", preset->get_enc_in_filter());
- config->set_value(section, "encryption_exclude_filters", preset->get_enc_ex_filter());
- config->set_value(section, "encrypt_pck", preset->get_enc_pck());
- config->set_value(section, "encrypt_directory", preset->get_enc_directory());
- config->set_value(section, "script_export_mode", preset->get_script_export_mode());
- config->set_value(section, "script_encryption_key", preset->get_script_encryption_key());
-
- String option_section = "preset." + itos(i) + ".options";
-
- for (const PropertyInfo &E : preset->get_properties()) {
- config->set_value(option_section, E.name, preset->get(E.name));
- }
- }
-
- config->save("res://export_presets.cfg");
-}
-
-void EditorExport::save_presets() {
- if (block_save) {
- return;
- }
- save_timer->start();
-}
-
-void EditorExport::_bind_methods() {
- ADD_SIGNAL(MethodInfo("export_presets_updated"));
-}
-
-void EditorExport::add_export_platform(const Ref<EditorExportPlatform> &p_platform) {
- export_platforms.push_back(p_platform);
-}
-
-int EditorExport::get_export_platform_count() {
- return export_platforms.size();
-}
-
-Ref<EditorExportPlatform> EditorExport::get_export_platform(int p_idx) {
- ERR_FAIL_INDEX_V(p_idx, export_platforms.size(), Ref<EditorExportPlatform>());
+bool EditorExportPlatform::can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
+ String templates_error;
+ bool valid_export_configuration = has_valid_export_configuration(p_preset, templates_error, r_missing_templates);
- return export_platforms[p_idx];
-}
+ String project_configuration_error;
+ bool valid_project_configuration = has_valid_project_configuration(p_preset, project_configuration_error);
-void EditorExport::add_export_preset(const Ref<EditorExportPreset> &p_preset, int p_at_pos) {
- if (p_at_pos < 0) {
- export_presets.push_back(p_preset);
- } else {
- export_presets.insert(p_at_pos, p_preset);
+ if (!templates_error.is_empty()) {
+ r_error += templates_error;
}
-}
-
-String EditorExportPlatform::test_etc2() const {
- const bool etc2_supported = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_etc2");
- if (!etc2_supported) {
- return TTR("Target platform requires 'ETC2' texture compression. Enable 'Import Etc 2' in Project Settings.");
+ if (!project_configuration_error.is_empty()) {
+ r_error += project_configuration_error;
}
- return String();
-}
-
-int EditorExport::get_export_preset_count() const {
- return export_presets.size();
-}
-
-Ref<EditorExportPreset> EditorExport::get_export_preset(int p_idx) {
- ERR_FAIL_INDEX_V(p_idx, export_presets.size(), Ref<EditorExportPreset>());
- return export_presets[p_idx];
-}
-
-void EditorExport::remove_export_preset(int p_idx) {
- export_presets.remove_at(p_idx);
- save_presets();
-}
-
-void EditorExport::add_export_plugin(const Ref<EditorExportPlugin> &p_plugin) {
- if (!export_plugins.has(p_plugin)) {
- export_plugins.push_back(p_plugin);
- }
-}
-
-void EditorExport::remove_export_plugin(const Ref<EditorExportPlugin> &p_plugin) {
- export_plugins.erase(p_plugin);
+ return valid_export_configuration && valid_project_configuration;
}
-Vector<Ref<EditorExportPlugin>> EditorExport::get_export_plugins() {
- return export_plugins;
-}
-
-void EditorExport::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_ENTER_TREE: {
- load_config();
- } break;
-
- case NOTIFICATION_PROCESS: {
- update_export_presets();
- } break;
- }
-}
-
-void EditorExport::load_config() {
- Ref<ConfigFile> config;
- config.instantiate();
- Error err = config->load("res://export_presets.cfg");
- if (err != OK) {
- return;
- }
-
- block_save = true;
-
- int index = 0;
- while (true) {
- String section = "preset." + itos(index);
- if (!config->has_section(section)) {
- break;
- }
-
- String platform = config->get_value(section, "platform");
-
- Ref<EditorExportPreset> preset;
-
- for (int i = 0; i < export_platforms.size(); i++) {
- if (export_platforms[i]->get_name() == platform) {
- preset = export_platforms.write[i]->create_preset();
- break;
- }
- }
-
- if (!preset.is_valid()) {
- index++;
- ERR_CONTINUE(!preset.is_valid());
- }
-
- preset->set_name(config->get_value(section, "name"));
- preset->set_runnable(config->get_value(section, "runnable"));
-
- if (config->has_section_key(section, "custom_features")) {
- preset->set_custom_features(config->get_value(section, "custom_features"));
- }
-
- String export_filter = config->get_value(section, "export_filter");
-
- bool get_files = false;
-
- if (export_filter == "all_resources") {
- preset->set_export_filter(EditorExportPreset::EXPORT_ALL_RESOURCES);
- } else if (export_filter == "scenes") {
- preset->set_export_filter(EditorExportPreset::EXPORT_SELECTED_SCENES);
- get_files = true;
- } else if (export_filter == "resources") {
- preset->set_export_filter(EditorExportPreset::EXPORT_SELECTED_RESOURCES);
- get_files = true;
- } else if (export_filter == "exclude") {
- preset->set_export_filter(EditorExportPreset::EXCLUDE_SELECTED_RESOURCES);
- get_files = true;
- }
-
- if (get_files) {
- Vector<String> files = config->get_value(section, "export_files");
-
- for (int i = 0; i < files.size(); i++) {
- if (!FileAccess::exists(files[i])) {
- preset->remove_export_file(files[i]);
- } else {
- preset->add_export_file(files[i]);
- }
- }
- }
-
- preset->set_include_filter(config->get_value(section, "include_filter"));
- preset->set_exclude_filter(config->get_value(section, "exclude_filter"));
- preset->set_export_path(config->get_value(section, "export_path", ""));
-
- if (config->has_section_key(section, "encrypt_pck")) {
- preset->set_enc_pck(config->get_value(section, "encrypt_pck"));
- }
- if (config->has_section_key(section, "encrypt_directory")) {
- preset->set_enc_directory(config->get_value(section, "encrypt_directory"));
- }
- if (config->has_section_key(section, "encryption_include_filters")) {
- preset->set_enc_in_filter(config->get_value(section, "encryption_include_filters"));
- }
- if (config->has_section_key(section, "encryption_exclude_filters")) {
- preset->set_enc_ex_filter(config->get_value(section, "encryption_exclude_filters"));
- }
- if (config->has_section_key(section, "script_export_mode")) {
- preset->set_script_export_mode(config->get_value(section, "script_export_mode"));
- }
- if (config->has_section_key(section, "script_encryption_key")) {
- preset->set_script_encryption_key(config->get_value(section, "script_encryption_key"));
- }
-
- String option_section = "preset." + itos(index) + ".options";
-
- List<String> options;
-
- config->get_section_keys(option_section, &options);
-
- for (const String &E : options) {
- Variant value = config->get_value(option_section, E);
-
- preset->set(E, value);
- }
-
- add_export_preset(preset);
- index++;
- }
-
- block_save = false;
-}
-
-void EditorExport::update_export_presets() {
- HashMap<StringName, List<EditorExportPlatform::ExportOption>> platform_options;
-
- for (int i = 0; i < export_platforms.size(); i++) {
- Ref<EditorExportPlatform> platform = export_platforms[i];
-
- if (platform->should_update_export_options()) {
- List<EditorExportPlatform::ExportOption> options;
- platform->get_export_options(&options);
-
- platform_options[platform->get_name()] = options;
- }
- }
-
- bool export_presets_updated = false;
- for (int i = 0; i < export_presets.size(); i++) {
- Ref<EditorExportPreset> preset = export_presets[i];
- if (platform_options.has(preset->get_platform()->get_name())) {
- export_presets_updated = true;
-
- List<EditorExportPlatform::ExportOption> options = platform_options[preset->get_platform()->get_name()];
-
- // Copy the previous preset values
- HashMap<StringName, Variant> previous_values = preset->values;
-
- // Clear the preset properties and values prior to reloading
- preset->properties.clear();
- preset->values.clear();
-
- for (const EditorExportPlatform::ExportOption &E : options) {
- preset->properties.push_back(E.option);
-
- StringName option_name = E.option.name;
- preset->values[option_name] = previous_values.has(option_name) ? previous_values[option_name] : E.default_value;
- }
- }
- }
-
- if (export_presets_updated) {
- emit_signal(_export_presets_updated);
- }
-}
-
-bool EditorExport::poll_export_platforms() {
- bool changed = false;
- for (int i = 0; i < export_platforms.size(); i++) {
- if (export_platforms.write[i]->poll_export()) {
- changed = true;
- }
- }
-
- return changed;
-}
-
-EditorExport::EditorExport() {
- save_timer = memnew(Timer);
- add_child(save_timer);
- save_timer->set_wait_time(0.8);
- save_timer->set_one_shot(true);
- save_timer->connect("timeout", callable_mp(this, &EditorExport::_save));
-
- _export_presets_updated = "export_presets_updated";
-
- singleton = this;
- set_process(true);
-}
-
-EditorExport::~EditorExport() {
-}
-
-//////////
-
-void EditorExportPlatformPC::get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) {
- if (p_preset->get("texture_format/s3tc")) {
- r_features->push_back("s3tc");
- }
- if (p_preset->get("texture_format/etc")) {
- r_features->push_back("etc");
- }
- if (p_preset->get("texture_format/etc2")) {
- r_features->push_back("etc2");
- }
-
- if (p_preset->get("binary_format/64_bits")) {
- r_features->push_back("64");
- } else {
- r_features->push_back("32");
- }
-}
-
-void EditorExportPlatformPC::get_export_options(List<ExportOption> *r_options) {
- String ext_filter = (get_os_name() == "Windows") ? "*.exe" : "";
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE, ext_filter), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE, ext_filter), ""));
-
- r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "debug/export_console_script", PROPERTY_HINT_ENUM, "No,Debug Only,Debug and Release"), 1));
-
- r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "binary_format/64_bits"), true));
- r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "binary_format/embed_pck"), false));
-
- r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/bptc"), false));
- r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/s3tc"), true));
- r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/etc"), false));
- r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/etc2"), false));
- r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/no_bptc_fallbacks"), true));
-}
-
-String EditorExportPlatformPC::get_name() const {
- return name;
-}
-
-String EditorExportPlatformPC::get_os_name() const {
- return os_name;
-}
-
-Ref<Texture2D> EditorExportPlatformPC::get_logo() const {
- return logo;
-}
-
-bool EditorExportPlatformPC::can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
- String err;
- bool valid = false;
-
- // Look for export templates (first official, and if defined custom templates).
-
- bool use64 = p_preset->get("binary_format/64_bits");
- bool dvalid = exists_export_template(get_template_file_name("debug", use64 ? "64" : "32"), &err);
- bool rvalid = exists_export_template(get_template_file_name("release", use64 ? "64" : "32"), &err);
-
- if (p_preset->get("custom_template/debug") != "") {
- dvalid = FileAccess::exists(p_preset->get("custom_template/debug"));
- if (!dvalid) {
- err += TTR("Custom debug template not found.") + "\n";
- }
- }
- if (p_preset->get("custom_template/release") != "") {
- rvalid = FileAccess::exists(p_preset->get("custom_template/release"));
- if (!rvalid) {
- err += TTR("Custom release template not found.") + "\n";
- }
- }
-
- valid = dvalid || rvalid;
- r_missing_templates = !valid;
-
- if (!err.is_empty()) {
- r_error = err;
- }
- return valid;
-}
-
-Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
- ExportNotifier notifier(*this, p_preset, p_debug, p_path, p_flags);
-
- Error err = prepare_template(p_preset, p_debug, p_path, p_flags);
- if (err == OK) {
- err = modify_template(p_preset, p_debug, p_path, p_flags);
- }
- if (err == OK) {
- err = export_project_data(p_preset, p_debug, p_path, p_flags);
- }
-
- return err;
-}
-
-Error EditorExportPlatformPC::prepare_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
- if (!DirAccess::exists(p_path.get_base_dir())) {
- return ERR_FILE_BAD_PATH;
- }
-
- String custom_debug = p_preset->get("custom_template/debug");
- String custom_release = p_preset->get("custom_template/release");
-
- String template_path = p_debug ? custom_debug : custom_release;
-
- template_path = template_path.strip_edges();
-
- if (template_path.is_empty()) {
- template_path = find_export_template(get_template_file_name(p_debug ? "debug" : "release", p_preset->get("binary_format/64_bits") ? "64" : "32"));
- }
-
- if (!template_path.is_empty() && !FileAccess::exists(template_path)) {
- EditorNode::get_singleton()->show_warning(TTR("Template file not found:") + "\n" + template_path);
- return ERR_FILE_NOT_FOUND;
- }
-
- Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
- da->make_dir_recursive(p_path.get_base_dir());
- Error err = da->copy(template_path, p_path, get_chmod_flags());
-
- return err;
-}
-
-Error EditorExportPlatformPC::export_project_data(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
- String pck_path;
- if (p_preset->get("binary_format/embed_pck")) {
- pck_path = p_path;
- } else {
- pck_path = p_path.get_basename() + ".pck";
- }
-
- Vector<SharedObject> so_files;
-
- int64_t embedded_pos;
- int64_t embedded_size;
- Error err = save_pack(p_preset, p_debug, pck_path, &so_files, p_preset->get("binary_format/embed_pck"), &embedded_pos, &embedded_size);
- if (err == OK && p_preset->get("binary_format/embed_pck")) {
- if (embedded_size >= 0x100000000 && !p_preset->get("binary_format/64_bits")) {
- EditorNode::get_singleton()->show_warning(TTR("On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."));
- return ERR_INVALID_PARAMETER;
- }
-
- err = fixup_embedded_pck(p_path, embedded_pos, embedded_size);
- }
-
- if (err == OK && !so_files.is_empty()) {
- // If shared object files, copy them.
- Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
- for (int i = 0; i < so_files.size() && err == OK; i++) {
- String src_path = ProjectSettings::get_singleton()->globalize_path(so_files[i].path);
- String target_path;
- if (so_files[i].target.is_empty()) {
- target_path = p_path.get_base_dir().plus_file(src_path.get_file());
- } else {
- target_path = p_path.get_base_dir().plus_file(so_files[i].target).plus_file(src_path.get_file());
- }
-
- if (da->dir_exists(src_path)) {
- err = da->make_dir_recursive(target_path);
- if (err == OK) {
- err = da->copy_dir(src_path, target_path, -1, true);
- }
- } else {
- err = da->copy(src_path, target_path);
- if (err == OK) {
- err = sign_shared_object(p_preset, p_debug, target_path);
- }
- }
- }
- }
-
- return err;
-}
-
-Error EditorExportPlatformPC::sign_shared_object(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path) {
- return OK;
-}
-
-void EditorExportPlatformPC::set_name(const String &p_name) {
- name = p_name;
-}
-
-void EditorExportPlatformPC::set_os_name(const String &p_name) {
- os_name = p_name;
-}
-
-void EditorExportPlatformPC::set_logo(const Ref<Texture2D> &p_logo) {
- logo = p_logo;
-}
-
-void EditorExportPlatformPC::get_platform_features(List<String> *r_features) {
- r_features->push_back("pc"); //all pcs support "pc"
- r_features->push_back("s3tc"); //all pcs support "s3tc" compression
- r_features->push_back(get_os_name().to_lower()); //OS name is a feature
-}
-
-void EditorExportPlatformPC::resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) {
- if (p_features.has("bptc")) {
- if (p_preset->has("texture_format/no_bptc_fallbacks")) {
- p_features.erase("s3tc");
- }
- }
-}
-
-int EditorExportPlatformPC::get_chmod_flags() const {
- return chmod_flags;
-}
-
-void EditorExportPlatformPC::set_chmod_flags(int p_flags) {
- chmod_flags = p_flags;
-}
-
-///////////////////////
-
-void EditorExportTextSceneToBinaryPlugin::_export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) {
- String extension = p_path.get_extension().to_lower();
- if (extension != "tres" && extension != "tscn") {
- return;
- }
-
- bool convert = GLOBAL_GET("editor/export/convert_text_resources_to_binary");
- if (!convert) {
- return;
- }
- String tmp_path = EditorPaths::get_singleton()->get_cache_dir().plus_file("tmpfile.res");
- Error err = ResourceFormatLoaderText::convert_file_to_binary(p_path, tmp_path);
- if (err != OK) {
- DirAccess::remove_file_or_error(tmp_path);
- ERR_FAIL();
- }
- Vector<uint8_t> data = FileAccess::get_file_as_array(tmp_path);
- if (data.size() == 0) {
- DirAccess::remove_file_or_error(tmp_path);
- ERR_FAIL();
- }
- DirAccess::remove_file_or_error(tmp_path);
- add_file(p_path + ".converted.res", data, true);
-}
-
-EditorExportTextSceneToBinaryPlugin::EditorExportTextSceneToBinaryPlugin() {
- GLOBAL_DEF("editor/export/convert_text_resources_to_binary", false);
+EditorExportPlatform::EditorExportPlatform() {
}
diff --git a/editor/export/editor_export_platform.h b/editor/export/editor_export_platform.h
new file mode 100644
index 0000000000..c870ee66aa
--- /dev/null
+++ b/editor/export/editor_export_platform.h
@@ -0,0 +1,218 @@
+/*************************************************************************/
+/* editor_export_platform.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_EXPORT_PLATFORM_H
+#define EDITOR_EXPORT_PLATFORM_H
+
+class EditorFileSystemDirectory;
+struct EditorProgress;
+
+#include "core/io/dir_access.h"
+#include "editor_export_preset.h"
+#include "editor_export_shared_object.h"
+#include "scene/gui/rich_text_label.h"
+#include "scene/main/node.h"
+
+class EditorExportPlatform : public RefCounted {
+ GDCLASS(EditorExportPlatform, RefCounted);
+
+public:
+ typedef Error (*EditorExportSaveFunction)(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
+ typedef Error (*EditorExportSaveSharedObject)(void *p_userdata, const SharedObject &p_so);
+
+ enum ExportMessageType {
+ EXPORT_MESSAGE_NONE,
+ EXPORT_MESSAGE_INFO,
+ EXPORT_MESSAGE_WARNING,
+ EXPORT_MESSAGE_ERROR,
+ };
+
+ struct ExportMessage {
+ ExportMessageType msg_type;
+ String category;
+ String text;
+ };
+
+private:
+ struct SavedData {
+ uint64_t ofs = 0;
+ uint64_t size = 0;
+ bool encrypted = false;
+ Vector<uint8_t> md5;
+ CharString path_utf8;
+
+ bool operator<(const SavedData &p_data) const {
+ return path_utf8 < p_data.path_utf8;
+ }
+ };
+
+ struct PackData {
+ Ref<FileAccess> f;
+ Vector<SavedData> file_ofs;
+ EditorProgress *ep = nullptr;
+ Vector<SharedObject> *so_files = nullptr;
+ };
+
+ struct ZipData {
+ void *zip = nullptr;
+ EditorProgress *ep = nullptr;
+ };
+
+ Vector<ExportMessage> messages;
+
+ void _export_find_resources(EditorFileSystemDirectory *p_dir, HashSet<String> &p_paths);
+ void _export_find_dependencies(const String &p_path, HashSet<String> &p_paths);
+
+ void gen_debug_flags(Vector<String> &r_flags, int p_flags);
+ static Error _save_pack_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
+ static Error _save_zip_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
+
+ void _edit_files_with_filter(Ref<DirAccess> &da, const Vector<String> &p_filters, HashSet<String> &r_list, bool exclude);
+ void _edit_filter_list(HashSet<String> &r_list, const String &p_filter, bool exclude);
+
+ static Error _add_shared_object(void *p_userdata, const SharedObject &p_so);
+
+protected:
+ struct ExportNotifier {
+ ExportNotifier(EditorExportPlatform &p_platform, const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags);
+ ~ExportNotifier();
+ };
+
+ HashSet<String> get_features(const Ref<EditorExportPreset> &p_preset, bool p_debug) const;
+
+ bool exists_export_template(String template_file_name, String *err) const;
+ String find_export_template(String template_file_name, String *err = nullptr) const;
+ void gen_export_flags(Vector<String> &r_flags, int p_flags);
+
+public:
+ virtual void get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) const = 0;
+
+ struct ExportOption {
+ PropertyInfo option;
+ Variant default_value;
+
+ ExportOption(const PropertyInfo &p_info, const Variant &p_default) :
+ option(p_info),
+ default_value(p_default) {
+ }
+ ExportOption() {}
+ };
+
+ virtual Ref<EditorExportPreset> create_preset();
+
+ virtual void clear_messages() { messages.clear(); }
+ virtual void add_message(ExportMessageType p_type, const String &p_category, const String &p_message) {
+ ExportMessage msg;
+ msg.category = p_category;
+ msg.text = p_message;
+ msg.msg_type = p_type;
+ messages.push_back(msg);
+ switch (p_type) {
+ case EXPORT_MESSAGE_INFO: {
+ print_line(vformat("%s: %s\n", msg.category, msg.text));
+ } break;
+ case EXPORT_MESSAGE_WARNING: {
+ WARN_PRINT(vformat("%s: %s\n", msg.category, msg.text));
+ } break;
+ case EXPORT_MESSAGE_ERROR: {
+ ERR_PRINT(vformat("%s: %s\n", msg.category, msg.text));
+ } break;
+ default:
+ break;
+ }
+ }
+
+ virtual int get_message_count() const {
+ return messages.size();
+ }
+
+ virtual ExportMessage get_message(int p_index) const {
+ ERR_FAIL_INDEX_V(p_index, messages.size(), ExportMessage());
+ return messages[p_index];
+ }
+
+ virtual ExportMessageType get_worst_message_type() const {
+ ExportMessageType worst_type = EXPORT_MESSAGE_NONE;
+ for (int i = 0; i < messages.size(); i++) {
+ worst_type = MAX(worst_type, messages[i].msg_type);
+ }
+ return worst_type;
+ }
+
+ virtual bool fill_log_messages(RichTextLabel *p_log, Error p_err);
+
+ virtual void get_export_options(List<ExportOption> *r_options) = 0;
+ virtual bool should_update_export_options() { return false; }
+ virtual bool get_export_option_visibility(const String &p_option, const HashMap<StringName, Variant> &p_options) const { return true; }
+
+ virtual String get_os_name() const = 0;
+ virtual String get_name() const = 0;
+ virtual Ref<Texture2D> get_logo() const = 0;
+
+ Error export_project_files(const Ref<EditorExportPreset> &p_preset, bool p_debug, EditorExportSaveFunction p_func, void *p_udata, EditorExportSaveSharedObject p_so_func = nullptr);
+
+ Error save_pack(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, Vector<SharedObject> *p_so_files = nullptr, bool p_embed = false, int64_t *r_embedded_start = nullptr, int64_t *r_embedded_size = nullptr);
+ Error save_zip(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path);
+
+ virtual bool poll_export() { return false; }
+ virtual int get_options_count() const { return 0; }
+ virtual String get_options_tooltip() const { return ""; }
+ virtual Ref<ImageTexture> get_option_icon(int p_index) const;
+ virtual String get_option_label(int p_device) const { return ""; }
+ virtual String get_option_tooltip(int p_device) const { return ""; }
+
+ enum DebugFlags {
+ DEBUG_FLAG_DUMB_CLIENT = 1,
+ DEBUG_FLAG_REMOTE_DEBUG = 2,
+ DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST = 4,
+ DEBUG_FLAG_VIEW_COLLISONS = 8,
+ DEBUG_FLAG_VIEW_NAVIGATION = 16,
+ };
+
+ virtual Error run(const Ref<EditorExportPreset> &p_preset, int p_device, int p_debug_flags) { return OK; }
+ virtual Ref<Texture2D> get_run_icon() const { return get_logo(); }
+
+ String test_etc2() const;
+ bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const;
+ virtual bool has_valid_export_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const = 0;
+ virtual bool has_valid_project_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error) const = 0;
+
+ virtual List<String> get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const = 0;
+ virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) = 0;
+ virtual Error export_pack(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
+ virtual Error export_zip(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
+ virtual void get_platform_features(List<String> *r_features) const = 0;
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) = 0;
+ virtual String get_debug_protocol() const { return "tcp://"; }
+
+ EditorExportPlatform();
+};
+
+#endif // EDITOR_EXPORT_PLATFORM_H
diff --git a/editor/export/editor_export_platform_pc.cpp b/editor/export/editor_export_platform_pc.cpp
new file mode 100644
index 0000000000..9fca4c908a
--- /dev/null
+++ b/editor/export/editor_export_platform_pc.cpp
@@ -0,0 +1,246 @@
+/*************************************************************************/
+/* editor_export_platform_pc.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "editor_export_platform_pc.h"
+
+#include "core/config/project_settings.h"
+
+void EditorExportPlatformPC::get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) const {
+ if (p_preset->get("texture_format/s3tc")) {
+ r_features->push_back("s3tc");
+ }
+ if (p_preset->get("texture_format/etc")) {
+ r_features->push_back("etc");
+ }
+ if (p_preset->get("texture_format/etc2")) {
+ r_features->push_back("etc2");
+ }
+ // PC platforms only have one architecture per export, since
+ // we export a single executable instead of a bundle.
+ r_features->push_back(p_preset->get("binary_format/architecture"));
+}
+
+void EditorExportPlatformPC::get_export_options(List<ExportOption> *r_options) {
+ String ext_filter = (get_os_name() == "Windows") ? "*.exe" : "";
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE, ext_filter), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE, ext_filter), ""));
+
+ r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "debug/export_console_script", PROPERTY_HINT_ENUM, "No,Debug Only,Debug and Release"), 1));
+
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "binary_format/embed_pck"), false));
+
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/bptc"), false));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/s3tc"), true));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/etc"), false));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/etc2"), false));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/no_bptc_fallbacks"), true));
+}
+
+String EditorExportPlatformPC::get_name() const {
+ return name;
+}
+
+String EditorExportPlatformPC::get_os_name() const {
+ return os_name;
+}
+
+Ref<Texture2D> EditorExportPlatformPC::get_logo() const {
+ return logo;
+}
+
+bool EditorExportPlatformPC::has_valid_export_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
+ String err;
+ bool valid = false;
+
+ // Look for export templates (first official, and if defined custom templates).
+ String arch = p_preset->get("binary_format/architecture");
+ bool dvalid = exists_export_template(get_template_file_name("debug", arch), &err);
+ bool rvalid = exists_export_template(get_template_file_name("release", arch), &err);
+
+ if (p_preset->get("custom_template/debug") != "") {
+ dvalid = FileAccess::exists(p_preset->get("custom_template/debug"));
+ if (!dvalid) {
+ err += TTR("Custom debug template not found.") + "\n";
+ }
+ }
+ if (p_preset->get("custom_template/release") != "") {
+ rvalid = FileAccess::exists(p_preset->get("custom_template/release"));
+ if (!rvalid) {
+ err += TTR("Custom release template not found.") + "\n";
+ }
+ }
+
+ valid = dvalid || rvalid;
+ r_missing_templates = !valid;
+
+ if (!err.is_empty()) {
+ r_error = err;
+ }
+ return valid;
+}
+
+bool EditorExportPlatformPC::has_valid_project_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error) const {
+ return true;
+}
+
+Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
+ ExportNotifier notifier(*this, p_preset, p_debug, p_path, p_flags);
+
+ Error err = prepare_template(p_preset, p_debug, p_path, p_flags);
+ if (err == OK) {
+ err = modify_template(p_preset, p_debug, p_path, p_flags);
+ }
+ if (err == OK) {
+ err = export_project_data(p_preset, p_debug, p_path, p_flags);
+ }
+
+ return err;
+}
+
+Error EditorExportPlatformPC::prepare_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
+ if (!DirAccess::exists(p_path.get_base_dir())) {
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("The given export path doesn't exist."));
+ return ERR_FILE_BAD_PATH;
+ }
+
+ String custom_debug = p_preset->get("custom_template/debug");
+ String custom_release = p_preset->get("custom_template/release");
+
+ String template_path = p_debug ? custom_debug : custom_release;
+
+ template_path = template_path.strip_edges();
+
+ if (template_path.is_empty()) {
+ template_path = find_export_template(get_template_file_name(p_debug ? "debug" : "release", p_preset->get("binary_format/architecture")));
+ }
+
+ if (!template_path.is_empty() && !FileAccess::exists(template_path)) {
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), vformat(TTR("Template file not found: \"%s\"."), template_path));
+ return ERR_FILE_NOT_FOUND;
+ }
+
+ Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
+ da->make_dir_recursive(p_path.get_base_dir());
+ Error err = da->copy(template_path, p_path, get_chmod_flags());
+ if (err != OK) {
+ add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("Failed to copy export template."));
+ }
+
+ return err;
+}
+
+Error EditorExportPlatformPC::export_project_data(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
+ String pck_path;
+ if (p_preset->get("binary_format/embed_pck")) {
+ pck_path = p_path;
+ } else {
+ pck_path = p_path.get_basename() + ".pck";
+ }
+
+ Vector<SharedObject> so_files;
+
+ int64_t embedded_pos;
+ int64_t embedded_size;
+ Error err = save_pack(p_preset, p_debug, pck_path, &so_files, p_preset->get("binary_format/embed_pck"), &embedded_pos, &embedded_size);
+ if (err == OK && p_preset->get("binary_format/embed_pck")) {
+ if (embedded_size >= 0x100000000 && String(p_preset->get("binary_format/architecture")).contains("32")) {
+ add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."));
+ return ERR_INVALID_PARAMETER;
+ }
+
+ err = fixup_embedded_pck(p_path, embedded_pos, embedded_size);
+ }
+
+ if (err == OK && !so_files.is_empty()) {
+ // If shared object files, copy them.
+ Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
+ for (int i = 0; i < so_files.size() && err == OK; i++) {
+ String src_path = ProjectSettings::get_singleton()->globalize_path(so_files[i].path);
+ String target_path;
+ if (so_files[i].target.is_empty()) {
+ target_path = p_path.get_base_dir().plus_file(src_path.get_file());
+ } else {
+ target_path = p_path.get_base_dir().plus_file(so_files[i].target).plus_file(src_path.get_file());
+ }
+
+ if (da->dir_exists(src_path)) {
+ err = da->make_dir_recursive(target_path);
+ if (err == OK) {
+ err = da->copy_dir(src_path, target_path, -1, true);
+ }
+ } else {
+ err = da->copy(src_path, target_path);
+ if (err == OK) {
+ err = sign_shared_object(p_preset, p_debug, target_path);
+ }
+ }
+ }
+ }
+
+ return err;
+}
+
+Error EditorExportPlatformPC::sign_shared_object(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path) {
+ return OK;
+}
+
+void EditorExportPlatformPC::set_name(const String &p_name) {
+ name = p_name;
+}
+
+void EditorExportPlatformPC::set_os_name(const String &p_name) {
+ os_name = p_name;
+}
+
+void EditorExportPlatformPC::set_logo(const Ref<Texture2D> &p_logo) {
+ logo = p_logo;
+}
+
+void EditorExportPlatformPC::get_platform_features(List<String> *r_features) const {
+ r_features->push_back("pc"); //all pcs support "pc"
+ r_features->push_back("s3tc"); //all pcs support "s3tc" compression
+ r_features->push_back(get_os_name().to_lower()); //OS name is a feature
+}
+
+void EditorExportPlatformPC::resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) {
+ if (p_features.has("bptc")) {
+ if (p_preset->has("texture_format/no_bptc_fallbacks")) {
+ p_features.erase("s3tc");
+ }
+ }
+}
+
+int EditorExportPlatformPC::get_chmod_flags() const {
+ return chmod_flags;
+}
+
+void EditorExportPlatformPC::set_chmod_flags(int p_flags) {
+ chmod_flags = p_flags;
+}
diff --git a/editor/export/editor_export_platform_pc.h b/editor/export/editor_export_platform_pc.h
new file mode 100644
index 0000000000..cf96db6c2d
--- /dev/null
+++ b/editor/export/editor_export_platform_pc.h
@@ -0,0 +1,83 @@
+/*************************************************************************/
+/* editor_export_platform_pc.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_EXPORT_PLATFORM_PC_H
+#define EDITOR_EXPORT_PLATFORM_PC_H
+
+#include "editor_export_platform.h"
+
+class EditorExportPlatformPC : public EditorExportPlatform {
+ GDCLASS(EditorExportPlatformPC, EditorExportPlatform);
+
+private:
+ Ref<ImageTexture> logo;
+ String name;
+ String os_name;
+
+ int chmod_flags = -1;
+
+public:
+ virtual void get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) const override;
+
+ virtual void get_export_options(List<ExportOption> *r_options) override;
+
+ virtual String get_name() const override;
+ virtual String get_os_name() const override;
+ virtual Ref<Texture2D> get_logo() const override;
+
+ virtual bool has_valid_export_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const override;
+ virtual bool has_valid_project_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error) const override;
+ virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override;
+ virtual Error sign_shared_object(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path);
+ virtual String get_template_file_name(const String &p_target, const String &p_arch) const = 0;
+
+ virtual Error prepare_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags);
+ virtual Error modify_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) { return OK; };
+ virtual Error export_project_data(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags);
+
+ void set_extension(const String &p_extension, const String &p_feature_key = "default");
+ void set_name(const String &p_name);
+ void set_os_name(const String &p_name);
+
+ void set_logo(const Ref<Texture2D> &p_logo);
+
+ void add_platform_feature(const String &p_feature);
+ virtual void get_platform_features(List<String> *r_features) const override;
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) override;
+
+ int get_chmod_flags() const;
+ void set_chmod_flags(int p_flags);
+
+ virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) {
+ return Error::OK;
+ }
+};
+
+#endif // EDITOR_EXPORT_PLATFORM_PC_H
diff --git a/editor/export/editor_export_plugin.cpp b/editor/export/editor_export_plugin.cpp
new file mode 100644
index 0000000000..cf3a9b0810
--- /dev/null
+++ b/editor/export/editor_export_plugin.cpp
@@ -0,0 +1,201 @@
+/*************************************************************************/
+/* editor_export_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "editor_export_plugin.h"
+
+#include "core/config/project_settings.h"
+#include "core/io/dir_access.h"
+#include "core/io/file_access.h"
+#include "editor/editor_paths.h"
+#include "editor/export/editor_export_platform.h"
+#include "scene/resources/resource_format_text.h"
+
+void EditorExportPlugin::set_export_preset(const Ref<EditorExportPreset> &p_preset) {
+ if (p_preset.is_valid()) {
+ export_preset = p_preset;
+ }
+}
+
+Ref<EditorExportPreset> EditorExportPlugin::get_export_preset() const {
+ return export_preset;
+}
+
+void EditorExportPlugin::add_file(const String &p_path, const Vector<uint8_t> &p_file, bool p_remap) {
+ ExtraFile ef;
+ ef.data = p_file;
+ ef.path = p_path;
+ ef.remap = p_remap;
+ extra_files.push_back(ef);
+}
+
+void EditorExportPlugin::add_shared_object(const String &p_path, const Vector<String> &p_tags, const String &p_target) {
+ shared_objects.push_back(SharedObject(p_path, p_tags, p_target));
+}
+
+void EditorExportPlugin::add_ios_framework(const String &p_path) {
+ ios_frameworks.push_back(p_path);
+}
+
+void EditorExportPlugin::add_ios_embedded_framework(const String &p_path) {
+ ios_embedded_frameworks.push_back(p_path);
+}
+
+Vector<String> EditorExportPlugin::get_ios_frameworks() const {
+ return ios_frameworks;
+}
+
+Vector<String> EditorExportPlugin::get_ios_embedded_frameworks() const {
+ return ios_embedded_frameworks;
+}
+
+void EditorExportPlugin::add_ios_plist_content(const String &p_plist_content) {
+ ios_plist_content += p_plist_content + "\n";
+}
+
+String EditorExportPlugin::get_ios_plist_content() const {
+ return ios_plist_content;
+}
+
+void EditorExportPlugin::add_ios_linker_flags(const String &p_flags) {
+ if (ios_linker_flags.length() > 0) {
+ ios_linker_flags += ' ';
+ }
+ ios_linker_flags += p_flags;
+}
+
+String EditorExportPlugin::get_ios_linker_flags() const {
+ return ios_linker_flags;
+}
+
+void EditorExportPlugin::add_ios_bundle_file(const String &p_path) {
+ ios_bundle_files.push_back(p_path);
+}
+
+Vector<String> EditorExportPlugin::get_ios_bundle_files() const {
+ return ios_bundle_files;
+}
+
+void EditorExportPlugin::add_ios_cpp_code(const String &p_code) {
+ ios_cpp_code += p_code;
+}
+
+String EditorExportPlugin::get_ios_cpp_code() const {
+ return ios_cpp_code;
+}
+
+void EditorExportPlugin::add_macos_plugin_file(const String &p_path) {
+ macos_plugin_files.push_back(p_path);
+}
+
+const Vector<String> &EditorExportPlugin::get_macos_plugin_files() const {
+ return macos_plugin_files;
+}
+
+void EditorExportPlugin::add_ios_project_static_lib(const String &p_path) {
+ ios_project_static_libs.push_back(p_path);
+}
+
+Vector<String> EditorExportPlugin::get_ios_project_static_libs() const {
+ return ios_project_static_libs;
+}
+
+void EditorExportPlugin::_export_file_script(const String &p_path, const String &p_type, const Vector<String> &p_features) {
+ GDVIRTUAL_CALL(_export_file, p_path, p_type, p_features);
+}
+
+void EditorExportPlugin::_export_begin_script(const Vector<String> &p_features, bool p_debug, const String &p_path, int p_flags) {
+ GDVIRTUAL_CALL(_export_begin, p_features, p_debug, p_path, p_flags);
+}
+
+void EditorExportPlugin::_export_end_script() {
+ GDVIRTUAL_CALL(_export_end);
+}
+
+void EditorExportPlugin::_export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) {
+}
+
+void EditorExportPlugin::_export_begin(const HashSet<String> &p_features, bool p_debug, const String &p_path, int p_flags) {
+}
+
+void EditorExportPlugin::skip() {
+ skipped = true;
+}
+
+void EditorExportPlugin::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("add_shared_object", "path", "tags", "target"), &EditorExportPlugin::add_shared_object);
+ ClassDB::bind_method(D_METHOD("add_ios_project_static_lib", "path"), &EditorExportPlugin::add_ios_project_static_lib);
+ ClassDB::bind_method(D_METHOD("add_file", "path", "file", "remap"), &EditorExportPlugin::add_file);
+ ClassDB::bind_method(D_METHOD("add_ios_framework", "path"), &EditorExportPlugin::add_ios_framework);
+ ClassDB::bind_method(D_METHOD("add_ios_embedded_framework", "path"), &EditorExportPlugin::add_ios_embedded_framework);
+ ClassDB::bind_method(D_METHOD("add_ios_plist_content", "plist_content"), &EditorExportPlugin::add_ios_plist_content);
+ ClassDB::bind_method(D_METHOD("add_ios_linker_flags", "flags"), &EditorExportPlugin::add_ios_linker_flags);
+ ClassDB::bind_method(D_METHOD("add_ios_bundle_file", "path"), &EditorExportPlugin::add_ios_bundle_file);
+ ClassDB::bind_method(D_METHOD("add_ios_cpp_code", "code"), &EditorExportPlugin::add_ios_cpp_code);
+ ClassDB::bind_method(D_METHOD("add_macos_plugin_file", "path"), &EditorExportPlugin::add_macos_plugin_file);
+ ClassDB::bind_method(D_METHOD("skip"), &EditorExportPlugin::skip);
+
+ GDVIRTUAL_BIND(_export_file, "path", "type", "features");
+ GDVIRTUAL_BIND(_export_begin, "features", "is_debug", "path", "flags");
+ GDVIRTUAL_BIND(_export_end);
+}
+
+EditorExportPlugin::EditorExportPlugin() {
+}
+
+///////////////////////
+
+void EditorExportTextSceneToBinaryPlugin::_export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) {
+ String extension = p_path.get_extension().to_lower();
+ if (extension != "tres" && extension != "tscn") {
+ return;
+ }
+
+ bool convert = GLOBAL_GET("editor/export/convert_text_resources_to_binary");
+ if (!convert) {
+ return;
+ }
+ String tmp_path = EditorPaths::get_singleton()->get_cache_dir().plus_file("tmpfile.res");
+ Error err = ResourceFormatLoaderText::convert_file_to_binary(p_path, tmp_path);
+ if (err != OK) {
+ DirAccess::remove_file_or_error(tmp_path);
+ ERR_FAIL();
+ }
+ Vector<uint8_t> data = FileAccess::get_file_as_array(tmp_path);
+ if (data.size() == 0) {
+ DirAccess::remove_file_or_error(tmp_path);
+ ERR_FAIL();
+ }
+ DirAccess::remove_file_or_error(tmp_path);
+ add_file(p_path + ".converted.res", data, true);
+}
+
+EditorExportTextSceneToBinaryPlugin::EditorExportTextSceneToBinaryPlugin() {
+ GLOBAL_DEF("editor/export/convert_text_resources_to_binary", false);
+}
diff --git a/editor/export/editor_export_plugin.h b/editor/export/editor_export_plugin.h
new file mode 100644
index 0000000000..04ebc1dfed
--- /dev/null
+++ b/editor/export/editor_export_plugin.h
@@ -0,0 +1,132 @@
+/*************************************************************************/
+/* editor_export_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_EXPORT_PLUGIN_H
+#define EDITOR_EXPORT_PLUGIN_H
+
+#include "core/extension/native_extension.h"
+#include "editor_export_preset.h"
+#include "editor_export_shared_object.h"
+
+class EditorExportPlugin : public RefCounted {
+ GDCLASS(EditorExportPlugin, RefCounted);
+
+ friend class EditorExportPlatform;
+
+ Ref<EditorExportPreset> export_preset;
+
+ Vector<SharedObject> shared_objects;
+ struct ExtraFile {
+ String path;
+ Vector<uint8_t> data;
+ bool remap = false;
+ };
+ Vector<ExtraFile> extra_files;
+ bool skipped = false;
+
+ Vector<String> ios_frameworks;
+ Vector<String> ios_embedded_frameworks;
+ Vector<String> ios_project_static_libs;
+ String ios_plist_content;
+ String ios_linker_flags;
+ Vector<String> ios_bundle_files;
+ String ios_cpp_code;
+
+ Vector<String> macos_plugin_files;
+
+ _FORCE_INLINE_ void _clear() {
+ shared_objects.clear();
+ extra_files.clear();
+ skipped = false;
+ }
+
+ _FORCE_INLINE_ void _export_end() {
+ ios_frameworks.clear();
+ ios_embedded_frameworks.clear();
+ ios_bundle_files.clear();
+ ios_plist_content = "";
+ ios_linker_flags = "";
+ ios_cpp_code = "";
+ macos_plugin_files.clear();
+ }
+
+ void _export_file_script(const String &p_path, const String &p_type, const Vector<String> &p_features);
+ void _export_begin_script(const Vector<String> &p_features, bool p_debug, const String &p_path, int p_flags);
+ void _export_end_script();
+
+protected:
+ void set_export_preset(const Ref<EditorExportPreset> &p_preset);
+ Ref<EditorExportPreset> get_export_preset() const;
+
+ void add_file(const String &p_path, const Vector<uint8_t> &p_file, bool p_remap);
+ void add_shared_object(const String &p_path, const Vector<String> &tags, const String &p_target = String());
+
+ void add_ios_framework(const String &p_path);
+ void add_ios_embedded_framework(const String &p_path);
+ void add_ios_project_static_lib(const String &p_path);
+ void add_ios_plist_content(const String &p_plist_content);
+ void add_ios_linker_flags(const String &p_flags);
+ void add_ios_bundle_file(const String &p_path);
+ void add_ios_cpp_code(const String &p_code);
+ void add_macos_plugin_file(const String &p_path);
+
+ void skip();
+
+ virtual void _export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features);
+ virtual void _export_begin(const HashSet<String> &p_features, bool p_debug, const String &p_path, int p_flags);
+
+ static void _bind_methods();
+
+ GDVIRTUAL3(_export_file, String, String, Vector<String>)
+ GDVIRTUAL4(_export_begin, Vector<String>, bool, String, uint32_t)
+ GDVIRTUAL0(_export_end)
+
+public:
+ Vector<String> get_ios_frameworks() const;
+ Vector<String> get_ios_embedded_frameworks() const;
+ Vector<String> get_ios_project_static_libs() const;
+ String get_ios_plist_content() const;
+ String get_ios_linker_flags() const;
+ Vector<String> get_ios_bundle_files() const;
+ String get_ios_cpp_code() const;
+ const Vector<String> &get_macos_plugin_files() const;
+
+ EditorExportPlugin();
+};
+
+class EditorExportTextSceneToBinaryPlugin : public EditorExportPlugin {
+ GDCLASS(EditorExportTextSceneToBinaryPlugin, EditorExportPlugin);
+
+public:
+ virtual void _export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) override;
+ EditorExportTextSceneToBinaryPlugin();
+};
+
+#endif // EDITOR_EXPORT_PLUGIN_H
diff --git a/editor/export/editor_export_preset.cpp b/editor/export/editor_export_preset.cpp
new file mode 100644
index 0000000000..cdf69e727d
--- /dev/null
+++ b/editor/export/editor_export_preset.cpp
@@ -0,0 +1,221 @@
+/*************************************************************************/
+/* editor_export_preset.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "editor_export.h"
+
+bool EditorExportPreset::_set(const StringName &p_name, const Variant &p_value) {
+ if (values.has(p_name)) {
+ values[p_name] = p_value;
+ EditorExport::singleton->save_presets();
+ return true;
+ }
+
+ return false;
+}
+
+bool EditorExportPreset::_get(const StringName &p_name, Variant &r_ret) const {
+ if (values.has(p_name)) {
+ r_ret = values[p_name];
+ return true;
+ }
+
+ return false;
+}
+
+void EditorExportPreset::_get_property_list(List<PropertyInfo> *p_list) const {
+ for (const PropertyInfo &E : properties) {
+ if (platform->get_export_option_visibility(E.name, values)) {
+ p_list->push_back(E);
+ }
+ }
+}
+
+Ref<EditorExportPlatform> EditorExportPreset::get_platform() const {
+ return platform;
+}
+
+void EditorExportPreset::update_files_to_export() {
+ Vector<String> to_remove;
+ for (const String &E : selected_files) {
+ if (!FileAccess::exists(E)) {
+ to_remove.push_back(E);
+ }
+ }
+ for (int i = 0; i < to_remove.size(); ++i) {
+ selected_files.erase(to_remove[i]);
+ }
+}
+
+Vector<String> EditorExportPreset::get_files_to_export() const {
+ Vector<String> files;
+ for (const String &E : selected_files) {
+ files.push_back(E);
+ }
+ return files;
+}
+
+void EditorExportPreset::set_name(const String &p_name) {
+ name = p_name;
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_name() const {
+ return name;
+}
+
+void EditorExportPreset::set_runnable(bool p_enable) {
+ runnable = p_enable;
+ EditorExport::singleton->save_presets();
+}
+
+bool EditorExportPreset::is_runnable() const {
+ return runnable;
+}
+
+void EditorExportPreset::set_export_filter(ExportFilter p_filter) {
+ export_filter = p_filter;
+ EditorExport::singleton->save_presets();
+}
+
+EditorExportPreset::ExportFilter EditorExportPreset::get_export_filter() const {
+ return export_filter;
+}
+
+void EditorExportPreset::set_include_filter(const String &p_include) {
+ include_filter = p_include;
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_include_filter() const {
+ return include_filter;
+}
+
+void EditorExportPreset::set_export_path(const String &p_path) {
+ export_path = p_path;
+ /* NOTE(SonerSound): if there is a need to implement a PropertyHint that specifically indicates a relative path,
+ * this should be removed. */
+ if (export_path.is_absolute_path()) {
+ String res_path = OS::get_singleton()->get_resource_dir();
+ export_path = res_path.path_to_file(export_path);
+ }
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_export_path() const {
+ return export_path;
+}
+
+void EditorExportPreset::set_exclude_filter(const String &p_exclude) {
+ exclude_filter = p_exclude;
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_exclude_filter() const {
+ return exclude_filter;
+}
+
+void EditorExportPreset::add_export_file(const String &p_path) {
+ selected_files.insert(p_path);
+ EditorExport::singleton->save_presets();
+}
+
+void EditorExportPreset::remove_export_file(const String &p_path) {
+ selected_files.erase(p_path);
+ EditorExport::singleton->save_presets();
+}
+
+bool EditorExportPreset::has_export_file(const String &p_path) {
+ return selected_files.has(p_path);
+}
+
+void EditorExportPreset::set_custom_features(const String &p_custom_features) {
+ custom_features = p_custom_features;
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_custom_features() const {
+ return custom_features;
+}
+
+void EditorExportPreset::set_enc_in_filter(const String &p_filter) {
+ enc_in_filters = p_filter;
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_enc_in_filter() const {
+ return enc_in_filters;
+}
+
+void EditorExportPreset::set_enc_ex_filter(const String &p_filter) {
+ enc_ex_filters = p_filter;
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_enc_ex_filter() const {
+ return enc_ex_filters;
+}
+
+void EditorExportPreset::set_enc_pck(bool p_enabled) {
+ enc_pck = p_enabled;
+ EditorExport::singleton->save_presets();
+}
+
+bool EditorExportPreset::get_enc_pck() const {
+ return enc_pck;
+}
+
+void EditorExportPreset::set_enc_directory(bool p_enabled) {
+ enc_directory = p_enabled;
+ EditorExport::singleton->save_presets();
+}
+
+bool EditorExportPreset::get_enc_directory() const {
+ return enc_directory;
+}
+
+void EditorExportPreset::set_script_export_mode(int p_mode) {
+ script_mode = p_mode;
+ EditorExport::singleton->save_presets();
+}
+
+int EditorExportPreset::get_script_export_mode() const {
+ return script_mode;
+}
+
+void EditorExportPreset::set_script_encryption_key(const String &p_key) {
+ script_key = p_key;
+ EditorExport::singleton->save_presets();
+}
+
+String EditorExportPreset::get_script_encryption_key() const {
+ return script_key;
+}
+
+EditorExportPreset::EditorExportPreset() {}
diff --git a/editor/export/editor_export_preset.h b/editor/export/editor_export_preset.h
new file mode 100644
index 0000000000..00109396b0
--- /dev/null
+++ b/editor/export/editor_export_preset.h
@@ -0,0 +1,145 @@
+/*************************************************************************/
+/* editor_export_preset.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_EXPORT_PRESET_H
+#define EDITOR_EXPORT_PRESET_H
+
+class EditorExportPlatform;
+
+#include "core/object/ref_counted.h"
+
+class EditorExportPreset : public RefCounted {
+ GDCLASS(EditorExportPreset, RefCounted);
+
+public:
+ enum ExportFilter {
+ EXPORT_ALL_RESOURCES,
+ EXPORT_SELECTED_SCENES,
+ EXPORT_SELECTED_RESOURCES,
+ EXCLUDE_SELECTED_RESOURCES,
+ };
+
+ enum ScriptExportMode {
+ MODE_SCRIPT_TEXT,
+ MODE_SCRIPT_COMPILED,
+ };
+
+private:
+ Ref<EditorExportPlatform> platform;
+ ExportFilter export_filter = EXPORT_ALL_RESOURCES;
+ String include_filter;
+ String exclude_filter;
+ String export_path;
+
+ String exporter;
+ HashSet<String> selected_files;
+ bool runnable = false;
+
+ friend class EditorExport;
+ friend class EditorExportPlatform;
+
+ List<PropertyInfo> properties;
+ HashMap<StringName, Variant> values;
+
+ String name;
+
+ String custom_features;
+
+ String enc_in_filters;
+ String enc_ex_filters;
+ bool enc_pck = false;
+ bool enc_directory = false;
+
+ int script_mode = MODE_SCRIPT_COMPILED;
+ String script_key;
+
+protected:
+ bool _set(const StringName &p_name, const Variant &p_value);
+ bool _get(const StringName &p_name, Variant &r_ret) const;
+ void _get_property_list(List<PropertyInfo> *p_list) const;
+
+public:
+ Ref<EditorExportPlatform> get_platform() const;
+
+ bool has(const StringName &p_property) const { return values.has(p_property); }
+
+ void update_files_to_export();
+
+ Vector<String> get_files_to_export() const;
+
+ void add_export_file(const String &p_path);
+ void remove_export_file(const String &p_path);
+ bool has_export_file(const String &p_path);
+
+ void set_name(const String &p_name);
+ String get_name() const;
+
+ void set_runnable(bool p_enable);
+ bool is_runnable() const;
+
+ void set_export_filter(ExportFilter p_filter);
+ ExportFilter get_export_filter() const;
+
+ void set_include_filter(const String &p_include);
+ String get_include_filter() const;
+
+ void set_exclude_filter(const String &p_exclude);
+ String get_exclude_filter() const;
+
+ void set_custom_features(const String &p_custom_features);
+ String get_custom_features() const;
+
+ void set_export_path(const String &p_path);
+ String get_export_path() const;
+
+ void set_enc_in_filter(const String &p_filter);
+ String get_enc_in_filter() const;
+
+ void set_enc_ex_filter(const String &p_filter);
+ String get_enc_ex_filter() const;
+
+ void set_enc_pck(bool p_enabled);
+ bool get_enc_pck() const;
+
+ void set_enc_directory(bool p_enabled);
+ bool get_enc_directory() const;
+
+ void set_script_export_mode(int p_mode);
+ int get_script_export_mode() const;
+
+ void set_script_encryption_key(const String &p_key);
+ String get_script_encryption_key() const;
+
+ const List<PropertyInfo> &get_properties() const { return properties; }
+
+ EditorExportPreset();
+};
+
+#endif // EDITOR_EXPORT_PRESET_H
diff --git a/editor/export/editor_export_shared_object.h b/editor/export/editor_export_shared_object.h
new file mode 100644
index 0000000000..558f403ca1
--- /dev/null
+++ b/editor/export/editor_export_shared_object.h
@@ -0,0 +1,51 @@
+/*************************************************************************/
+/* editor_export_shared_object.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef EDITOR_EXPORT_SHARED_OBJECT_H
+#define EDITOR_EXPORT_SHARED_OBJECT_H
+
+#include "core/string/ustring.h"
+#include "core/templates/vector.h"
+
+struct SharedObject {
+ String path;
+ Vector<String> tags;
+ String target;
+
+ SharedObject(const String &p_path, const Vector<String> &p_tags, const String &p_target) :
+ path(p_path),
+ tags(p_tags),
+ target(p_target) {
+ }
+
+ SharedObject() {}
+};
+
+#endif // EDITOR_EXPORT_SHARED_OBJECT_H
diff --git a/editor/export_template_manager.cpp b/editor/export/export_template_manager.cpp
index 4ca2e1fdbf..a7d9d7f068 100644
--- a/editor/export_template_manager.cpp
+++ b/editor/export/export_template_manager.cpp
@@ -30,23 +30,24 @@
#include "export_template_manager.h"
-#include "core/input/input.h"
#include "core/io/dir_access.h"
#include "core/io/json.h"
#include "core/io/zip_io.h"
-#include "core/os/keyboard.h"
-#include "core/templates/rb_set.h"
#include "core/version.h"
#include "editor/editor_node.h"
#include "editor/editor_paths.h"
#include "editor/editor_scale.h"
-#include "progress_dialog.h"
-#include "scene/gui/link_button.h"
+#include "editor/editor_settings.h"
+#include "editor/progress_dialog.h"
+#include "scene/gui/file_dialog.h"
+#include "scene/gui/separator.h"
+#include "scene/gui/tree.h"
+#include "scene/main/http_request.h"
void ExportTemplateManager::_update_template_status() {
// Fetch installed templates from the file system.
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
- const String &templates_dir = EditorSettings::get_singleton()->get_templates_dir();
+ const String &templates_dir = EditorPaths::get_singleton()->get_export_templates_dir();
Error err = da->change_dir(templates_dir);
ERR_FAIL_COND_MSG(err != OK, "Could not access templates directory at '" + templates_dir + "'.");
@@ -439,7 +440,7 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
}
Ref<DirAccess> d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
- String template_path = EditorSettings::get_singleton()->get_templates_dir().plus_file(version);
+ String template_path = EditorPaths::get_singleton()->get_export_templates_dir().plus_file(version);
Error err = d->make_dir_recursive(template_path);
if (err != OK) {
EditorNode::get_singleton()->show_warning(TTR("Error creating path for extracting templates:") + "\n" + template_path);
@@ -538,7 +539,7 @@ void ExportTemplateManager::_uninstall_template(const String &p_version) {
void ExportTemplateManager::_uninstall_template_confirmed() {
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
- const String &templates_dir = EditorSettings::get_singleton()->get_templates_dir();
+ const String &templates_dir = EditorPaths::get_singleton()->get_export_templates_dir();
Error err = da->change_dir(templates_dir);
ERR_FAIL_COND_MSG(err != OK, "Could not access templates directory at '" + templates_dir + "'.");
@@ -616,7 +617,7 @@ void ExportTemplateManager::_installed_table_button_cbk(Object *p_item, int p_co
}
void ExportTemplateManager::_open_template_folder(const String &p_version) {
- const String &templates_dir = EditorSettings::get_singleton()->get_templates_dir();
+ const String &templates_dir = EditorPaths::get_singleton()->get_export_templates_dir();
OS::get_singleton()->shell_open("file://" + templates_dir.plus_file(p_version));
}
@@ -640,12 +641,12 @@ void ExportTemplateManager::_hide_dialog() {
}
bool ExportTemplateManager::can_install_android_template() {
- const String templates_dir = EditorSettings::get_singleton()->get_templates_dir().plus_file(VERSION_FULL_CONFIG);
+ const String templates_dir = EditorPaths::get_singleton()->get_export_templates_dir().plus_file(VERSION_FULL_CONFIG);
return FileAccess::exists(templates_dir.plus_file("android_source.zip"));
}
Error ExportTemplateManager::install_android_template() {
- const String &templates_path = EditorSettings::get_singleton()->get_templates_dir().plus_file(VERSION_FULL_CONFIG);
+ const String &templates_path = EditorPaths::get_singleton()->get_export_templates_dir().plus_file(VERSION_FULL_CONFIG);
const String &source_zip = templates_path.plus_file("android_source.zip");
ERR_FAIL_COND_V(!FileAccess::exists(source_zip), ERR_CANT_OPEN);
return install_android_template_from_file(source_zip);
@@ -810,7 +811,7 @@ void ExportTemplateManager::_bind_methods() {
ExportTemplateManager::ExportTemplateManager() {
set_title(TTR("Export Template Manager"));
set_hide_on_ok(false);
- get_ok_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Close"));
// Downloadable export templates are only available for stable and official alpha/beta/RC builds
// (which always have a number following their status, e.g. "alpha1").
@@ -869,13 +870,13 @@ ExportTemplateManager::ExportTemplateManager() {
current_open_button->set_text(TTR("Open Folder"));
current_open_button->set_tooltip(TTR("Open the folder containing installed templates for the current version."));
current_installed_hb->add_child(current_open_button);
- current_open_button->connect("pressed", callable_mp(this, &ExportTemplateManager::_open_template_folder), varray(VERSION_FULL_CONFIG));
+ current_open_button->connect("pressed", callable_mp(this, &ExportTemplateManager::_open_template_folder).bind(VERSION_FULL_CONFIG));
current_uninstall_button = memnew(Button);
current_uninstall_button->set_text(TTR("Uninstall"));
current_uninstall_button->set_tooltip(TTR("Uninstall templates for the current version."));
current_installed_hb->add_child(current_uninstall_button);
- current_uninstall_button->connect("pressed", callable_mp(this, &ExportTemplateManager::_uninstall_template), varray(VERSION_FULL_CONFIG));
+ current_uninstall_button->connect("pressed", callable_mp(this, &ExportTemplateManager::_uninstall_template).bind(VERSION_FULL_CONFIG));
main_vb->add_child(memnew(HSeparator));
@@ -990,8 +991,8 @@ ExportTemplateManager::ExportTemplateManager() {
install_file_dialog->set_title(TTR("Select Template File"));
install_file_dialog->set_access(FileDialog::ACCESS_FILESYSTEM);
install_file_dialog->set_file_mode(FileDialog::FILE_MODE_OPEN_FILE);
- install_file_dialog->add_filter("*.tpz ; " + TTR("Godot Export Templates"));
- install_file_dialog->connect("file_selected", callable_mp(this, &ExportTemplateManager::_install_file_selected), varray(false));
+ install_file_dialog->add_filter("*.tpz", TTR("Godot Export Templates"));
+ install_file_dialog->connect("file_selected", callable_mp(this, &ExportTemplateManager::_install_file_selected).bind(false));
add_child(install_file_dialog);
hide_dialog_accept = memnew(AcceptDialog);
diff --git a/editor/export_template_manager.h b/editor/export/export_template_manager.h
index 3494e11d5e..f01da15832 100644
--- a/editor/export_template_manager.h
+++ b/editor/export/export_template_manager.h
@@ -31,15 +31,15 @@
#ifndef EXPORT_TEMPLATE_MANAGER_H
#define EXPORT_TEMPLATE_MANAGER_H
-#include "editor/editor_settings.h"
#include "scene/gui/dialogs.h"
-#include "scene/gui/file_dialog.h"
-#include "scene/gui/menu_button.h"
-#include "scene/gui/progress_bar.h"
-#include "scene/gui/scroll_container.h"
-#include "scene/main/http_request.h"
class ExportTemplateVersion;
+class FileDialog;
+class HTTPRequest;
+class MenuButton;
+class OptionButton;
+class ProgressBar;
+class Tree;
class ExportTemplateManager : public AcceptDialog {
GDCLASS(ExportTemplateManager, AcceptDialog);
diff --git a/editor/project_export.cpp b/editor/export/project_export.cpp
index 503eb5000b..76493d330f 100644
--- a/editor/project_export.cpp
+++ b/editor/export/project_export.cpp
@@ -31,23 +31,16 @@
#include "project_export.h"
#include "core/config/project_settings.h"
-#include "core/io/dir_access.h"
-#include "core/io/file_access.h"
-#include "core/io/image_loader.h"
-#include "core/io/resource_loader.h"
-#include "core/io/resource_saver.h"
-#include "core/os/os.h"
-#include "core/string/optimized_translation.h"
-#include "core/version_generated.gen.h"
+#include "core/version.h"
#include "editor/editor_file_dialog.h"
+#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
+#include "editor/editor_properties.h"
#include "editor/editor_scale.h"
-#include "editor/editor_settings.h"
-#include "scene/gui/box_container.h"
-#include "scene/gui/margin_container.h"
-#include "scene/gui/scroll_container.h"
-#include "scene/gui/tab_container.h"
-#include "servers/display_server.h"
+#include "editor/export/editor_export.h"
+#include "scene/gui/check_button.h"
+#include "scene/gui/link_button.h"
+#include "scene/gui/tree.h"
void ProjectExportDialog::_theme_changed() {
duplicate_preset->set_icon(presets->get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")));
@@ -226,6 +219,7 @@ void ProjectExportDialog::_edit_preset(int p_index) {
export_path->show();
duplicate_preset->set_disabled(false);
delete_preset->set_disabled(false);
+ get_ok_button()->set_disabled(false);
name->set_text(current->get_name());
List<String> extension_list = current->get_platform()->get_binary_extensions(current);
@@ -272,7 +266,6 @@ void ProjectExportDialog::_edit_preset(int p_index) {
export_warning->hide();
export_button->set_disabled(true);
- get_ok_button()->set_disabled(true);
} else {
if (error != String()) {
Vector<String> items = error.split("\n", false);
@@ -292,7 +285,6 @@ void ProjectExportDialog::_edit_preset(int p_index) {
export_error->hide();
export_templates_error->hide();
export_button->set_disabled(false);
- get_ok_button()->set_disabled(false);
}
custom_features->set_text(current->get_custom_features());
@@ -366,16 +358,17 @@ void ProjectExportDialog::_update_feature_list() {
}
custom_feature_display->clear();
+ String text;
bool first = true;
for (const String &E : fset) {
- String f = E;
if (!first) {
- f += ", ";
+ text += ", ";
} else {
first = false;
}
- custom_feature_display->add_text(f);
+ text += E;
}
+ custom_feature_display->add_text(text);
}
void ProjectExportDialog::_custom_features_changed(const String &p_text) {
@@ -891,7 +884,7 @@ void ProjectExportDialog::_export_project() {
List<String> extension_list = platform->get_binary_extensions(current);
for (int i = 0; i < extension_list.size(); i++) {
// TRANSLATORS: This is the name of a project export file format. %s will be replaced by the platform name.
- export_project->add_filter(vformat("*.%s; %s", extension_list[i], vformat(TTR("%s Export"), platform->get_name())));
+ export_project->add_filter("*." + extension_list[i], vformat(TTR("%s Export"), platform->get_name()));
}
if (!current->get_export_path().is_empty()) {
@@ -928,17 +921,13 @@ void ProjectExportDialog::_export_project_to_path(const String &p_path) {
ERR_FAIL_COND(platform.is_null());
current->set_export_path(p_path);
+ platform->clear_messages();
Error err = platform->export_project(current, export_debug->is_pressed(), p_path, 0);
- if (err != OK && err != ERR_SKIP) {
- if (err == ERR_FILE_NOT_FOUND) {
- error_dialog->set_text(vformat(TTR("Failed to export the project for platform '%s'.\nExport templates seem to be missing or invalid."), platform->get_name()));
- } else { // Assume misconfiguration. FIXME: Improve error handling and preset config validation.
- error_dialog->set_text(vformat(TTR("Failed to export the project for platform '%s'.\nThis might be due to a configuration issue in the export preset or your export settings."), platform->get_name()));
+ result_dialog_log->clear();
+ if (err != ERR_SKIP) {
+ if (platform->fill_log_messages(result_dialog_log, err)) {
+ result_dialog->popup_centered_ratio(0.5);
}
-
- ERR_PRINT(vformat("Failed to export the project for platform '%s'.", platform->get_name()));
- error_dialog->show();
- error_dialog->popup_centered(Size2(300, 80));
}
}
@@ -957,6 +946,8 @@ void ProjectExportDialog::_export_all(bool p_debug) {
String mode = p_debug ? TTR("Debug") : TTR("Release");
EditorProgress ep("exportall", TTR("Exporting All") + " " + mode, EditorExport::get_singleton()->get_export_preset_count(), true);
+ bool show_dialog = false;
+ result_dialog_log->clear();
for (int i = 0; i < EditorExport::get_singleton()->get_export_preset_count(); i++) {
Ref<EditorExportPreset> preset = EditorExport::get_singleton()->get_export_preset(i);
ERR_FAIL_COND(preset.is_null());
@@ -965,17 +956,16 @@ void ProjectExportDialog::_export_all(bool p_debug) {
ep.step(preset->get_name(), i);
+ platform->clear_messages();
Error err = platform->export_project(preset, p_debug, preset->get_export_path(), 0);
- if (err != OK && err != ERR_SKIP) {
- if (err == ERR_FILE_BAD_PATH) {
- error_dialog->set_text(TTR("The given export path doesn't exist:") + "\n" + preset->get_export_path().get_base_dir());
- } else {
- error_dialog->set_text(TTR("Export templates for this platform are missing/corrupted:") + " " + platform->get_name());
- }
- error_dialog->show();
- error_dialog->popup_centered(Size2(300, 80));
- ERR_PRINT("Failed to export project");
+ if (err == ERR_SKIP) {
+ return;
}
+ bool has_messages = platform->fill_log_messages(result_dialog_log, err);
+ show_dialog = show_dialog || has_messages;
+ }
+ if (show_dialog) {
+ result_dialog->popup_centered_ratio(0.5);
}
}
@@ -1030,10 +1020,12 @@ ProjectExportDialog::ProjectExportDialog() {
mc->add_child(presets);
presets->connect("item_selected", callable_mp(this, &ProjectExportDialog::_edit_preset));
duplicate_preset = memnew(Button);
+ duplicate_preset->set_tooltip(TTR("Duplicate"));
duplicate_preset->set_flat(true);
preset_hb->add_child(duplicate_preset);
duplicate_preset->connect("pressed", callable_mp(this, &ProjectExportDialog::_duplicate_preset));
delete_preset = memnew(Button);
+ delete_preset->set_tooltip(TTR("Delete"));
delete_preset->set_flat(true);
preset_hb->add_child(delete_preset);
delete_preset->connect("pressed", callable_mp(this, &ProjectExportDialog::_delete_preset));
@@ -1064,6 +1056,7 @@ ProjectExportDialog::ProjectExportDialog() {
sections = memnew(TabContainer);
sections->set_use_hidden_tabs_for_min_size(true);
+ sections->set_theme_type_variation("TabContainerOdd");
settings_vb->add_child(sections);
sections->set_v_size_flags(Control::SIZE_EXPAND_FILL);
@@ -1194,13 +1187,13 @@ ProjectExportDialog::ProjectExportDialog() {
delete_confirm = memnew(ConfirmationDialog);
add_child(delete_confirm);
- delete_confirm->get_ok_button()->set_text(TTR("Delete"));
+ delete_confirm->set_ok_button_text(TTR("Delete"));
delete_confirm->connect("confirmed", callable_mp(this, &ProjectExportDialog::_delete_preset_confirm));
// Export buttons, dialogs and errors.
- get_cancel_button()->set_text(TTR("Close"));
- get_ok_button()->set_text(TTR("Export PCK/ZIP..."));
+ set_cancel_button_text(TTR("Close"));
+ set_ok_button_text(TTR("Export PCK/ZIP..."));
export_button = add_button(TTR("Export Project..."), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "export");
export_button->connect("pressed", callable_mp(this, &ProjectExportDialog::_export_project));
// Disable initially before we select a valid preset
@@ -1221,8 +1214,8 @@ ProjectExportDialog::ProjectExportDialog() {
export_all_button->set_disabled(true);
export_pck_zip = memnew(EditorFileDialog);
- export_pck_zip->add_filter("*.zip ; " + TTR("ZIP File"));
- export_pck_zip->add_filter("*.pck ; " + TTR("Godot Project Pack"));
+ export_pck_zip->add_filter("*.zip", TTR("ZIP File"));
+ export_pck_zip->add_filter("*.pck", TTR("Godot Project Pack"));
export_pck_zip->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
export_pck_zip->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
add_child(export_pck_zip);
@@ -1247,11 +1240,14 @@ ProjectExportDialog::ProjectExportDialog() {
export_error2->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor")));
export_error2->set_text(String::utf8("• ") + TTR("Export templates for this platform are missing:") + " ");
- error_dialog = memnew(AcceptDialog);
- error_dialog->set_title(TTR("Error"));
- error_dialog->set_text(TTR("Export templates for this platform are missing/corrupted:") + " ");
- main_vb->add_child(error_dialog);
- error_dialog->hide();
+ result_dialog = memnew(AcceptDialog);
+ result_dialog->set_title(TTR("Project Export"));
+ result_dialog_log = memnew(RichTextLabel);
+ result_dialog_log->set_custom_minimum_size(Size2(300, 80) * EDSCALE);
+ result_dialog->add_child(result_dialog_log);
+
+ main_vb->add_child(result_dialog);
+ result_dialog->hide();
LinkButton *download_templates = memnew(LinkButton);
download_templates->set_text(TTR("Manage Export Templates"));
diff --git a/editor/project_export.h b/editor/export/project_export.h
index 4d1719d6eb..96dd765a2c 100644
--- a/editor/project_export.h
+++ b/editor/export/project_export.h
@@ -28,31 +28,25 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef PROJECT_EXPORT_SETTINGS_H
-#define PROJECT_EXPORT_SETTINGS_H
-
-#include "core/io/dir_access.h"
-#include "core/os/thread.h"
-#include "editor/editor_export.h"
-#include "editor/editor_file_system.h"
-#include "editor/editor_inspector.h"
-#include "editor/editor_properties.h"
-#include "scene/gui/button.h"
-#include "scene/gui/check_button.h"
-#include "scene/gui/control.h"
+#ifndef PROJECT_EXPORT_H
+#define PROJECT_EXPORT_H
+
#include "scene/gui/dialogs.h"
-#include "scene/gui/file_dialog.h"
-#include "scene/gui/label.h"
-#include "scene/gui/link_button.h"
-#include "scene/gui/menu_button.h"
-#include "scene/gui/option_button.h"
-#include "scene/gui/rich_text_label.h"
-#include "scene/gui/slider.h"
-#include "scene/gui/tab_container.h"
-#include "scene/gui/tree.h"
-#include "scene/main/timer.h"
+class CheckBox;
+class CheckButton;
+class EditorExportPreset;
class EditorFileDialog;
+class EditorFileSystemDirectory;
+class EditorInspector;
+class EditorPropertyPath;
+class ItemList;
+class MenuButton;
+class OptionButton;
+class RichTextLabel;
+class TabContainer;
+class Tree;
+class TreeItem;
class ProjectExportDialog : public ConfirmationDialog {
GDCLASS(ProjectExportDialog, ConfirmationDialog);
@@ -73,7 +67,8 @@ private:
Button *button_export = nullptr;
bool updating = false;
- AcceptDialog *error_dialog = nullptr;
+ RichTextLabel *result_dialog_log = nullptr;
+ AcceptDialog *result_dialog = nullptr;
ConfirmationDialog *delete_confirm = nullptr;
OptionButton *export_filter = nullptr;
@@ -182,4 +177,4 @@ public:
~ProjectExportDialog();
};
-#endif // PROJECT_EXPORT_SETTINGS_H
+#endif // PROJECT_EXPORT_H
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index aaff892c2a..b823db68f0 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -43,6 +43,7 @@
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
#include "editor/import_dock.h"
+#include "editor/scene_create_dialog.h"
#include "editor/scene_tree_dock.h"
#include "editor/shader_create_dialog.h"
#include "scene/gui/label.h"
@@ -380,7 +381,7 @@ void FileSystemDock::_notification(int p_what) {
file_list_popup->connect("id_pressed", callable_mp(this, &FileSystemDock::_file_list_rmb_option));
tree_popup->connect("id_pressed", callable_mp(this, &FileSystemDock::_tree_rmb_option));
- current_path->connect("text_submitted", callable_mp(this, &FileSystemDock::_navigate_to_path), make_binds(false));
+ current_path->connect("text_submitted", callable_mp(this, &FileSystemDock::_navigate_to_path).bind(false));
always_show_folders = bool(EditorSettings::get_singleton()->get("docks/filesystem/always_show_folders"));
@@ -984,7 +985,9 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit
}
}
- if (ResourceLoader::get_resource_type(fpath) == "PackedScene") {
+ String resource_type = ResourceLoader::get_resource_type(fpath);
+
+ if (resource_type == "PackedScene") {
bool is_imported = false;
{
@@ -1004,7 +1007,7 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit
} else {
EditorNode::get_singleton()->open_request(fpath);
}
- } else if (ResourceLoader::get_resource_type(fpath) == "AnimationLibrary") {
+ } else if (resource_type == "AnimationLibrary") {
bool is_imported = false;
{
@@ -1024,6 +1027,25 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit
} else {
EditorNode::get_singleton()->open_request(fpath);
}
+ } else if (ResourceLoader::is_imported(fpath)) {
+ // If the importer has advanced settings, show them.
+ int order;
+ bool can_threads;
+ String name;
+ Error err = ResourceFormatImporter::get_singleton()->get_import_order_threads_and_importer(fpath, order, can_threads, name);
+ bool used_advanced_settings = false;
+ if (err == OK) {
+ Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(name);
+ if (importer.is_valid() && importer->has_advanced_options()) {
+ importer->show_advanced_options(fpath);
+ used_advanced_settings = true;
+ }
+ }
+
+ if (!used_advanced_settings) {
+ EditorNode::get_singleton()->load_resource(fpath);
+ }
+
} else {
EditorNode::get_singleton()->load_resource(fpath);
}
@@ -1469,44 +1491,12 @@ void FileSystemDock::_make_dir_confirm() {
}
void FileSystemDock::_make_scene_confirm() {
- String scene_name = make_scene_dialog_text->get_text().strip_edges();
-
- if (scene_name.length() == 0) {
- EditorNode::get_singleton()->show_warning(TTR("No name provided."));
- return;
- }
-
- String directory = path;
- if (!directory.ends_with("/")) {
- directory = directory.get_base_dir();
- }
-
- String extension = scene_name.get_extension();
- List<String> extensions;
- Ref<PackedScene> sd = memnew(PackedScene);
- ResourceSaver::get_recognized_extensions(sd, &extensions);
-
- bool extension_correct = false;
- for (const String &E : extensions) {
- if (E == extension) {
- extension_correct = true;
- break;
- }
- }
- if (!extension_correct) {
- scene_name = scene_name.get_basename() + ".tscn";
- }
-
- scene_name = directory.plus_file(scene_name);
-
- Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
- if (da->file_exists(scene_name)) {
- EditorNode::get_singleton()->show_warning(TTR("A file or folder with this name already exists."));
- return;
- }
+ const String scene_path = make_scene_dialog->get_scene_path();
int idx = EditorNode::get_singleton()->new_scene();
- EditorNode::get_singleton()->get_editor_data().set_scene_path(idx, scene_name);
+ EditorNode::get_singleton()->get_editor_data().set_scene_path(idx, scene_path);
+ EditorNode::get_singleton()->set_edited_scene(make_scene_dialog->create_scene_root());
+ EditorNode::get_singleton()->save_scene_list({ scene_path });
}
void FileSystemDock::_file_removed(String p_file) {
@@ -1541,14 +1531,13 @@ void FileSystemDock::_folder_removed(String p_folder) {
void FileSystemDock::_rename_operation_confirm() {
String new_name = rename_dialog_text->get_text().strip_edges();
- String old_name = tree->get_selected()->get_text(0);
if (new_name.length() == 0) {
EditorNode::get_singleton()->show_warning(TTR("No name provided."));
return;
} else if (new_name.contains("/") || new_name.contains("\\") || new_name.contains(":")) {
EditorNode::get_singleton()->show_warning(TTR("Name contains invalid characters."));
return;
- } else if (to_rename.is_file && old_name.get_extension() != new_name.get_extension()) {
+ } else if (to_rename.is_file && to_rename.path.get_extension() != new_name.get_extension()) {
if (!EditorFileSystem::get_singleton()->get_valid_extensions().find(new_name.get_extension())) {
EditorNode::get_singleton()->show_warning(TTR("This file extension is not recognized by the editor.\nIf you want to rename it anyway, use your operating system's file manager.\nAfter renaming to an unknown extension, the file won't be shown in the editor anymore."));
return;
@@ -2003,10 +1992,12 @@ void FileSystemDock::_file_option(int p_option, const Vector<String> &p_selected
} break;
case FILE_NEW_SCENE: {
- make_scene_dialog_text->set_text("new scene");
- make_scene_dialog_text->select_all();
- make_scene_dialog->popup_centered(Size2(250, 80) * EDSCALE);
- make_scene_dialog_text->grab_focus();
+ String directory = path;
+ if (!directory.ends_with("/")) {
+ directory = directory.get_base_dir();
+ }
+ make_scene_dialog->config(directory);
+ make_scene_dialog->popup_centered();
} break;
case FILE_NEW_SCRIPT: {
@@ -2063,6 +2054,10 @@ void FileSystemDock::_resource_created() {
make_shader_dialog->config(fpath.plus_file("new_shader"), false, false, 1);
make_shader_dialog->popup_centered();
return;
+ } else if (type_name == "ShaderInclude") {
+ make_shader_dialog->config(fpath.plus_file("new_shader_include"), false, false, 2);
+ make_shader_dialog->popup_centered();
+ return;
}
Variant c = new_resource_dialog->instance_selected();
@@ -3082,8 +3077,8 @@ FileSystemDock::FileSystemDock() {
tree_search_box = memnew(LineEdit);
tree_search_box->set_h_size_flags(SIZE_EXPAND_FILL);
- tree_search_box->set_placeholder(TTR("Search files"));
- tree_search_box->connect("text_changed", callable_mp(this, &FileSystemDock::_search_changed), varray(tree_search_box));
+ tree_search_box->set_placeholder(TTR("Filter Files"));
+ tree_search_box->connect("text_changed", callable_mp(this, &FileSystemDock::_search_changed).bind(tree_search_box));
toolbar2_hbc->add_child(tree_search_box);
tree_button_sort = _create_file_menu_button();
@@ -3127,8 +3122,8 @@ FileSystemDock::FileSystemDock() {
file_list_search_box = memnew(LineEdit);
file_list_search_box->set_h_size_flags(SIZE_EXPAND_FILL);
- file_list_search_box->set_placeholder(TTR("Search files"));
- file_list_search_box->connect("text_changed", callable_mp(this, &FileSystemDock::_search_changed), varray(file_list_search_box));
+ file_list_search_box->set_placeholder(TTR("Filter Files"));
+ file_list_search_box->connect("text_changed", callable_mp(this, &FileSystemDock::_search_changed).bind(file_list_search_box));
path_hb->add_child(file_list_search_box);
file_list_button_sort = _create_file_menu_button();
@@ -3174,9 +3169,9 @@ FileSystemDock::FileSystemDock() {
add_child(remove_dialog);
move_dialog = memnew(EditorDirDialog);
- move_dialog->get_ok_button()->set_text(TTR("Move"));
+ move_dialog->set_ok_button_text(TTR("Move"));
add_child(move_dialog);
- move_dialog->connect("dir_selected", callable_mp(this, &FileSystemDock::_move_operation_confirm), make_binds(false));
+ move_dialog->connect("dir_selected", callable_mp(this, &FileSystemDock::_move_operation_confirm).bind(false));
rename_dialog = memnew(ConfirmationDialog);
VBoxContainer *rename_dialog_vb = memnew(VBoxContainer);
@@ -3184,13 +3179,13 @@ FileSystemDock::FileSystemDock() {
rename_dialog_text = memnew(LineEdit);
rename_dialog_vb->add_margin_child(TTR("Name:"), rename_dialog_text);
- rename_dialog->get_ok_button()->set_text(TTR("Rename"));
+ rename_dialog->set_ok_button_text(TTR("Rename"));
add_child(rename_dialog);
rename_dialog->register_text_enter(rename_dialog_text);
rename_dialog->connect("confirmed", callable_mp(this, &FileSystemDock::_rename_operation_confirm));
overwrite_dialog = memnew(ConfirmationDialog);
- overwrite_dialog->get_ok_button()->set_text(TTR("Overwrite"));
+ overwrite_dialog->set_ok_button_text(TTR("Overwrite"));
add_child(overwrite_dialog);
overwrite_dialog->connect("confirmed", callable_mp(this, &FileSystemDock::_move_with_overwrite));
@@ -3200,7 +3195,7 @@ FileSystemDock::FileSystemDock() {
duplicate_dialog_text = memnew(LineEdit);
duplicate_dialog_vb->add_margin_child(TTR("Name:"), duplicate_dialog_text);
- duplicate_dialog->get_ok_button()->set_text(TTR("Duplicate"));
+ duplicate_dialog->set_ok_button_text(TTR("Duplicate"));
add_child(duplicate_dialog);
duplicate_dialog->register_text_enter(duplicate_dialog_text);
duplicate_dialog->connect("confirmed", callable_mp(this, &FileSystemDock::_duplicate_operation_confirm));
@@ -3216,15 +3211,8 @@ FileSystemDock::FileSystemDock() {
make_dir_dialog->register_text_enter(make_dir_dialog_text);
make_dir_dialog->connect("confirmed", callable_mp(this, &FileSystemDock::_make_dir_confirm));
- make_scene_dialog = memnew(ConfirmationDialog);
- make_scene_dialog->set_title(TTR("Create Scene"));
- VBoxContainer *make_scene_dialog_vb = memnew(VBoxContainer);
- make_scene_dialog->add_child(make_scene_dialog_vb);
-
- make_scene_dialog_text = memnew(LineEdit);
- make_scene_dialog_vb->add_margin_child(TTR("Name:"), make_scene_dialog_text);
+ make_scene_dialog = memnew(SceneCreateDialog);
add_child(make_scene_dialog);
- make_scene_dialog->register_text_enter(make_scene_dialog_text);
make_scene_dialog->connect("confirmed", callable_mp(this, &FileSystemDock::_make_scene_confirm));
make_script_dialog = memnew(ScriptCreateDialog);
diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h
index f20c0b2f76..c38b3f8a47 100644
--- a/editor/filesystem_dock.h
+++ b/editor/filesystem_dock.h
@@ -47,6 +47,7 @@
#include "scene/gui/split_container.h"
#include "scene/gui/tree.h"
+class SceneCreateDialog;
class ShaderCreateDialog;
class FileSystemDock : public VBoxContainer {
@@ -148,9 +149,8 @@ private:
LineEdit *duplicate_dialog_text = nullptr;
ConfirmationDialog *make_dir_dialog = nullptr;
LineEdit *make_dir_dialog_text = nullptr;
- ConfirmationDialog *make_scene_dialog = nullptr;
- LineEdit *make_scene_dialog_text = nullptr;
ConfirmationDialog *overwrite_dialog = nullptr;
+ SceneCreateDialog *make_scene_dialog = nullptr;
ScriptCreateDialog *make_script_dialog = nullptr;
ShaderCreateDialog *make_shader_dialog = nullptr;
CreateDialog *new_resource_dialog = nullptr;
@@ -342,4 +342,4 @@ public:
~FileSystemDock();
};
-#endif // SCENES_DOCK_H
+#endif // FILESYSTEM_DOCK_H
diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp
index d60e336f0f..81b71b5609 100644
--- a/editor/find_in_files.cpp
+++ b/editor/find_in_files.cpp
@@ -566,7 +566,7 @@ FindInFilesPanel::FindInFilesPanel() {
HBoxContainer *hbc = memnew(HBoxContainer);
Label *find_label = memnew(Label);
- find_label->set_text(TTR("Find: "));
+ find_label->set_text(TTR("Find:"));
hbc->add_child(find_label);
_search_text_label = memnew(Label);
@@ -614,7 +614,7 @@ FindInFilesPanel::FindInFilesPanel() {
_replace_container = memnew(HBoxContainer);
Label *replace_label = memnew(Label);
- replace_label->set_text(TTR("Replace: "));
+ replace_label->set_text(TTR("Replace:"));
_replace_container->add_child(replace_label);
_replace_line_edit = memnew(LineEdit);
@@ -764,8 +764,8 @@ void FindInFilesPanel::draw_result_text(Object *item_obj, Rect2 rect) {
int font_size = _results_display->get_theme_font_size(SNAME("font_size"));
Rect2 match_rect = rect;
- match_rect.position.x += font->get_string_size(item_text.left(r.begin_trimmed), font_size).x;
- match_rect.size.x = font->get_string_size(_search_text_label->get_text(), font_size).x;
+ match_rect.position.x += font->get_string_size(item_text.left(r.begin_trimmed), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x;
+ match_rect.size.x = font->get_string_size(_search_text_label->get_text(), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).x;
match_rect.position.y += 1 * EDSCALE;
match_rect.size.y -= 2 * EDSCALE;
diff --git a/editor/groups_editor.cpp b/editor/groups_editor.cpp
index bbf9b11be3..15add50fd4 100644
--- a/editor/groups_editor.cpp
+++ b/editor/groups_editor.cpp
@@ -32,6 +32,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/scene_tree_dock.h"
#include "editor/scene_tree_editor.h"
#include "scene/gui/box_container.h"
@@ -397,6 +398,10 @@ void GroupDialog::_notification(int p_what) {
}
}
+void GroupDialog::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
void GroupDialog::edit() {
popup_centered();
@@ -432,7 +437,7 @@ GroupDialog::GroupDialog() {
VBoxContainer *vbc = memnew(VBoxContainer);
add_child(vbc);
- vbc->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
+ vbc->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
HBoxContainer *hbc = memnew(HBoxContainer);
vbc->add_child(hbc);
@@ -473,7 +478,7 @@ GroupDialog::GroupDialog() {
add_group_button = memnew(Button);
add_group_button->set_text(TTR("Add"));
chbc->add_child(add_group_button);
- add_group_button->connect("pressed", callable_mp(this, &GroupDialog::_add_group_pressed), varray(String()));
+ add_group_button->connect("pressed", callable_mp(this, &GroupDialog::_add_group_pressed).bind(String()));
VBoxContainer *vbc_add = memnew(VBoxContainer);
hbc->add_child(vbc_add);
@@ -499,7 +504,7 @@ GroupDialog::GroupDialog() {
add_filter = memnew(LineEdit);
add_filter->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- add_filter->set_placeholder(TTR("Filter nodes"));
+ add_filter->set_placeholder(TTR("Filter Nodes"));
add_filter_hbc->add_child(add_filter);
add_filter->connect("text_changed", callable_mp(this, &GroupDialog::_add_filter_changed));
@@ -549,7 +554,7 @@ GroupDialog::GroupDialog() {
remove_filter = memnew(LineEdit);
remove_filter->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- remove_filter->set_placeholder(TTR("Filter nodes"));
+ remove_filter->set_placeholder(TTR("Filter Nodes"));
remove_filter_hbc->add_child(remove_filter);
remove_filter->connect("text_changed", callable_mp(this, &GroupDialog::_remove_filter_changed));
@@ -559,16 +564,16 @@ GroupDialog::GroupDialog() {
group_empty->set_text(TTR("Empty groups will be automatically removed."));
group_empty->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
group_empty->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- group_empty->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ group_empty->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
group_empty->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
nodes_to_remove->add_child(group_empty);
- group_empty->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
+ group_empty->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_KEEP_SIZE, 8 * EDSCALE);
set_title(TTR("Group Editor"));
error = memnew(ConfirmationDialog);
add_child(error);
- error->get_ok_button()->set_text(TTR("Close"));
+ error->set_ok_button_text(TTR("Close"));
_add_group_text_changed("");
}
@@ -696,6 +701,10 @@ void GroupsEditor::update_tree() {
}
}
+void GroupsEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
void GroupsEditor::set_current(Node *p_node) {
node = p_node;
update_tree();
@@ -737,7 +746,7 @@ GroupsEditor::GroupsEditor() {
add = memnew(Button);
add->set_text(TTR("Add"));
hbc->add_child(add);
- add->connect("pressed", callable_mp(this, &GroupsEditor::_add_group), varray(String()));
+ add->connect("pressed", callable_mp(this, &GroupsEditor::_add_group).bind(String()));
tree = memnew(Tree);
tree->set_hide_root(true);
diff --git a/editor/groups_editor.h b/editor/groups_editor.h
index 75cbfd01a4..8bbea4e652 100644
--- a/editor/groups_editor.h
+++ b/editor/groups_editor.h
@@ -31,7 +31,6 @@
#ifndef GROUPS_EDITOR_H
#define GROUPS_EDITOR_H
-#include "core/object/undo_redo.h"
#include "editor/scene_tree_editor.h"
#include "scene/gui/button.h"
#include "scene/gui/dialogs.h"
@@ -40,6 +39,8 @@
#include "scene/gui/popup.h"
#include "scene/gui/tree.h"
+class EditorUndoRedoManager;
+
class GroupDialog : public AcceptDialog {
GDCLASS(GroupDialog, AcceptDialog);
@@ -68,7 +69,7 @@ class GroupDialog : public AcceptDialog {
String selected_group;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void _group_selected();
@@ -103,7 +104,7 @@ public:
};
void edit();
- void set_undo_redo(UndoRedo *p_undoredo) { undo_redo = p_undoredo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
GroupDialog();
};
@@ -119,7 +120,7 @@ class GroupsEditor : public VBoxContainer {
Button *add = nullptr;
Tree *tree = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void update_tree();
void _add_group(const String &p_group = "");
@@ -137,11 +138,11 @@ public:
COPY_GROUP,
};
- void set_undo_redo(UndoRedo *p_undoredo) { undo_redo = p_undoredo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void set_current(Node *p_node);
GroupsEditor();
~GroupsEditor();
};
-#endif
+#endif // GROUPS_EDITOR_H
diff --git a/editor/icons/AudioStream.svg b/editor/icons/AudioStream.svg
new file mode 100644
index 0000000000..5d92dc25a5
--- /dev/null
+++ b/editor/icons/AudioStream.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="1" y2="15"><stop offset="0" stop-color="#ff5f5f"/><stop offset=".5" stop-color="#e1da5b"/><stop offset="1" stop-color="#5fff97"/></linearGradient><path d="m12 2a-1 1 0 0 1 1 1-1 1 0 0 1 -1 1c-4.4301 0-8 3.5699-8 8a-1 1 0 0 1 -1 1-1 1 0 0 1 -1-1c0-5.511 4.489-10 10-10zm0 4a-1 1 0 0 1 1 1-1 1 0 0 1 -1 1c-2.221 0-4 1.779-4 4a-1 1 0 0 1 -1 1-1 1 0 0 1 -1-1c0-3.3018 2.6981-6 6-6zm0 4a-2 2 0 0 1 2 2-2 2 0 0 1 -2 2-2 2 0 0 1 -2-2-2 2 0 0 1 2-2z" fill="url(#a)"/></svg>
diff --git a/editor/icons/AudioStreamGenerator.svg b/editor/icons/AudioStreamGenerator.svg
new file mode 100644
index 0000000000..55b0fb9d92
--- /dev/null
+++ b/editor/icons/AudioStreamGenerator.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="1" y2="15"><stop offset="0" stop-color="#ff5f5f"/><stop offset=".5" stop-color="#e1da5b"/><stop offset="1" stop-color="#5fff97"/></linearGradient><path d="m14 9-3 5-3-12-3 7-3-2" fill="none" stroke="url(#a)" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>
diff --git a/editor/icons/AudioStreamMicrophone.svg b/editor/icons/AudioStreamMicrophone.svg
new file mode 100644
index 0000000000..51009e9d53
--- /dev/null
+++ b/editor/icons/AudioStreamMicrophone.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="1" y2="15"><stop offset="0" stop-color="#ff5f5f"/><stop offset=".5" stop-color="#e1da5b"/><stop offset="1" stop-color="#5fff97"/></linearGradient><path d="m7 1c-1.108 0-2 .892-2 2h2v1h-2v2h2v1h-2c0 1.108.892 2 2 2v4l-2 2h6l-2-2v-4c1.108 0 2-.892 2-2h-2v-1h2v-2h-2v-1h2c0-1.108-.892-2-2-2z" fill="url(#a)"/></svg>
diff --git a/editor/icons/AudioStreamOGGVorbis.svg b/editor/icons/AudioStreamOggVorbis.svg
index 2e54de9faa..2e54de9faa 100644
--- a/editor/icons/AudioStreamOGGVorbis.svg
+++ b/editor/icons/AudioStreamOggVorbis.svg
diff --git a/editor/icons/AudioStreamRandomizer.svg b/editor/icons/AudioStreamRandomizer.svg
new file mode 100644
index 0000000000..1696dff795
--- /dev/null
+++ b/editor/icons/AudioStreamRandomizer.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="1" y2="15"><stop offset="0" stop-color="#ff5f5f"/><stop offset=".5" stop-color="#e1da5b"/><stop offset="1" stop-color="#5fff97"/></linearGradient><path d="m7.9999997 1c6.6837543 0 7.0000003.3165085 7.0000003 7.0057779 0 6.6877711-.286255 6.9755641-6.9367525 6.9938021-3.0191555.008313-4.4456225-.105997-5.1863245-.415726-1.570375-.65669-1.876923-1.727949-1.876923-6.5780761 0-6.6892694.316247-7.0057779 6.9999997-7.0057779zm3.5299143 1.7638478c-1.5662016 0-2.4379256 1.7724432-1.475213 2.9973439.738933.9401693 2.041543 1.025967 2.876923.1899002 1.183646-1.1846229.303279-3.1872441-1.40171-3.1872441zm-3.5760682 3.2710739c-1.5661974 0-2.4379268 1.7707341-1.4752138 2.9956331.7389365.9401892 2.0415435 1.0276772 2.8769233.191611 1.1836457-1.1846231.3032798-3.1872441-1.4017095-3.1872441zm-3.5538458 3.4729499c-.958537.031867-1.875214.7423284-1.875214 1.8493884 0 1.564955 2.248443 2.516522 3.249573 1.375494.7905175-.900982.8551191-1.664857.208547-2.487522-.416627-.5300879-1.007786-.7565128-1.582906-.7373604z" fill="url(#a)"/></svg>
diff --git a/editor/icons/AudioStreamSample.svg b/editor/icons/AudioStreamWAV.svg
index 2e54de9faa..2e54de9faa 100644
--- a/editor/icons/AudioStreamSample.svg
+++ b/editor/icons/AudioStreamWAV.svg
diff --git a/editor/icons/BaseButton.svg b/editor/icons/BaseButton.svg
new file mode 100644
index 0000000000..9aa0ae1c07
--- /dev/null
+++ b/editor/icons/BaseButton.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m5.5 9c-.831 0-1.5.669-1.5 1.5v1.5h-2v2h12v-2h-2v-1.5c0-.831-.669-1.5-1.5-1.5z" fill="#8eef97"/></svg>
diff --git a/editor/icons/BoneMapHumanBody.svg b/editor/icons/BoneMapHumanBody.svg
new file mode 100644
index 0000000000..2c2c5db1f6
--- /dev/null
+++ b/editor/icons/BoneMapHumanBody.svg
@@ -0,0 +1 @@
+<svg enable-background="new 0 0 1024 1024" height="1024" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h1024v1024h-1024z" fill="#3f3f3f"/><path d="m926.5 217.162c-11.5-2-26.03 4.547-37.5 6.5-15.723 2.678-25.238 3.24-33.333 5.167-1.227.292-3.103.763-5.792.958 0 0-.019.16-.052.437-36.819.994-106.823-6.062-138.156-2.062-23.816 3.041-86.334-5.667-105.667-6-13.911-.239-59.292-4.583-71.75-2.5-.667-4.083-1.5-10.75.95-17.468 14.881-7.246 27.229-21.569 35.341-38.467.922 4.424 6.252 4.929 12.459-14.231 5.662-17.478 2.324-22.254-2.313-22.525.172-2.056.279-4.105.313-6.142.788-48.041-15-78.667-69-78.667s-69.787 30.626-69 78.667c.033 2.036.141 4.086.313 6.142-4.637.271-7.975 5.048-2.313 22.525 6.207 19.16 11.537 18.655 12.459 14.231 8.113 16.897 20.461 31.221 35.342 38.467 2.449 6.718 1.617 13.385.949 17.468-12.457-2.083-57.838 2.261-71.75 2.5-19.332.333-81.85 9.041-105.666 6-31.333-4-101.337 3.056-138.156 2.062-.033-.276-.053-.437-.053-.437-2.689-.195-4.564-.666-5.791-.958-8.096-1.927-17.611-2.489-33.334-5.167-11.469-1.953-26-8.5-37.5-6.5-3.367.586 6 9.834 15.5 12.334 13.635 3.588 25.25 10.666 36 13.166-2.25 3.75-15.59 7.063-23 12-5.336 3.557 6.5 6.5 12 5 20.842-5.684 22.973.389 37.514-9.019 30.078 4.078 102.537 20.514 122.154 14.186 12.457-4.018 100.332 7.083 142.332 5.833 6.039-.18 1.656 65.563 2 73.5 3 69-16.842 133.135-18.666 169.667-1.92 38.42-3.42 57.919 7.666 131.333 6.967 46.126-2.521 82.079-2 94 6 137 29 172 4 221-14 27.44 67.449 26.958 65 9-3.012-22.092-12.666-22.333-10.666-46.333 1.896-22.768 16.049-151.298 8.666-206.667-2-15 0-26 2-66 2.355-47.101 7-88 14-123 7 35 11.645 75.899 14 123 2 40 4 51 2 66-7.383 55.369 6.77 183.899 8.667 206.667 2 24-7.654 24.241-10.667 46.333-2.449 17.958 79 18.44 65-9-25-49-2-84 4-221 .522-11.921-8.966-47.874-2-94 11.086-73.414 9.586-92.913 7.667-131.333-1.824-36.532-21.667-100.667-18.667-169.667.345-7.938-4.039-73.68 2-73.5 42 1.25 129.876-9.852 142.333-5.833 19.616 6.328 92.076-10.107 122.153-14.186 14.541 9.407 16.673 3.335 37.514 9.019 5.5 1.5 17.336-1.443 12-5-7.409-4.937-20.75-8.25-23-12 10.75-2.5 22.366-9.578 36.001-13.166 9.5-2.5 18.866-11.748 15.499-12.334z" fill="#b2b2b2"/></svg>
diff --git a/editor/icons/BoneMapHumanFace.svg b/editor/icons/BoneMapHumanFace.svg
new file mode 100644
index 0000000000..6cb21140bc
--- /dev/null
+++ b/editor/icons/BoneMapHumanFace.svg
@@ -0,0 +1 @@
+<svg enable-background="new 0 0 1024 1024" height="1024" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h1024v1024h-1024z" fill="#3f3f3f"/><path d="m788.105 552.967c17.995-57.892 31.896-124.566 30.875-198.071-3.758-270.403-249.846-251.479-295.568-244.947-359.868 51.409-219.047 452.358-220.453 496.426-4.899 153.499 83.686 170.991 161.665 215.554 2.646 1.512 7.259 1.786 13.313 1.111 7.223 25.179 11.762 59.035 9.548 75.638-3.266 24.495 209.021 24.495 209.021 0 0-62.883 12.233-124.363 33.827-188.89 7.143-2.284 16.054-7.601 25.963-16.95 13.681-12.908 34.839-21.774 45.726-63.145 15.615-59.338 3.869-76.074-13.917-76.726z" fill="#b2b2b2"/></svg>
diff --git a/editor/icons/BoneMapHumanLeftHand.svg b/editor/icons/BoneMapHumanLeftHand.svg
new file mode 100644
index 0000000000..08c68bb4be
--- /dev/null
+++ b/editor/icons/BoneMapHumanLeftHand.svg
@@ -0,0 +1 @@
+<svg enable-background="new 0 0 1024 1024" height="1024" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h1024v1024h-1024z" fill="#3f3f3f"/><path d="m703.906 786.098c7.046-66.929 28.135-153.363 18.529-260.192-1.143-12.71-4.5-48.282-4.46-82.732.025-21.174-2.111-48.505-1.975-64.174.167-19.333-.428-41.584-.625-55.755-1.052-75.44-13.225-85.827-30.813-85.827-17.246 0-26.77 14.266-27.062 84.582-.061 14.42.5 51 .5 58.5 0 17.508-.333 34.167 0 53.5.447 25.955-4.279 68-9 68-3.902 0-8.099-39.299-9.575-76.999-.756-19.326-3.219-58.336-2.6-70.102 1.759-33.413.474-58.914 1.537-90.165 3.183-93.607-13.016-111.729-34.695-111.729-21.973 0-35.979 57.688-34.849 114.224.128 6.394-1.165 50.739.188 89.859.754 21.811-1.07 49.627-1.683 69.67-1.095 35.768-5.755 63.896-8.869 63.896-2.641 0-4.135-32.584-5.456-65.706-.859-21.557-4.468-58.477-3.664-83.616 1.886-59.012-1.139-110.226-1.063-121.501.635-94.955-14.66-123.101-36.052-123.101-21.476 0-37.188 30.192-36.6 123.343.067 10.53-2.62 99.926-1.759 121.816.865 21.992-2.773 65.062-3.517 84.818-1.299 34.521-6.49 63.947-9.124 63.947-3.281 0-10.794-25.638-11.724-60.965-.587-22.275 1.231-50.99.624-70.688-1.257-40.707-3.175-64.631-3.877-99.708-1.945-97.182-16.352-106.289-38.142-106.289-17.957 0-32.453 28.673-32.657 115.03-.065 27.702-2.429 62.626-.315 94.329.805 12.081-.622 42.512-1.875 73.894-.799 20.007-1.102 47.501-1.137 63.775-.17 78.595-26.712 133.424-36.555 131.308-30.333-6.521-51.648-43.918-71.219-117.307-10.551-39.566-36.667-71.149-69.9-77.813-25.9-5.193-19.783 46.161-1.319 125.293 8.65 37.068 27.909 86.227 39.566 122.655 31.653 98.917 125.574 188.563 160.903 228.546 17.146 19.403 236.894 19.403 264.59 0 11.525-8.07 43.087-101.557 45.724-126.616z" fill="#b2b2b2"/></svg>
diff --git a/editor/icons/BoneMapHumanRightHand.svg b/editor/icons/BoneMapHumanRightHand.svg
new file mode 100644
index 0000000000..4e40af35d8
--- /dev/null
+++ b/editor/icons/BoneMapHumanRightHand.svg
@@ -0,0 +1 @@
+<svg enable-background="new 0 0 1024 1024" height="1024" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h1024v1024h-1024z" fill="#3f3f3f"/><path d="m320.094 786.098c-7.046-66.929-28.135-153.363-18.529-260.192 1.143-12.71 4.5-48.282 4.46-82.732-.025-21.174 2.111-48.505 1.975-64.174-.167-19.333.428-41.584.625-55.755 1.052-75.44 13.225-85.827 30.813-85.827 17.246 0 26.77 14.266 27.062 84.582.061 14.42-.5 51-.5 58.5 0 17.508.333 34.167 0 53.5-.447 25.955 4.279 68 9 68 3.902 0 8.099-39.299 9.575-76.999.756-19.326 3.219-58.336 2.6-70.102-1.759-33.413-.474-58.914-1.537-90.165-3.183-93.607 13.016-111.729 34.695-111.729 21.973 0 35.979 57.688 34.849 114.224-.128 6.394 1.165 50.739-.188 89.859-.754 21.811 1.07 49.627 1.683 69.67 1.095 35.768 5.755 63.896 8.869 63.896 2.641 0 4.135-32.584 5.456-65.706.859-21.557 4.468-58.477 3.664-83.616-1.886-59.012 1.139-110.226 1.063-121.501-.635-94.955 14.66-123.101 36.052-123.101 21.476 0 37.188 30.192 36.6 123.343-.067 10.53 2.62 99.926 1.759 121.816-.865 21.992 2.773 65.062 3.517 84.818 1.299 34.521 6.49 63.947 9.124 63.947 3.281 0 10.794-25.638 11.724-60.965.587-22.275-1.231-50.99-.624-70.688 1.257-40.707 3.176-64.631 3.877-99.708 1.945-97.182 16.352-106.289 38.142-106.289 17.957 0 32.453 28.673 32.657 115.03.065 27.702 2.429 62.626.314 94.329-.805 12.081.622 42.512 1.875 73.894.799 20.007 1.102 47.501 1.137 63.775.171 78.595 26.713 133.424 36.556 131.308 30.333-6.521 51.648-43.918 71.219-117.307 10.551-39.566 36.667-71.149 69.9-77.813 25.9-5.193 19.783 46.161 1.318 125.293-8.649 37.068-27.909 86.227-39.566 122.655-31.652 98.917-125.573 188.563-160.902 228.546-17.146 19.403-236.894 19.403-264.59 0-11.525-8.07-43.087-101.557-45.724-126.616z" fill="#b2b2b2"/></svg>
diff --git a/editor/icons/BoneMapperHandle.svg b/editor/icons/BoneMapperHandle.svg
new file mode 100644
index 0000000000..8c7d7e1d70
--- /dev/null
+++ b/editor/icons/BoneMapperHandle.svg
@@ -0,0 +1 @@
+<svg enable-background="new 0 0 12 12" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><circle cx="6" cy="6" fill-opacity=".2941" r="5"/><circle cx="6" cy="6" fill="#fff" r="4"/></svg>
diff --git a/editor/icons/BoneMapperHandleCircle.svg b/editor/icons/BoneMapperHandleCircle.svg
new file mode 100644
index 0000000000..ecf97669b8
--- /dev/null
+++ b/editor/icons/BoneMapperHandleCircle.svg
@@ -0,0 +1 @@
+<svg enable-background="new 0 0 12 12" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><circle cx="6" cy="6" fill="#fff" r="3"/></svg>
diff --git a/editor/icons/BoneMapperHandleSelected.svg b/editor/icons/BoneMapperHandleSelected.svg
new file mode 100644
index 0000000000..729a443f6e
--- /dev/null
+++ b/editor/icons/BoneMapperHandleSelected.svg
@@ -0,0 +1 @@
+<svg enable-background="new -506.5 517.5 12 12" height="12" viewBox="-506.5 517.5 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><circle cx="-500.5" cy="523.5" fill-opacity=".2941" r="5"/><g fill="#fff"><circle cx="-500.5" cy="523.5" r="4"/><path d="m-499.5 517.5h5v5h-1v-4h-4z"/><path d="m-494.5 524.5v5h-5v-1h4v-4z"/><path d="m-501.5 529.5h-5v-5h1v4h4z"/><path d="m-506.5 522.5v-5h5v1h-4v4z"/></g></svg>
diff --git a/editor/icons/CodeFoldDownArrow.svg b/editor/icons/CodeFoldDownArrow.svg
new file mode 100644
index 0000000000..0024a1256b
--- /dev/null
+++ b/editor/icons/CodeFoldDownArrow.svg
@@ -0,0 +1 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg"><path d="m3 5 3 3 3-3" fill="none" stroke="#fff" stroke-width="2"/></svg>
diff --git a/editor/icons/CodeFoldedRightArrow.svg b/editor/icons/CodeFoldedRightArrow.svg
new file mode 100644
index 0000000000..f2a4bd44e0
--- /dev/null
+++ b/editor/icons/CodeFoldedRightArrow.svg
@@ -0,0 +1 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg"><path d="m4 9 3-3-3-3" fill="none" stroke="#fff" stroke-width="2"/></svg>
diff --git a/editor/icons/ContainerLayout.svg b/editor/icons/ContainerLayout.svg
new file mode 100644
index 0000000000..feabc2c350
--- /dev/null
+++ b/editor/icons/ContainerLayout.svg
@@ -0,0 +1 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero"><path d="m3 1c-1.105 0-2 .895-2 2h2zm2 0v2h2v-2zm4 0v2h2v-2zm4 0v2h2c0-1.105-.895-2-2-2zm-12 4v2h2v-2zm12 0v2h2v-2zm-12 4v2h2v-2zm12 0v2h2v-2zm-12 4c0 1.105.895 2 2 2v-2zm4 0v2h2v-2zm4 0v2h2v-2zm4 0v2c1.105 0 2-.895 2-2z" fill="#8eef97"/><path d="m7 7h4v4h-4z" fill="#d6d6d6"/></g></svg>
diff --git a/editor/icons/ControlAlignWide.svg b/editor/icons/ControlAlignFullRect.svg
index 0099e04896..0099e04896 100644
--- a/editor/icons/ControlAlignWide.svg
+++ b/editor/icons/ControlAlignFullRect.svg
diff --git a/editor/icons/ControlLayout.svg b/editor/icons/ControlLayout.svg
index 11dd2554be..8503e3313c 100644
--- a/editor/icons/ControlLayout.svg
+++ b/editor/icons/ControlLayout.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m1 1v14h14v-14zm2 2h3v3h-3zm5 0h5v3h-5zm-5 5h3v5h-3zm5 0h5v5h-5z" fill="#8eef97"/></svg>
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero"><path d="m11.793 8v-2h-3.793v-2.113h-2v2.113h-2.142v2h2.142v3.967h2v-3.967z" fill="#d6d6d6"/><path d="m8 .345c-4.199 0-7.655 3.456-7.655 7.655s3.456 7.655 7.655 7.655 7.655-3.456 7.655-7.655-3.456-7.655-7.655-7.655zm0 1.999c3.103 0 5.656 2.553 5.656 5.656s-2.553 5.656-5.656 5.656-5.656-2.553-5.656-5.656 2.553-5.656 5.656-5.656z" fill="#8eef97"/></g></svg>
diff --git a/editor/icons/CopyNodePath.svg b/editor/icons/CopyNodePath.svg
index 1adec4ade3..12d03843e0 100644
--- a/editor/icons/CopyNodePath.svg
+++ b/editor/icons/CopyNodePath.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><circle cx="3" cy="1048.4"/><path d="m2 1c-.55226.0001-.99994.4477-1 1v12c.0000552.5523.44774.9999 1 1h12c.55226-.0001.99994-.4477 1-1v-8l-5-5zm1 2h6v3c0 .554.44599 1 1 1h3v6h-10zm3 5-2 4h2l2-4zm4 0-2 4h2l2-4z" fill-opacity=".78431" transform="translate(0 1036.4)"/></g></svg>
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><circle cx="3" cy="1048.4"/><path d="m2 1c-.55226.0001-.99994.4477-1 1v12c.0000552.5523.44774.9999 1 1h12c.55226-.0001.99994-.4477 1-1v-8l-5-5zm1 2h6v3c0 .554.44599 1 1 1h3v6h-10zm3 5-2 4h2l2-4zm4 0-2 4h2l2-4z" transform="translate(0 1036.4)"/></g></svg>
diff --git a/editor/icons/DefaultProjectIcon.svg b/editor/icons/DefaultProjectIcon.svg
index f81ba4d390..adc26df6c2 100644
--- a/editor/icons/DefaultProjectIcon.svg
+++ b/editor/icons/DefaultProjectIcon.svg
@@ -1 +1 @@
-<svg height="64" viewBox="0 0 64 64" width="64" xmlns="http://www.w3.org/2000/svg"><g stroke-linejoin="round"><path d="m8 0c-4.432 0-8 3.568-8 8v48c0 4.432 3.568 8 8 8h48c4.432 0 8-3.568 8-8v-48c0-4.432-3.568-8-8-8z" fill="#355570" stroke-linecap="round" stroke-width="2"/><path d="m8 0c-4.432 0-8 3.568-8 8v48c0 4.432 3.568 8 8 8h48c4.432 0 8-3.568 8-8v-48c0-4.432-3.568-8-8-8zm0 2h48c3.324 0 6 2.676 6 6v48c0 3.324-2.676 6-6 6h-48c-3.324 0-6-2.676-6-6v-48c0-3.324 2.676-6 6-6z" fill-opacity=".19608" stroke-linecap="round" stroke-width="2"/><path d="m27.254 10c-2.1314.47383-4.2401 1.134-6.2168 2.1289.04521 1.7455.15796 3.4164.38672 5.1152-.76768.4919-1.574.91443-2.291 1.4902-.72854.5604-1.4731 1.0965-2.1328 1.752-1.3179-.8716-2.7115-1.691-4.1484-2.4141-1.549 1.667-2.9985 3.4672-4.1816 5.4805.89011 1.4399 1.8209 2.7894 2.8242 4.0703h.027343v9.9453 1.2617 1.1504l-.009765 1.6309h-.001953c.0031.7321.011718 1.5356.011718 1.6953 0 7.1942 9.1264 10.652 20.465 10.691h.013672.013672c11.338-.04 20.461-3.4972 20.461-10.691 0-.1626.010282-.96271.013672-1.6953h-.001953l-.011719-1.6309v-.98633l.003907-.001953v-11.369h.027343c1.0035-1.2809 1.9337-2.6304 2.8242-4.0703-1.1827-2.0133-2.6327-3.8135-4.1816-5.4805-1.4366.7231-2.8325 1.5425-4.1504 2.4141-.65947-.6555-1.4013-1.1916-2.1309-1.752-.71682-.5758-1.5248-.99833-2.291-1.4902.22813-1.6988.3413-3.3697.38672-5.1152-1.977-.99494-4.0863-1.6551-6.2188-2.1289-.85139 1.4309-1.6285 2.9812-2.3066 4.4961-.80409-.1344-1.613-.18571-2.4219-.19531h-.015625-.015625c-.81037.01-1.6176.060513-2.4219.19531-.67768-1.5149-1.4559-3.0652-2.3086-4.4961z" fill="#fff" stroke="#fff" stroke-width="3"/></g><g stroke-width=".32031" transform="matrix(.050279 0 0 .050279 6.2574 1.18)"><path d="m0 0s-.325 1.994-.515 1.976l-36.182-3.491c-2.879-.278-5.115-2.574-5.317-5.459l-.994-14.247-27.992-1.997-1.904 12.912c-.424 2.872-2.932 5.037-5.835 5.037h-38.188c-2.902 0-5.41-2.165-5.834-5.037l-1.905-12.912-27.992 1.997-.994 14.247c-.202 2.886-2.438 5.182-5.317 5.46l-36.2 3.49c-.187.018-.324-1.978-.511-1.978l-.049-7.83 30.658-4.944 1.004-14.374c.203-2.91 2.551-5.263 5.463-5.472l38.551-2.75c.146-.01.29-.016.434-.016 2.897 0 5.401 2.166 5.825 5.038l1.959 13.286h28.005l1.959-13.286c.423-2.871 2.93-5.037 5.831-5.037.142 0 .284.005.423.015l38.556 2.75c2.911.209 5.26 2.562 5.463 5.472l1.003 14.374 30.645 4.966z" fill="#fff" transform="matrix(4.1626 0 0 -4.1626 919.24 771.67)"/><path d="m0 0v-59.041c.108-.001.216-.005.323-.015l36.196-3.49c1.896-.183 3.382-1.709 3.514-3.609l1.116-15.978 31.574-2.253 2.175 14.747c.282 1.912 1.922 3.329 3.856 3.329h38.188c1.933 0 3.573-1.417 3.855-3.329l2.175-14.747 31.575 2.253 1.115 15.978c.133 1.9 1.618 3.425 3.514 3.609l36.182 3.49c.107.01.214.014.322.015v4.711l.015.005v54.325h.134c4.795 6.12 9.232 12.569 13.487 19.449-5.651 9.62-12.575 18.217-19.976 26.182-6.864-3.455-13.531-7.369-19.828-11.534-3.151 3.132-6.7 5.694-10.186 8.372-3.425 2.751-7.285 4.768-10.946 7.118 1.09 8.117 1.629 16.108 1.846 24.448-9.446 4.754-19.519 7.906-29.708 10.17-4.068-6.837-7.788-14.241-11.028-21.479-3.842.642-7.702.88-11.567.926v.006c-.027 0-.052-.006-.075-.006-.024 0-.049.006-.073.006v-.006c-3.872-.046-7.729-.284-11.572-.926-3.238 7.238-6.956 14.642-11.03 21.479-10.184-2.264-20.258-5.416-29.703-10.17.216-8.34.755-16.331 1.848-24.448-3.668-2.35-7.523-4.367-10.949-7.118-3.481-2.678-7.036-5.24-10.188-8.372-6.297 4.165-12.962 8.079-19.828 11.534-7.401-7.965-14.321-16.562-19.974-26.182 4.253-6.88 8.693-13.329 13.487-19.449z" fill="#478cbf" transform="matrix(4.1626 0 0 -4.1626 104.7 525.91)"/><path d="m0 0-1.121-16.063c-.135-1.936-1.675-3.477-3.611-3.616l-38.555-2.751c-.094-.007-.188-.01-.281-.01-1.916 0-3.569 1.406-3.852 3.33l-2.211 14.994h-31.459l-2.211-14.994c-.297-2.018-2.101-3.469-4.133-3.32l-38.555 2.751c-1.936.139-3.476 1.68-3.611 3.616l-1.121 16.063-32.547 3.138c.015-3.498.06-7.33.06-8.093 0-34.374 43.605-50.896 97.781-51.086h.133c54.176.19 97.766 16.712 97.766 51.086 0 .777.047 4.593.063 8.093z" fill="#478cbf" transform="matrix(4.1626 0 0 -4.1626 784.07 817.24)"/><path d="m0 0c0-12.052-9.765-21.815-21.813-21.815-12.042 0-21.81 9.763-21.81 21.815 0 12.044 9.768 21.802 21.81 21.802 12.048 0 21.813-9.758 21.813-21.802" fill="#fff" transform="matrix(4.1626 0 0 -4.1626 389.21 625.67)"/><path d="m0 0c0-7.994-6.479-14.473-14.479-14.473-7.996 0-14.479 6.479-14.479 14.473s6.483 14.479 14.479 14.479c8 0 14.479-6.485 14.479-14.479" fill="#414042" transform="matrix(4.1626 0 0 -4.1626 367.37 631.06)"/><path d="m0 0c-3.878 0-7.021 2.858-7.021 6.381v20.081c0 3.52 3.143 6.381 7.021 6.381s7.028-2.861 7.028-6.381v-20.081c0-3.523-3.15-6.381-7.028-6.381" fill="#fff" transform="matrix(4.1626 0 0 -4.1626 511.99 724.74)"/><path d="m0 0c0-12.052 9.765-21.815 21.815-21.815 12.041 0 21.808 9.763 21.808 21.815 0 12.044-9.767 21.802-21.808 21.802-12.05 0-21.815-9.758-21.815-21.802" fill="#fff" transform="matrix(4.1626 0 0 -4.1626 634.79 625.67)"/><path d="m0 0c0-7.994 6.477-14.473 14.471-14.473 8.002 0 14.479 6.479 14.479 14.473s-6.477 14.479-14.479 14.479c-7.994 0-14.471-6.485-14.471-14.479" fill="#414042" transform="matrix(4.1626 0 0 -4.1626 656.64 631.06)"/></g></svg>
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><g transform="translate(32 32)"><path d="m-16-32c-8.86 0-16 7.13-16 15.99v95.98c0 8.86 7.13 15.99 16 15.99h96c8.86 0 16-7.13 16-15.99v-95.98c0-8.85-7.14-15.99-16-15.99z" fill="#363d52"/><path d="m-16-32c-8.86 0-16 7.13-16 15.99v95.98c0 8.86 7.13 15.99 16 15.99h96c8.86 0 16-7.13 16-15.99v-95.98c0-8.85-7.14-15.99-16-15.99zm0 4h96c6.64 0 12 5.35 12 11.99v95.98c0 6.64-5.35 11.99-12 11.99h-96c-6.64 0-12-5.35-12-11.99v-95.98c0-6.64 5.36-11.99 12-11.99z" fill-opacity=".4"/></g><g stroke-width="9.92746" transform="matrix(.10073078 0 0 .10073078 12.425923 2.256365)"><path d="m0 0s-.325 1.994-.515 1.976l-36.182-3.491c-2.879-.278-5.115-2.574-5.317-5.459l-.994-14.247-27.992-1.997-1.904 12.912c-.424 2.872-2.932 5.037-5.835 5.037h-38.188c-2.902 0-5.41-2.165-5.834-5.037l-1.905-12.912-27.992 1.997-.994 14.247c-.202 2.886-2.438 5.182-5.317 5.46l-36.2 3.49c-.187.018-.324-1.978-.511-1.978l-.049-7.83 30.658-4.944 1.004-14.374c.203-2.91 2.551-5.263 5.463-5.472l38.551-2.75c.146-.01.29-.016.434-.016 2.897 0 5.401 2.166 5.825 5.038l1.959 13.286h28.005l1.959-13.286c.423-2.871 2.93-5.037 5.831-5.037.142 0 .284.005.423.015l38.556 2.75c2.911.209 5.26 2.562 5.463 5.472l1.003 14.374 30.645 4.966z" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 919.24059 771.67186)"/><path d="m0 0v-47.514-6.035-5.492c.108-.001.216-.005.323-.015l36.196-3.49c1.896-.183 3.382-1.709 3.514-3.609l1.116-15.978 31.574-2.253 2.175 14.747c.282 1.912 1.922 3.329 3.856 3.329h38.188c1.933 0 3.573-1.417 3.855-3.329l2.175-14.747 31.575 2.253 1.115 15.978c.133 1.9 1.618 3.425 3.514 3.609l36.182 3.49c.107.01.214.014.322.015v4.711l.015.005v54.325c5.09692 6.4164715 9.92323 13.494208 13.621 19.449-5.651 9.62-12.575 18.217-19.976 26.182-6.864-3.455-13.531-7.369-19.828-11.534-3.151 3.132-6.7 5.694-10.186 8.372-3.425 2.751-7.285 4.768-10.946 7.118 1.09 8.117 1.629 16.108 1.846 24.448-9.446 4.754-19.519 7.906-29.708 10.17-4.068-6.837-7.788-14.241-11.028-21.479-3.842.642-7.702.88-11.567.926v.006c-.027 0-.052-.006-.075-.006-.024 0-.049.006-.073.006v-.006c-3.872-.046-7.729-.284-11.572-.926-3.238 7.238-6.956 14.642-11.03 21.479-10.184-2.264-20.258-5.416-29.703-10.17.216-8.34.755-16.331 1.848-24.448-3.668-2.35-7.523-4.367-10.949-7.118-3.481-2.678-7.036-5.24-10.188-8.372-6.297 4.165-12.962 8.079-19.828 11.534-7.401-7.965-14.321-16.562-19.974-26.182 4.4426579-6.973692 9.2079702-13.9828876 13.621-19.449z" fill="#478cbf" transform="matrix(4.162611 0 0 -4.162611 104.69892 525.90697)"/><path d="m0 0-1.121-16.063c-.135-1.936-1.675-3.477-3.611-3.616l-38.555-2.751c-.094-.007-.188-.01-.281-.01-1.916 0-3.569 1.406-3.852 3.33l-2.211 14.994h-31.459l-2.211-14.994c-.297-2.018-2.101-3.469-4.133-3.32l-38.555 2.751c-1.936.139-3.476 1.68-3.611 3.616l-1.121 16.063-32.547 3.138c.015-3.498.06-7.33.06-8.093 0-34.374 43.605-50.896 97.781-51.086h.066.067c54.176.19 97.766 16.712 97.766 51.086 0 .777.047 4.593.063 8.093z" fill="#478cbf" transform="matrix(4.162611 0 0 -4.162611 784.07144 817.24284)"/><path d="m0 0c0-12.052-9.765-21.815-21.813-21.815-12.042 0-21.81 9.763-21.81 21.815 0 12.044 9.768 21.802 21.81 21.802 12.048 0 21.813-9.758 21.813-21.802" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 389.21484 625.67104)"/><path d="m0 0c0-7.994-6.479-14.473-14.479-14.473-7.996 0-14.479 6.479-14.479 14.473s6.483 14.479 14.479 14.479c8 0 14.479-6.485 14.479-14.479" fill="#414042" transform="matrix(4.162611 0 0 -4.162611 367.36686 631.05679)"/><path d="m0 0c-3.878 0-7.021 2.858-7.021 6.381v20.081c0 3.52 3.143 6.381 7.021 6.381s7.028-2.861 7.028-6.381v-20.081c0-3.523-3.15-6.381-7.028-6.381" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 511.99336 724.73954)"/><path d="m0 0c0-12.052 9.765-21.815 21.815-21.815 12.041 0 21.808 9.763 21.808 21.815 0 12.044-9.767 21.802-21.808 21.802-12.05 0-21.815-9.758-21.815-21.802" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 634.78706 625.67104)"/><path d="m0 0c0-7.994 6.477-14.473 14.471-14.473 8.002 0 14.479 6.479 14.479 14.473s-6.477 14.479-14.479 14.479c-7.994 0-14.471-6.485-14.471-14.479" fill="#414042" transform="matrix(4.162611 0 0 -4.162611 656.64056 631.05679)"/></g></svg>
diff --git a/editor/icons/Font.svg b/editor/icons/Font.svg
index 2c8d7cb43e..dda1aa577e 100644
--- a/editor/icons/Font.svg
+++ b/editor/icons/Font.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m1 1037.4h14v2h-14z"/><path d="m7 1037.4h2v14h-2z"/><path d="m5 1050.4h6v1h-6z"/><path d="m1037.4-2h4v1h-4z" transform="rotate(90)"/><path d="m1037.4-15h4v1h-4z" transform="rotate(90)"/><path d="m2 3v2a2 2 0 0 1 2-2z" transform="translate(0 1036.4)"/><path d="m12 3a2 2 0 0 1 2 2v-2z" transform="translate(0 1036.4)"/><path d="m5 1050.4a2 2 0 0 0 2-2v2z"/><path d="m11 1050.4a2 2 0 0 1 -2-2v2z"/></g></svg>
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0"><path d="M1 1h14v2H1z"/><path d="M7 1h2v14H7z"/><path d="M5 14h6v1H5zM2 1v4H1V1zm13 0v4h-1V1zM2 3v2a2 2 0 0 1 2-2zm10 0a2 2 0 0 1 2 2V3zM5 14a2 2 0 0 0 2-2v2zm6 0a2 2 0 0 1-2-2v2z"/></g></svg>
diff --git a/editor/icons/FontData.svg b/editor/icons/FontData.svg
deleted file mode 100644
index 4cb6412081..0000000000
--- a/editor/icons/FontData.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m1 1v2 1h1a1 1 0 0 1 1-1h2v6a1 1 0 0 1 -1 1v1h1 2 1v-1a1 1 0 0 1 -1-1v-6h2a1 1 0 0 1 1 1h1v-1-2h-4-2zm0 5v2h2v-2zm0 3v2h2v-2zm0 3v2h2v-2zm3 0v2h2v-2z" fill="#e0e0e0"/><path d="m4 5v2 1h1a1 1 0 0 1 1-1h2v6a1 1 0 0 1 -1 1v1h1 2 1v-1a1 1 0 0 1 -1-1v-6h2a1 1 0 0 1 1 1h1v-1-2h-4-2z" fill="#ff5f5f"/></svg>
diff --git a/editor/icons/FontFile.svg b/editor/icons/FontFile.svg
new file mode 100644
index 0000000000..c014299783
--- /dev/null
+++ b/editor/icons/FontFile.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 7.5h-1a.519.519 0 0 0-.281.084A.491.491 0 0 0 6 8v.5h-.5V9a1 1 0 0 1-1 1v1H8V9.854A1 1 0 0 1 7.5 9V7.5zM1.5 1v3h1a1 1 0 0 1 1-1h2v1.5h2V3h2a1 1 0 0 1 1 1h1V1h-10z" style="fill:#e0e0e0;fill-opacity:1"/><path d="M4.5 5v3h1a1 1 0 0 1 1-1h2v6a1 1 0 0 1-1 1v1h4v-1a1 1 0 0 1-1-1V7h2a1 1 0 0 1 1 1h1V5h-6z" fill="#ff5f5f"/></svg>
diff --git a/editor/icons/FontVariation.svg b/editor/icons/FontVariation.svg
new file mode 100644
index 0000000000..39917bcba9
--- /dev/null
+++ b/editor/icons/FontVariation.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M5.975 11 7.21 7.5H5.916a.478.478 0 0 0-.113.016.837.837 0 0 0-.127.043c-.044.018-.089.04-.133.066l-.043.027V9a1 1 0 0 1-1 1v1h1.475zM1.5 1v3h1a1 1 0 0 1 1-1h2v1.5h2V3h2a1 1 0 0 1 1 1h1V1h-10z" style="fill:#e0e0e0;fill-opacity:1"/><path d="m4.621 5-.705 2-.353 1h1a.84 1.192 49.998 0 1 1.353-1h2L5.8 13a.84 1.192 49.998 0 1-1.353 1l-.353 1h4l.353-1a.84 1.192 49.998 0 1-.647-1l2.116-6h2a.84 1.192 49.998 0 1 .647 1h1l.353-1 .705-2h-6z" fill="#ff5f5f"/></svg>
diff --git a/editor/icons/GeometryInstance3D.svg b/editor/icons/GeometryInstance3D.svg
new file mode 100644
index 0000000000..759d5fe413
--- /dev/null
+++ b/editor/icons/GeometryInstance3D.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m3 1a2 2 0 0 0 -2 2 2 2 0 0 0 1 1.7304688v6.5410152a2 2 0 0 0 -1 1.728516 2 2 0 0 0 2 2 2 2 0 0 0 1.7304688-1h6.5410152a2 2 0 0 0 1.728516 1 2 2 0 0 0 2-2 2 2 0 0 0 -1.03125-1.75h.03125v-6.5214844a2 2 0 0 0 1-1.7285156 2 2 0 0 0 -2-2 2 2 0 0 0 -1.730469 1h-6.5410154a2 2 0 0 0 -1.7285156-1zm1 3h1.4140625 3.5859375 2.271484a2 2 0 0 0 .728516.7304688v1.2695312 4.585938 1.414062h-1.414062-4.585938-1.2714844a2 2 0 0 0 -.7285156-.730469v-3.269531-2.5859375z" fill="#fc7f7f"/></svg>
diff --git a/editor/icons/ImporterMeshInstance3D.svg b/editor/icons/ImporterMeshInstance3D.svg
new file mode 100644
index 0000000000..7e7598ac2b
--- /dev/null
+++ b/editor/icons/ImporterMeshInstance3D.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#fc7f7f"><path d="m3 1a2 2 0 0 0 -2 2 2 2 0 0 0 1 1.7304688v6.5410152a2 2 0 0 0 -1 1.728516 2 2 0 0 0 2 2 2 2 0 0 0 1.7304688-1h6.5410152a2 2 0 0 0 1.728516 1 2 2 0 0 0 2-2 2 2 0 0 0 -1.03125-1.75h.03125v-6.5214844a2 2 0 0 0 1-1.7285156 2 2 0 0 0 -2-2 2 2 0 0 0 -1.730469 1h-6.5410154a2 2 0 0 0 -1.7285156-1zm1 3h1.4140625 3.5859375 2.271484a2 2 0 0 0 .728516.7304688v1.2695312 4.585938 1.414062h-1.414062-4.585938-1.2714844a2 2 0 0 0 -.7285156-.730469v-3.269531-2.5859375z"/><path d="m7 7h2v4h-2z"/><path d="m7 5h2v1h-2z"/></g></svg>
diff --git a/editor/icons/InterpCubicInTime.svg b/editor/icons/InterpCubicInTime.svg
new file mode 100644
index 0000000000..81027f798a
--- /dev/null
+++ b/editor/icons/InterpCubicInTime.svg
@@ -0,0 +1 @@
+<svg enable-background="new -595.5 420.5 16 8" height="8" viewBox="-595.5 420.5 16 8" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m-593.5 426.5c1-4 3.5-5.5 6-2s5 2 6-2" fill="none" stroke="#ff92cb" stroke-linecap="round" stroke-width="2"/></svg>
diff --git a/editor/icons/LabelSettings.svg b/editor/icons/LabelSettings.svg
new file mode 100644
index 0000000000..4dc3b9e86e
--- /dev/null
+++ b/editor/icons/LabelSettings.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M6 3a1 1 0 0 0-.707.293l-4 4a1 1 0 0 0 0 1.414l4 4A1 1 0 0 0 6 13h2.076a3.766 3.766 0 0 1-.058-.496c-.003-.058-.006-.115-.006-.174a2.606 2.606 0 0 1 .05-.508 3.212 3.212 0 0 1 .133-.496 5.104 5.104 0 0 1 .451-.982 8.303 8.303 0 0 1 .422-.656 14.41 14.41 0 0 1 .489-.667c.172-.223.351-.45.535-.68.163-.203.327-.408.492-.618a27.639 27.639 0 0 0 .732-.977 16.04 16.04 0 0 0 .465-.697c.075-.12.147-.242.219-.365a12.399 12.399 0 0 0 .684 1.062 27.555 27.555 0 0 0 .73.977c.165.21.331.415.494.619a43.298 43.298 0 0 1 .787 1.013c.082.111.16.222.237.332L15 9.79V4a1 1 0 0 0-1-1H6zM5 7a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1z" style="fill:#8eef97;fill-opacity:1"/><path d="M9.184 13A2.99 2.99 0 0 0 12 15a2.99 2.99 0 0 0 2.816-2z" fill="#ff4596"/><path d="M9.23 11c-.136.326-.23.656-.23 1 0 .352.072.686.184 1h5.632c.112-.314.184-.648.184-1 0-.344-.094-.674-.23-1H9.23z" fill="#8045ff"/><path d="M10.564 9c-.552.69-1.058 1.342-1.334 2h5.54c-.276-.658-.782-1.31-1.335-2Z" fill="#45d7ff"/><path d="M12 7c-.43.746-.945 1.387-1.435 2h2.87c-.49-.613-1.005-1.254-1.435-2Z" fill="#45ffa2"/></svg>
diff --git a/editor/icons/MainMovieWrite.svg b/editor/icons/MainMovieWrite.svg
new file mode 100644
index 0000000000..21464bb57c
--- /dev/null
+++ b/editor/icons/MainMovieWrite.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M8 2a6 6 0 0 0-6 6 6 6 0 0 0 6 6 6 6 0 0 0 4-1.535V14h.002a2 2 0 0 0 .266 1A2 2 0 0 0 14 16h1v-2h-.5a.5.5 0 0 1-.5-.5V8a6 6 0 0 0-6-6zm0 1a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1zm3.441 2a1 1 0 0 1 .89.5 1 1 0 0 1-.366 1.365 1 1 0 0 1-1.367-.365 1 1 0 0 1 .367-1.365A1 1 0 0 1 11.44 5zm-6.953.002a1 1 0 0 1 .547.133A1 1 0 0 1 5.402 6.5a1 1 0 0 1-1.367.365A1 1 0 0 1 3.67 5.5a1 1 0 0 1 .818-.498zM4.512 9a1 1 0 0 1 .89.5 1 1 0 0 1-.367 1.365A1 1 0 0 1 3.67 10.5a1 1 0 0 1 .365-1.365A1 1 0 0 1 4.512 9zm6.904.002a1 1 0 0 1 .549.133 1 1 0 0 1 .365 1.365 1 1 0 0 1-1.365.365 1 1 0 0 1-.367-1.365 1 1 0 0 1 .818-.498zM8 11a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1z" fill="#e0e0e0"/></svg>
diff --git a/editor/icons/MenuBar.svg b/editor/icons/MenuBar.svg
new file mode 100644
index 0000000000..0a53f07f85
--- /dev/null
+++ b/editor/icons/MenuBar.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M2 6a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1Zm1 2h10v2H3Zm0 3h10v2H3ZM1 1v4h6V1Zm1 1h4L4 4Z" fill="#8eef97"/></svg>
diff --git a/editor/icons/MultiplayerSpawner.svg b/editor/icons/MultiplayerSpawner.svg
new file mode 100644
index 0000000000..68ffd3aab4
--- /dev/null
+++ b/editor/icons/MultiplayerSpawner.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path style="fill:none;fill-opacity:.996078;stroke:#e0e0e0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:16.5;stroke-opacity:1;paint-order:stroke markers fill" d="M4.936 7.429A4 4 0 0 1 8 6a4 4 0 0 1 3.064 1.429M1.872 4.858A8 8 0 0 1 8 2a8 8 0 0 1 6.128 2.858"/><path d="M7 9v2H5v2h2v2h2v-2h2v-2H9V9Z" fill="#5fff97"/></svg>
diff --git a/editor/icons/MultiplayerSynchronizer.svg b/editor/icons/MultiplayerSynchronizer.svg
new file mode 100644
index 0000000000..1547ec5a2b
--- /dev/null
+++ b/editor/icons/MultiplayerSynchronizer.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path style="fill:#5fff97;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="M5 10h3l-2 4-2-4Z"/><path style="fill:#ff5f5f;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="M9 14h3l-2-4-2 4Z"/><path style="fill:none;fill-opacity:.996078;stroke:#e0e0e0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:16.5;stroke-opacity:1;paint-order:stroke markers fill" d="M4.936 7.429A4 4 0 0 1 8 6a4 4 0 0 1 3.064 1.429M1.872 4.858A8 8 0 0 1 8 2a8 8 0 0 1 6.128 2.858"/></svg>
diff --git a/editor/icons/NavigationAgent2D.svg b/editor/icons/NavigationAgent2D.svg
index 3f1d571a7e..05aeb95e12 100644
--- a/editor/icons/NavigationAgent2D.svg
+++ b/editor/icons/NavigationAgent2D.svg
@@ -1 +1 @@
-<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m8 1c-3 0-5 2-5 5s3 6 5 9c2-3 5.007-6.03 5-9 0-3-2-5-5-5zm0 2.5c1.371 0 2.5 1.129 2.5 2.5s-1.129 2.5-2.5 2.5-2.5-1.129-2.5-2.5 1.129-2.5 2.5-2.5z" fill="#e0e0e0" fill-rule="nonzero"/></svg>
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m8 1v2.5c1.371 0 2.5 1.129 2.5 2.5s-1.129 2.5-2.5 2.5v6.5c2-3 5.007-6.03 5-9 0-3-2-5-5-5z" fill="#8da5f3" fill-opacity=".988235"/><path d="m8 1c-3 0-5 2-5 5s3 6 5 9v-6.5c-1.371 0-2.5-1.129-2.5-2.5s1.129-2.5 2.5-2.5z" fill="#e0e0e0"/></svg>
diff --git a/editor/icons/NavigationAgent3D.svg b/editor/icons/NavigationAgent3D.svg
index 947b2129c3..5a2d8b3489 100644
--- a/editor/icons/NavigationAgent3D.svg
+++ b/editor/icons/NavigationAgent3D.svg
@@ -1 +1 @@
-<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero"><path d="m9 1c-1.371 0-2.308.429-2.939 1.074-.668.663-1.34 1.324-2.01 1.985-.046 1.741.757 4.327 2.365 4.843.178.317.384.649.584.977v5.121l2-2c2-3 4-6 4-8s-1-4-4-4z" fill="#fff" fill-opacity=".39"/><path d="m7 3c-3 0-4 2-4 4s2 5 4 8c2-3 4-6 4-8s-1-4-4-4zm0 2c1.097 0 2 .903 2 2s-.903 2-2 2-2-.903-2-2 .903-2 2-2z" fill="#e0e0e0"/></g></svg>
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero"><path d="m8 1.0859375c-.8454344.1560829-1.4755929.5141293-1.9394531.9882813-.668.663-1.3397656 1.323375-2.0097657 1.984375-.046 1.7409999.7572344 4.32775 2.3652344 4.84375.178.317.3839844.6485624.5839844.9765624v5.1210938l1-1z" fill="#e0e0e0" fill-opacity=".501961"/><path d="m7 3c-3 0-4 2-4 4s2 5 4 8c.3378629-.506794.671779-1.011698 1-1.513672v-4.7597655c-.2952789.1727801-.6361816.2734375-1 .2734375-1.097 0-2-.903-2-2s.903-2 2-2c.3638184 0 .7047211.1006574 1 .2734375v-2.1894531c-.3055959-.054762-.6378835-.0839844-1-.0839844z" fill="#e0e0e0"/><g fill="#fc7f7f"><path d="m9 1c-.3631515 0-.6953702.0296972-1 .0859375v12.9140625l1-1c2-3 4-6 4-8s-1-4-4-4z" fill-opacity=".501961"/><path d="m8 3.0839844v2.1894531c.5950581.3481936 1 .9933809 1 1.7265625s-.4049419 1.3783689-1 1.7265625v4.7597655c1.6147033-2.469489 3-4.8241909 3-6.486328 0-1.758589-.773848-3.5170952-3-3.9160156z"/></g></g></svg>
diff --git a/editor/icons/NavigationObstacle2D.svg b/editor/icons/NavigationObstacle2D.svg
index 8fcb5617dd..a5073898f4 100644
--- a/editor/icons/NavigationObstacle2D.svg
+++ b/editor/icons/NavigationObstacle2D.svg
@@ -1 +1 @@
-<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m8 .875c-.625 0-1.25.375-1.5 1.125l-3 10h9l-3-10c-.25-.75-.875-1.125-1.5-1.125zm-1.5 4.125h3l1 4h-5zm-4.5 8c-1 0-1 2 0 2h12c1 0 1-2 0-2z" fill="#e0e0e0" fill-rule="nonzero"/></svg>
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m8 .875c-.625 0-1.25.375-1.5 1.125l-3 10h4.5v-3h-2.5l1-4h1.5zm-6 12.125c-1 0-1 2 0 2h6v-2z" fill="#e0e0e0"/><path d="m8 .875v4.125h1.5l1 4h-2.5v3h4.5l-3-10c-.25-.75-.875-1.125-1.5-1.125zm0 12.125v2h6c1 0 1-2 0-2z" fill="#8da5f3" fill-opacity=".988235"/></svg>
diff --git a/editor/icons/NavigationObstacle3D.svg b/editor/icons/NavigationObstacle3D.svg
index c5e58eebf7..d8ccd3a646 100644
--- a/editor/icons/NavigationObstacle3D.svg
+++ b/editor/icons/NavigationObstacle3D.svg
@@ -1 +1 @@
-<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero"><path d="m4.607 8.379c-1.798.928-3.607 2.072-3.607 2.621 0 1 6 4 7 4s7-3 7-4c0-.549-1.809-1.693-3.607-2.621l.607 1.621c2 4-10 4-8 0z" fill="#fff" fill-opacity=".39"/><path d="m8 .875c-.375 0-.75.375-1 1.125l-3 8c-2 4 10 4 8 0l-3-8c-.25-.75-.625-1.125-1-1.125zm-1.5 4.125c1 .5 2 .5 3 0l1 3.5c-1.5 1-3.5 1-5 0z" fill="#e0e0e0"/></g></svg>
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero"><path d="m4.6074219 8.3789062c-1.798.9280001-3.6074219 2.0720938-3.6074219 2.6210938 0 1 6 4 7 4v-2c-2.5 0-5-1-4-3z" fill="#e0e0e0" fill-opacity=".501961"/><path d="m8 .875c-.375 0-.75.375-1 1.125l-3 8c-1 2 1.5 3 4 3v-3.75c-.875 0-1.75-.25-2.5-.75l1-3.5c.5.25 1 .375 1.5.375z" fill="#e0e0e0"/><g fill="#fc7f7f"><path d="m11.392578 8.3789062.607422 1.6210938c1.002342 2.004685-1.511742 3.004696-4.0175781 3v1.998047c.0053893.000157.0124503.001953.0175781.001953 1 0 7-3 7-4 0-.549-1.809422-1.6930938-3.607422-2.6210938z" fill-opacity=".501961"/><path d="m8 .875c-.00585 0-.011729.001771-.017578.001953v4.498047c.5058535.0029611 1.0117243-.1220732 1.517578-.375l1 3.5c-.7550159.5033439-1.6367318.7533663-2.5175781.75v3.75c2.5058361.004696 5.0199201-.995315 4.0175781-3l-3-8c-.25-.75-.625-1.125-1-1.125z"/></g></g></svg>
diff --git a/editor/icons/NodeWarnings2.svg b/editor/icons/NodeWarnings2.svg
new file mode 100644
index 0000000000..e0385c28d1
--- /dev/null
+++ b/editor/icons/NodeWarnings2.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8.0292969 2.0019531a1.0001 1.0001 0 0 0 -.8867188.484375l-6 9.9999999a1.0001 1.0001 0 0 0 .8574219 1.513672h12a1.0001 1.0001 0 0 0 .857422-1.513672l-2.326172-3.876953c-.89392-.5083134-1.507327-1.4610509-1.529297-2.5488281l-2.1445311-3.5742188a1.0001 1.0001 0 0 0 -.828125-.484375zm-1.0292969 2.9980469h2v5h-2zm0 6h2v2h-2z" fill="#ffdd65"/><g fill="#f95252"><path d="m14 0a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2z"/><path d="m15.447266 4.6210938c-.430501.2402237-.923653.3789062-1.447266.3789062-.522676 0-1.015355-.1375274-1.445312-.3769531a2 2 0 0 0 -.554688 1.3769531 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -.552734-1.3789062z"/></g></svg>
diff --git a/editor/icons/NodeWarnings3.svg b/editor/icons/NodeWarnings3.svg
new file mode 100644
index 0000000000..53c0e70034
--- /dev/null
+++ b/editor/icons/NodeWarnings3.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8.0292969 2.0019531a1.0001 1.0001 0 0 0 -.8867188.484375l-6 9.9999999a1.0001 1.0001 0 0 0 .8574219 1.513672h12a1.0001 1.0001 0 0 0 .982422-1.171875c-.308689.108606-.638692.171875-.982422.171875-1.645008 0-3-1.354992-3-3a1.0001 1.0001 0 0 0 0-.0019531c.002071-.7569921.302544-1.4803618.818359-2.0332031-.464296-.5178712-.798903-1.1662278-.816406-1.9042969l-2.1445311-3.5742188a1.0001 1.0001 0 0 0 -.828125-.484375zm-1.0292969 2.9980469h2v5h-2zm6.095703 4.7636719c-.02286.0837076-.095296.1479891-.095703.2363281v.001953c.001004.551209.418791.97816.964844.996094l-.712891-1.1875001c-.051505-.0169949-.103183-.0337067-.15625-.046875zm-6.095703 1.2363281h2v2h-2z" fill="#ffdd65"/><path d="m14 0a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm1.447266 4.6210938c-.430501.2402237-.923653.3789062-1.447266.3789062-.522676 0-1.015355-.1375274-1.445312-.3769531a2 2 0 0 0 -.554688 1.3769531 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -.552734-1.3789062zm0 4c-.430501.2402236-.923653.3789062-1.447266.3789062-.522676 0-1.015355-.1375274-1.445312-.3769531a2 2 0 0 0 -.554688 1.3769531 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -.552734-1.3789062z" fill="#f95252" stroke-dashoffset="16.5" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>
diff --git a/editor/icons/NodeWarnings4Plus.svg b/editor/icons/NodeWarnings4Plus.svg
new file mode 100644
index 0000000000..64c0a0671d
--- /dev/null
+++ b/editor/icons/NodeWarnings4Plus.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8.0292969 2.0019531a1.0001 1.0001 0 0 0 -.8867188.484375l-6 9.9999999a1.0001 1.0001 0 0 0 .8574219 1.513672h9a1.0001 1.0001 0 0 0 0-.001953c.002025-.740254.278882-1.453739.773438-2.001953-.478045-.532242-.773438-1.231924-.773438-1.996094a1.0001 1.0001 0 0 0 0-.0019531c.002071-.7569921.302544-1.4803618.818359-2.0332031-.464296-.5178713-.798903-1.1662278-.816406-1.9042969l-2.1445311-3.5742188a1.0001 1.0001 0 0 0 -.828125-.484375zm-1.0292969 2.9980469h2v5h-2zm6.095703 4.7636719c-.02286.0837076-.095296.1479891-.095703.2363281v.001953c.001004.551209.418791.97816.964844.996094l-.712891-1.1875001c-.051505-.0169949-.103183-.0337067-.15625-.046875zm-6.095703 1.2363281h2v2h-2zm6.095703 2.763672c-.02286.083707-.095296.147988-.095703.236328h1c-.326848 0-.598793-.160518-.904297-.236328z" fill="#ffdd65"/><g fill="#f95252" stroke-dashoffset="16.5" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m14 0a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2z"/><path d="m15.447266 8.6210938c-.430501.2402236-.923653.3789062-1.447266.3789062-.522676 0-1.015355-.1375274-1.445312-.3769531a2 2 0 0 0 -.554688 1.3769531 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -.552734-1.3789062z"/><path d="m15.447266 4.6210938c-.430501.2402237-.923653.3789062-1.447266.3789062-.522676 0-1.015355-.1375274-1.445312-.3769531a2 2 0 0 0 -.554688 1.3769531 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -.552734-1.3789062z"/><path d="m15.447266 12.621094c-.430501.240224-.923653.378906-1.447266.378906-.522676 0-1.015355-.137527-1.445312-.376953a2 2 0 0 0 -.554688 1.376953 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -.552734-1.378906z"/></g></svg>
diff --git a/editor/icons/Range.svg b/editor/icons/Range.svg
new file mode 100644
index 0000000000..49311546b0
--- /dev/null
+++ b/editor/icons/Range.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m7.8027344 2.7714844c-1.0905892.2029663-1.089037 1.7659969.00195 1.9667968l2.8808595.5761719.576172 2.8808594c.231158 1.3504655 2.264924.9453327 1.960937-.390625l-.7070279-3.5371094c-.039663-.1968491-.137665-.3771998-.28125-.5175781-.138135-.1351849-.312483-.2274468-.501953-.265625l-3.5371095-.7070312c-.1291868-.0278728-.262617-.0298643-.3925781-.0058594zm-3.9941406 4.2167968c-.6571498-.0349349-1.1683412.5633914-1.03125 1.2070313l.7070312 3.5371095c.079467.394998.3882047.703736.7832031.783203l3.5371094.707031c1.3359577.303987 1.7410905-1.729779.390625-1.960937l-2.8808594-.576172-.5761719-2.8808595c-.0369237-.1982539-.1329195-.3807141-.2753906-.5234375-.1744016-.1751556-.407488-.2795227-.6542968-.2929688z" fill="#8eef97"/></svg>
diff --git a/editor/icons/ShapeCast3D.svg b/editor/icons/ShapeCast3D.svg
new file mode 100644
index 0000000000..c9f24a59b4
--- /dev/null
+++ b/editor/icons/ShapeCast3D.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#fc7f7f"><path d="m7 1v9h-3l4 5 4-5h-3v-9z"/><circle cx="7.990566" cy="4.8202" r="4.009434"/></g></svg>
diff --git a/editor/icons/SkeletonIK3D.svg b/editor/icons/SkeletonIK3D.svg
index 45697a1b42..7210019749 100644
--- a/editor/icons/SkeletonIK3D.svg
+++ b/editor/icons/SkeletonIK3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m6 2a4 4 0 0 0 -4 4 4 4 0 0 0 2 3.4531v3.5469a2 2 0 0 0 1 1.7324 2 2 0 0 0 1 .26562v.001953h4v-.001953a2 2 0 0 0 1-.26562 2 2 0 0 0 1-1.7324v-3.5469a4 4 0 0 0 2-3.4531 4 4 0 0 0 -4-4zm-1 3a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1-1 1 1 0 0 1 1-1zm6 0a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1-1 1 1 0 0 1 1-1zm-4 2h2v1h-2zm-2 2h1v1h1v-1h1 1v1h1v-1h1v.86719 3.1328h-1v-1h-1v1h-1-1v-1h-1v1h-1v-3.1309-.86914z" fill="#e0e0e0"/></svg>
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m6 2a4 4 0 0 0 -4 4 4 4 0 0 0 2 3.453125v3.546875a2 2 0 0 0 1 1.732422 2 2 0 0 0 1 .265625v.001953h2v-2h-1v-1h-1v1h-1v-3.1308594-.8691406h1v1h1v-1h1v-1h-1v-1h1v-5zm-1 3a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1-1 1 1 0 0 1 1-1z" fill="#e0e0e0"/><path d="m8 2v5h1v1h-1v1h1v1h1v-1h1v.8671875 3.1328125h-1v-1h-1v1h-1v2h2v-.001953a2 2 0 0 0 1-.265625 2 2 0 0 0 1-1.732422v-3.546875a4 4 0 0 0 2-3.453125 4 4 0 0 0 -4-4zm3 3a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1-1 1 1 0 0 1 1-1z" fill="#fc7f7f"/></svg>
diff --git a/editor/icons/SystemFont.svg b/editor/icons/SystemFont.svg
new file mode 100644
index 0000000000..a6f62d56d3
--- /dev/null
+++ b/editor/icons/SystemFont.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path style="fill:#e0e0e0;fill-opacity:1;stroke-width:.714755" d="m5.787 1-.402 1.613c-.352.265-.71.122-1.012-.111l-.904-.541L2.46 2.973l.853 1.425c-.058.438-.412.586-.79.635-.343.065-.674.216-1.024.213V6.72c.367 0 .715.157 1.074.224.371.032.716.243.727.65l-.84 1.4 1.008 1.01c.443-.266.895-.53 1.33-.802.349-.044.675.139.674.506l.314 1.258c.459-.059 1.099.115 1.45-.082.117-.475.242-.954.35-1.428A.67.67 0 0 1 8 9.195V7.5H6.5a.519.519 0 0 0-.281.084A.491.491 0 0 0 6 8v.5H4v-4h5.75c-.005-.22.107-.434.254-.625l.543-.902L9.535 1.96l-1.426.853c-.437-.058-.588-.412-.636-.79L7.217 1h-1.43z"/><path d="M4.5 5v3h1a1 1 0 0 1 1-1h2v6a1 1 0 0 1-1 1v1h4v-1a1 1 0 0 1-1-1V7h2a1 1 0 0 1 1 1h1V5h-6z" fill="#ff5f5f"/></svg>
diff --git a/editor/icons/TerrainConnect.svg b/editor/icons/TerrainConnect.svg
new file mode 100644
index 0000000000..3b6b8fd5a2
--- /dev/null
+++ b/editor/icons/TerrainConnect.svg
@@ -0,0 +1 @@
+<svg height="32" viewBox="0 0 16 16" width="32" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0"><circle cx="8" cy="8" r="2.000028" stroke-width="1.09711"/><g stroke-width=".5" transform="translate(0 -1036.4)"><path d="m7 1039.9h-1l2-2.5 2 2.5h-1v2h-2z"/><path d="m3.5606601 1041.3748-.7071068.707-.3535533-3.1818 3.1819804.3535-.7071067.7071.7071067.7071-1.4142135 1.4142z"/><path d="m11.0252 1039.9606-.707-.7071 3.1818-.3535-.3535 3.1819-.7071-.7071-.7071.7071-1.4142-1.4142z"/><path d="m12.43934 1047.4252.707107-.707.353553 3.1818-3.18198-.3535.707106-.7071-.707106-.7071 1.414214-1.4142z"/><path d="m4.9748005 1048.8394.707.7071-3.1818.3535.3535-3.1819.7071.7071.7071-.7071 1.4142 1.4142z"/><path d="m12.5 1043.4v-1l2.5 2-2.5 2v-1h-2v-2z"/><path d="m9 1048.9h1l-2 2.5-2-2.5h1v-2h2z"/><path d="m3.5 1045.4v1l-2.5-2 2.5-2v1h2v2z"/></g></g></svg>
diff --git a/editor/icons/TerrainPath.svg b/editor/icons/TerrainPath.svg
new file mode 100644
index 0000000000..6352bbd37e
--- /dev/null
+++ b/editor/icons/TerrainPath.svg
@@ -0,0 +1 @@
+<svg height="32" viewBox="0 0 16 16" width="32" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><circle cx="3" cy="1049.4" r="2.000028" stroke-width="1.09711"/><circle cx="13" cy="1039.4" r="2.000028" stroke-width="1.09711"/><path d="m7 1038.4v10h-4v2h4 2v-2-8h4v-2h-4z" stroke-width=".46291"/></g></svg>
diff --git a/editor/icons/TextEditorPlay.svg b/editor/icons/TextEditorPlay.svg
new file mode 100644
index 0000000000..5a1d195530
--- /dev/null
+++ b/editor/icons/TextEditorPlay.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m4 1048.4v-8l7 4z" fill="#e0e0e0" fill-rule="evenodd" stroke="#e0e0e0" stroke-linejoin="round" stroke-width="2" transform="translate(0 -1036.4)"/></svg>
diff --git a/editor/icons/TorusMesh.svg b/editor/icons/TorusMesh.svg
new file mode 100644
index 0000000000..2ed973d3cf
--- /dev/null
+++ b/editor/icons/TorusMesh.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><ellipse cx="8" cy="7.5" fill="none" rx="6" ry="3.5" stroke="#ffca5f" stroke-linecap="square" stroke-linejoin="round" stroke-width="2"/></svg>
diff --git a/editor/icons/Unlinked.svg b/editor/icons/Unlinked.svg
new file mode 100644
index 0000000000..6c831eacad
--- /dev/null
+++ b/editor/icons/Unlinked.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><defs><clipPath id="a"><path d="M0 0h16v16H0z"/></clipPath></defs><g clip-path="url(#a)" fill="#e0e0e0"><path d="M1.136 12.036a3.994 3.994 0 0 1-.137-1.047 4.007 4.007 0 0 1 2.965-3.853 1 1 0 0 1 1.225.707 1 1 0 0 1 .034.25 1 1 0 0 1-.741.975 2 2 0 0 0-1.483 1.926 1.994 1.994 0 0 0 .068.523 2 2 0 0 0 2.45 1.415 2 2 0 0 0 1.484-1.931 2 2 0 0 0-.068-.523 1 1 0 0 1-.034-.25 1 1 0 0 1 .742-.975 1 1 0 0 1 1.225.707 3.991 3.991 0 0 1 .137 1.046 4.007 4.007 0 0 1-2.965 3.852 3.993 3.993 0 0 1-1.035.137 4.006 4.006 0 0 1-3.867-2.959zM9.965 8.863a1 1 0 0 1-.742-.975 1 1 0 0 1 .034-.25 1 1 0 0 1 1.225-.706 2 2 0 0 0 2.449-1.415A1.994 1.994 0 0 0 13 4.994a2 2 0 0 0-1.483-1.926 2 2 0 0 0-2.45 1.414 1 1 0 0 1-1.224.707 1 1 0 0 1-.742-.975 1 1 0 0 1 .034-.25 4 4 0 0 1 4.9-2.829A4.008 4.008 0 0 1 15 4.988a3.993 3.993 0 0 1-.137 1.047 4.006 4.006 0 0 1-3.862 2.966 3.989 3.989 0 0 1-1.036-.138zM5.5 4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5zM4.5 5a.5.5 0 0 1-.354-.146l-2-2a.5.5 0 0 1 0-.707.5.5 0 0 1 .707 0l2 2A.5.5 0 0 1 4.5 5zM3.5 6h-2a.5.5 0 0 1-.5-.5.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5.5.5 0 0 1-.5.5z"/></g></svg>
diff --git a/editor/icons/VideoPlayer.svg b/editor/icons/VideoStreamPlayer.svg
index 092a26b955..092a26b955 100644
--- a/editor/icons/VideoPlayer.svg
+++ b/editor/icons/VideoStreamPlayer.svg
diff --git a/editor/icons/VisualInstance3D.svg b/editor/icons/VisualInstance3D.svg
new file mode 100644
index 0000000000..e5e43b59dd
--- /dev/null
+++ b/editor/icons/VisualInstance3D.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#fc7f7f"><circle cx="3" cy="3" r="2"/><circle cx="13" cy="3" r="2"/><circle cx="13" cy="13" r="2"/><circle cx="3" cy="13" r="2"/></g></svg>
diff --git a/editor/import/audio_stream_import_settings.cpp b/editor/import/audio_stream_import_settings.cpp
new file mode 100644
index 0000000000..f3709efab6
--- /dev/null
+++ b/editor/import/audio_stream_import_settings.cpp
@@ -0,0 +1,650 @@
+/*************************************************************************/
+/* audio_stream_import_settings.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "audio_stream_import_settings.h"
+#include "editor/audio_stream_preview.h"
+#include "editor/editor_file_system.h"
+#include "editor/editor_scale.h"
+
+AudioStreamImportSettings *AudioStreamImportSettings::singleton = nullptr;
+
+void AudioStreamImportSettings::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_READY: {
+ AudioStreamPreviewGenerator::get_singleton()->connect("preview_updated", callable_mp(this, &AudioStreamImportSettings::_preview_changed));
+ connect("confirmed", callable_mp(this, &AudioStreamImportSettings::_reimport));
+ } break;
+
+ case NOTIFICATION_THEME_CHANGED:
+ case NOTIFICATION_ENTER_TREE: {
+ _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
+ _stop_button->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons")));
+ _preview->set_color(get_theme_color(SNAME("dark_color_2"), SNAME("Editor")));
+ color_rect->set_color(get_theme_color(SNAME("dark_color_1"), SNAME("Editor")));
+ _current_label->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts")));
+ _current_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")));
+ _duration_label->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts")));
+ _duration_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")));
+
+ zoom_in->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons")));
+ zoom_out->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons")));
+ zoom_reset->set_icon(get_theme_icon(SNAME("ZoomReset"), SNAME("EditorIcons")));
+
+ _indicator->update();
+ _preview->update();
+ } break;
+
+ case NOTIFICATION_PROCESS: {
+ _current = _player->get_playback_position();
+ _indicator->update();
+ } break;
+
+ case NOTIFICATION_VISIBILITY_CHANGED: {
+ if (!is_visible()) {
+ _stop();
+ }
+ } break;
+ }
+}
+
+void AudioStreamImportSettings::_draw_preview() {
+ Rect2 rect = _preview->get_rect();
+ Size2 size = rect.size;
+
+ Ref<AudioStreamPreview> preview = AudioStreamPreviewGenerator::get_singleton()->generate_preview(stream);
+ float preview_offset = zoom_bar->get_value();
+ float preview_len = zoom_bar->get_page();
+
+ Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts"));
+ int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts"));
+ Vector<Vector2> lines;
+ lines.resize(size.width * 2);
+ Color color_active = get_theme_color(SNAME("contrast_color_2"), SNAME("Editor"));
+ Color color_inactive = color_active;
+ color_inactive.a *= 0.5;
+ Vector<Color> color;
+ color.resize(lines.size());
+
+ float inactive_from = 1e20;
+ float beat_size = 0;
+ int last_beat = 0;
+ if (stream->get_bpm() > 0) {
+ beat_size = 60 / float(stream->get_bpm());
+ int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE;
+ rect.position.y += y_ofs;
+ rect.size.y -= y_ofs;
+
+ if (stream->get_beat_count() > 0) {
+ last_beat = stream->get_beat_count();
+ inactive_from = last_beat * beat_size;
+ }
+ }
+
+ for (int i = 0; i < size.width; i++) {
+ float ofs = preview_offset + i * preview_len / size.width;
+ float ofs_n = preview_offset + (i + 1) * preview_len / size.width;
+ float max = preview->get_max(ofs, ofs_n) * 0.5 + 0.5;
+ float min = preview->get_min(ofs, ofs_n) * 0.5 + 0.5;
+
+ int idx = i;
+ lines.write[idx * 2 + 0] = Vector2(i + 1, rect.position.y + min * rect.size.y);
+ lines.write[idx * 2 + 1] = Vector2(i + 1, rect.position.y + max * rect.size.y);
+
+ Color c = ofs > inactive_from ? color_inactive : color_active;
+
+ color.write[idx * 2 + 0] = c;
+ color.write[idx * 2 + 1] = c;
+ }
+
+ RS::get_singleton()->canvas_item_add_multiline(_preview->get_canvas_item(), lines, color);
+
+ if (beat_size) {
+ Color beat_color = Color(1, 1, 1, 1);
+ Color final_beat_color = beat_color;
+ Color bar_color = beat_color;
+ beat_color.a *= 0.4;
+ bar_color.a *= 0.6;
+
+ int prev_beat = 0; // Do not draw beat zero
+ Color color_bg = color_active;
+ color_bg.a *= 0.2;
+ _preview->draw_rect(Rect2(0, 0, rect.size.width, rect.position.y), color_bg);
+ int bar_beats = stream->get_bar_beats();
+
+ int last_text_end_x = 0;
+ for (int i = 0; i < size.width; i++) {
+ float ofs = preview_offset + i * preview_len / size.width;
+ int beat = int(ofs / beat_size);
+ if (beat != prev_beat) {
+ String text = itos(beat);
+ int text_w = beat_font->get_string_size(text).width;
+ if (i - text_w / 2 > last_text_end_x + 2 * EDSCALE) {
+ int x_ofs = i - text_w / 2;
+ _preview->draw_string(beat_font, Point2(x_ofs, 2 * EDSCALE + beat_font->get_ascent(main_size)), text, HORIZONTAL_ALIGNMENT_LEFT, rect.size.width - x_ofs, Font::DEFAULT_FONT_SIZE, color_active);
+ last_text_end_x = i + text_w / 2;
+ }
+
+ if (beat == last_beat) {
+ _preview->draw_rect(Rect2i(i, rect.position.y, 2, rect.size.height), final_beat_color);
+ // Darken subsequent beats
+ beat_color.a *= 0.3;
+ color_active.a *= 0.3;
+ } else {
+ _preview->draw_rect(Rect2i(i, rect.position.y, 1, rect.size.height), (beat % bar_beats) == 0 ? bar_color : beat_color);
+ }
+ prev_beat = beat;
+ }
+ }
+ }
+}
+
+void AudioStreamImportSettings::_preview_changed(ObjectID p_which) {
+ if (stream.is_valid() && stream->get_instance_id() == p_which) {
+ _preview->update();
+ }
+}
+
+void AudioStreamImportSettings::_preview_zoom_in() {
+ if (!stream.is_valid()) {
+ return;
+ }
+ float page_size = zoom_bar->get_page();
+ zoom_bar->set_page(page_size * 0.5);
+ zoom_bar->set_value(zoom_bar->get_value() + page_size * 0.25);
+
+ _preview->update();
+ _indicator->update();
+}
+
+void AudioStreamImportSettings::_preview_zoom_out() {
+ if (!stream.is_valid()) {
+ return;
+ }
+ float page_size = zoom_bar->get_page();
+ zoom_bar->set_page(MIN(zoom_bar->get_max(), page_size * 2.0));
+ zoom_bar->set_value(zoom_bar->get_value() - page_size * 0.5);
+
+ _preview->update();
+ _indicator->update();
+}
+
+void AudioStreamImportSettings::_preview_zoom_reset() {
+ if (!stream.is_valid()) {
+ return;
+ }
+ zoom_bar->set_max(stream->get_length());
+ zoom_bar->set_page(zoom_bar->get_max());
+ zoom_bar->set_value(0);
+ _preview->update();
+ _indicator->update();
+}
+
+void AudioStreamImportSettings::_preview_zoom_offset_changed(double) {
+ _preview->update();
+ _indicator->update();
+}
+
+void AudioStreamImportSettings::_audio_changed() {
+ if (!is_visible()) {
+ return;
+ }
+ _preview->update();
+ _indicator->update();
+ color_rect->update();
+}
+
+void AudioStreamImportSettings::_play() {
+ if (_player->is_playing()) {
+ // '_pausing' variable indicates that we want to pause the audio player, not stop it. See '_on_finished()'.
+ _pausing = true;
+ _player->stop();
+ _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
+ set_process(false);
+ } else {
+ _player->play(_current);
+ _play_button->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons")));
+ set_process(true);
+ }
+}
+
+void AudioStreamImportSettings::_stop() {
+ _player->stop();
+ _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
+ _current = 0;
+ _indicator->update();
+ set_process(false);
+}
+
+void AudioStreamImportSettings::_on_finished() {
+ _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
+ if (!_pausing) {
+ _current = 0;
+ _indicator->update();
+ } else {
+ _pausing = false;
+ }
+ set_process(false);
+}
+
+void AudioStreamImportSettings::_draw_indicator() {
+ if (!stream.is_valid()) {
+ return;
+ }
+
+ Rect2 rect = _preview->get_rect();
+
+ Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts"));
+ int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts"));
+
+ if (stream->get_bpm() > 0) {
+ int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE;
+ rect.position.y += y_ofs;
+ rect.size.height -= y_ofs;
+ }
+
+ float ofs_x = (_current - zoom_bar->get_value()) * rect.size.width / zoom_bar->get_page();
+ if (ofs_x < 0 || ofs_x >= rect.size.width) {
+ return;
+ }
+
+ const Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor"));
+ _indicator->draw_line(Point2(ofs_x, rect.position.y), Point2(ofs_x, rect.position.y + rect.size.height), color, Math::round(2 * EDSCALE));
+ _indicator->draw_texture(
+ get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons")),
+ Point2(ofs_x - get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons"))->get_width() * 0.5, rect.position.y),
+ color);
+
+ if (stream->get_bpm() > 0 && _hovering_beat != -1) {
+ // Draw hovered beat.
+ float preview_offset = zoom_bar->get_value();
+ float preview_len = zoom_bar->get_page();
+ float beat_size = 60 / float(stream->get_bpm());
+ int prev_beat = 0;
+ int last_text_end_x = 0;
+ for (int i = 0; i < rect.size.width; i++) {
+ float ofs = preview_offset + i * preview_len / rect.size.width;
+ int beat = int(ofs / beat_size);
+ if (beat != prev_beat) {
+ String text = itos(beat);
+ int text_w = beat_font->get_string_size(text).width;
+ if (i - text_w / 2 > last_text_end_x + 2 * EDSCALE && beat == _hovering_beat) {
+ int x_ofs = i - text_w / 2;
+ _indicator->draw_string(beat_font, Point2(x_ofs, 2 * EDSCALE + beat_font->get_ascent(main_size)), text, HORIZONTAL_ALIGNMENT_LEFT, rect.size.width - x_ofs, Font::DEFAULT_FONT_SIZE, color);
+ last_text_end_x = i + text_w / 2;
+ break;
+ }
+ prev_beat = beat;
+ }
+ }
+ }
+
+ _current_label->set_text(String::num(_current, 2).pad_decimals(2) + " /");
+}
+
+void AudioStreamImportSettings::_on_indicator_mouse_exited() {
+ _hovering_beat = -1;
+ _indicator->update();
+}
+
+void AudioStreamImportSettings::_on_input_indicator(Ref<InputEvent> p_event) {
+ const Ref<InputEventMouseButton> mb = p_event;
+ if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT) {
+ if (stream->get_bpm() > 0) {
+ int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts"));
+ Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts"));
+ int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE;
+ if ((!_dragging && mb->get_position().y < y_ofs) || _beat_len_dragging) {
+ if (mb->is_pressed()) {
+ _set_beat_len_to(mb->get_position().x);
+ _beat_len_dragging = true;
+ } else {
+ _beat_len_dragging = false;
+ }
+ return;
+ }
+ }
+
+ if (mb->is_pressed()) {
+ _seek_to(mb->get_position().x);
+ }
+ _dragging = mb->is_pressed();
+ }
+
+ const Ref<InputEventMouseMotion> mm = p_event;
+ if (mm.is_valid()) {
+ if (_dragging) {
+ _seek_to(mm->get_position().x);
+ }
+ if (_beat_len_dragging) {
+ _set_beat_len_to(mm->get_position().x);
+ }
+ if (stream->get_bpm() > 0) {
+ int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts"));
+ Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts"));
+ int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE;
+ if (mm->get_position().y < y_ofs) {
+ int new_hovering_beat = _get_beat_at_pos(mm->get_position().x);
+ if (new_hovering_beat != _hovering_beat) {
+ _hovering_beat = new_hovering_beat;
+ _indicator->update();
+ }
+ } else if (_hovering_beat != -1) {
+ _hovering_beat = -1;
+ _indicator->update();
+ }
+ }
+ }
+}
+
+int AudioStreamImportSettings::_get_beat_at_pos(real_t p_x) {
+ float ofs_sec = zoom_bar->get_value() + p_x * zoom_bar->get_page() / _preview->get_size().width;
+ ofs_sec = CLAMP(ofs_sec, 0, stream->get_length());
+ float beat_size = 60 / float(stream->get_bpm());
+ int beat = int(ofs_sec / beat_size + 0.5);
+
+ if (beat * beat_size > stream->get_length() + 0.001) { // Stream may end few audio frames before but may still want to use full loop.
+ beat--;
+ }
+ return beat;
+}
+
+void AudioStreamImportSettings::_set_beat_len_to(real_t p_x) {
+ int beat = _get_beat_at_pos(p_x);
+ if (beat < 1) {
+ beat = 1; // Because 0 is disable.
+ }
+ updating_settings = true;
+ beats_enabled->set_pressed(true);
+ beats_edit->set_value(beat);
+ updating_settings = false;
+ _settings_changed();
+}
+
+void AudioStreamImportSettings::_seek_to(real_t p_x) {
+ _current = zoom_bar->get_value() + p_x / _preview->get_rect().size.x * zoom_bar->get_page();
+ _current = CLAMP(_current, 0, stream->get_length());
+ _player->seek(_current);
+ _indicator->update();
+}
+
+void AudioStreamImportSettings::edit(const String &p_path, const String &p_importer, const Ref<AudioStream> &p_stream) {
+ if (!stream.is_null()) {
+ stream->disconnect("changed", callable_mp(this, &AudioStreamImportSettings::_audio_changed));
+ }
+
+ importer = p_importer;
+ path = p_path;
+
+ stream = p_stream;
+ _player->set_stream(stream);
+ _current = 0;
+ String text = String::num(stream->get_length(), 2).pad_decimals(2) + "s";
+ _duration_label->set_text(text);
+
+ if (!stream.is_null()) {
+ stream->connect("changed", callable_mp(this, &AudioStreamImportSettings::_audio_changed));
+ _preview->update();
+ _indicator->update();
+ color_rect->update();
+ } else {
+ hide();
+ }
+ params.clear();
+
+ if (stream.is_valid()) {
+ Ref<ConfigFile> config_file;
+ config_file.instantiate();
+ Error err = config_file->load(p_path + ".import");
+ updating_settings = true;
+ if (err == OK) {
+ double bpm = config_file->get_value("params", "bpm", 0);
+ int beats = config_file->get_value("params", "beat_count", 0);
+ bpm_edit->set_value(bpm > 0 ? bpm : 120);
+ bpm_enabled->set_pressed(bpm > 0);
+ beats_edit->set_value(beats);
+ beats_enabled->set_pressed(beats > 0);
+ loop->set_pressed(config_file->get_value("params", "loop", false));
+ loop_offset->set_value(config_file->get_value("params", "loop_offset", 0));
+ bar_beats_edit->set_value(config_file->get_value("params", "bar_beats", 4));
+
+ List<String> keys;
+ config_file->get_section_keys("params", &keys);
+ for (const String &K : keys) {
+ params[K] = config_file->get_value("params", K);
+ }
+ } else {
+ bpm_edit->set_value(false);
+ bpm_enabled->set_pressed(false);
+ beats_edit->set_value(0);
+ beats_enabled->set_pressed(false);
+ bar_beats_edit->set_value(4);
+ loop->set_pressed(false);
+ loop_offset->set_value(0);
+ }
+
+ _preview_zoom_reset();
+ updating_settings = false;
+ _settings_changed();
+
+ set_title(vformat(TTR("Audio Stream Importer: %s"), p_path.get_file()));
+ popup_centered();
+ }
+}
+
+void AudioStreamImportSettings::_settings_changed() {
+ if (updating_settings) {
+ return;
+ }
+
+ updating_settings = true;
+ stream->call("set_loop", loop->is_pressed());
+ stream->call("set_loop_offset", loop_offset->get_value());
+ if (bpm_enabled->is_pressed()) {
+ stream->call("set_bpm", bpm_edit->get_value());
+ beats_enabled->show();
+ beats_edit->show();
+ bar_beats_label->show();
+ bar_beats_edit->show();
+ double bpm = bpm_edit->get_value();
+ if (bpm > 0) {
+ float beat_size = 60 / float(bpm);
+ int beat_max = int((stream->get_length() + 0.001) / beat_size);
+ int current_beat = beats_edit->get_value();
+ beats_edit->set_max(beat_max);
+ if (current_beat > beat_max) {
+ beats_edit->set_value(beat_max);
+ stream->call("set_beat_count", beat_max);
+ }
+ }
+ stream->call("set_bar_beats", bar_beats_edit->get_value());
+ } else {
+ stream->call("set_bpm", 0);
+ stream->call("set_bar_beats", 4);
+ beats_enabled->hide();
+ beats_edit->hide();
+ bar_beats_label->hide();
+ bar_beats_edit->hide();
+ }
+ if (bpm_enabled->is_pressed() && beats_enabled->is_pressed()) {
+ stream->call("set_beat_count", beats_edit->get_value());
+ } else {
+ stream->call("set_beat_count", 0);
+ }
+
+ updating_settings = false;
+
+ _preview->update();
+ _indicator->update();
+ color_rect->update();
+}
+
+void AudioStreamImportSettings::_reimport() {
+ params["loop"] = loop->is_pressed();
+ params["loop_offset"] = loop_offset->get_value();
+ params["bpm"] = bpm_enabled->is_pressed() ? double(bpm_edit->get_value()) : double(0);
+ params["beat_count"] = (bpm_enabled->is_pressed() && beats_enabled->is_pressed()) ? int(beats_edit->get_value()) : int(0);
+ params["bar_beats"] = (bpm_enabled->is_pressed()) ? int(bar_beats_edit->get_value()) : int(4);
+
+ EditorFileSystem::get_singleton()->reimport_file_with_custom_parameters(path, importer, params);
+}
+
+AudioStreamImportSettings::AudioStreamImportSettings() {
+ get_ok_button()->set_text(TTR("Reimport"));
+ get_cancel_button()->set_text(TTR("Close"));
+
+ VBoxContainer *main_vbox = memnew(VBoxContainer);
+ add_child(main_vbox);
+
+ HBoxContainer *loop_hb = memnew(HBoxContainer);
+ loop_hb->add_theme_constant_override("separation", 4 * EDSCALE);
+ loop = memnew(CheckBox);
+ loop->set_text(TTR("Enable"));
+ loop->set_tooltip(TTR("Enable looping."));
+ loop->connect("toggled", callable_mp(this, &AudioStreamImportSettings::_settings_changed).unbind(1));
+ loop_hb->add_child(loop);
+ loop_hb->add_spacer();
+ loop_hb->add_child(memnew(Label(TTR("Offset:"))));
+ loop_offset = memnew(SpinBox);
+ loop_offset->set_max(10000);
+ loop_offset->set_step(0.001);
+ loop_offset->set_suffix("sec");
+ loop_offset->set_tooltip(TTR("Loop offset (from beginning). Note that if BPM is set, this setting will be ignored."));
+ loop_offset->connect("value_changed", callable_mp(this, &AudioStreamImportSettings::_settings_changed).unbind(1));
+ loop_hb->add_child(loop_offset);
+ main_vbox->add_margin_child(TTR("Loop:"), loop_hb);
+
+ HBoxContainer *interactive_hb = memnew(HBoxContainer);
+ interactive_hb->add_theme_constant_override("separation", 4 * EDSCALE);
+ bpm_enabled = memnew(CheckBox);
+ bpm_enabled->set_text((TTR("BPM:")));
+ bpm_enabled->connect("toggled", callable_mp(this, &AudioStreamImportSettings::_settings_changed).unbind(1));
+ interactive_hb->add_child(bpm_enabled);
+ bpm_edit = memnew(SpinBox);
+ bpm_edit->set_max(400);
+ bpm_edit->set_step(0.01);
+ bpm_edit->set_tooltip(TTR("Configure the Beats Per Measure (tempo) used for the interactive streams.\nThis is required in order to configure beat information."));
+ bpm_edit->connect("value_changed", callable_mp(this, &AudioStreamImportSettings::_settings_changed).unbind(1));
+ interactive_hb->add_child(bpm_edit);
+ interactive_hb->add_spacer();
+ bar_beats_label = memnew(Label(TTR("Beats/Bar:")));
+ interactive_hb->add_child(bar_beats_label);
+ bar_beats_edit = memnew(SpinBox);
+ bar_beats_edit->set_tooltip(TTR("Configure the Beats Per Bar. This used for music-aware transitions between AudioStreams."));
+ bar_beats_edit->set_min(2);
+ bar_beats_edit->set_max(32);
+ bar_beats_edit->connect("value_changed", callable_mp(this, &AudioStreamImportSettings::_settings_changed).unbind(1));
+ interactive_hb->add_child(bar_beats_edit);
+ interactive_hb->add_spacer();
+ beats_enabled = memnew(CheckBox);
+ beats_enabled->set_text(TTR("Length (in beats):"));
+ beats_enabled->connect("toggled", callable_mp(this, &AudioStreamImportSettings::_settings_changed).unbind(1));
+ interactive_hb->add_child(beats_enabled);
+ beats_edit = memnew(SpinBox);
+ beats_edit->set_tooltip(TTR("Configure the amount of Beats used for music-aware looping. If zero, it will be autodetected from the length.\nIt is recommended to set this value (either manually or by clicking on a beat number in the preview) to ensure looping works properly."));
+ beats_edit->set_max(99999);
+ beats_edit->connect("value_changed", callable_mp(this, &AudioStreamImportSettings::_settings_changed).unbind(1));
+ interactive_hb->add_child(beats_edit);
+ main_vbox->add_margin_child(TTR("Music Playback:"), interactive_hb);
+
+ color_rect = memnew(ColorRect);
+ main_vbox->add_margin_child(TTR("Preview:"), color_rect);
+
+ color_rect->set_custom_minimum_size(Size2(600, 200) * EDSCALE);
+ color_rect->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+
+ _player = memnew(AudioStreamPlayer);
+ _player->connect("finished", callable_mp(this, &AudioStreamImportSettings::_on_finished));
+ color_rect->add_child(_player);
+
+ VBoxContainer *vbox = memnew(VBoxContainer);
+ vbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, 0);
+ color_rect->add_child(vbox);
+ vbox->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+
+ _preview = memnew(ColorRect);
+ _preview->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ _preview->connect("draw", callable_mp(this, &AudioStreamImportSettings::_draw_preview));
+ _preview->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ vbox->add_child(_preview);
+
+ HBoxContainer *zoom_hbox = memnew(HBoxContainer);
+ zoom_bar = memnew(HScrollBar);
+ zoom_in = memnew(Button);
+ zoom_in->set_flat(true);
+ zoom_reset = memnew(Button);
+ zoom_reset->set_flat(true);
+ zoom_out = memnew(Button);
+ zoom_out->set_flat(true);
+ zoom_hbox->add_child(zoom_bar);
+ zoom_bar->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ zoom_bar->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ zoom_hbox->add_child(zoom_out);
+ zoom_hbox->add_child(zoom_reset);
+ zoom_hbox->add_child(zoom_in);
+ zoom_in->connect("pressed", callable_mp(this, &AudioStreamImportSettings::_preview_zoom_in));
+ zoom_reset->connect("pressed", callable_mp(this, &AudioStreamImportSettings::_preview_zoom_reset));
+ zoom_out->connect("pressed", callable_mp(this, &AudioStreamImportSettings::_preview_zoom_out));
+ zoom_bar->connect("value_changed", callable_mp(this, &AudioStreamImportSettings::_preview_zoom_offset_changed));
+ vbox->add_child(zoom_hbox);
+
+ _indicator = memnew(Control);
+ _indicator->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
+ _indicator->connect("draw", callable_mp(this, &AudioStreamImportSettings::_draw_indicator));
+ _indicator->connect("gui_input", callable_mp(this, &AudioStreamImportSettings::_on_input_indicator));
+ _indicator->connect("mouse_exited", callable_mp(this, &AudioStreamImportSettings::_on_indicator_mouse_exited));
+ _preview->add_child(_indicator);
+
+ HBoxContainer *hbox = memnew(HBoxContainer);
+ hbox->add_theme_constant_override("separation", 0);
+ vbox->add_child(hbox);
+
+ _play_button = memnew(Button);
+ _play_button->set_flat(true);
+ hbox->add_child(_play_button);
+ _play_button->set_focus_mode(Control::FOCUS_NONE);
+ _play_button->connect("pressed", callable_mp(this, &AudioStreamImportSettings::_play));
+
+ _stop_button = memnew(Button);
+ _stop_button->set_flat(true);
+ hbox->add_child(_stop_button);
+ _stop_button->set_focus_mode(Control::FOCUS_NONE);
+ _stop_button->connect("pressed", callable_mp(this, &AudioStreamImportSettings::_stop));
+
+ _current_label = memnew(Label);
+ _current_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT);
+ _current_label->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ _current_label->set_modulate(Color(1, 1, 1, 0.5));
+ hbox->add_child(_current_label);
+
+ _duration_label = memnew(Label);
+ hbox->add_child(_duration_label);
+
+ singleton = this;
+}
diff --git a/editor/plugins/audio_stream_editor_plugin.h b/editor/import/audio_stream_import_settings.h
index 0d927bddd5..5e399237ca 100644
--- a/editor/plugins/audio_stream_editor_plugin.h
+++ b/editor/import/audio_stream_import_settings.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* audio_stream_editor_plugin.h */
+/* audio_stream_import_settings.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,17 +28,27 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef AUDIO_STREAM_EDITOR_PLUGIN_H
-#define AUDIO_STREAM_EDITOR_PLUGIN_H
+#ifndef AUDIO_STREAM_IMPORT_SETTINGS_H
+#define AUDIO_STREAM_IMPORT_SETTINGS_H
#include "editor/editor_plugin.h"
#include "scene/audio/audio_stream_player.h"
#include "scene/gui/color_rect.h"
+#include "scene/gui/spin_box.h"
#include "scene/resources/texture.h"
-class AudioStreamEditor : public ColorRect {
- GDCLASS(AudioStreamEditor, ColorRect);
+class AudioStreamImportSettings : public ConfirmationDialog {
+ GDCLASS(AudioStreamImportSettings, ConfirmationDialog);
+ CheckBox *bpm_enabled = nullptr;
+ SpinBox *bpm_edit = nullptr;
+ CheckBox *beats_enabled = nullptr;
+ SpinBox *beats_edit = nullptr;
+ Label *bar_beats_label = nullptr;
+ SpinBox *bar_beats_edit = nullptr;
+ CheckBox *loop = nullptr;
+ SpinBox *loop_offset = nullptr;
+ ColorRect *color_rect = nullptr;
Ref<AudioStream> stream;
AudioStreamPlayer *_player = nullptr;
ColorRect *_preview = nullptr;
@@ -46,18 +56,42 @@ class AudioStreamEditor : public ColorRect {
Label *_current_label = nullptr;
Label *_duration_label = nullptr;
+ HScrollBar *zoom_bar = nullptr;
+ Button *zoom_in = nullptr;
+ Button *zoom_reset = nullptr;
+ Button *zoom_out = nullptr;
+
Button *_play_button = nullptr;
Button *_stop_button = nullptr;
+ bool updating_settings = false;
+
float _current = 0;
bool _dragging = false;
+ bool _beat_len_dragging = false;
bool _pausing = false;
+ int _hovering_beat = -1;
+
+ HashMap<StringName, Variant> params;
+ String importer;
+ String path;
void _audio_changed();
+ static AudioStreamImportSettings *singleton;
+
+ void _settings_changed();
+
+ void _reimport();
+
protected:
void _notification(int p_what);
void _preview_changed(ObjectID p_which);
+ void _preview_zoom_in();
+ void _preview_zoom_out();
+ void _preview_zoom_reset();
+ void _preview_zoom_offset_changed(double);
+
void _play();
void _stop();
void _on_finished();
@@ -65,27 +99,16 @@ protected:
void _draw_indicator();
void _on_input_indicator(Ref<InputEvent> p_event);
void _seek_to(real_t p_x);
- static void _bind_methods();
+ void _set_beat_len_to(real_t p_x);
+ void _on_indicator_mouse_exited();
+ int _get_beat_at_pos(real_t p_x);
public:
- void edit(Ref<AudioStream> p_stream);
- AudioStreamEditor();
-};
+ void edit(const String &p_path, const String &p_importer, const Ref<AudioStream> &p_stream);
-class AudioStreamEditorPlugin : public EditorPlugin {
- GDCLASS(AudioStreamEditorPlugin, EditorPlugin);
+ static AudioStreamImportSettings *get_singleton() { return singleton; }
- AudioStreamEditor *audio_editor = nullptr;
-
-public:
- virtual String get_name() const override { return "Audio"; }
- bool has_main_screen() const override { return false; }
- virtual void edit(Object *p_object) override;
- virtual bool handles(Object *p_object) const override;
- virtual void make_visible(bool p_visible) override;
-
- AudioStreamEditorPlugin();
- ~AudioStreamEditorPlugin();
+ AudioStreamImportSettings();
};
-#endif // AUDIO_STREAM_EDITOR_PLUGIN_H
+#endif // AUDIO_STREAM_IMPORT_SETTINGS_H
diff --git a/editor/import/dynamic_font_import_settings.cpp b/editor/import/dynamic_font_import_settings.cpp
index e546f01205..043681aa87 100644
--- a/editor/import/dynamic_font_import_settings.cpp
+++ b/editor/import/dynamic_font_import_settings.cpp
@@ -41,50 +41,44 @@
/* Settings data */
/*************************************************************************/
-class DynamicFontImportSettingsData : public RefCounted {
- GDCLASS(DynamicFontImportSettingsData, RefCounted)
- friend class DynamicFontImportSettings;
-
- HashMap<StringName, Variant> settings;
- HashMap<StringName, Variant> defaults;
- List<ResourceImporter::ImportOption> options;
- DynamicFontImportSettings *owner = nullptr;
-
- bool _set(const StringName &p_name, const Variant &p_value) {
- if (defaults.has(p_name) && defaults[p_name] == p_value) {
- settings.erase(p_name);
- } else {
- settings[p_name] = p_value;
- }
- return true;
+bool DynamicFontImportSettingsData::_set(const StringName &p_name, const Variant &p_value) {
+ if (defaults.has(p_name) && defaults[p_name] == p_value) {
+ settings.erase(p_name);
+ } else {
+ settings[p_name] = p_value;
}
+ return true;
+}
- bool _get(const StringName &p_name, Variant &r_ret) const {
- if (settings.has(p_name)) {
- r_ret = settings[p_name];
- return true;
- }
- if (defaults.has(p_name)) {
- r_ret = defaults[p_name];
- return true;
- }
- return false;
+bool DynamicFontImportSettingsData::_get(const StringName &p_name, Variant &r_ret) const {
+ if (settings.has(p_name)) {
+ r_ret = settings[p_name];
+ return true;
+ }
+ if (defaults.has(p_name)) {
+ r_ret = defaults[p_name];
+ return true;
}
+ return false;
+}
- void _get_property_list(List<PropertyInfo> *p_list) const {
- for (const List<ResourceImporter::ImportOption>::Element *E = options.front(); E; E = E->next()) {
- if (owner && owner->import_settings_data.is_valid()) {
- if (owner->import_settings_data->get("multichannel_signed_distance_field") && (E->get().option.name == "size" || E->get().option.name == "outline_size" || E->get().option.name == "oversampling")) {
- continue;
- }
- if (!owner->import_settings_data->get("multichannel_signed_distance_field") && (E->get().option.name == "msdf_pixel_range" || E->get().option.name == "msdf_size")) {
- continue;
- }
+void DynamicFontImportSettingsData::_get_property_list(List<PropertyInfo> *p_list) const {
+ for (const List<ResourceImporter::ImportOption>::Element *E = options.front(); E; E = E->next()) {
+ if (owner && owner->import_settings_data.is_valid()) {
+ if (owner->import_settings_data->get("multichannel_signed_distance_field") && (E->get().option.name == "size" || E->get().option.name == "outline_size" || E->get().option.name == "oversampling")) {
+ continue;
+ }
+ if (!owner->import_settings_data->get("multichannel_signed_distance_field") && (E->get().option.name == "msdf_pixel_range" || E->get().option.name == "msdf_size")) {
+ continue;
}
- p_list->push_back(E->get().option);
}
+ p_list->push_back(E->get().option);
}
-};
+}
+
+Ref<FontFile> DynamicFontImportSettingsData::get_font() const {
+ return fd;
+}
/*************************************************************************/
/* Glyph ranges */
@@ -454,54 +448,32 @@ void DynamicFontImportSettings::_add_glyph_range_item(int32_t p_start, int32_t p
void DynamicFontImportSettings::_main_prop_changed(const String &p_edited_property) {
// Update font preview.
- if (p_edited_property == "antialiased") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_antialiased(import_settings_data->get("antialiased"));
- }
- } else if (p_edited_property == "generate_mipmaps") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_generate_mipmaps(import_settings_data->get("generate_mipmaps"));
- }
- } else if (p_edited_property == "multichannel_signed_distance_field") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_multichannel_signed_distance_field(import_settings_data->get("multichannel_signed_distance_field"));
- }
- _variation_selected();
- _variations_validate();
- } else if (p_edited_property == "msdf_pixel_range") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_msdf_pixel_range(import_settings_data->get("msdf_pixel_range"));
- }
- } else if (p_edited_property == "msdf_size") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_msdf_size(import_settings_data->get("msdf_size"));
- }
- } else if (p_edited_property == "force_autohinter") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_force_autohinter(import_settings_data->get("force_autohinter"));
- }
- } else if (p_edited_property == "hinting") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_hinting((TextServer::Hinting)import_settings_data->get("hinting").operator int());
- }
- } else if (p_edited_property == "subpixel_positioning") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_subpixel_positioning((TextServer::SubpixelPositioning)import_settings_data->get("subpixel_positioning").operator int());
- }
- } else if (p_edited_property == "embolden") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_embolden(import_settings_data->get("embolden"));
- }
- } else if (p_edited_property == "transform") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_transform(import_settings_data->get("transform"));
- }
- } else if (p_edited_property == "oversampling") {
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_oversampling(import_settings_data->get("oversampling"));
+ if (font_preview.is_valid()) {
+ if (p_edited_property == "antialiased") {
+ font_preview->set_antialiased(import_settings_data->get("antialiased"));
+ } else if (p_edited_property == "generate_mipmaps") {
+ font_preview->set_generate_mipmaps(import_settings_data->get("generate_mipmaps"));
+ } else if (p_edited_property == "multichannel_signed_distance_field") {
+ font_preview->set_multichannel_signed_distance_field(import_settings_data->get("multichannel_signed_distance_field"));
+ _variation_selected();
+ _variations_validate();
+ } else if (p_edited_property == "msdf_pixel_range") {
+ font_preview->set_msdf_pixel_range(import_settings_data->get("msdf_pixel_range"));
+ } else if (p_edited_property == "msdf_size") {
+ font_preview->set_msdf_size(import_settings_data->get("msdf_size"));
+ } else if (p_edited_property == "force_autohinter") {
+ font_preview->set_force_autohinter(import_settings_data->get("force_autohinter"));
+ } else if (p_edited_property == "hinting") {
+ font_preview->set_hinting((TextServer::Hinting)import_settings_data->get("hinting").operator int());
+ } else if (p_edited_property == "subpixel_positioning") {
+ font_preview->set_subpixel_positioning((TextServer::SubpixelPositioning)import_settings_data->get("subpixel_positioning").operator int());
+ } else if (p_edited_property == "oversampling") {
+ font_preview->set_oversampling(import_settings_data->get("oversampling"));
}
}
+
font_preview_label->add_theme_font_override("font", font_preview);
+ font_preview_label->add_theme_font_size_override("font_size", 200 * EDSCALE);
font_preview_label->update();
}
@@ -530,6 +502,7 @@ void DynamicFontImportSettings::_variation_add() {
import_variation_data->options = options_variations;
inspector_vars->edit(import_variation_data.ptr());
import_variation_data->notify_property_list_changed();
+ import_variation_data->fd = font_main;
vars_item->set_metadata(0, import_variation_data);
@@ -544,6 +517,10 @@ void DynamicFontImportSettings::_variation_selected() {
inspector_vars->edit(import_variation_data.ptr());
import_variation_data->notify_property_list_changed();
+
+ label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(import_variation_data->selected_glyphs.size()));
+ _range_selected();
+ _change_text_opts();
}
}
@@ -607,63 +584,91 @@ void DynamicFontImportSettings::_variations_validate() {
}
/*************************************************************************/
-/* Page 3 callbacks: Text to select glyphs */
+/* Page 2.1 callbacks: Text to select glyphs */
/*************************************************************************/
void DynamicFontImportSettings::_change_text_opts() {
- Vector<String> ftr = ftr_edit->get_text().split(",");
- for (int i = 0; i < ftr.size(); i++) {
- Vector<String> tokens = ftr[i].split("=");
- if (tokens.size() == 2) {
- text_edit->set_opentype_feature(tokens[0], tokens[1].to_int());
- } else if (tokens.size() == 1) {
- text_edit->set_opentype_feature(tokens[0], 1);
- }
+ Ref<DynamicFontImportSettingsData> import_variation_data;
+
+ TreeItem *vars_item = vars_list->get_selected();
+ if (vars_item) {
+ import_variation_data = vars_item->get_metadata(0);
}
- text_edit->set_language(lang_edit->get_text());
+ if (import_variation_data.is_null()) {
+ return;
+ }
+
+ Ref<FontVariation> font_main_text;
+ font_main_text.instantiate();
+ font_main_text->set_base_font(font_main);
+ font_main_text->set_opentype_features(text_settings_data->get("opentype_features"));
+ font_main_text->set_variation_opentype(import_variation_data->get("variation_opentype"));
+ font_main_text->set_variation_embolden(import_variation_data->get("variation_embolden"));
+ font_main_text->set_variation_face_index(import_variation_data->get("variation_face_index"));
+ font_main_text->set_variation_transform(import_variation_data->get("variation_transform"));
+
+ text_edit->add_theme_font_override("font", font_main_text);
}
void DynamicFontImportSettings::_glyph_clear() {
- selected_glyphs.clear();
- label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size()));
+ Ref<DynamicFontImportSettingsData> import_variation_data;
+
+ TreeItem *vars_item = vars_list->get_selected();
+ if (vars_item) {
+ import_variation_data = vars_item->get_metadata(0);
+ }
+ if (import_variation_data.is_null()) {
+ return;
+ }
+
+ import_variation_data->selected_glyphs.clear();
+ label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(import_variation_data->selected_glyphs.size()));
_range_selected();
}
void DynamicFontImportSettings::_glyph_text_selected() {
- Dictionary ftrs;
- Vector<String> ftr = ftr_edit->get_text().split(",");
- for (int i = 0; i < ftr.size(); i++) {
- Vector<String> tokens = ftr[i].split("=");
- if (tokens.size() == 2) {
- ftrs[tokens[0]] = tokens[1].to_int();
- } else if (tokens.size() == 1) {
- ftrs[tokens[0]] = 1;
- }
- }
+ Ref<DynamicFontImportSettingsData> import_variation_data;
+ TreeItem *vars_item = vars_list->get_selected();
+ if (vars_item) {
+ import_variation_data = vars_item->get_metadata(0);
+ }
+ if (import_variation_data.is_null()) {
+ return;
+ }
RID text_rid = TS->create_shaped_text();
if (text_rid.is_valid()) {
- TS->shaped_text_add_string(text_rid, text_edit->get_text(), font_main->get_rids(), 16, ftrs, text_edit->get_language());
+ TS->shaped_text_add_string(text_rid, text_edit->get_text(), font_main->get_rids(), 16, text_settings_data->get("opentype_features"), text_settings_data->get("language"));
TS->shaped_text_shape(text_rid);
const Glyph *gl = TS->shaped_text_get_glyphs(text_rid);
const int gl_size = TS->shaped_text_get_glyph_count(text_rid);
for (int i = 0; i < gl_size; i++) {
if (gl[i].font_rid.is_valid() && gl[i].index != 0) {
- selected_glyphs.insert(gl[i].index);
+ import_variation_data->selected_glyphs.insert(gl[i].index);
}
}
TS->free_rid(text_rid);
- label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size()));
+ label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(import_variation_data->selected_glyphs.size()));
}
_range_selected();
}
/*************************************************************************/
-/* Page 4 callbacks: Character map */
+/* Page 2.2 callbacks: Character map */
/*************************************************************************/
void DynamicFontImportSettings::_glyph_selected() {
+ Ref<DynamicFontImportSettingsData> import_variation_data;
+
+ TreeItem *vars_item = vars_list->get_selected();
+ if (vars_item) {
+ import_variation_data = vars_item->get_metadata(0);
+ }
+ if (import_variation_data.is_null()) {
+ return;
+ }
+
TreeItem *item = glyph_table->get_selected();
ERR_FAIL_NULL(item);
@@ -681,7 +686,7 @@ void DynamicFontImportSettings::_glyph_selected() {
item->clear_custom_bg_color(glyph_table->get_selected_column());
}
}
- label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size()));
+ label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(import_variation_data->selected_glyphs.size()));
item = glyph_tree->get_selected();
ERR_FAIL_NULL(item);
@@ -694,7 +699,7 @@ void DynamicFontImportSettings::_glyph_selected() {
total_chars--;
}
- if (selected_chars.has(i)) {
+ if (import_variation_data->selected_chars.has(i)) {
selected_count++;
}
}
@@ -724,6 +729,16 @@ void DynamicFontImportSettings::_range_selected() {
}
void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
+ Ref<DynamicFontImportSettingsData> import_variation_data;
+
+ TreeItem *vars_item = vars_list->get_selected();
+ if (vars_item) {
+ import_variation_data = vars_item->get_metadata(0);
+ }
+ if (import_variation_data.is_null()) {
+ return;
+ }
+
glyph_table->clear();
TreeItem *root = glyph_table->create_item();
@@ -736,6 +751,8 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
TreeItem *item = nullptr;
int col = 0;
+ Ref<Font> font_main_big = font_main->duplicate();
+
for (int32_t c = p_start; c <= p_end; c++) {
if (col == 0) {
item = glyph_table->create_item(root);
@@ -748,7 +765,7 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
if (font_main->has_char(c)) {
item->set_text(col + 1, String::chr(c));
item->set_custom_color(col + 1, Color(1, 1, 1));
- if (selected_chars.has(c) || (font_main->get_data(0).is_valid() && selected_glyphs.has(font_main->get_data(0)->get_glyph_index(get_theme_font_size(SNAME("font_size")) * 2, c)))) {
+ if (import_variation_data->selected_chars.has(c) || import_variation_data->selected_glyphs.has(font_main->get_glyph_index(16, c))) {
item->set_custom_color(col + 1, fcol);
item->set_custom_bg_color(col + 1, scol);
} else {
@@ -761,7 +778,8 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
item->set_metadata(col + 1, c);
item->set_text_alignment(col + 1, HORIZONTAL_ALIGNMENT_CENTER);
item->set_selectable(col + 1, true);
- item->set_custom_font(col + 1, font_main);
+
+ item->set_custom_font(col + 1, font_main_big);
item->set_custom_font_size(col + 1, get_theme_font_size(SNAME("font_size")) * 2);
col++;
@@ -769,41 +787,61 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
col = 0;
}
}
- label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size()));
+ label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(import_variation_data->selected_glyphs.size()));
}
bool DynamicFontImportSettings::_char_update(int32_t p_char) {
- if (selected_chars.has(p_char)) {
- selected_chars.erase(p_char);
+ Ref<DynamicFontImportSettingsData> import_variation_data;
+
+ TreeItem *vars_item = vars_list->get_selected();
+ if (vars_item) {
+ import_variation_data = vars_item->get_metadata(0);
+ }
+ if (import_variation_data.is_null()) {
+ return false;
+ }
+
+ if (import_variation_data->selected_chars.has(p_char)) {
+ import_variation_data->selected_chars.erase(p_char);
return false;
- } else if (font_main->get_data(0).is_valid() && selected_glyphs.has(font_main->get_data(0)->get_glyph_index(get_theme_font_size(SNAME("font_size")) * 2, p_char))) {
- selected_glyphs.erase(font_main->get_data(0)->get_glyph_index(get_theme_font_size(SNAME("font_size")) * 2, p_char));
+ } else if (font_main.is_valid() && font_main.is_valid() && import_variation_data->selected_glyphs.has(font_main->get_glyph_index(16, p_char))) {
+ import_variation_data->selected_glyphs.erase(font_main->get_glyph_index(16, p_char));
return false;
} else {
- selected_chars.insert(p_char);
+ import_variation_data->selected_chars.insert(p_char);
return true;
}
}
void DynamicFontImportSettings::_range_update(int32_t p_start, int32_t p_end) {
+ Ref<DynamicFontImportSettingsData> import_variation_data;
+
+ TreeItem *vars_item = vars_list->get_selected();
+ if (vars_item) {
+ import_variation_data = vars_item->get_metadata(0);
+ }
+ if (import_variation_data.is_null()) {
+ return;
+ }
+
bool all_selected = true;
for (int32_t i = p_start; i <= p_end; i++) {
if (font_main->has_char(i)) {
- if (font_main->get_data(0).is_valid()) {
- all_selected = all_selected && (selected_chars.has(i) || (font_main->get_data(0).is_valid() && selected_glyphs.has(font_main->get_data(0)->get_glyph_index(get_theme_font_size(SNAME("font_size")) * 2, i))));
+ if (font_main.is_valid()) {
+ all_selected = all_selected && (import_variation_data->selected_chars.has(i) || import_variation_data->selected_glyphs.has(font_main->get_glyph_index(16, i)));
} else {
- all_selected = all_selected && selected_chars.has(i);
+ all_selected = all_selected && import_variation_data->selected_chars.has(i);
}
}
}
for (int32_t i = p_start; i <= p_end; i++) {
if (font_main->has_char(i)) {
if (!all_selected) {
- selected_chars.insert(i);
+ import_variation_data->selected_chars.insert(i);
} else {
- selected_chars.erase(i);
- if (font_main->get_data(0).is_valid()) {
- selected_glyphs.erase(font_main->get_data(0)->get_glyph_index(get_theme_font_size(SNAME("font_size")) * 2, i));
+ import_variation_data->selected_chars.erase(i);
+ if (font_main.is_valid()) {
+ import_variation_data->selected_glyphs.erase(font_main->get_glyph_index(16, i));
}
}
}
@@ -816,106 +854,6 @@ void DynamicFontImportSettings::_range_update(int32_t p_start, int32_t p_end) {
}
/*************************************************************************/
-/* Page 5 callbacks: CMetadata override */
-/*************************************************************************/
-
-void DynamicFontImportSettings::_lang_add() {
- locale_select->popup_locale_dialog();
-}
-
-void DynamicFontImportSettings::_lang_add_item(const String &p_locale) {
- TreeItem *lang_item = lang_list->create_item(lang_list_root);
- ERR_FAIL_NULL(lang_item);
-
- lang_item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
- lang_item->set_editable(0, true);
- lang_item->set_checked(0, false);
- lang_item->set_text(1, p_locale);
- lang_item->set_editable(1, true);
- lang_item->add_button(2, lang_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- lang_item->set_button_color(2, 0, Color(1, 1, 1, 0.75));
-}
-
-void DynamicFontImportSettings::_lang_remove(Object *p_item, int p_column, int p_id, MouseButton p_button) {
- if (p_button != MouseButton::LEFT) {
- return;
- }
-
- TreeItem *lang_item = (TreeItem *)p_item;
- ERR_FAIL_NULL(lang_item);
-
- lang_list_root->remove_child(lang_item);
- memdelete(lang_item);
-}
-
-void DynamicFontImportSettings::_ot_add() {
- menu_ot->set_position(ot_list->get_screen_transform().xform(ot_list->get_local_mouse_position()));
- menu_ot->set_size(Vector2(1, 1));
- menu_ot->popup();
-}
-
-void DynamicFontImportSettings::_ot_add_item(int p_option) {
- String name = TS->tag_to_name(p_option);
- for (TreeItem *ot_item = ot_list_root->get_first_child(); ot_item; ot_item = ot_item->get_next()) {
- if (ot_item->get_text(0) == name) {
- return;
- }
- }
- TreeItem *ot_item = ot_list->create_item(ot_list_root);
- ERR_FAIL_NULL(ot_item);
-
- ot_item->set_text(0, name);
- ot_item->set_editable(0, false);
- ot_item->set_text(1, "1");
- ot_item->set_editable(1, true);
- ot_item->add_button(2, ot_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- ot_item->set_button_color(2, 0, Color(1, 1, 1, 0.75));
-}
-
-void DynamicFontImportSettings::_ot_remove(Object *p_item, int p_column, int p_id, MouseButton p_button) {
- if (p_button != MouseButton::LEFT) {
- return;
- }
-
- TreeItem *ot_item = (TreeItem *)p_item;
- ERR_FAIL_NULL(ot_item);
-
- ot_list_root->remove_child(ot_item);
- memdelete(ot_item);
-}
-
-void DynamicFontImportSettings::_script_add() {
- menu_scripts->set_position(script_list->get_screen_position() + script_list->get_local_mouse_position());
- menu_scripts->reset_size();
- menu_scripts->popup();
-}
-
-void DynamicFontImportSettings::_script_add_item(int p_option) {
- TreeItem *script_item = script_list->create_item(script_list_root);
- ERR_FAIL_NULL(script_item);
-
- script_item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
- script_item->set_editable(0, true);
- script_item->set_checked(0, false);
- script_item->set_text(1, script_codes[p_option]);
- script_item->set_editable(1, true);
- script_item->add_button(2, lang_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- script_item->set_button_color(2, 0, Color(1, 1, 1, 0.75));
-}
-
-void DynamicFontImportSettings::_script_remove(Object *p_item, int p_column, int p_id, MouseButton p_button) {
- if (p_button != MouseButton::LEFT) {
- return;
- }
-
- TreeItem *script_item = (TreeItem *)p_item;
- ERR_FAIL_NULL(script_item);
-
- script_list_root->remove_child(script_item);
- memdelete(script_item);
-}
-
-/*************************************************************************/
/* Common */
/*************************************************************************/
@@ -934,10 +872,7 @@ void DynamicFontImportSettings::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: {
- add_lang->set_icon(add_var->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- add_script->set_icon(add_var->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
add_var->set_icon(add_var->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- add_ot->set_icon(add_var->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
} break;
}
}
@@ -945,6 +880,7 @@ void DynamicFontImportSettings::_notification(int p_what) {
void DynamicFontImportSettings::_re_import() {
HashMap<StringName, Variant> main_settings;
+ main_settings["face_index"] = import_settings_data->get("face_index");
main_settings["antialiased"] = import_settings_data->get("antialiased");
main_settings["generate_mipmaps"] = import_settings_data->get("generate_mipmaps");
main_settings["multichannel_signed_distance_field"] = import_settings_data->get("multichannel_signed_distance_field");
@@ -953,90 +889,40 @@ void DynamicFontImportSettings::_re_import() {
main_settings["force_autohinter"] = import_settings_data->get("force_autohinter");
main_settings["hinting"] = import_settings_data->get("hinting");
main_settings["subpixel_positioning"] = import_settings_data->get("subpixel_positioning");
- main_settings["embolden"] = import_settings_data->get("embolden");
- main_settings["transform"] = import_settings_data->get("transform");
main_settings["oversampling"] = import_settings_data->get("oversampling");
+ main_settings["fallbacks"] = import_settings_data->get("fallbacks");
main_settings["compress"] = import_settings_data->get("compress");
- Vector<String> variations;
+ Array configurations;
for (TreeItem *vars_item = vars_list_root->get_first_child(); vars_item; vars_item = vars_item->get_next()) {
- String variation;
Ref<DynamicFontImportSettingsData> import_variation_data = vars_item->get_metadata(0);
ERR_FAIL_NULL(import_variation_data);
- String name = vars_item->get_text(0);
- variation += ("name=" + name);
+ Dictionary preload_config;
+ preload_config["name"] = vars_item->get_text(0);
+
for (const KeyValue<StringName, Variant> &E : import_variation_data->settings) {
- if (!variation.is_empty()) {
- variation += ",";
- }
- variation += (String(E.key) + "=" + String(E.value));
- }
- variations.push_back(variation);
- }
- main_settings["preload/configurations"] = variations;
-
- Vector<String> langs_enabled;
- Vector<String> langs_disabled;
- for (TreeItem *lang_item = lang_list_root->get_first_child(); lang_item; lang_item = lang_item->get_next()) {
- bool selected = lang_item->is_checked(0);
- String name = lang_item->get_text(1);
- if (selected) {
- langs_enabled.push_back(name);
- } else {
- langs_disabled.push_back(name);
- }
- }
- main_settings["support_overrides/language_enabled"] = langs_enabled;
- main_settings["support_overrides/language_disabled"] = langs_disabled;
-
- Vector<String> scripts_enabled;
- Vector<String> scripts_disabled;
- for (TreeItem *script_item = script_list_root->get_first_child(); script_item; script_item = script_item->get_next()) {
- bool selected = script_item->is_checked(0);
- String name = script_item->get_text(1);
- if (selected) {
- scripts_enabled.push_back(name);
- } else {
- scripts_disabled.push_back(name);
+ preload_config[E.key] = E.value;
}
- }
- main_settings["support_overrides/script_enabled"] = scripts_enabled;
- main_settings["support_overrides/script_disabled"] = scripts_disabled;
-
- if (!selected_chars.is_empty()) {
- Vector<String> ranges;
- char32_t start = selected_chars.front()->get();
- for (RBSet<char32_t>::Element *E = selected_chars.front()->next(); E; E = E->next()) {
- if (E->prev() && ((E->prev()->get() + 1) != E->get())) {
- ranges.push_back(String("0x") + String::num_int64(start, 16) + String("-0x") + String::num_int64(E->prev()->get(), 16));
- start = E->get();
- }
+
+ Array chars;
+ for (const char32_t &E : import_variation_data->selected_chars) {
+ chars.push_back(E);
}
- ranges.push_back(String("0x") + String::num_int64(start, 16) + String("-0x") + String::num_int64(selected_chars.back()->get(), 16));
- main_settings["preload/char_ranges"] = ranges;
- }
+ preload_config["chars"] = chars;
- if (!selected_glyphs.is_empty()) {
- Vector<String> ranges;
- int32_t start = selected_glyphs.front()->get();
- for (RBSet<int32_t>::Element *E = selected_glyphs.front()->next(); E; E = E->next()) {
- if (E->prev() && ((E->prev()->get() + 1) != E->get())) {
- ranges.push_back(String("0x") + String::num_int64(start, 16) + String("-0x") + String::num_int64(E->prev()->get(), 16));
- start = E->get();
- }
+ Array glyphs;
+ for (const int32_t &E : import_variation_data->selected_glyphs) {
+ glyphs.push_back(E);
}
- ranges.push_back(String("0x") + String::num_int64(start, 16) + String("-0x") + String::num_int64(selected_glyphs.back()->get(), 16));
- main_settings["preload/glyph_ranges"] = ranges;
- }
+ preload_config["glyphs"] = glyphs;
- Dictionary ot_ov;
- for (TreeItem *ot_item = ot_list_root->get_first_child(); ot_item; ot_item = ot_item->get_next()) {
- String tag = ot_item->get_text(0);
- int32_t value = ot_item->get_text(1).to_int();
- ot_ov[tag] = value;
+ configurations.push_back(preload_config);
}
- main_settings["opentype_feature_overrides"] = ot_ov;
+ main_settings["preload"] = configurations;
+ main_settings["language_support"] = import_settings_data->get("language_support");
+ main_settings["script_support"] = import_settings_data->get("script_support");
+ main_settings["opentype_features"] = import_settings_data->get("opentype_features");
if (OS::get_singleton()->is_stdout_verbose()) {
print_line("Import settings:");
@@ -1053,69 +939,62 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
Vector<uint8_t> data = FileAccess::get_file_as_array(p_path);
// Load font for preview.
- Ref<FontData> dfont_prev;
- dfont_prev.instantiate();
- dfont_prev->set_data(data);
-
font_preview.instantiate();
- font_preview->add_data(dfont_prev);
+ font_preview->set_data(data);
+ String font_name = vformat("%s (%s)", font_preview->get_font_name(), font_preview->get_font_style_name());
String sample;
static const String sample_base = U"12漢字ԱբΑαАбΑαאבابܐܒހށआআਆઆଆஆఆಆആආกิກິༀကႠა한글ሀᎣᐁᚁᚠᜀᜠᝀᝠកᠠᤁᥐAb😀";
for (int i = 0; i < sample_base.length(); i++) {
- if (dfont_prev->has_char(sample_base[i])) {
+ if (font_preview->has_char(sample_base[i])) {
sample += sample_base[i];
}
}
if (sample.is_empty()) {
- sample = dfont_prev->get_supported_chars().substr(0, 6);
+ sample = font_preview->get_supported_chars().substr(0, 6);
}
font_preview_label->set_text(sample);
- // Load second copy of font with MSDF disabled for the glyph table and metadata extraction.
- Ref<FontData> dfont_main;
- dfont_main.instantiate();
- dfont_main->set_data(data);
- dfont_main->set_multichannel_signed_distance_field(false);
+ Ref<Font> bold_font = get_theme_font(SNAME("bold"), SNAME("EditorFonts"));
+ if (bold_font.is_valid() && bold_font.is_valid()) {
+ font_name_label->add_theme_font_override("bold_font", bold_font);
+ }
+ font_name_label->set_text(font_name);
+ // Load second copy of font with MSDF disabled for the glyph table and metadata extraction.
font_main.instantiate();
- font_main->add_data(dfont_main);
+ font_main->set_data(data);
+ font_main->set_multichannel_signed_distance_field(false);
+
text_edit->add_theme_font_override("font", font_main);
base_path = p_path;
inspector_vars->edit(nullptr);
+ inspector_text->edit(nullptr);
inspector_general->edit(nullptr);
- int gww = get_theme_font(SNAME("font"))->get_string_size("00000", get_theme_font_size(SNAME("font_size"))).x + 50;
+ text_settings_data.instantiate();
+ ERR_FAIL_NULL(text_settings_data);
+
+ text_settings_data->owner = this;
+
+ for (List<ResourceImporter::ImportOption>::Element *F = options_text.front(); F; F = F->next()) {
+ text_settings_data->defaults[F->get().option.name] = F->get().default_value;
+ }
+
+ text_settings_data->fd = font_main;
+ text_settings_data->options = options_text;
+
+ inspector_text->edit(text_settings_data.ptr());
+
+ int gww = get_theme_font(SNAME("font"))->get_string_size("00000").x + 50;
glyph_table->set_column_custom_minimum_width(0, gww);
glyph_table->clear();
vars_list->clear();
- lang_list->clear();
- script_list->clear();
- ot_list->clear();
-
- selected_chars.clear();
- selected_glyphs.clear();
- text_edit->set_text(String());
vars_list_root = vars_list->create_item();
- lang_list_root = lang_list->create_item();
- script_list_root = script_list->create_item();
- ot_list_root = ot_list->create_item();
-
- options_variations.clear();
- Dictionary var_list = dfont_main->get_supported_variation_list();
- for (int i = 0; i < var_list.size(); i++) {
- int32_t tag = var_list.get_key_at_index(i);
- Vector3i value = var_list.get_value_at_index(i);
- options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::FLOAT, TS->tag_to_name(tag), PROPERTY_HINT_RANGE, itos(value.x) + "," + itos(value.y) + ",1"), value.z));
- }
- options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "size", PROPERTY_HINT_RANGE, "0,127,1"), 16));
- options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "outline_size", PROPERTY_HINT_RANGE, "0,127,1"), 0));
- options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "extra_spacing_glyph"), 0));
- options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "extra_spacing_space"), 0));
import_settings_data->defaults.clear();
for (List<ResourceImporter::ImportOption>::Element *E = options_general.front(); E; E = E->next()) {
@@ -1134,157 +1013,58 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
for (List<String>::Element *E = keys.front(); E; E = E->next()) {
String key = E->get();
print_verbose(String(" ") + key + " == " + String(config->get_value("params", key)));
- if (key == "preload/char_ranges") {
- Vector<String> ranges = config->get_value("params", key);
- for (int i = 0; i < ranges.size(); i++) {
- int32_t start, end;
- Vector<String> tokens = ranges[i].split("-");
- if (tokens.size() == 2) {
- if (!ResourceImporterDynamicFont::_decode_range(tokens[0], start) || !ResourceImporterDynamicFont::_decode_range(tokens[1], end)) {
- WARN_PRINT("Invalid range: \"" + ranges[i] + "\"");
- continue;
- }
- } else if (tokens.size() == 1) {
- if (!ResourceImporterDynamicFont::_decode_range(tokens[0], start)) {
- WARN_PRINT("Invalid range: \"" + ranges[i] + "\"");
- continue;
- }
- end = start;
- } else {
- WARN_PRINT("Invalid range: \"" + ranges[i] + "\"");
- continue;
- }
- for (int32_t j = start; j <= end; j++) {
- selected_chars.insert(j);
- }
- }
- } else if (key == "preload/glyph_ranges") {
- Vector<String> ranges = config->get_value("params", key);
- for (int i = 0; i < ranges.size(); i++) {
- int32_t start, end;
- Vector<String> tokens = ranges[i].split("-");
- if (tokens.size() == 2) {
- if (!ResourceImporterDynamicFont::_decode_range(tokens[0], start) || !ResourceImporterDynamicFont::_decode_range(tokens[1], end)) {
- WARN_PRINT("Invalid range: \"" + ranges[i] + "\"");
- continue;
- }
- } else if (tokens.size() == 1) {
- if (!ResourceImporterDynamicFont::_decode_range(tokens[0], start)) {
- WARN_PRINT("Invalid range: \"" + ranges[i] + "\"");
- continue;
- }
- end = start;
- } else {
- WARN_PRINT("Invalid range: \"" + ranges[i] + "\"");
- continue;
- }
- for (int32_t j = start; j <= end; j++) {
- selected_glyphs.insert(j);
- }
- }
- } else if (key == "preload/configurations") {
- Vector<String> variations = config->get_value("params", key);
- for (int i = 0; i < variations.size(); i++) {
+ if (key == "preload") {
+ Array preload_configurations = config->get_value("params", key);
+ for (int i = 0; i < preload_configurations.size(); i++) {
+ Dictionary preload_config = preload_configurations[i];
+
+ Dictionary variation = preload_config.has("variation_opentype") ? preload_config["variation_opentype"].operator Dictionary() : Dictionary();
+ double embolden = preload_config.has("variation_embolden") ? preload_config["variation_embolden"].operator double() : 0;
+ int face_index = preload_config.has("variation_face_index") ? preload_config["variation_face_index"].operator int() : 0;
+ Transform2D transform = preload_config.has("variation_transform") ? preload_config["variation_transform"].operator Transform2D() : Transform2D();
+ Vector2i size = preload_config.has("size") ? preload_config["size"].operator Vector2i() : Vector2i(16, 0);
+ String cfg_name = preload_config.has("name") ? preload_config["name"].operator String() : vformat("Configuration %d", i);
+
TreeItem *vars_item = vars_list->create_item(vars_list_root);
ERR_FAIL_NULL(vars_item);
- vars_item->set_text(0, TTR("Configuration") + " " + itos(i));
+ vars_item->set_text(0, cfg_name);
vars_item->set_editable(0, true);
vars_item->add_button(1, vars_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove Variation"));
vars_item->set_button_color(1, 0, Color(1, 1, 1, 0.75));
Ref<DynamicFontImportSettingsData> import_variation_data_custom;
import_variation_data_custom.instantiate();
- import_variation_data_custom->owner = this;
ERR_FAIL_NULL(import_variation_data_custom);
+ import_variation_data_custom->owner = this;
for (List<ResourceImporter::ImportOption>::Element *F = options_variations.front(); F; F = F->next()) {
import_variation_data_custom->defaults[F->get().option.name] = F->get().default_value;
}
- import_variation_data_custom->options = options_variations;
+ import_variation_data_custom->fd = font_main;
+ import_variation_data_custom->options = options_variations;
vars_item->set_metadata(0, import_variation_data_custom);
- Vector<String> variation_tags = variations[i].split(",");
- for (int j = 0; j < variation_tags.size(); j++) {
- Vector<String> tokens = variation_tags[j].split("=");
- if (tokens[0] == "name") {
- vars_item->set_text(0, tokens[1]);
- } else if (tokens[0] == "size" || tokens[0] == "outline_size" || tokens[0] == "extra_spacing_space" || tokens[0] == "extra_spacing_glyph") {
- import_variation_data_custom->set(tokens[0], tokens[1].to_int());
- } else {
- import_variation_data_custom->set(tokens[0], tokens[1].to_float());
- }
+
+ import_variation_data_custom->set("size", size.x);
+ import_variation_data_custom->set("outline_size", size.y);
+ import_variation_data_custom->set("variation_opentype", variation);
+ import_variation_data_custom->set("variation_embolden", embolden);
+ import_variation_data_custom->set("variation_face_index", face_index);
+ import_variation_data_custom->set("variation_transform", transform);
+
+ Array chars = preload_config["chars"];
+ for (int j = 0; j < chars.size(); j++) {
+ char32_t c = chars[j].operator int();
+ import_variation_data_custom->selected_chars.insert(c);
}
- }
- } else if (key == "support_overrides/language_enabled") {
- PackedStringArray _langs = config->get_value("params", key);
- for (int i = 0; i < _langs.size(); i++) {
- TreeItem *lang_item = lang_list->create_item(lang_list_root);
- ERR_FAIL_NULL(lang_item);
-
- lang_item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
- lang_item->set_editable(0, true);
- lang_item->set_checked(0, true);
- lang_item->set_text(1, _langs[i]);
- lang_item->set_editable(1, true);
- lang_item->add_button(2, lang_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- }
- } else if (key == "support_overrides/language_disabled") {
- PackedStringArray _langs = config->get_value("params", key);
- for (int i = 0; i < _langs.size(); i++) {
- TreeItem *lang_item = lang_list->create_item(lang_list_root);
- ERR_FAIL_NULL(lang_item);
-
- lang_item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
- lang_item->set_editable(0, true);
- lang_item->set_checked(0, false);
- lang_item->set_text(1, _langs[i]);
- lang_item->set_editable(1, true);
- lang_item->add_button(2, lang_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- }
- } else if (key == "support_overrides/script_enabled") {
- PackedStringArray _scripts = config->get_value("params", key);
- for (int i = 0; i < _scripts.size(); i++) {
- TreeItem *script_item = script_list->create_item(script_list_root);
- ERR_FAIL_NULL(script_item);
-
- script_item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
- script_item->set_editable(0, true);
- script_item->set_checked(0, true);
- script_item->set_text(1, _scripts[i]);
- script_item->set_editable(1, true);
- script_item->add_button(2, lang_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- }
- } else if (key == "support_overrides/script_disabled") {
- PackedStringArray _scripts = config->get_value("params", key);
- for (int i = 0; i < _scripts.size(); i++) {
- TreeItem *script_item = script_list->create_item(script_list_root);
- ERR_FAIL_NULL(script_item);
-
- script_item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
- script_item->set_editable(0, true);
- script_item->set_checked(0, false);
- script_item->set_text(1, _scripts[i]);
- script_item->set_editable(1, true);
- script_item->add_button(2, lang_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- }
- } else if (key == "opentype_feature_overrides") {
- Dictionary features = config->get_value("params", key);
- for (const Variant *ftr = features.next(nullptr); ftr != nullptr; ftr = features.next(ftr)) {
- TreeItem *ot_item = ot_list->create_item(ot_list_root);
- ERR_FAIL_NULL(ot_item);
- int32_t value = features[*ftr];
- if (ftr->get_type() == Variant::STRING) {
- ot_item->set_text(0, *ftr);
- } else {
- ot_item->set_text(0, TS->tag_to_name(*ftr));
+
+ Array glyphs = preload_config["glyphs"];
+ for (int j = 0; j < glyphs.size(); j++) {
+ int32_t c = glyphs[j];
+ import_variation_data_custom->selected_glyphs.insert(c);
}
- ot_item->set_editable(0, false);
- ot_item->set_text(1, itos(value));
- ot_item->set_editable(1, true);
- ot_item->add_button(2, ot_list->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove"));
- ot_item->set_button_color(2, 0, Color(1, 1, 1, 0.75));
}
} else {
Variant value = config->get_value("params", key);
@@ -1292,60 +1072,26 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
}
}
}
- label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size()));
+ import_settings_data->fd = font_main;
import_settings_data->options = options_general;
inspector_general->edit(import_settings_data.ptr());
import_settings_data->notify_property_list_changed();
- if (font_preview->get_data_count() > 0) {
- font_preview->get_data(0)->set_antialiased(import_settings_data->get("antialiased"));
- font_preview->get_data(0)->set_multichannel_signed_distance_field(import_settings_data->get("multichannel_signed_distance_field"));
- font_preview->get_data(0)->set_msdf_pixel_range(import_settings_data->get("msdf_pixel_range"));
- font_preview->get_data(0)->set_msdf_size(import_settings_data->get("msdf_size"));
- font_preview->get_data(0)->set_force_autohinter(import_settings_data->get("force_autohinter"));
- font_preview->get_data(0)->set_hinting((TextServer::Hinting)import_settings_data->get("hinting").operator int());
- font_preview->get_data(0)->set_subpixel_positioning((TextServer::SubpixelPositioning)import_settings_data->get("subpixel_positioning").operator int());
- font_preview->get_data(0)->set_embolden(import_settings_data->get("embolden"));
- font_preview->get_data(0)->set_transform(import_settings_data->get("transform"));
- font_preview->get_data(0)->set_oversampling(import_settings_data->get("oversampling"));
+ if (font_preview.is_valid()) {
+ font_preview->set_antialiased(import_settings_data->get("antialiased"));
+ font_preview->set_multichannel_signed_distance_field(import_settings_data->get("multichannel_signed_distance_field"));
+ font_preview->set_msdf_pixel_range(import_settings_data->get("msdf_pixel_range"));
+ font_preview->set_msdf_size(import_settings_data->get("msdf_size"));
+ font_preview->set_force_autohinter(import_settings_data->get("force_autohinter"));
+ font_preview->set_hinting((TextServer::Hinting)import_settings_data->get("hinting").operator int());
+ font_preview->set_subpixel_positioning((TextServer::SubpixelPositioning)import_settings_data->get("subpixel_positioning").operator int());
+ font_preview->set_oversampling(import_settings_data->get("oversampling"));
}
font_preview_label->add_theme_font_override("font", font_preview);
+ font_preview_label->add_theme_font_size_override("font_size", 200 * EDSCALE);
font_preview_label->update();
- menu_ot->clear();
- menu_ot_ss->clear();
- menu_ot_cv->clear();
- menu_ot_cu->clear();
- bool have_ss = false;
- bool have_cv = false;
- bool have_cu = false;
- Dictionary features = font_preview->get_feature_list();
- for (const Variant *ftr = features.next(nullptr); ftr != nullptr; ftr = features.next(ftr)) {
- String ftr_name = TS->tag_to_name(*ftr);
- if (ftr_name.begins_with("stylistic_set_")) {
- menu_ot_ss->add_item(ftr_name.capitalize(), (int32_t)*ftr);
- have_ss = true;
- } else if (ftr_name.begins_with("character_variant_")) {
- menu_ot_cv->add_item(ftr_name.capitalize(), (int32_t)*ftr);
- have_cv = true;
- } else if (ftr_name.begins_with("custom_")) {
- menu_ot_cu->add_item(ftr_name.replace("custom_", ""), (int32_t)*ftr);
- have_cu = true;
- } else {
- menu_ot->add_item(ftr_name.capitalize(), (int32_t)*ftr);
- }
- }
- if (have_ss) {
- menu_ot->add_submenu_item(RTR("Stylistic Sets"), "SSMenu");
- }
- if (have_cv) {
- menu_ot->add_submenu_item(RTR("Character Variants"), "CVMenu");
- }
- if (have_cu) {
- menu_ot->add_submenu_item(RTR("Custom"), "CUMenu");
- }
-
_variations_validate();
popup_centered_ratio();
@@ -1360,6 +1106,8 @@ DynamicFontImportSettings *DynamicFontImportSettings::get_singleton() {
DynamicFontImportSettings::DynamicFontImportSettings() {
singleton = this;
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::NIL, "Rendering", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP), Variant()));
+
options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "antialiased"), true));
options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "generate_mipmaps"), false));
options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "multichannel_signed_distance_field", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true));
@@ -1368,44 +1116,29 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "force_autohinter"), false));
options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "hinting", PROPERTY_HINT_ENUM, "None,Light,Normal"), 1));
options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "subpixel_positioning", PROPERTY_HINT_ENUM, "Disabled,Auto,One half of a pixel,One quarter of a pixel"), 1));
- options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::FLOAT, "embolden", PROPERTY_HINT_RANGE, "-2,2,0.01"), 0.f));
- options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::TRANSFORM2D, "transform"), Transform2D()));
options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::FLOAT, "oversampling", PROPERTY_HINT_RANGE, "0,10,0.1"), 0.0));
- options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "compress", PROPERTY_HINT_NONE, ""), false));
-
- // Popup menus
-
- locale_select = memnew(EditorLocaleDialog);
- locale_select->connect("locale_selected", callable_mp(this, &DynamicFontImportSettings::_lang_add_item));
- add_child(locale_select);
- menu_scripts = memnew(PopupMenu);
- menu_scripts->set_name("Script");
- script_codes = TranslationServer::get_singleton()->get_all_scripts();
- for (int i = 0; i < script_codes.size(); i++) {
- menu_scripts->add_item(TranslationServer::get_singleton()->get_script_name(script_codes[i]) + " (" + script_codes[i] + ")", i);
- }
- add_child(menu_scripts);
- menu_scripts->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_script_add_item));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::NIL, "Metadata Overrides", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP), Variant()));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::DICTIONARY, "language_support"), Dictionary()));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::DICTIONARY, "script_support"), Dictionary()));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::DICTIONARY, "opentype_features"), Dictionary()));
- menu_ot = memnew(PopupMenu);
- add_child(menu_ot);
- menu_ot->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::NIL, "Fallbacks", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP), Variant()));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::ARRAY, "fallbacks", PROPERTY_HINT_ARRAY_TYPE, vformat("%s/%s:%s", Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE, "Font")), Array()));
- menu_ot_cv = memnew(PopupMenu);
- menu_ot_cv->set_name("CVMenu");
- menu_ot->add_child(menu_ot_cv);
- menu_ot_cv->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::NIL, "Compress", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP), Variant()));
+ options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "compress", PROPERTY_HINT_NONE, ""), false));
- menu_ot_ss = memnew(PopupMenu);
- menu_ot_ss->set_name("SSMenu");
- menu_ot->add_child(menu_ot_ss);
- menu_ot_ss->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item));
+ options_text.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::DICTIONARY, "opentype_features"), Dictionary()));
+ options_text.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::STRING, "language", PROPERTY_HINT_LOCALE_ID, ""), ""));
- menu_ot_cu = memnew(PopupMenu);
- menu_ot_cu->set_name("CUMenu");
- menu_ot->add_child(menu_ot_cu);
- menu_ot_cu->connect("id_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add_item));
+ options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "size", PROPERTY_HINT_RANGE, "0,127,1"), 16));
+ options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "outline_size", PROPERTY_HINT_RANGE, "0,127,1"), 0));
+ options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::NIL, "Variation", PROPERTY_HINT_NONE, "variation", PROPERTY_USAGE_GROUP), Variant()));
+ options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::DICTIONARY, "variation_opentype"), Dictionary()));
+ options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::FLOAT, "variation_embolden", PROPERTY_HINT_RANGE, "-2,2,0.01"), 0));
+ options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "variation_face_index"), 0));
+ options_variations.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::TRANSFORM2D, "variation_transform"), Transform2D()));
Color warn_color = (EditorNode::get_singleton()) ? EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), SNAME("Editor")) : Color(1, 1, 0);
@@ -1418,6 +1151,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
main_pages->set_tab_alignment(TabBar::ALIGNMENT_CENTER);
main_pages->set_v_size_flags(Control::SIZE_EXPAND_FILL);
main_pages->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ main_pages->set_theme_type_variation("TabContainerOdd");
root_vb->add_child(main_pages);
label_warn = memnew(Label);
@@ -1434,7 +1168,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
main_pages->add_child(page1_vb);
page1_description = memnew(Label);
- page1_description->set_text(TTR("Select font rendering options:"));
+ page1_description->set_text(TTR("Select font rendering options, fallback font, and metadata override:"));
page1_description->set_h_size_flags(Control::SIZE_EXPAND_FILL);
page1_vb->add_child(page1_description);
@@ -1443,15 +1177,25 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
page1_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
page1_vb->add_child(page1_hb);
+ VBoxContainer *page1_lbl_vb = memnew(VBoxContainer);
+ page1_lbl_vb->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ page1_lbl_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ page1_hb->add_child(page1_lbl_vb);
+
+ font_name_label = memnew(Label);
+ font_name_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
+ font_name_label->set_clip_text(true);
+ font_name_label->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ page1_lbl_vb->add_child(font_name_label);
+
font_preview_label = memnew(Label);
- font_preview_label->add_theme_font_size_override("font_size", 200 * EDSCALE);
font_preview_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
font_preview_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
- font_preview_label->set_autowrap_mode(Label::AUTOWRAP_ARBITRARY);
+ font_preview_label->set_autowrap_mode(TextServer::AUTOWRAP_ARBITRARY);
font_preview_label->set_clip_text(true);
font_preview_label->set_v_size_flags(Control::SIZE_EXPAND_FILL);
font_preview_label->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- page1_hb->add_child(font_preview_label);
+ page1_lbl_vb->add_child(font_preview_label);
inspector_general = memnew(EditorInspector);
inspector_general->set_v_size_flags(Control::SIZE_EXPAND_FILL);
@@ -1461,13 +1205,13 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
// Page 2 layout: Configurations
VBoxContainer *page2_vb = memnew(VBoxContainer);
- page2_vb->set_name(TTR("Sizes and Variations"));
+ page2_vb->set_name(TTR("Pre-render configurations"));
main_pages->add_child(page2_vb);
page2_description = memnew(Label);
- page2_description->set_text(TTR("Add font size, variation coordinates, and extra spacing combinations to pre-render:"));
+ page2_description->set_text(TTR("Add font size, and variation coordinates, and select glyphs to pre-render:"));
page2_description->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- page2_description->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ page2_description->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
page2_vb->add_child(page2_description);
HSplitContainer *page2_hb = memnew(HSplitContainer);
@@ -1509,53 +1253,49 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
inspector_vars = memnew(EditorInspector);
inspector_vars->set_v_size_flags(Control::SIZE_EXPAND_FILL);
inspector_vars->connect("property_edited", callable_mp(this, &DynamicFontImportSettings::_variation_changed));
- page2_hb->add_child(inspector_vars);
-
- // Page 3 layout: Text to select glyphs
- VBoxContainer *page3_vb = memnew(VBoxContainer);
- page3_vb->set_name(TTR("Glyphs from the Text"));
- main_pages->add_child(page3_vb);
+ page2_side_vb->add_child(inspector_vars);
- page3_description = memnew(Label);
- page3_description->set_text(TTR("Enter a text to shape and add all required glyphs to pre-render list:"));
- page3_description->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- page3_description->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
- page3_vb->add_child(page3_description);
+ preload_pages = memnew(TabContainer);
+ preload_pages->set_tab_alignment(TabBar::ALIGNMENT_CENTER);
+ preload_pages->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ preload_pages->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ page2_hb->add_child(preload_pages);
- HBoxContainer *ot_hb = memnew(HBoxContainer);
- page3_vb->add_child(ot_hb);
- ot_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ // Page 2.1 layout: Text to select glyphs
+ VBoxContainer *page2_1_vb = memnew(VBoxContainer);
+ page2_1_vb->set_name(TTR("Glyphs from the Text"));
+ preload_pages->add_child(page2_1_vb);
- Label *label_ed_ftr = memnew(Label);
- ot_hb->add_child(label_ed_ftr);
- label_ed_ftr->set_text(TTR("OpenType features:"));
+ page2_1_description = memnew(Label);
+ page2_1_description->set_text(TTR("Enter a text to shape and add all required glyphs to pre-render list:"));
+ page2_1_description->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ page2_1_description->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
+ page2_1_vb->add_child(page2_1_description);
- ftr_edit = memnew(LineEdit);
- ot_hb->add_child(ftr_edit);
- ftr_edit->connect("text_changed", callable_mp(this, &DynamicFontImportSettings::_change_text_opts));
- ftr_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ HSplitContainer *page2_1_hb = memnew(HSplitContainer);
+ page2_1_vb->add_child(page2_1_hb);
+ page2_1_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ page2_1_hb->set_v_size_flags(Control::SIZE_EXPAND_FILL);
- Label *label_ed_lang = memnew(Label);
- ot_hb->add_child(label_ed_lang);
- label_ed_lang->set_text(TTR("Text language:"));
+ inspector_text = memnew(EditorInspector);
- lang_edit = memnew(LineEdit);
- ot_hb->add_child(lang_edit);
- lang_edit->connect("text_changed", callable_mp(this, &DynamicFontImportSettings::_change_text_opts));
- lang_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ inspector_text->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ inspector_text->set_custom_minimum_size(Size2(300 * EDSCALE, 250 * EDSCALE));
+ inspector_text->connect("property_edited", callable_mp(this, &DynamicFontImportSettings::_change_text_opts));
+ page2_1_hb->add_child(inspector_text);
text_edit = memnew(TextEdit);
- page3_vb->add_child(text_edit);
+ page2_1_hb->add_child(text_edit);
text_edit->set_v_size_flags(Control::SIZE_EXPAND_FILL);
text_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL);
HBoxContainer *text_hb = memnew(HBoxContainer);
- page3_vb->add_child(text_hb);
+ page2_1_vb->add_child(text_hb);
text_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
label_glyphs = memnew(Label);
text_hb->add_child(label_glyphs);
- label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(0));
+ label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(0));
label_glyphs->set_custom_minimum_size(Size2(50 * EDSCALE, 0));
Button *btn_fill = memnew(Button);
@@ -1568,21 +1308,21 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
btn_clear->set_text(TTR("Clear glyph list"));
btn_clear->connect("pressed", callable_mp(this, &DynamicFontImportSettings::_glyph_clear));
- // Page 4 layout: Character map
- VBoxContainer *page4_vb = memnew(VBoxContainer);
- page4_vb->set_name(TTR("Glyphs from the Character Map"));
- main_pages->add_child(page4_vb);
+ // Page 2.2 layout: Character map
+ VBoxContainer *page2_2_vb = memnew(VBoxContainer);
+ page2_2_vb->set_name(TTR("Glyphs from the Character Map"));
+ preload_pages->add_child(page2_2_vb);
- page4_description = memnew(Label);
- page4_description->set_text(TTR("Add or remove additional glyphs from the character map to pre-render list:\nNote: Some stylistic alternatives and glyph variants do not have one-to-one correspondence to character, and not shown in this map, use \"Glyphs from the text\" to add these."));
- page4_description->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- page4_description->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
- page4_vb->add_child(page4_description);
+ page2_2_description = memnew(Label);
+ page2_2_description->set_text(TTR("Add or remove glyphs from the character map to pre-render list:\nNote: Some stylistic alternatives and glyph variants do not have one-to-one correspondence to character, and not shown in this map, use \"Glyphs from the text\" tab to add these."));
+ page2_2_description->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ page2_2_description->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
+ page2_2_vb->add_child(page2_2_description);
HSplitContainer *glyphs_split = memnew(HSplitContainer);
glyphs_split->set_v_size_flags(Control::SIZE_EXPAND_FILL);
glyphs_split->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- page4_vb->add_child(glyphs_split);
+ page2_2_vb->add_child(glyphs_split);
glyph_table = memnew(Tree);
glyphs_split->add_child(glyph_table);
@@ -1619,106 +1359,11 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
_add_glyph_range_item(unicode_ranges[i].start, unicode_ranges[i].end, unicode_ranges[i].name);
}
- // Page 4 layout: Metadata override
- VBoxContainer *page5_vb = memnew(VBoxContainer);
- page5_vb->set_name(TTR("Metadata Override"));
- main_pages->add_child(page5_vb);
-
- page5_description = memnew(Label);
- page5_description->set_text(TTR("Add or remove language and script support overrides, to control fallback font selection order:"));
- page5_description->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- page5_description->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
- page5_vb->add_child(page5_description);
-
- HBoxContainer *hb_lang = memnew(HBoxContainer);
- page5_vb->add_child(hb_lang);
-
- label_langs = memnew(Label);
- label_langs->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- label_langs->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- label_langs->set_text(TTR("Language support overrides"));
- hb_lang->add_child(label_langs);
-
- add_lang = memnew(Button);
- hb_lang->add_child(add_lang);
- add_lang->set_tooltip(TTR("Add language override"));
- add_lang->set_icon(add_var->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- add_lang->connect("pressed", callable_mp(this, &DynamicFontImportSettings::_lang_add));
-
- lang_list = memnew(Tree);
- page5_vb->add_child(lang_list);
- lang_list->set_hide_root(true);
- lang_list->set_columns(3);
- lang_list->set_column_expand(0, false); // Check
- lang_list->set_column_custom_minimum_width(0, 50 * EDSCALE);
- lang_list->set_column_expand(1, true);
- lang_list->set_column_custom_minimum_width(1, 80 * EDSCALE);
- lang_list->set_column_expand(2, false);
- lang_list->set_column_custom_minimum_width(2, 50 * EDSCALE);
- lang_list->connect("button_clicked", callable_mp(this, &DynamicFontImportSettings::_lang_remove));
- lang_list->set_v_size_flags(Control::SIZE_EXPAND_FILL);
-
- HBoxContainer *hb_script = memnew(HBoxContainer);
- page5_vb->add_child(hb_script);
-
- label_script = memnew(Label);
- label_script->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- label_script->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- label_script->set_text(TTR("Script support overrides"));
- hb_script->add_child(label_script);
-
- add_script = memnew(Button);
- hb_script->add_child(add_script);
- add_script->set_tooltip(TTR("Add script override"));
- add_script->set_icon(add_var->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- add_script->connect("pressed", callable_mp(this, &DynamicFontImportSettings::_script_add));
-
- script_list = memnew(Tree);
- page5_vb->add_child(script_list);
- script_list->set_hide_root(true);
- script_list->set_columns(3);
- script_list->set_column_expand(0, false);
- script_list->set_column_custom_minimum_width(0, 50 * EDSCALE);
- script_list->set_column_expand(1, true);
- script_list->set_column_custom_minimum_width(1, 80 * EDSCALE);
- script_list->set_column_expand(2, false);
- script_list->set_column_custom_minimum_width(2, 50 * EDSCALE);
- script_list->connect("button_clicked", callable_mp(this, &DynamicFontImportSettings::_script_remove));
- script_list->set_v_size_flags(Control::SIZE_EXPAND_FILL);
-
- HBoxContainer *hb_ot = memnew(HBoxContainer);
- page5_vb->add_child(hb_ot);
-
- label_ot = memnew(Label);
- label_ot->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- label_ot->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- label_ot->set_text(TTR("OpenType feature overrides"));
- hb_ot->add_child(label_ot);
-
- add_ot = memnew(Button);
- hb_ot->add_child(add_ot);
- add_ot->set_tooltip(TTR("Add feature override"));
- add_ot->set_icon(add_var->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- add_ot->connect("pressed", callable_mp(this, &DynamicFontImportSettings::_ot_add));
-
- ot_list = memnew(Tree);
- page5_vb->add_child(ot_list);
- ot_list->set_hide_root(true);
- ot_list->set_columns(3);
- ot_list->set_column_expand(0, true);
- ot_list->set_column_custom_minimum_width(0, 80 * EDSCALE);
- ot_list->set_column_expand(1, true);
- ot_list->set_column_custom_minimum_width(1, 80 * EDSCALE);
- ot_list->set_column_expand(2, false);
- ot_list->set_column_custom_minimum_width(2, 50 * EDSCALE);
- ot_list->connect("button_clicked", callable_mp(this, &DynamicFontImportSettings::_ot_remove));
- ot_list->set_v_size_flags(Control::SIZE_EXPAND_FILL);
-
// Common
import_settings_data.instantiate();
import_settings_data->owner = this;
- get_ok_button()->set_text(TTR("Reimport"));
- get_cancel_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Reimport"));
+ set_cancel_button_text(TTR("Close"));
}
diff --git a/editor/import/dynamic_font_import_settings.h b/editor/import/dynamic_font_import_settings.h
index ba75c98057..a1f763b445 100644
--- a/editor/import/dynamic_font_import_settings.h
+++ b/editor/import/dynamic_font_import_settings.h
@@ -45,7 +45,30 @@
#include "scene/resources/font.h"
#include "servers/text_server.h"
-class DynamicFontImportSettingsData;
+class DynamicFontImportSettings;
+
+class DynamicFontImportSettingsData : public RefCounted {
+ GDCLASS(DynamicFontImportSettingsData, RefCounted)
+ friend class DynamicFontImportSettings;
+
+ HashMap<StringName, Variant> settings;
+ HashMap<StringName, Variant> defaults;
+ List<ResourceImporter::ImportOption> options;
+ DynamicFontImportSettings *owner = nullptr;
+
+ HashSet<char32_t> selected_chars;
+ HashSet<int32_t> selected_glyphs;
+
+ Ref<FontFile> fd;
+
+public:
+ bool _set(const StringName &p_name, const Variant &p_value);
+ bool _get(const StringName &p_name, Variant &r_ret) const;
+ void _get_property_list(List<PropertyInfo> *p_list) const;
+
+ Ref<FontFile> get_font() const;
+};
+
class EditorFileDialog;
class EditorInspector;
class EditorLocaleDialog;
@@ -67,21 +90,19 @@ class DynamicFontImportSettings : public ConfirmationDialog {
List<ResourceImporter::ImportOption> options_variations;
List<ResourceImporter::ImportOption> options_general;
- EditorLocaleDialog *locale_select = nullptr;
- Vector<String> script_codes;
-
// Root layout
Label *label_warn = nullptr;
TabContainer *main_pages = nullptr;
// Page 1 layout: Rendering Options
Label *page1_description = nullptr;
+ Label *font_name_label = nullptr;
Label *font_preview_label = nullptr;
EditorInspector *inspector_general = nullptr;
void _main_prop_changed(const String &p_edited_property);
- // Page 2 layout: Configurations
+ // Page 2 layout: Preload Configurations
Label *page2_description = nullptr;
Label *label_vars = nullptr;
Button *add_var = nullptr;
@@ -95,19 +116,23 @@ class DynamicFontImportSettings : public ConfirmationDialog {
void _variation_changed(const String &p_edited_property);
void _variations_validate();
- // Page 3 layout: Text to select glyphs
- Label *page3_description = nullptr;
+ TabContainer *preload_pages = nullptr;
+
+ // Page 2.1 layout: Text to select glyphs
+ Label *page2_1_description = nullptr;
Label *label_glyphs = nullptr;
TextEdit *text_edit = nullptr;
- LineEdit *ftr_edit = nullptr;
- LineEdit *lang_edit = nullptr;
+ EditorInspector *inspector_text = nullptr;
+
+ List<ResourceImporter::ImportOption> options_text;
+ Ref<DynamicFontImportSettingsData> text_settings_data;
void _change_text_opts();
void _glyph_text_selected();
void _glyph_clear();
- // Page 4 layout: Character map
- Label *page4_description = nullptr;
+ // Page 2.2 layout: Character map
+ Label *page2_2_description = nullptr;
Tree *glyph_table = nullptr;
Tree *glyph_tree = nullptr;
TreeItem *glyph_root = nullptr;
@@ -119,51 +144,12 @@ class DynamicFontImportSettings : public ConfirmationDialog {
bool _char_update(int32_t p_char);
void _range_update(int32_t p_start, int32_t p_end);
- // Page 5 layout: Metadata override
- Label *page5_description = nullptr;
- Button *add_lang = nullptr;
- Button *add_script = nullptr;
- Button *add_ot = nullptr;
-
- PopupMenu *menu_scripts = nullptr;
- PopupMenu *menu_ot = nullptr;
- PopupMenu *menu_ot_ss = nullptr;
- PopupMenu *menu_ot_cv = nullptr;
- PopupMenu *menu_ot_cu = nullptr;
-
- Tree *lang_list = nullptr;
- TreeItem *lang_list_root = nullptr;
- Label *label_langs = nullptr;
-
- Tree *script_list = nullptr;
- TreeItem *script_list_root = nullptr;
- Label *label_script = nullptr;
-
- Tree *ot_list = nullptr;
- TreeItem *ot_list_root = nullptr;
- Label *label_ot = nullptr;
-
- void _lang_add();
- void _lang_add_item(const String &p_locale);
- void _lang_remove(Object *p_item, int p_column, int p_id, MouseButton p_button);
-
- void _script_add();
- void _script_add_item(int p_option);
- void _script_remove(Object *p_item, int p_column, int p_id, MouseButton p_button);
-
- void _ot_add();
- void _ot_add_item(int p_option);
- void _ot_remove(Object *p_item, int p_column, int p_id, MouseButton p_button);
-
// Common
void _add_glyph_range_item(int32_t p_start, int32_t p_end, const String &p_name);
- Ref<Font> font_preview;
- Ref<Font> font_main;
-
- RBSet<char32_t> selected_chars;
- RBSet<int32_t> selected_glyphs;
+ Ref<FontFile> font_preview;
+ Ref<FontFile> font_main;
void _re_import();
diff --git a/editor/import/editor_import_collada.h b/editor/import/editor_import_collada.h
index e45db47440..a75b0a903f 100644
--- a/editor/import/editor_import_collada.h
+++ b/editor/import/editor_import_collada.h
@@ -44,4 +44,4 @@ public:
EditorSceneFormatImporterCollada();
};
-#endif
+#endif // EDITOR_IMPORT_COLLADA_H
diff --git a/editor/import/editor_import_plugin.cpp b/editor/import/editor_import_plugin.cpp
index e822b4963a..3305f241c0 100644
--- a/editor/import/editor_import_plugin.cpp
+++ b/editor/import/editor_import_plugin.cpp
@@ -115,7 +115,7 @@ void EditorImportPlugin::get_import_options(const String &p_path, List<ResourceI
Array needed;
needed.push_back("name");
needed.push_back("default_value");
- Array options;
+ TypedArray<Dictionary> options;
if (GDVIRTUAL_CALL(_get_import_options, p_path, p_preset, options)) {
for (int i = 0; i < options.size(); i++) {
Dictionary d = options[i];
diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h
index 44fbd41962..e9749c240f 100644
--- a/editor/import/editor_import_plugin.h
+++ b/editor/import/editor_import_plugin.h
@@ -32,6 +32,7 @@
#define EDITOR_IMPORT_PLUGIN_H
#include "core/io/resource_importer.h"
+#include "core/variant/typed_array.h"
class EditorImportPlugin : public ResourceImporter {
GDCLASS(EditorImportPlugin, ResourceImporter);
@@ -44,7 +45,7 @@ protected:
GDVIRTUAL0RC(int, _get_preset_count)
GDVIRTUAL1RC(String, _get_preset_name, int)
GDVIRTUAL0RC(Vector<String>, _get_recognized_extensions)
- GDVIRTUAL2RC(Array, _get_import_options, String, int)
+ GDVIRTUAL2RC(TypedArray<Dictionary>, _get_import_options, String, int)
GDVIRTUAL0RC(String, _get_save_extension)
GDVIRTUAL0RC(String, _get_resource_type)
GDVIRTUAL0RC(float, _get_priority)
@@ -68,4 +69,4 @@ public:
virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata = nullptr) override;
};
-#endif //EDITOR_IMPORT_PLUGIN_H
+#endif // EDITOR_IMPORT_PLUGIN_H
diff --git a/editor/import/post_import_plugin_skeleton_renamer.cpp b/editor/import/post_import_plugin_skeleton_renamer.cpp
new file mode 100644
index 0000000000..69c0a047e4
--- /dev/null
+++ b/editor/import/post_import_plugin_skeleton_renamer.cpp
@@ -0,0 +1,190 @@
+/*************************************************************************/
+/* post_import_plugin_skeleton_renamer.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "post_import_plugin_skeleton_renamer.h"
+
+#include "editor/import/scene_import_settings.h"
+#include "scene/3d/importer_mesh_instance_3d.h"
+#include "scene/3d/skeleton_3d.h"
+#include "scene/animation/animation_player.h"
+#include "scene/resources/bone_map.h"
+
+void PostImportPluginSkeletonRenamer::get_internal_import_options(InternalImportCategory p_category, List<ResourceImporter::ImportOption> *r_options) {
+ if (p_category == INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE) {
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/bone_renamer/rename_bones"), true));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/bone_renamer/unique_node/make_unique"), true));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::STRING, "retarget/bone_renamer/unique_node/skeleton_name"), "GeneralSkeleton"));
+ }
+}
+
+void PostImportPluginSkeletonRenamer::internal_process(InternalImportCategory p_category, Node *p_base_scene, Node *p_node, Ref<Resource> p_resource, const Dictionary &p_options) {
+ if (p_category == INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE) {
+ // Prepare objects.
+ Object *map = p_options["retarget/bone_map"].get_validated_object();
+ if (!map || !bool(p_options["retarget/bone_renamer/rename_bones"])) {
+ return;
+ }
+ BoneMap *bone_map = Object::cast_to<BoneMap>(map);
+ Skeleton3D *skeleton = Object::cast_to<Skeleton3D>(p_node);
+
+ // Rename bones in Skeleton3D.
+ {
+ int len = skeleton->get_bone_count();
+ for (int i = 0; i < len; i++) {
+ StringName bn = bone_map->find_profile_bone_name(skeleton->get_bone_name(i));
+ if (bn) {
+ skeleton->set_bone_name(i, bn);
+ }
+ }
+ }
+
+ // Rename bones in Skin.
+ {
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "ImporterMeshInstance3D");
+ while (nodes.size()) {
+ ImporterMeshInstance3D *mi = Object::cast_to<ImporterMeshInstance3D>(nodes.pop_back());
+ Ref<Skin> skin = mi->get_skin();
+ if (skin.is_valid()) {
+ Node *node = mi->get_node(mi->get_skeleton_path());
+ if (node) {
+ Skeleton3D *mesh_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (mesh_skeleton && node == skeleton) {
+ int len = skin->get_bind_count();
+ for (int i = 0; i < len; i++) {
+ StringName bn = bone_map->find_profile_bone_name(skin->get_bind_name(i));
+ if (bn) {
+ skin->set_bind_name(i, bn);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Rename bones in AnimationPlayer.
+ {
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int len = anim->get_track_count();
+ for (int i = 0; i < len; i++) {
+ if (anim->track_get_path(i).get_subname_count() != 1 || !(anim->track_get_type(i) == Animation::TYPE_POSITION_3D || anim->track_get_type(i) == Animation::TYPE_ROTATION_3D || anim->track_get_type(i) == Animation::TYPE_SCALE_3D)) {
+ continue;
+ }
+ String track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ if (node) {
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == skeleton) {
+ StringName bn = bone_map->find_profile_bone_name(anim->track_get_path(i).get_subname(0));
+ if (bn) {
+ anim->track_set_path(i, track_path + ":" + bn);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Rename bones in all Nodes by calling method.
+ {
+ Vector<Variant> vargs;
+ vargs.push_back(p_base_scene);
+ vargs.push_back(skeleton);
+ vargs.push_back(bone_map);
+ const Variant **argptrs = (const Variant **)alloca(sizeof(const Variant **) * vargs.size());
+ const Variant *args = vargs.ptr();
+ uint32_t argcount = vargs.size();
+ for (uint32_t i = 0; i < argcount; i++) {
+ argptrs[i] = &args[i];
+ }
+
+ TypedArray<Node> nodes = p_base_scene->find_children("*");
+ while (nodes.size()) {
+ Node *nd = Object::cast_to<Node>(nodes.pop_back());
+ Callable::CallError ce;
+ nd->callp("_notify_skeleton_bones_renamed", argptrs, argcount, ce);
+ }
+ }
+
+ // Make unique skeleton.
+ if (bool(p_options["retarget/bone_renamer/unique_node/make_unique"])) {
+ String unique_name = String(p_options["retarget/bone_renamer/unique_node/skeleton_name"]);
+ ERR_FAIL_COND_MSG(unique_name == String(), "Skeleton unique name cannot be empty.");
+
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int track_len = anim->get_track_count();
+ for (int i = 0; i < track_len; i++) {
+ String track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *orig_node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ while (node) {
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == skeleton) {
+ if (node == orig_node) {
+ if (anim->track_get_path(i).get_subname_count() > 0) {
+ anim->track_set_path(i, UNIQUE_NODE_PREFIX + unique_name + String(":") + anim->track_get_path(i).get_concatenated_subnames());
+ } else {
+ anim->track_set_path(i, UNIQUE_NODE_PREFIX + unique_name);
+ }
+ } else {
+ if (anim->track_get_path(i).get_subname_count() > 0) {
+ anim->track_set_path(i, UNIQUE_NODE_PREFIX + unique_name + "/" + node->get_path_to(orig_node) + String(":") + anim->track_get_path(i).get_concatenated_subnames());
+ } else {
+ anim->track_set_path(i, UNIQUE_NODE_PREFIX + unique_name + "/" + node->get_path_to(orig_node));
+ }
+ }
+ break;
+ }
+ node = node->get_parent();
+ }
+ }
+ }
+ }
+ skeleton->set_name(unique_name);
+ skeleton->set_unique_name_in_owner(true);
+ }
+ }
+}
+
+PostImportPluginSkeletonRenamer::PostImportPluginSkeletonRenamer() {
+}
diff --git a/editor/import/post_import_plugin_skeleton_renamer.h b/editor/import/post_import_plugin_skeleton_renamer.h
new file mode 100644
index 0000000000..73cbabd1c5
--- /dev/null
+++ b/editor/import/post_import_plugin_skeleton_renamer.h
@@ -0,0 +1,46 @@
+/*************************************************************************/
+/* post_import_plugin_skeleton_renamer.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef POST_IMPORT_PLUGIN_SKELETON_RENAMER_H
+#define POST_IMPORT_PLUGIN_SKELETON_RENAMER_H
+
+#include "resource_importer_scene.h"
+
+class PostImportPluginSkeletonRenamer : public EditorScenePostImportPlugin {
+ GDCLASS(PostImportPluginSkeletonRenamer, EditorScenePostImportPlugin);
+
+public:
+ virtual void get_internal_import_options(InternalImportCategory p_category, List<ResourceImporter::ImportOption> *r_options) override;
+ virtual void internal_process(InternalImportCategory p_category, Node *p_base_scene, Node *p_node, Ref<Resource> p_resource, const Dictionary &p_options) override;
+
+ PostImportPluginSkeletonRenamer();
+};
+
+#endif // POST_IMPORT_PLUGIN_SKELETON_RENAMER_H
diff --git a/editor/import/post_import_plugin_skeleton_rest_fixer.cpp b/editor/import/post_import_plugin_skeleton_rest_fixer.cpp
new file mode 100644
index 0000000000..685cb16eb1
--- /dev/null
+++ b/editor/import/post_import_plugin_skeleton_rest_fixer.cpp
@@ -0,0 +1,635 @@
+/*************************************************************************/
+/* post_import_plugin_skeleton_rest_fixer.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "post_import_plugin_skeleton_rest_fixer.h"
+
+#include "editor/import/scene_import_settings.h"
+#include "scene/3d/importer_mesh_instance_3d.h"
+#include "scene/3d/skeleton_3d.h"
+#include "scene/animation/animation_player.h"
+#include "scene/resources/bone_map.h"
+
+void PostImportPluginSkeletonRestFixer::get_internal_import_options(InternalImportCategory p_category, List<ResourceImporter::ImportOption> *r_options) {
+ if (p_category == INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE) {
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/rest_fixer/apply_node_transforms"), true));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/rest_fixer/normalize_position_tracks"), true));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/rest_fixer/overwrite_axis"), true));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/rest_fixer/fix_silhouette/enable"), false));
+ // TODO: PostImportPlugin need to be implemented such as validate_option(PropertyInfo &property, const Dictionary &p_options).
+ // get_internal_option_visibility() is not sufficient because it can only retrieve options implemented in the core and can only read option values.
+ // r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::ARRAY, "retarget/rest_fixer/filter", PROPERTY_HINT_ARRAY_TYPE, vformat("%s/%s:%s", Variant::STRING_NAME, PROPERTY_HINT_ENUM, "Hips,Spine,Chest")), Array()));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::ARRAY, "retarget/rest_fixer/fix_silhouette/filter", PROPERTY_HINT_ARRAY_TYPE, "StringName"), Array()));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::FLOAT, "retarget/rest_fixer/fix_silhouette/threshold"), 15));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::FLOAT, "retarget/rest_fixer/fix_silhouette/base_height_adjustment", PROPERTY_HINT_RANGE, "-1,1,0.01"), 0.0));
+ }
+}
+
+void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory p_category, Node *p_base_scene, Node *p_node, Ref<Resource> p_resource, const Dictionary &p_options) {
+ if (p_category == INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE) {
+ // Prepare objects.
+ Object *map = p_options["retarget/bone_map"].get_validated_object();
+ if (!map) {
+ return;
+ }
+ BoneMap *bone_map = Object::cast_to<BoneMap>(map);
+ Ref<SkeletonProfile> profile = bone_map->get_profile();
+ if (!profile.is_valid()) {
+ return;
+ }
+ Skeleton3D *src_skeleton = Object::cast_to<Skeleton3D>(p_node);
+ if (!src_skeleton) {
+ return;
+ }
+
+ bool is_renamed = bool(p_options["retarget/bone_renamer/rename_bones"]);
+ Array filter = p_options["retarget/rest_fixer/fix_silhouette/filter"];
+ bool is_rest_changed = false;
+
+ // Build profile skeleton.
+ Skeleton3D *prof_skeleton = memnew(Skeleton3D);
+ {
+ int prof_bone_len = profile->get_bone_size();
+ // Add single bones.
+ for (int i = 0; i < prof_bone_len; i++) {
+ prof_skeleton->add_bone(profile->get_bone_name(i));
+ prof_skeleton->set_bone_rest(i, profile->get_reference_pose(i));
+ }
+ // Set parents.
+ for (int i = 0; i < prof_bone_len; i++) {
+ int parent = profile->find_bone(profile->get_bone_parent(i));
+ if (parent >= 0) {
+ prof_skeleton->set_bone_parent(i, parent);
+ }
+ }
+ }
+
+ // Apply node transforms.
+ if (bool(p_options["retarget/rest_fixer/apply_node_transforms"])) {
+ LocalVector<Transform3D> old_skeleton_rest;
+ LocalVector<Transform3D> old_skeleton_global_rest;
+ for (int i = 0; i < src_skeleton->get_bone_count(); i++) {
+ old_skeleton_rest.push_back(src_skeleton->get_bone_rest(i));
+ old_skeleton_global_rest.push_back(src_skeleton->get_bone_global_rest(i));
+ }
+
+ Transform3D global_transform;
+ Node *pr = src_skeleton;
+ while (pr) {
+ Node3D *pr3d = Object::cast_to<Node3D>(pr);
+ if (pr3d) {
+ global_transform = pr3d->get_transform() * global_transform;
+ pr3d->set_transform(Transform3D());
+ }
+ pr = pr->get_parent();
+ }
+ Vector3 scl = global_transform.basis.get_scale_local();
+
+ Vector<int> bones_to_process = src_skeleton->get_parentless_bones();
+ for (int i = 0; i < bones_to_process.size(); i++) {
+ src_skeleton->set_bone_rest(bones_to_process[i], global_transform.orthonormalized() * src_skeleton->get_bone_rest(bones_to_process[i]));
+ }
+
+ while (bones_to_process.size() > 0) {
+ int src_idx = bones_to_process[0];
+ bones_to_process.erase(src_idx);
+ Vector<int> src_children = src_skeleton->get_bone_children(src_idx);
+ for (int i = 0; i < src_children.size(); i++) {
+ bones_to_process.push_back(src_children[i]);
+ }
+ src_skeleton->set_bone_rest(src_idx, Transform3D(src_skeleton->get_bone_rest(src_idx).basis, src_skeleton->get_bone_rest(src_idx).origin * scl));
+ }
+
+ // Fix animation.
+ bones_to_process = src_skeleton->get_parentless_bones();
+ {
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int track_len = anim->get_track_count();
+ for (int i = 0; i < track_len; i++) {
+ if (anim->track_get_path(i).get_subname_count() != 1 || !(anim->track_get_type(i) == Animation::TYPE_POSITION_3D || anim->track_get_type(i) == Animation::TYPE_ROTATION_3D || anim->track_get_type(i) == Animation::TYPE_SCALE_3D)) {
+ continue;
+ }
+
+ if (anim->track_is_compressed(i)) {
+ continue; // Shouldn't occur in internal_process().
+ }
+
+ String track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ if (node) {
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == src_skeleton) {
+ StringName bn = anim->track_get_path(i).get_subname(0);
+ if (bn) {
+ int bone_idx = src_skeleton->find_bone(bn);
+ int key_len = anim->track_get_key_count(i);
+ if (anim->track_get_type(i) == Animation::TYPE_POSITION_3D) {
+ if (bones_to_process.has(bone_idx)) {
+ for (int j = 0; j < key_len; j++) {
+ Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j));
+ anim->track_set_key_value(i, j, global_transform.basis.xform(ps) + global_transform.origin);
+ }
+ } else {
+ for (int j = 0; j < key_len; j++) {
+ Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j));
+ anim->track_set_key_value(i, j, ps * scl);
+ }
+ }
+ } else if (bones_to_process.has(bone_idx)) {
+ if (anim->track_get_type(i) == Animation::TYPE_ROTATION_3D) {
+ for (int j = 0; j < key_len; j++) {
+ Quaternion qt = static_cast<Quaternion>(anim->track_get_key_value(i, j));
+ anim->track_set_key_value(i, j, global_transform.basis.get_rotation_quaternion() * qt);
+ }
+ } else {
+ for (int j = 0; j < key_len; j++) {
+ Basis sc = Basis().scaled(static_cast<Vector3>(anim->track_get_key_value(i, j)));
+ anim->track_set_key_value(i, j, (global_transform.basis * sc).get_scale());
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ is_rest_changed = true;
+ }
+
+ // Complement Rotation track for compatibility between different rests.
+ {
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int track_len = anim->get_track_count();
+
+ // Detect does the animation have skeleton's TRS track.
+ String track_path;
+ bool found_skeleton = false;
+ for (int i = 0; i < track_len; i++) {
+ if (anim->track_get_path(i).get_subname_count() != 1 || !(anim->track_get_type(i) == Animation::TYPE_POSITION_3D || anim->track_get_type(i) == Animation::TYPE_ROTATION_3D || anim->track_get_type(i) == Animation::TYPE_SCALE_3D)) {
+ continue;
+ }
+ track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ if (node) {
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == src_skeleton) {
+ found_skeleton = true;
+ break;
+ }
+ }
+ }
+
+ if (found_skeleton) {
+ // Search and insert rot track if it doesn't exist.
+ for (int prof_idx = 0; prof_idx < prof_skeleton->get_bone_count(); prof_idx++) {
+ String bone_name = is_renamed ? prof_skeleton->get_bone_name(prof_idx) : String(bone_map->get_skeleton_bone_name(prof_skeleton->get_bone_name(prof_idx)));
+ if (bone_name == String()) {
+ continue;
+ }
+ int src_idx = src_skeleton->find_bone(bone_name);
+ if (src_idx == -1) {
+ continue;
+ }
+ String insert_path = track_path + ":" + bone_name;
+ int rot_track = anim->find_track(insert_path, Animation::TYPE_ROTATION_3D);
+ if (rot_track == -1) {
+ int track = anim->add_track(Animation::TYPE_ROTATION_3D);
+ anim->track_set_path(track, insert_path);
+ anim->rotation_track_insert_key(track, 0, src_skeleton->get_bone_rest(src_idx).basis.get_rotation_quaternion());
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Fix silhouette.
+ Vector<Transform3D> silhouette_diff; // Transform values to be ignored when overwrite axis.
+ silhouette_diff.resize(src_skeleton->get_bone_count());
+ Transform3D *silhouette_diff_w = silhouette_diff.ptrw();
+ if (bool(p_options["retarget/rest_fixer/fix_silhouette/enable"])) {
+ LocalVector<Transform3D> old_skeleton_global_rest;
+ for (int i = 0; i < src_skeleton->get_bone_count(); i++) {
+ old_skeleton_global_rest.push_back(src_skeleton->get_bone_global_rest(i));
+ }
+
+ Vector<int> bones_to_process = prof_skeleton->get_parentless_bones();
+ while (bones_to_process.size() > 0) {
+ int prof_idx = bones_to_process[0];
+ bones_to_process.erase(prof_idx);
+ Vector<int> prof_children = prof_skeleton->get_bone_children(prof_idx);
+ for (int i = 0; i < prof_children.size(); i++) {
+ bones_to_process.push_back(prof_children[i]);
+ }
+
+ // Calc virtual/looking direction with origins.
+ bool is_filtered = false;
+ for (int i = 0; i < filter.size(); i++) {
+ if (String(filter[i]) == prof_skeleton->get_bone_name(prof_idx)) {
+ is_filtered = true;
+ break;
+ }
+ }
+ if (is_filtered) {
+ continue;
+ }
+
+ int src_idx = src_skeleton->find_bone(is_renamed ? prof_skeleton->get_bone_name(prof_idx) : String(bone_map->get_skeleton_bone_name(prof_skeleton->get_bone_name(prof_idx))));
+ if (src_idx < 0 || profile->get_tail_direction(prof_idx) == SkeletonProfile::TAIL_DIRECTION_END) {
+ continue;
+ }
+ Vector3 prof_tail;
+ Vector3 src_tail;
+ if (profile->get_tail_direction(prof_idx) == SkeletonProfile::TAIL_DIRECTION_AVERAGE_CHILDREN) {
+ PackedInt32Array prof_bone_children = prof_skeleton->get_bone_children(prof_idx);
+ int children_size = prof_bone_children.size();
+ if (children_size == 0) {
+ continue;
+ }
+ bool exist_all_children = true;
+ for (int i = 0; i < children_size; i++) {
+ int prof_child_idx = prof_bone_children[i];
+ int src_child_idx = src_skeleton->find_bone(is_renamed ? prof_skeleton->get_bone_name(prof_child_idx) : String(bone_map->get_skeleton_bone_name(prof_skeleton->get_bone_name(prof_child_idx))));
+ if (src_child_idx < 0) {
+ exist_all_children = false;
+ break;
+ }
+ prof_tail = prof_tail + prof_skeleton->get_bone_global_rest(prof_child_idx).origin;
+ src_tail = src_tail + src_skeleton->get_bone_global_rest(src_child_idx).origin;
+ }
+ if (!exist_all_children) {
+ continue;
+ }
+ prof_tail = prof_tail / children_size;
+ src_tail = src_tail / children_size;
+ }
+ if (profile->get_tail_direction(prof_idx) == SkeletonProfile::TAIL_DIRECTION_SPECIFIC_CHILD) {
+ int prof_tail_idx = prof_skeleton->find_bone(profile->get_bone_tail(prof_idx));
+ if (prof_tail_idx < 0) {
+ continue;
+ }
+ int src_tail_idx = src_skeleton->find_bone(is_renamed ? prof_skeleton->get_bone_name(prof_tail_idx) : String(bone_map->get_skeleton_bone_name(prof_skeleton->get_bone_name(prof_tail_idx))));
+ if (src_tail_idx < 0) {
+ continue;
+ }
+ prof_tail = prof_skeleton->get_bone_global_rest(prof_tail_idx).origin;
+ src_tail = src_skeleton->get_bone_global_rest(src_tail_idx).origin;
+ }
+
+ Vector3 prof_head = prof_skeleton->get_bone_global_rest(prof_idx).origin;
+ Vector3 src_head = src_skeleton->get_bone_global_rest(src_idx).origin;
+
+ Vector3 prof_dir = prof_tail - prof_head;
+ Vector3 src_dir = src_tail - src_head;
+
+ // Rotate rest.
+ if (Math::abs(Math::rad2deg(src_dir.angle_to(prof_dir))) > float(p_options["retarget/rest_fixer/fix_silhouette/threshold"])) {
+ // Get rotation difference.
+ Vector3 up_vec; // Need to rotate other than roll axis.
+ switch (Vector3(abs(src_dir.x), abs(src_dir.y), abs(src_dir.z)).min_axis_index()) {
+ case Vector3::AXIS_X: {
+ up_vec = Vector3(1, 0, 0);
+ } break;
+ case Vector3::AXIS_Y: {
+ up_vec = Vector3(0, 1, 0);
+ } break;
+ case Vector3::AXIS_Z: {
+ up_vec = Vector3(0, 0, 1);
+ } break;
+ }
+ Basis src_b;
+ src_b = src_b.looking_at(src_dir, up_vec);
+ Basis prof_b;
+ prof_b = src_b.looking_at(prof_dir, up_vec);
+ if (prof_b.is_equal_approx(Basis())) {
+ continue; // May not need to rotate.
+ }
+ Basis diff_b = prof_b * src_b.inverse();
+
+ // Apply rotation difference as global transform to skeleton.
+ Basis src_pg;
+ int src_parent = src_skeleton->get_bone_parent(src_idx);
+ if (src_parent >= 0) {
+ src_pg = src_skeleton->get_bone_global_rest(src_parent).basis;
+ }
+ Transform3D fixed_rest = Transform3D(src_pg.inverse() * diff_b * src_pg * src_skeleton->get_bone_rest(src_idx).basis, src_skeleton->get_bone_rest(src_idx).origin);
+ src_skeleton->set_bone_rest(src_idx, fixed_rest);
+ }
+ }
+
+ // Adjust scale base bone height.
+ float base_adjustment = float(p_options["retarget/rest_fixer/fix_silhouette/base_height_adjustment"]);
+ if (!Math::is_zero_approx(base_adjustment)) {
+ StringName scale_base_bone_name = profile->get_scale_base_bone();
+ int src_bone_idx = src_skeleton->find_bone(scale_base_bone_name);
+ Transform3D src_rest = src_skeleton->get_bone_rest(src_bone_idx);
+ src_skeleton->set_bone_rest(src_bone_idx, Transform3D(src_rest.basis, Vector3(src_rest.origin.x, src_rest.origin.y + base_adjustment, src_rest.origin.z)));
+
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int track_len = anim->get_track_count();
+ for (int i = 0; i < track_len; i++) {
+ if (anim->track_get_path(i).get_subname_count() != 1 || anim->track_get_type(i) != Animation::TYPE_POSITION_3D) {
+ continue;
+ }
+
+ if (anim->track_is_compressed(i)) {
+ continue; // Shouldn't occur in internal_process().
+ }
+
+ String track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ if (node) {
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == src_skeleton) {
+ StringName bn = anim->track_get_path(i).get_concatenated_subnames();
+ if (bn == scale_base_bone_name) {
+ int key_len = anim->track_get_key_count(i);
+ for (int j = 0; j < key_len; j++) {
+ Vector3 pos = static_cast<Vector3>(anim->track_get_key_value(i, j));
+ pos.y += base_adjustment;
+ anim->track_set_key_value(i, j, pos);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // For skin modification in overwrite rest.
+ for (int i = 0; i < src_skeleton->get_bone_count(); i++) {
+ silhouette_diff_w[i] = old_skeleton_global_rest[i] * src_skeleton->get_bone_global_rest(i).inverse();
+ }
+
+ is_rest_changed = true;
+ }
+
+ // Set motion scale to Skeleton if normalize position tracks.
+ if (bool(p_options["retarget/rest_fixer/normalize_position_tracks"])) {
+ int src_bone_idx = src_skeleton->find_bone(profile->get_scale_base_bone());
+ if (src_bone_idx >= 0) {
+ real_t motion_scale = abs(src_skeleton->get_bone_global_rest(src_bone_idx).origin.y);
+ if (motion_scale > 0) {
+ src_skeleton->set_motion_scale(motion_scale);
+ }
+ }
+
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int track_len = anim->get_track_count();
+ for (int i = 0; i < track_len; i++) {
+ if (anim->track_get_path(i).get_subname_count() != 1 || anim->track_get_type(i) != Animation::TYPE_POSITION_3D) {
+ continue;
+ }
+
+ if (anim->track_is_compressed(i)) {
+ continue; // Shouldn't occur in internal_process().
+ }
+
+ String track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ if (node) {
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == src_skeleton) {
+ real_t mlt = 1 / src_skeleton->get_motion_scale();
+ int key_len = anim->track_get_key_count(i);
+ for (int j = 0; j < key_len; j++) {
+ Vector3 pos = static_cast<Vector3>(anim->track_get_key_value(i, j));
+ anim->track_set_key_value(i, j, pos * mlt);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Overwrite axis.
+ if (bool(p_options["retarget/rest_fixer/overwrite_axis"])) {
+ LocalVector<Transform3D> old_skeleton_rest;
+ LocalVector<Transform3D> old_skeleton_global_rest;
+ for (int i = 0; i < src_skeleton->get_bone_count(); i++) {
+ old_skeleton_rest.push_back(src_skeleton->get_bone_rest(i));
+ old_skeleton_global_rest.push_back(src_skeleton->get_bone_global_rest(i));
+ }
+
+ Vector<Basis> diffs;
+ diffs.resize(src_skeleton->get_bone_count());
+ Basis *diffs_w = diffs.ptrw();
+
+ Vector<int> bones_to_process = src_skeleton->get_parentless_bones();
+ while (bones_to_process.size() > 0) {
+ int src_idx = bones_to_process[0];
+ bones_to_process.erase(src_idx);
+ Vector<int> src_children = src_skeleton->get_bone_children(src_idx);
+ for (int i = 0; i < src_children.size(); i++) {
+ bones_to_process.push_back(src_children[i]);
+ }
+
+ Basis tgt_rot;
+ StringName src_bone_name = is_renamed ? StringName(src_skeleton->get_bone_name(src_idx)) : bone_map->find_profile_bone_name(src_skeleton->get_bone_name(src_idx));
+ if (src_bone_name != StringName()) {
+ Basis src_pg;
+ int src_parent_idx = src_skeleton->get_bone_parent(src_idx);
+ if (src_parent_idx >= 0) {
+ src_pg = src_skeleton->get_bone_global_rest(src_parent_idx).basis;
+ }
+
+ int prof_idx = profile->find_bone(src_bone_name);
+ if (prof_idx >= 0) {
+ tgt_rot = src_pg.inverse() * prof_skeleton->get_bone_global_rest(prof_idx).basis; // Mapped bone uses reference pose.
+ }
+ /*
+ // If there is rest-relative animation, this logic may be work fine, but currently not so...
+ } else {
+ // tgt_rot = src_pg.inverse() * old_skeleton_global_rest[src_idx].basis; // Non-Mapped bone keeps global rest.
+ }
+ */
+ }
+
+ if (src_skeleton->get_bone_parent(src_idx) >= 0) {
+ diffs_w[src_idx] = tgt_rot.inverse() * diffs[src_skeleton->get_bone_parent(src_idx)] * src_skeleton->get_bone_rest(src_idx).basis;
+ } else {
+ diffs_w[src_idx] = tgt_rot.inverse() * src_skeleton->get_bone_rest(src_idx).basis;
+ }
+
+ Basis diff;
+ if (src_skeleton->get_bone_parent(src_idx) >= 0) {
+ diff = diffs[src_skeleton->get_bone_parent(src_idx)];
+ }
+ src_skeleton->set_bone_rest(src_idx, Transform3D(tgt_rot, diff.xform(src_skeleton->get_bone_rest(src_idx).origin)));
+ }
+
+ // Fix animation.
+ {
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int track_len = anim->get_track_count();
+ for (int i = 0; i < track_len; i++) {
+ if (anim->track_get_path(i).get_subname_count() != 1 || !(anim->track_get_type(i) == Animation::TYPE_POSITION_3D || anim->track_get_type(i) == Animation::TYPE_ROTATION_3D || anim->track_get_type(i) == Animation::TYPE_SCALE_3D)) {
+ continue;
+ }
+
+ if (anim->track_is_compressed(i)) {
+ continue; // Shouldn't occur in internal_process().
+ }
+
+ String track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ if (node) {
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == src_skeleton) {
+ StringName bn = anim->track_get_path(i).get_subname(0);
+ if (bn) {
+ int bone_idx = src_skeleton->find_bone(bn);
+
+ Transform3D old_rest = old_skeleton_rest[bone_idx];
+ Transform3D new_rest = src_skeleton->get_bone_rest(bone_idx);
+ Transform3D old_pg;
+ Transform3D new_pg;
+ int parent_idx = src_skeleton->get_bone_parent(bone_idx);
+ if (parent_idx >= 0) {
+ old_pg = old_skeleton_global_rest[parent_idx];
+ new_pg = src_skeleton->get_bone_global_rest(parent_idx);
+ }
+
+ int key_len = anim->track_get_key_count(i);
+ if (anim->track_get_type(i) == Animation::TYPE_ROTATION_3D) {
+ Quaternion old_rest_q = old_rest.basis.get_rotation_quaternion();
+ Quaternion new_rest_q = new_rest.basis.get_rotation_quaternion();
+ Quaternion old_pg_q = old_pg.basis.get_rotation_quaternion();
+ Quaternion new_pg_q = new_pg.basis.get_rotation_quaternion();
+ for (int j = 0; j < key_len; j++) {
+ Quaternion qt = static_cast<Quaternion>(anim->track_get_key_value(i, j));
+ anim->track_set_key_value(i, j, new_pg_q.inverse() * old_pg_q * qt * old_rest_q.inverse() * old_pg_q.inverse() * new_pg_q * new_rest_q);
+ }
+ } else if (anim->track_get_type(i) == Animation::TYPE_SCALE_3D) {
+ Basis old_rest_b = old_rest.basis;
+ Basis new_rest_b = new_rest.basis;
+ Basis old_pg_b = old_pg.basis;
+ Basis new_pg_b = new_pg.basis;
+ for (int j = 0; j < key_len; j++) {
+ Basis sc = Basis().scaled(static_cast<Vector3>(anim->track_get_key_value(i, j)));
+ anim->track_set_key_value(i, j, (new_pg_b.inverse() * old_pg_b * sc * old_rest_b.inverse() * old_pg_b.inverse() * new_pg_b * new_rest_b).get_scale());
+ }
+ } else {
+ Vector3 old_rest_o = old_rest.origin;
+ Vector3 new_rest_o = new_rest.origin;
+ Quaternion old_pg_q = old_pg.basis.get_rotation_quaternion();
+ Quaternion new_pg_q = new_pg.basis.get_rotation_quaternion();
+ for (int j = 0; j < key_len; j++) {
+ Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j));
+ anim->track_set_key_value(i, j, new_pg_q.xform_inv(old_pg_q.xform(ps - old_rest_o)) + new_rest_o);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ is_rest_changed = true;
+ }
+
+ if (is_rest_changed) {
+ // Fix skin.
+ {
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "ImporterMeshInstance3D");
+ while (nodes.size()) {
+ ImporterMeshInstance3D *mi = Object::cast_to<ImporterMeshInstance3D>(nodes.pop_back());
+ Ref<Skin> skin = mi->get_skin();
+ if (skin.is_valid()) {
+ Node *node = mi->get_node(mi->get_skeleton_path());
+ if (node) {
+ Skeleton3D *mesh_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (mesh_skeleton && node == src_skeleton) {
+ int skin_len = skin->get_bind_count();
+ for (int i = 0; i < skin_len; i++) {
+ StringName bn = skin->get_bind_name(i);
+ int bone_idx = src_skeleton->find_bone(bn);
+ if (bone_idx >= 0) {
+ Transform3D new_rest = silhouette_diff[i] * src_skeleton->get_bone_global_rest(bone_idx);
+ skin->set_bind_pose(i, new_rest.inverse());
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Init skeleton pose to new rest.
+ for (int i = 0; i < src_skeleton->get_bone_count(); i++) {
+ Transform3D fixed_rest = src_skeleton->get_bone_rest(i);
+ src_skeleton->set_bone_pose_position(i, fixed_rest.origin);
+ src_skeleton->set_bone_pose_rotation(i, fixed_rest.basis.get_rotation_quaternion());
+ src_skeleton->set_bone_pose_scale(i, fixed_rest.basis.get_scale());
+ }
+ }
+
+ memdelete(prof_skeleton);
+ }
+}
+
+PostImportPluginSkeletonRestFixer::PostImportPluginSkeletonRestFixer() {
+}
diff --git a/editor/import/post_import_plugin_skeleton_rest_fixer.h b/editor/import/post_import_plugin_skeleton_rest_fixer.h
new file mode 100644
index 0000000000..11e9d08e88
--- /dev/null
+++ b/editor/import/post_import_plugin_skeleton_rest_fixer.h
@@ -0,0 +1,46 @@
+/*************************************************************************/
+/* post_import_plugin_skeleton_rest_fixer.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef POST_IMPORT_PLUGIN_SKELETON_REST_FIXER_H
+#define POST_IMPORT_PLUGIN_SKELETON_REST_FIXER_H
+
+#include "resource_importer_scene.h"
+
+class PostImportPluginSkeletonRestFixer : public EditorScenePostImportPlugin {
+ GDCLASS(PostImportPluginSkeletonRestFixer, EditorScenePostImportPlugin);
+
+public:
+ virtual void get_internal_import_options(InternalImportCategory p_category, List<ResourceImporter::ImportOption> *r_options) override;
+ virtual void internal_process(InternalImportCategory p_category, Node *p_base_scene, Node *p_node, Ref<Resource> p_resource, const Dictionary &p_options) override;
+
+ PostImportPluginSkeletonRestFixer();
+};
+
+#endif // POST_IMPORT_PLUGIN_SKELETON_REST_FIXER_H
diff --git a/editor/import/post_import_plugin_skeleton_track_organizer.cpp b/editor/import/post_import_plugin_skeleton_track_organizer.cpp
new file mode 100644
index 0000000000..01186f47fe
--- /dev/null
+++ b/editor/import/post_import_plugin_skeleton_track_organizer.cpp
@@ -0,0 +1,127 @@
+/*************************************************************************/
+/* post_import_plugin_skeleton_track_organizer.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "post_import_plugin_skeleton_track_organizer.h"
+
+#include "editor/import/scene_import_settings.h"
+#include "scene/3d/skeleton_3d.h"
+#include "scene/animation/animation_player.h"
+#include "scene/resources/bone_map.h"
+
+void PostImportPluginSkeletonTrackOrganizer::get_internal_import_options(InternalImportCategory p_category, List<ResourceImporter::ImportOption> *r_options) {
+ if (p_category == INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE) {
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/remove_tracks/except_bone_transform"), false));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/remove_tracks/unimportant_positions"), true));
+ r_options->push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "retarget/remove_tracks/unmapped_bones"), false));
+ }
+}
+
+void PostImportPluginSkeletonTrackOrganizer::internal_process(InternalImportCategory p_category, Node *p_base_scene, Node *p_node, Ref<Resource> p_resource, const Dictionary &p_options) {
+ if (p_category == INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE) {
+ // Prepare objects.
+ Object *map = p_options["retarget/bone_map"].get_validated_object();
+ if (!map) {
+ return;
+ }
+ BoneMap *bone_map = Object::cast_to<BoneMap>(map);
+ Ref<SkeletonProfile> profile = bone_map->get_profile();
+ if (!profile.is_valid()) {
+ return;
+ }
+ Skeleton3D *src_skeleton = Object::cast_to<Skeleton3D>(p_node);
+ if (!src_skeleton) {
+ return;
+ }
+ bool remove_except_bone = bool(p_options["retarget/remove_tracks/except_bone_transform"]);
+ bool remove_positions = bool(p_options["retarget/remove_tracks/unimportant_positions"]);
+ bool remove_unmapped_bones = bool(p_options["retarget/remove_tracks/unmapped_bones"]);
+
+ if (!remove_positions && !remove_unmapped_bones) {
+ return;
+ }
+
+ TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer");
+ while (nodes.size()) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back());
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ int track_len = anim->get_track_count();
+ Vector<int> remove_indices;
+ for (int i = 0; i < track_len; i++) {
+ String track_path = String(anim->track_get_path(i).get_concatenated_names());
+ Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path));
+ if (!node) {
+ if (remove_except_bone) {
+ remove_indices.push_back(i);
+ }
+ continue;
+ }
+ Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node);
+ if (track_skeleton && track_skeleton == src_skeleton) {
+ if (anim->track_get_path(i).get_subname_count() != 1 || !(anim->track_get_type(i) == Animation::TYPE_POSITION_3D || anim->track_get_type(i) == Animation::TYPE_ROTATION_3D || anim->track_get_type(i) == Animation::TYPE_SCALE_3D)) {
+ if (remove_except_bone) {
+ remove_indices.push_back(i);
+ }
+ continue;
+ }
+ StringName bn = anim->track_get_path(i).get_subname(0);
+ if (bn) {
+ int prof_idx = profile->find_bone(bone_map->find_profile_bone_name(bn));
+ if (remove_unmapped_bones && prof_idx < 0) {
+ remove_indices.push_back(i);
+ continue;
+ }
+ if (remove_positions && anim->track_get_type(i) == Animation::TYPE_POSITION_3D && prof_idx >= 0) {
+ StringName prof_bn = profile->get_bone_name(prof_idx);
+ if (prof_bn == profile->get_root_bone() || prof_bn == profile->get_scale_base_bone()) {
+ continue;
+ }
+ remove_indices.push_back(i);
+ }
+ }
+ }
+ if (remove_except_bone) {
+ remove_indices.push_back(i);
+ }
+ }
+
+ remove_indices.reverse();
+ for (int i = 0; i < remove_indices.size(); i++) {
+ anim->remove_track(remove_indices[i]);
+ }
+ }
+ }
+ }
+}
+
+PostImportPluginSkeletonTrackOrganizer::PostImportPluginSkeletonTrackOrganizer() {
+}
diff --git a/editor/import/post_import_plugin_skeleton_track_organizer.h b/editor/import/post_import_plugin_skeleton_track_organizer.h
new file mode 100644
index 0000000000..1830861430
--- /dev/null
+++ b/editor/import/post_import_plugin_skeleton_track_organizer.h
@@ -0,0 +1,46 @@
+/*************************************************************************/
+/* post_import_plugin_skeleton_track_organizer.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef POST_IMPORT_PLUGIN_SKELETON_TRACK_ORGANIZER_H
+#define POST_IMPORT_PLUGIN_SKELETON_TRACK_ORGANIZER_H
+
+#include "resource_importer_scene.h"
+
+class PostImportPluginSkeletonTrackOrganizer : public EditorScenePostImportPlugin {
+ GDCLASS(PostImportPluginSkeletonTrackOrganizer, EditorScenePostImportPlugin);
+
+public:
+ virtual void get_internal_import_options(InternalImportCategory p_category, List<ResourceImporter::ImportOption> *r_options) override;
+ virtual void internal_process(InternalImportCategory p_category, Node *p_base_scene, Node *p_node, Ref<Resource> p_resource, const Dictionary &p_options) override;
+
+ PostImportPluginSkeletonTrackOrganizer();
+};
+
+#endif // POST_IMPORT_PLUGIN_SKELETON_TRACK_ORGANIZER_H
diff --git a/editor/import/resource_importer_bitmask.cpp b/editor/import/resource_importer_bitmask.cpp
index 966719dc48..c03962b8a4 100644
--- a/editor/import/resource_importer_bitmask.cpp
+++ b/editor/import/resource_importer_bitmask.cpp
@@ -103,7 +103,7 @@ Error ResourceImporterBitMap::import(const String &p_source_file, const String &
}
}
- return ResourceSaver::save(p_save_path + ".res", bitmap);
+ return ResourceSaver::save(bitmap, p_save_path + ".res");
}
ResourceImporterBitMap::ResourceImporterBitMap() {
diff --git a/editor/import/resource_importer_bitmask.h b/editor/import/resource_importer_bitmask.h
index 8682ab80a3..e791788d50 100644
--- a/editor/import/resource_importer_bitmask.h
+++ b/editor/import/resource_importer_bitmask.h
@@ -53,4 +53,5 @@ public:
ResourceImporterBitMap();
~ResourceImporterBitMap();
};
+
#endif // RESOURCE_IMPORTER_BITMASK_H
diff --git a/editor/import/resource_importer_bmfont.cpp b/editor/import/resource_importer_bmfont.cpp
index 8a40b113b9..14b5638755 100644
--- a/editor/import/resource_importer_bmfont.cpp
+++ b/editor/import/resource_importer_bmfont.cpp
@@ -52,7 +52,7 @@ String ResourceImporterBMFont::get_save_extension() const {
}
String ResourceImporterBMFont::get_resource_type() const {
- return "FontData";
+ return "FontFile";
}
bool ResourceImporterBMFont::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
@@ -60,25 +60,31 @@ bool ResourceImporterBMFont::get_option_visibility(const String &p_path, const S
}
void ResourceImporterBMFont::get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset) const {
+ r_options->push_back(ImportOption(PropertyInfo(Variant::ARRAY, "fallbacks", PROPERTY_HINT_ARRAY_TYPE, vformat("%s/%s:%s", Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE, "Font")), Array()));
+
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compress"), true));
}
Error ResourceImporterBMFont::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
print_verbose("Importing BMFont font from: " + p_source_file);
- Ref<FontData> font;
+ Array fallbacks = p_options["fallbacks"];
+
+ Ref<FontFile> font;
font.instantiate();
Error err = font->load_bitmap_font(p_source_file);
ERR_FAIL_COND_V_MSG(err != OK, err, "Cannot load font to file \"" + p_source_file + "\".");
- int flg = ResourceSaver::SaverFlags::FLAG_BUNDLE_RESOURCES | ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS;
+ font->set_fallbacks(fallbacks);
+
+ int flg = 0;
if ((bool)p_options["compress"]) {
flg |= ResourceSaver::SaverFlags::FLAG_COMPRESS;
}
print_verbose("Saving to: " + p_save_path + ".fontdata");
- err = ResourceSaver::save(p_save_path + ".fontdata", font, flg);
+ err = ResourceSaver::save(font, p_save_path + ".fontdata", flg);
ERR_FAIL_COND_V_MSG(err != OK, err, "Cannot save font to file \"" + p_save_path + ".res\".");
print_verbose("Done saving to: " + p_save_path + ".fontdata");
return OK;
diff --git a/editor/import/resource_importer_csv_translation.cpp b/editor/import/resource_importer_csv_translation.cpp
index 0b3622e3c0..8b429e74d1 100644
--- a/editor/import/resource_importer_csv_translation.cpp
+++ b/editor/import/resource_importer_csv_translation.cpp
@@ -131,7 +131,7 @@ Error ResourceImporterCSVTranslation::import(const String &p_source_file, const
String save_path = p_source_file.get_basename() + "." + translations[i]->get_locale() + ".translation";
- ResourceSaver::save(save_path, xlt);
+ ResourceSaver::save(xlt, save_path);
if (r_gen_files) {
r_gen_files->push_back(save_path);
}
diff --git a/editor/import/resource_importer_csv_translation.h b/editor/import/resource_importer_csv_translation.h
index 306aafa843..2ed121c5e8 100644
--- a/editor/import/resource_importer_csv_translation.h
+++ b/editor/import/resource_importer_csv_translation.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef RESOURCEIMPORTERCSVTRANSLATION_H
-#define RESOURCEIMPORTERCSVTRANSLATION_H
+#ifndef RESOURCE_IMPORTER_CSV_TRANSLATION_H
+#define RESOURCE_IMPORTER_CSV_TRANSLATION_H
#include "core/io/resource_importer.h"
@@ -54,4 +54,4 @@ public:
ResourceImporterCSVTranslation();
};
-#endif // RESOURCEIMPORTERCSVTRANSLATION_H
+#endif // RESOURCE_IMPORTER_CSV_TRANSLATION_H
diff --git a/editor/import/resource_importer_dynamic_font.cpp b/editor/import/resource_importer_dynamic_font.cpp
index 04f6a0b7af..32fd94b093 100644
--- a/editor/import/resource_importer_dynamic_font.cpp
+++ b/editor/import/resource_importer_dynamic_font.cpp
@@ -50,7 +50,9 @@ void ResourceImporterDynamicFont::get_recognized_extensions(List<String> *p_exte
if (p_extensions) {
#ifdef MODULE_FREETYPE_ENABLED
p_extensions->push_back("ttf");
+ p_extensions->push_back("ttc");
p_extensions->push_back("otf");
+ p_extensions->push_back("otc");
p_extensions->push_back("woff");
p_extensions->push_back("woff2");
p_extensions->push_back("pfb");
@@ -64,7 +66,7 @@ String ResourceImporterDynamicFont::get_save_extension() const {
}
String ResourceImporterDynamicFont::get_resource_type() const {
- return "FontData";
+ return "FontFile";
}
bool ResourceImporterDynamicFont::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
@@ -101,6 +103,8 @@ String ResourceImporterDynamicFont::get_preset_name(int p_idx) const {
void ResourceImporterDynamicFont::get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset) const {
bool msdf = p_preset == PRESET_MSDF;
+ r_options->push_back(ImportOption(PropertyInfo(Variant::NIL, "Rendering", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP), Variant()));
+
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "antialiased"), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "generate_mipmaps"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "multichannel_signed_distance_field", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), (msdf) ? true : false));
@@ -110,63 +114,19 @@ void ResourceImporterDynamicFont::get_import_options(const String &p_path, List<
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "force_autohinter"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "hinting", PROPERTY_HINT_ENUM, "None,Light,Normal"), 1));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "subpixel_positioning", PROPERTY_HINT_ENUM, "Disabled,Auto,One half of a pixel,One quarter of a pixel"), 1));
- r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "embolden", PROPERTY_HINT_RANGE, "-2,2,0.01"), 0.f));
- r_options->push_back(ImportOption(PropertyInfo(Variant::TRANSFORM2D, "transform"), Transform2D()));
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "oversampling", PROPERTY_HINT_RANGE, "0,10,0.1"), 0.0));
- r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compress"), true));
- r_options->push_back(ImportOption(PropertyInfo(Variant::DICTIONARY, "opentype_feature_overrides"), Dictionary()));
-
- r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "preload/char_ranges"), Vector<String>()));
- r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "preload/glyph_ranges"), Vector<String>()));
- r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "preload/configurations"), Vector<String>()));
-
- r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "support_overrides/language_enabled"), Vector<String>()));
- r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "support_overrides/language_disabled"), Vector<String>()));
-
- r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "support_overrides/script_enabled"), Vector<String>()));
- r_options->push_back(ImportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "support_overrides/script_disabled"), Vector<String>()));
-}
+ r_options->push_back(ImportOption(PropertyInfo(Variant::NIL, "Fallbacks", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP), Variant()));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::ARRAY, "fallbacks", PROPERTY_HINT_ARRAY_TYPE, vformat("%s/%s:%s", Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE, "Font")), Array()));
-bool ResourceImporterDynamicFont::_decode_variation(const String &p_token, Dictionary &r_variations, Vector2i &r_size, String &r_name, Vector2i &r_spacing) {
- Vector<String> tokens = p_token.split("=");
- if (tokens.size() == 2) {
- if (tokens[0] == "name") {
- r_name = tokens[1];
- } else if (tokens[0] == "size") {
- r_size.x = tokens[1].to_int();
- } else if (tokens[0] == "outline_size") {
- r_size.y = tokens[1].to_int();
- } else if (tokens[0] == "spacing_space") {
- r_spacing.x = tokens[1].to_int();
- } else if (tokens[0] == "spacing_glyph") {
- r_spacing.y = tokens[1].to_int();
- } else {
- r_variations[tokens[0]] = tokens[1].to_float();
- }
- return true;
- } else {
- WARN_PRINT("Invalid variation: '" + p_token + "'.");
- return false;
- }
-}
+ r_options->push_back(ImportOption(PropertyInfo(Variant::NIL, "Compress", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP), Variant()));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compress"), true));
-bool ResourceImporterDynamicFont::_decode_range(const String &p_token, int32_t &r_pos) {
- if (p_token.begins_with("U+") || p_token.begins_with("u+") || p_token.begins_with("0x")) {
- // Unicode character hex index.
- r_pos = p_token.substr(2).hex_to_int();
- return true;
- } else if (p_token.length() == 3 && p_token[0] == '\'' && p_token[2] == '\'') {
- // Unicode character.
- r_pos = p_token.unicode_at(1);
- return true;
- } else if (p_token.is_numeric()) {
- // Unicode character decimal index.
- r_pos = p_token.to_int();
- return true;
- } else {
- return false;
- }
+ // Hide from the main UI, only for advanced import dialog.
+ r_options->push_back(ImportOption(PropertyInfo(Variant::ARRAY, "preload", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), Array()));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::DICTIONARY, "language_support", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), Dictionary()));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::DICTIONARY, "script_support", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), Dictionary()));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::DICTIONARY, "opentype_features", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), Dictionary()));
}
bool ResourceImporterDynamicFont::has_advanced_options() const {
@@ -184,20 +144,19 @@ Error ResourceImporterDynamicFont::import(const String &p_source_file, const Str
bool msdf = p_options["multichannel_signed_distance_field"];
int px_range = p_options["msdf_pixel_range"];
int px_size = p_options["msdf_size"];
- Dictionary ot_ov = p_options["opentype_feature_overrides"];
+ Dictionary ot_ov = p_options["opentype_features"];
bool autohinter = p_options["force_autohinter"];
int hinting = p_options["hinting"];
int subpixel_positioning = p_options["subpixel_positioning"];
real_t oversampling = p_options["oversampling"];
- real_t embolden = p_options["embolden"];
- Transform2D transform = p_options["transform"];
+ Array fallbacks = p_options["fallbacks"];
// Load base font data.
Vector<uint8_t> data = FileAccess::get_file_as_array(p_source_file);
// Create font.
- Ref<FontData> font;
+ Ref<FontFile> font;
font.instantiate();
font->set_data(data);
font->set_antialiased(antialiased);
@@ -209,111 +168,58 @@ Error ResourceImporterDynamicFont::import(const String &p_source_file, const Str
font->set_fixed_size(0);
font->set_force_autohinter(autohinter);
font->set_subpixel_positioning((TextServer::SubpixelPositioning)subpixel_positioning);
- font->set_embolden(embolden);
- font->set_transform(transform);
font->set_hinting((TextServer::Hinting)hinting);
font->set_oversampling(oversampling);
+ font->set_fallbacks(fallbacks);
- Vector<String> lang_en = p_options["support_overrides/language_enabled"];
- for (int i = 0; i < lang_en.size(); i++) {
- font->set_language_support_override(lang_en[i], true);
+ Dictionary langs = p_options["language_support"];
+ for (int i = 0; i < langs.size(); i++) {
+ String key = langs.get_key_at_index(i);
+ bool enabled = langs.get_value_at_index(i);
+ font->set_language_support_override(key, enabled);
}
- Vector<String> lang_dis = p_options["support_overrides/language_disabled"];
- for (int i = 0; i < lang_dis.size(); i++) {
- font->set_language_support_override(lang_dis[i], false);
+ Dictionary scripts = p_options["script_support"];
+ for (int i = 0; i < scripts.size(); i++) {
+ String key = scripts.get_key_at_index(i);
+ bool enabled = scripts.get_value_at_index(i);
+ font->set_script_support_override(key, enabled);
}
- Vector<String> scr_en = p_options["support_overrides/script_enabled"];
- for (int i = 0; i < scr_en.size(); i++) {
- font->set_script_support_override(scr_en[i], true);
- }
+ Array preload_configurations = p_options["preload"];
- Vector<String> scr_dis = p_options["support_overrides/script_disabled"];
- for (int i = 0; i < scr_dis.size(); i++) {
- font->set_script_support_override(scr_dis[i], false);
- }
+ for (int i = 0; i < preload_configurations.size(); i++) {
+ Dictionary preload_config = preload_configurations[i];
- Vector<String> variations = p_options["preload/configurations"];
- Vector<String> char_ranges = p_options["preload/char_ranges"];
- Vector<String> gl_ranges = p_options["preload/glyph_ranges"];
-
- for (int i = 0; i < variations.size(); i++) {
- String name;
- Dictionary var;
- Vector2i size = Vector2(16, 0);
- Vector2i spacing;
-
- Vector<String> variation_tags = variations[i].split(",");
- for (int j = 0; j < variation_tags.size(); j++) {
- if (!_decode_variation(variation_tags[j], var, size, name, spacing)) {
- WARN_PRINT(vformat(TTR("Invalid variation: \"%s\""), variations[i]));
- continue;
- }
- }
- RID conf = font->find_cache(var);
-
- for (int j = 0; j < char_ranges.size(); j++) {
- int32_t start, end;
- Vector<String> tokens = char_ranges[j].split("-");
- if (tokens.size() == 2) {
- if (!_decode_range(tokens[0], start) || !_decode_range(tokens[1], end)) {
- WARN_PRINT(vformat(TTR("Invalid range: \"%s\""), char_ranges[j]));
- continue;
- }
- } else if (tokens.size() == 1) {
- if (!_decode_range(tokens[0], start)) {
- WARN_PRINT(vformat(TTR("Invalid range: \"%s\""), char_ranges[j]));
- continue;
- }
- end = start;
- } else {
- WARN_PRINT(vformat(TTR("Invalid range: \"%s\""), char_ranges[j]));
- continue;
- }
-
- // Preload character ranges for each variations / sizes.
- print_verbose(vformat(TTR("Pre-rendering range U+%s...%s from configuration \"%s\" (%d / %d)..."), String::num_int64(start, 16), String::num_int64(end, 16), name, i + 1, variations.size()));
- TS->font_render_range(conf, size, start, end);
- }
+ Dictionary variation = preload_config.has("variation_opentype") ? preload_config["variation_opentype"].operator Dictionary() : Dictionary();
+ double embolden = preload_config.has("variation_embolden") ? preload_config["variation_embolden"].operator double() : 0;
+ int face_index = preload_config.has("variation_face_index") ? preload_config["variation_face_index"].operator int() : 0;
+ Transform2D transform = preload_config.has("variation_transform") ? preload_config["variation_transform"].operator Transform2D() : Transform2D();
+ Vector2i size = preload_config.has("size") ? preload_config["size"].operator Vector2i() : Vector2i(16, 0);
+ String name = preload_config.has("name") ? preload_config["name"].operator String() : vformat("Configuration %d", i);
- for (int j = 0; j < gl_ranges.size(); j++) {
- int32_t start, end;
- Vector<String> tokens = gl_ranges[j].split("-");
- if (tokens.size() == 2) {
- if (!_decode_range(tokens[0], start) || !_decode_range(tokens[1], end)) {
- WARN_PRINT(vformat(TTR("Invalid range: \"%s\""), gl_ranges[j]));
- continue;
- }
- } else if (tokens.size() == 1) {
- if (!_decode_range(tokens[0], start)) {
- WARN_PRINT(vformat(TTR("Invalid range: \"%s\""), gl_ranges[j]));
- continue;
- }
- end = start;
- } else {
- WARN_PRINT(vformat(TTR("Invalid range: \"%s\""), gl_ranges[j]));
- continue;
- }
-
- // Preload glyph range for each variations / sizes.
- print_verbose(vformat(TTR("Pre-rendering glyph range 0x%s...%s from configuration \"%s\" (%d / %d)..."), String::num_int64(start, 16), String::num_int64(end, 16), name, i + 1, variations.size()));
- for (int32_t k = start; k <= end; k++) {
- TS->font_render_glyph(conf, size, k);
- }
+ RID conf_rid = font->find_variation(variation, face_index, embolden, transform);
+
+ Array chars = preload_config["chars"];
+ for (int j = 0; j < chars.size(); j++) {
+ char32_t c = chars[j].operator int();
+ TS->font_render_range(conf_rid, size, c, c);
}
- TS->font_set_spacing(conf, size.x, TextServer::SPACING_SPACE, spacing.x);
- TS->font_set_spacing(conf, size.x, TextServer::SPACING_GLYPH, spacing.y);
+ Array glyphs = preload_config["glyphs"];
+ for (int j = 0; j < glyphs.size(); j++) {
+ int32_t c = glyphs[j];
+ TS->font_render_glyph(conf_rid, size, c);
+ }
}
- int flg = ResourceSaver::SaverFlags::FLAG_BUNDLE_RESOURCES | ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS;
+ int flg = 0;
if ((bool)p_options["compress"]) {
flg |= ResourceSaver::SaverFlags::FLAG_COMPRESS;
}
print_verbose("Saving to: " + p_save_path + ".fontdata");
- Error err = ResourceSaver::save(p_save_path + ".fontdata", font, flg);
+ Error err = ResourceSaver::save(font, p_save_path + ".fontdata", flg);
ERR_FAIL_COND_V_MSG(err != OK, err, "Cannot save font to file \"" + p_save_path + ".res\".");
print_verbose("Done saving to: " + p_save_path + ".fontdata");
return OK;
diff --git a/editor/import/resource_importer_dynamic_font.h b/editor/import/resource_importer_dynamic_font.h
index c0b6c094b0..a05c8bab05 100644
--- a/editor/import/resource_importer_dynamic_font.h
+++ b/editor/import/resource_importer_dynamic_font.h
@@ -43,9 +43,6 @@ class ResourceImporterDynamicFont : public ResourceImporter {
};
public:
- static bool _decode_range(const String &p_token, int32_t &r_pos);
- static bool _decode_variation(const String &p_token, Dictionary &r_variations, Vector2i &r_size, String &r_name, Vector2i &r_spacing);
-
virtual String get_importer_name() const override;
virtual String get_visible_name() const override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override;
diff --git a/editor/import/resource_importer_imagefont.cpp b/editor/import/resource_importer_imagefont.cpp
index bbcd336575..374cbe7ce2 100644
--- a/editor/import/resource_importer_imagefont.cpp
+++ b/editor/import/resource_importer_imagefont.cpp
@@ -52,7 +52,7 @@ String ResourceImporterImageFont::get_save_extension() const {
}
String ResourceImporterImageFont::get_resource_type() const {
- return "FontData";
+ return "FontFile";
}
bool ResourceImporterImageFont::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
@@ -64,6 +64,9 @@ void ResourceImporterImageFont::get_import_options(const String &p_path, List<Im
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "columns"), 1));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "rows"), 1));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "font_size"), 14));
+
+ r_options->push_back(ImportOption(PropertyInfo(Variant::ARRAY, "fallbacks", PROPERTY_HINT_ARRAY_TYPE, vformat("%s/%s:%s", Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE, "Font")), Array()));
+
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compress"), true));
}
@@ -92,8 +95,9 @@ Error ResourceImporterImageFont::import(const String &p_source_file, const Strin
int rows = p_options["rows"];
int base_size = p_options["font_size"];
Vector<String> ranges = p_options["character_ranges"];
+ Array fallbacks = p_options["fallbacks"];
- Ref<FontData> font;
+ Ref<FontFile> font;
font.instantiate();
font->set_antialiased(false);
font->set_generate_mipmaps(false);
@@ -103,11 +107,12 @@ Error ResourceImporterImageFont::import(const String &p_source_file, const Strin
font->set_force_autohinter(false);
font->set_hinting(TextServer::HINTING_NONE);
font->set_oversampling(1.0f);
+ font->set_fallbacks(fallbacks);
Ref<Image> img;
img.instantiate();
Error err = ImageLoader::load_image(p_source_file, img);
- ERR_FAIL_COND_V_MSG(err != OK, ERR_FILE_CANT_READ, TTR("Can't load font texture: ") + "\"" + p_source_file + "\".");
+ ERR_FAIL_COND_V_MSG(err != OK, ERR_FILE_CANT_READ, TTR("Can't load font texture:") + " \"" + p_source_file + "\".");
font->set_texture_image(0, Vector2i(base_size, 0), 0, img);
int count = columns * rows;
@@ -145,16 +150,16 @@ Error ResourceImporterImageFont::import(const String &p_source_file, const Strin
ERR_FAIL_COND_V_MSG(pos >= count, ERR_CANT_CREATE, "Too many characters in range.");
}
}
- font->set_ascent(0, base_size, 0.5 * chr_height);
- font->set_descent(0, base_size, 0.5 * chr_height);
+ font->set_cache_ascent(0, base_size, 0.5 * chr_height);
+ font->set_cache_descent(0, base_size, 0.5 * chr_height);
- int flg = ResourceSaver::SaverFlags::FLAG_BUNDLE_RESOURCES | ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS;
+ int flg = 0;
if ((bool)p_options["compress"]) {
flg |= ResourceSaver::SaverFlags::FLAG_COMPRESS;
}
print_verbose("Saving to: " + p_save_path + ".fontdata");
- err = ResourceSaver::save(p_save_path + ".fontdata", font, flg);
+ err = ResourceSaver::save(font, p_save_path + ".fontdata", flg);
ERR_FAIL_COND_V_MSG(err != OK, err, "Cannot save font to file \"" + p_save_path + ".res\".");
print_verbose("Done saving to: " + p_save_path + ".fontdata");
return OK;
diff --git a/editor/import/resource_importer_imagefont.h b/editor/import/resource_importer_imagefont.h
index f46bc8c19b..e163f873da 100644
--- a/editor/import/resource_importer_imagefont.h
+++ b/editor/import/resource_importer_imagefont.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef RESOURCE_IMPORTER_IMAGE_FONT_H
-#define RESOURCE_IMPORTER_IMAGE_FONT_H
+#ifndef RESOURCE_IMPORTER_IMAGEFONT_H
+#define RESOURCE_IMPORTER_IMAGEFONT_H
#include "core/io/resource_importer.h"
#include "scene/resources/font.h"
@@ -55,4 +55,4 @@ public:
ResourceImporterImageFont();
};
-#endif // RESOURCE_IMPORTER_IMAGE_FONT_H
+#endif // RESOURCE_IMPORTER_IMAGEFONT_H
diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp
index bacd09592e..b301bbf0f9 100644
--- a/editor/import/resource_importer_layered_texture.cpp
+++ b/editor/import/resource_importer_layered_texture.cpp
@@ -139,7 +139,7 @@ void ResourceImporterLayeredTexture::get_import_options(const String &p_path, Li
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "compress/lossy_quality", PROPERTY_HINT_RANGE, "0,1,0.01"), 0.7));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/hdr_compression", PROPERTY_HINT_ENUM, "Disabled,Opaque Only,Always"), 1));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/bptc_ldr", PROPERTY_HINT_ENUM, "Disabled,Enabled,RGBA Only"), 0));
- r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/channel_pack", PROPERTY_HINT_ENUM, "sRGB Friendly,Optimized"), 0));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/channel_pack", PROPERTY_HINT_ENUM, "sRGB Friendly,Optimized,Normal Map (RG Channels)"), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "mipmaps/generate"), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "mipmaps/limit", PROPERTY_HINT_RANGE, "-1,256"), -1));
@@ -250,7 +250,7 @@ void ResourceImporterLayeredTexture::_save_tex(Vector<Ref<Image>> p_images, cons
}
if (p_mipmaps) {
- p_images.write[i]->generate_mipmaps();
+ p_images.write[i]->generate_mipmaps(p_csource == Image::COMPRESS_SOURCE_NORMAL);
} else {
p_images.write[i]->clear_mipmaps();
}
@@ -354,6 +354,9 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const
Image::CompressSource csource = Image::COMPRESS_SOURCE_GENERIC;
if (channel_pack == 0) {
csource = Image::COMPRESS_SOURCE_SRGB;
+ } else if (channel_pack == 2) {
+ // force normal
+ csource = Image::COMPRESS_SOURCE_NORMAL;
}
Image::UsedChannels used_channels = image->detect_used_channels(csource);
@@ -367,7 +370,7 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const
for (int j = 0; j < hslices; j++) {
int x = slice_w * j;
int y = slice_h * i;
- Ref<Image> slice = image->get_rect(Rect2(x, y, slice_w, slice_h));
+ Ref<Image> slice = image->get_rect(Rect2i(x, y, slice_w, slice_h));
ERR_CONTINUE(slice.is_null() || slice->is_empty());
if (slice->get_width() != slice_w || slice->get_height() != slice_h) {
slice->resize(slice_w, slice_h);
@@ -391,7 +394,7 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const
texture_import->bptc_ldr = bptc_ldr;
texture_import->mipmaps = mipmaps;
texture_import->used_channels = used_channels;
- _check_compress_ctex(texture_import);
+ _check_compress_ctex(p_source_file, texture_import);
if (r_metadata) {
Dictionary metadata;
metadata["vram_texture"] = compress_mode == COMPRESS_VRAM_COMPRESSED;
@@ -472,7 +475,7 @@ ResourceImporterLayeredTexture::ResourceImporterLayeredTexture() {
ResourceImporterLayeredTexture::~ResourceImporterLayeredTexture() {
}
-void ResourceImporterLayeredTexture::_check_compress_ctex(Ref<LayeredTextureImport> r_texture_import) {
+void ResourceImporterLayeredTexture::_check_compress_ctex(const String &p_source_file, Ref<LayeredTextureImport> r_texture_import) {
String extension = get_save_extension();
ERR_FAIL_NULL(r_texture_import->csource);
if (r_texture_import->compress_mode != COMPRESS_VRAM_COMPRESSED) {
@@ -542,5 +545,5 @@ void ResourceImporterLayeredTexture::_check_compress_ctex(Ref<LayeredTextureImpo
}
return;
}
- EditorNode::add_io_error(TTR("Warning, no suitable PC VRAM compression enabled in Project Settings. This texture will not display correctly on PC."));
+ EditorNode::add_io_error(vformat(TTR("%s: No suitable PC VRAM compression algorithm enabled in Project Settings (S3TC or BPTC). This texture may not display correctly on desktop platforms."), p_source_file));
}
diff --git a/editor/import/resource_importer_layered_texture.h b/editor/import/resource_importer_layered_texture.h
index 5a29010c3b..e292390fb3 100644
--- a/editor/import/resource_importer_layered_texture.h
+++ b/editor/import/resource_importer_layered_texture.h
@@ -87,7 +87,7 @@ protected:
static ResourceImporterLayeredTexture *singleton;
public:
- void _check_compress_ctex(Ref<LayeredTextureImport> r_texture_import);
+ void _check_compress_ctex(const String &p_source_file, Ref<LayeredTextureImport> r_texture_import);
static ResourceImporterLayeredTexture *get_singleton() { return singleton; }
virtual String get_importer_name() const override;
diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp
index 6fbfecfdfa..d1c4e1f8dd 100644
--- a/editor/import/resource_importer_obj.cpp
+++ b/editor/import/resource_importer_obj.cpp
@@ -519,7 +519,7 @@ Error ResourceImporterOBJ::import(const String &p_source_file, const String &p_s
String save_path = p_save_path + ".mesh";
- err = ResourceSaver::save(save_path, meshes.front()->get());
+ err = ResourceSaver::save(meshes.front()->get(), save_path);
ERR_FAIL_COND_V_MSG(err != OK, err, "Cannot save Mesh to file '" + save_path + "'.");
diff --git a/editor/import/resource_importer_obj.h b/editor/import/resource_importer_obj.h
index 3da9f02adb..4dfac90fa1 100644
--- a/editor/import/resource_importer_obj.h
+++ b/editor/import/resource_importer_obj.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef RESOURCEIMPORTEROBJ_H
-#define RESOURCEIMPORTEROBJ_H
+#ifndef RESOURCE_IMPORTER_OBJ_H
+#define RESOURCE_IMPORTER_OBJ_H
#include "resource_importer_scene.h"
@@ -69,4 +69,4 @@ public:
ResourceImporterOBJ();
};
-#endif // RESOURCEIMPORTEROBJ_H
+#endif // RESOURCE_IMPORTER_OBJ_H
diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp
index 80230bc316..85dda24f8e 100644
--- a/editor/import/resource_importer_scene.cpp
+++ b/editor/import/resource_importer_scene.cpp
@@ -144,11 +144,11 @@ Variant EditorScenePostImportPlugin::get_option_value(const StringName &p_name)
ERR_FAIL_COND_V_MSG(current_options == nullptr && current_options_dict == nullptr, Variant(), "get_option_value called from a function where option values are not available.");
ERR_FAIL_COND_V_MSG(current_options && !current_options->has(p_name), Variant(), "get_option_value called with unexisting option argument: " + String(p_name));
ERR_FAIL_COND_V_MSG(current_options_dict && !current_options_dict->has(p_name), Variant(), "get_option_value called with unexisting option argument: " + String(p_name));
- if (current_options) {
- (*current_options)[p_name];
+ if (current_options && current_options->has(p_name)) {
+ return (*current_options)[p_name];
}
- if (current_options_dict) {
- (*current_options_dict)[p_name];
+ if (current_options_dict && current_options_dict->has(p_name)) {
+ return (*current_options_dict)[p_name];
}
return Variant();
}
@@ -232,6 +232,7 @@ void EditorScenePostImportPlugin::_bind_methods() {
BIND_ENUM_CONSTANT(INTERNAL_IMPORT_CATEGORY_MATERIAL);
BIND_ENUM_CONSTANT(INTERNAL_IMPORT_CATEGORY_ANIMATION);
BIND_ENUM_CONSTANT(INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE);
+ BIND_ENUM_CONSTANT(INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE);
BIND_ENUM_CONSTANT(INTERNAL_IMPORT_CATEGORY_MAX);
}
@@ -658,6 +659,44 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, HashMap<R
}
}
}
+ } else if (_teststr(name, "vehicle")) {
+ if (isroot) {
+ return p_node;
+ }
+
+ Node *owner = p_node->get_owner();
+ Node3D *s = Object::cast_to<Node3D>(p_node);
+ VehicleBody3D *bv = memnew(VehicleBody3D);
+ String n = _fixstr(p_node->get_name(), "vehicle");
+ bv->set_name(n);
+ p_node->replace_by(bv);
+ p_node->set_name(n);
+ bv->add_child(p_node);
+ bv->set_owner(owner);
+ p_node->set_owner(owner);
+ bv->set_transform(s->get_transform());
+ s->set_transform(Transform3D());
+
+ p_node = bv;
+ } else if (_teststr(name, "wheel")) {
+ if (isroot) {
+ return p_node;
+ }
+
+ Node *owner = p_node->get_owner();
+ Node3D *s = Object::cast_to<Node3D>(p_node);
+ VehicleWheel3D *bv = memnew(VehicleWheel3D);
+ String n = _fixstr(p_node->get_name(), "wheel");
+ bv->set_name(n);
+ p_node->replace_by(bv);
+ p_node->set_name(n);
+ bv->add_child(p_node);
+ bv->set_owner(owner);
+ p_node->set_owner(owner);
+ bv->set_transform(s->get_transform());
+ s->set_transform(Transform3D());
+
+ p_node = bv;
} else if (Object::cast_to<ImporterMeshInstance3D>(p_node)) {
//last attempt, maybe collision inside the mesh data
@@ -704,6 +743,163 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, HashMap<R
return p_node;
}
+Node *ResourceImporterScene::_pre_fix_animations(Node *p_node, Node *p_root, const Dictionary &p_node_data, const Dictionary &p_animation_data, float p_animation_fps) {
+ // children first
+ for (int i = 0; i < p_node->get_child_count(); i++) {
+ Node *r = _pre_fix_animations(p_node->get_child(i), p_root, p_node_data, p_animation_data, p_animation_fps);
+ if (!r) {
+ i--; //was erased
+ }
+ }
+
+ String import_id = p_node->get_meta("import_id", "PATH:" + p_root->get_path_to(p_node));
+
+ Dictionary node_settings;
+ if (p_node_data.has(import_id)) {
+ node_settings = p_node_data[import_id];
+ }
+
+ {
+ //make sure this is unique
+ node_settings = node_settings.duplicate(true);
+ //fill node settings for this node with default values
+ List<ImportOption> iopts;
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE, &iopts);
+ for (const ImportOption &E : iopts) {
+ if (!node_settings.has(E.option.name)) {
+ node_settings[E.option.name] = E.default_value;
+ }
+ }
+ }
+
+ if (Object::cast_to<AnimationPlayer>(p_node)) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(p_node);
+
+ Array animation_clips;
+ {
+ int clip_count = node_settings["clips/amount"];
+
+ for (int i = 0; i < clip_count; i++) {
+ String name = node_settings["clip_" + itos(i + 1) + "/name"];
+ int from_frame = node_settings["clip_" + itos(i + 1) + "/start_frame"];
+ int end_frame = node_settings["clip_" + itos(i + 1) + "/end_frame"];
+ Animation::LoopMode loop_mode = static_cast<Animation::LoopMode>((int)node_settings["clip_" + itos(i + 1) + "/loop_mode"]);
+ bool save_to_file = node_settings["clip_" + itos(i + 1) + "/save_to_file/enabled"];
+ bool save_to_path = node_settings["clip_" + itos(i + 1) + "/save_to_file/path"];
+ bool save_to_file_keep_custom = node_settings["clip_" + itos(i + 1) + "/save_to_file/keep_custom_tracks"];
+
+ animation_clips.push_back(name);
+ animation_clips.push_back(from_frame / p_animation_fps);
+ animation_clips.push_back(end_frame / p_animation_fps);
+ animation_clips.push_back(loop_mode);
+ animation_clips.push_back(save_to_file);
+ animation_clips.push_back(save_to_path);
+ animation_clips.push_back(save_to_file_keep_custom);
+ }
+ }
+
+ if (animation_clips.size()) {
+ _create_clips(ap, animation_clips, true);
+ } else {
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ AnimationImportTracks import_tracks_mode[TRACK_CHANNEL_MAX] = {
+ AnimationImportTracks(int(node_settings["import_tracks/position"])),
+ AnimationImportTracks(int(node_settings["import_tracks/rotation"])),
+ AnimationImportTracks(int(node_settings["import_tracks/scale"]))
+ };
+ if (anims.size() > 1 && (import_tracks_mode[0] != ANIMATION_IMPORT_TRACKS_IF_PRESENT || import_tracks_mode[1] != ANIMATION_IMPORT_TRACKS_IF_PRESENT || import_tracks_mode[2] != ANIMATION_IMPORT_TRACKS_IF_PRESENT)) {
+ _optimize_track_usage(ap, import_tracks_mode);
+ }
+ }
+ }
+
+ return p_node;
+}
+
+Node *ResourceImporterScene::_post_fix_animations(Node *p_node, Node *p_root, const Dictionary &p_node_data, const Dictionary &p_animation_data, float p_animation_fps) {
+ // children first
+ for (int i = 0; i < p_node->get_child_count(); i++) {
+ Node *r = _post_fix_animations(p_node->get_child(i), p_root, p_node_data, p_animation_data, p_animation_fps);
+ if (!r) {
+ i--; //was erased
+ }
+ }
+
+ String import_id = p_node->get_meta("import_id", "PATH:" + p_root->get_path_to(p_node));
+
+ Dictionary node_settings;
+ if (p_node_data.has(import_id)) {
+ node_settings = p_node_data[import_id];
+ }
+
+ {
+ //make sure this is unique
+ node_settings = node_settings.duplicate(true);
+ //fill node settings for this node with default values
+ List<ImportOption> iopts;
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE, &iopts);
+ for (const ImportOption &E : iopts) {
+ if (!node_settings.has(E.option.name)) {
+ node_settings[E.option.name] = E.default_value;
+ }
+ }
+ }
+
+ if (Object::cast_to<AnimationPlayer>(p_node)) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(p_node);
+
+ bool use_optimizer = node_settings["optimizer/enabled"];
+ float anim_optimizer_linerr = node_settings["optimizer/max_velocity_error"];
+ float anim_optimizer_angerr = node_settings["optimizer/max_angular_error"];
+ int anim_optimizer_preerr = node_settings["optimizer/max_precision_error"];
+
+ if (use_optimizer) {
+ _optimize_animations(ap, anim_optimizer_linerr, anim_optimizer_angerr, anim_optimizer_preerr);
+ }
+
+ bool use_compression = node_settings["compression/enabled"];
+ int anim_compression_page_size = node_settings["compression/page_size"];
+
+ if (use_compression) {
+ _compress_animations(ap, anim_compression_page_size);
+ }
+
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (const StringName &name : anims) {
+ Ref<Animation> anim = ap->get_animation(name);
+ if (p_animation_data.has(name)) {
+ Dictionary anim_settings = p_animation_data[name];
+ {
+ //fill with default values
+ List<ImportOption> iopts;
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_ANIMATION, &iopts);
+ for (const ImportOption &F : iopts) {
+ if (!anim_settings.has(F.option.name)) {
+ anim_settings[F.option.name] = F.default_value;
+ }
+ }
+ }
+
+ anim->set_loop_mode(static_cast<Animation::LoopMode>((int)anim_settings["settings/loop_mode"]));
+ bool save = anim_settings["save_to_file/enabled"];
+ String path = anim_settings["save_to_file/path"];
+ bool keep_custom = anim_settings["save_to_file/keep_custom_tracks"];
+
+ Ref<Animation> saved_anim = _save_animation_to_file(anim, save, path, keep_custom);
+
+ if (saved_anim != anim) {
+ Ref<AnimationLibrary> al = ap->get_animation_library(ap->find_animation_library(anim));
+ al->add_animation(name, saved_anim); //replace
+ }
+ }
+ }
+ }
+
+ return p_node;
+}
+
Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &collision_map, Pair<PackedVector3Array, PackedInt32Array> &r_occluder_arrays, HashSet<Ref<ImporterMesh>> &r_scanned_meshes, const Dictionary &p_node_data, const Dictionary &p_material_data, const Dictionary &p_animation_data, float p_animation_fps) {
// children first
for (int i = 0; i < p_node->get_child_count(); i++) {
@@ -728,6 +924,27 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<
}
{
+ //make sure this is unique
+ node_settings = node_settings.duplicate(true);
+ //fill node settings for this node with default values
+ List<ImportOption> iopts;
+ if (Object::cast_to<ImporterMeshInstance3D>(p_node)) {
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_MESH_3D_NODE, &iopts);
+ } else if (Object::cast_to<AnimationPlayer>(p_node)) {
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE, &iopts);
+ } else if (Object::cast_to<Skeleton3D>(p_node)) {
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE, &iopts);
+ } else {
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_NODE, &iopts);
+ }
+ for (const ImportOption &E : iopts) {
+ if (!node_settings.has(E.option.name)) {
+ node_settings[E.option.name] = E.default_value;
+ }
+ }
+ }
+
+ {
ObjectID node_id = p_node->get_instance_id();
for (int i = 0; i < post_importer_plugins.size(); i++) {
post_importer_plugins.write[i]->internal_process(EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_NODE, p_root, p_node, Ref<Resource>(), node_settings);
@@ -747,6 +964,16 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<
}
}
+ if (Object::cast_to<Skeleton3D>(p_node)) {
+ ObjectID node_id = p_node->get_instance_id();
+ for (int i = 0; i < post_importer_plugins.size(); i++) {
+ post_importer_plugins.write[i]->internal_process(EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE, p_root, p_node, Ref<Resource>(), node_settings);
+ if (ObjectDB::get_instance(node_id) == nullptr) { //may have been erased, so do not continue
+ break;
+ }
+ }
+ }
+
if (Object::cast_to<ImporterMeshInstance3D>(p_node)) {
ImporterMeshInstance3D *mi = Object::cast_to<ImporterMeshInstance3D>(p_node);
@@ -761,6 +988,16 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<
if (!mat_id.is_empty() && p_material_data.has(mat_id)) {
Dictionary matdata = p_material_data[mat_id];
+ {
+ //fill node settings for this node with default values
+ List<ImportOption> iopts;
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_MATERIAL, &iopts);
+ for (const ImportOption &E : iopts) {
+ if (!matdata.has(E.option.name)) {
+ matdata[E.option.name] = E.default_value;
+ }
+ }
+ }
for (int j = 0; j < post_importer_plugins.size(); j++) {
post_importer_plugins.write[j]->internal_process(EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_MATERIAL, p_root, p_node, mat, matdata);
@@ -928,100 +1165,10 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<
if (Object::cast_to<AnimationPlayer>(p_node)) {
AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(p_node);
- {
- //make sure this is unique
- node_settings = node_settings.duplicate(true);
- //fill node settings for this node with default values
- List<ImportOption> iopts;
- get_internal_import_options(INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE, &iopts);
- for (const ImportOption &E : iopts) {
- if (!node_settings.has(E.option.name)) {
- node_settings[E.option.name] = E.default_value;
- }
- }
- }
-
for (int i = 0; i < post_importer_plugins.size(); i++) {
post_importer_plugins.write[i]->internal_process(EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE, p_root, p_node, Ref<Resource>(), node_settings);
}
- bool use_optimizer = node_settings["optimizer/enabled"];
- float anim_optimizer_linerr = node_settings["optimizer/max_linear_error"];
- float anim_optimizer_angerr = node_settings["optimizer/max_angular_error"];
- float anim_optimizer_maxang = node_settings["optimizer/max_angle"];
-
- if (use_optimizer) {
- _optimize_animations(ap, anim_optimizer_linerr, anim_optimizer_angerr, anim_optimizer_maxang);
- }
-
- Array animation_clips;
- {
- int clip_count = node_settings["clips/amount"];
-
- for (int i = 0; i < clip_count; i++) {
- String name = node_settings["clip_" + itos(i + 1) + "/name"];
- int from_frame = node_settings["clip_" + itos(i + 1) + "/start_frame"];
- int end_frame = node_settings["clip_" + itos(i + 1) + "/end_frame"];
- Animation::LoopMode loop_mode = static_cast<Animation::LoopMode>((int)node_settings["clip_" + itos(i + 1) + "/loop_mode"]);
- bool save_to_file = node_settings["clip_" + itos(i + 1) + "/save_to_file/enabled"];
- bool save_to_path = node_settings["clip_" + itos(i + 1) + "/save_to_file/path"];
- bool save_to_file_keep_custom = node_settings["clip_" + itos(i + 1) + "/save_to_file/keep_custom_tracks"];
-
- animation_clips.push_back(name);
- animation_clips.push_back(from_frame / p_animation_fps);
- animation_clips.push_back(end_frame / p_animation_fps);
- animation_clips.push_back(loop_mode);
- animation_clips.push_back(save_to_file);
- animation_clips.push_back(save_to_path);
- animation_clips.push_back(save_to_file_keep_custom);
- }
- }
-
- if (animation_clips.size()) {
- _create_clips(ap, animation_clips, true);
- } else {
- List<StringName> anims;
- ap->get_animation_list(&anims);
- for (const StringName &name : anims) {
- Ref<Animation> anim = ap->get_animation(name);
- if (p_animation_data.has(name)) {
- Dictionary anim_settings = p_animation_data[name];
- {
- //fill with default values
- List<ImportOption> iopts;
- get_internal_import_options(INTERNAL_IMPORT_CATEGORY_ANIMATION, &iopts);
- for (const ImportOption &F : iopts) {
- if (!anim_settings.has(F.option.name)) {
- anim_settings[F.option.name] = F.default_value;
- }
- }
- }
-
- anim->set_loop_mode(static_cast<Animation::LoopMode>((int)anim_settings["settings/loop_mode"]));
- bool save = anim_settings["save_to_file/enabled"];
- String path = anim_settings["save_to_file/path"];
- bool keep_custom = anim_settings["save_to_file/keep_custom_tracks"];
-
- Ref<Animation> saved_anim = _save_animation_to_file(anim, save, path, keep_custom);
-
- if (saved_anim != anim) {
- Ref<AnimationLibrary> al = ap->get_animation_library(ap->find_animation_library(anim));
- al->add_animation(name, saved_anim); //replace
- }
- }
- }
-
- AnimationImportTracks import_tracks_mode[TRACK_CHANNEL_MAX] = {
- AnimationImportTracks(int(node_settings["import_tracks/position"])),
- AnimationImportTracks(int(node_settings["import_tracks/rotation"])),
- AnimationImportTracks(int(node_settings["import_tracks/scale"]))
- };
-
- if (anims.size() > 1 && (import_tracks_mode[0] != ANIMATION_IMPORT_TRACKS_IF_PRESENT || import_tracks_mode[1] != ANIMATION_IMPORT_TRACKS_IF_PRESENT || import_tracks_mode[2] != ANIMATION_IMPORT_TRACKS_IF_PRESENT)) {
- _optimize_track_usage(ap, import_tracks_mode);
- }
- }
-
if (post_importer_plugins.size()) {
List<StringName> anims;
ap->get_animation_list(&anims);
@@ -1046,13 +1193,6 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<
}
}
}
-
- bool use_compression = node_settings["compression/enabled"];
- int anim_compression_page_size = node_settings["compression/page_size"];
-
- if (use_compression) {
- _compress_animations(ap, anim_compression_page_size);
- }
}
return p_node;
@@ -1077,14 +1217,14 @@ Ref<Animation> ResourceImporterScene::_save_animation_to_file(Ref<Animation> ani
}
if (ResourceCache::has(p_save_to_path)) {
- Ref<Animation> old_anim = Ref<Resource>(ResourceCache::get(p_save_to_path));
+ Ref<Animation> old_anim = ResourceCache::get_ref(p_save_to_path);
if (old_anim.is_valid()) {
old_anim->copy_from(anim);
anim = old_anim;
}
}
anim->set_path(p_save_to_path, true); // Set path to save externally.
- Error err = ResourceSaver::save(p_save_to_path, anim, ResourceSaver::FLAG_CHANGE_PATH);
+ Error err = ResourceSaver::save(anim, p_save_to_path, ResourceSaver::FLAG_CHANGE_PATH);
ERR_FAIL_COND_V_MSG(err != OK, anim, "Saving of animation failed: " + p_save_to_path);
return anim;
}
@@ -1246,12 +1386,12 @@ void ResourceImporterScene::_create_clips(AnimationPlayer *anim, const Array &p_
al->remove_animation("default"); // Remove default (no longer needed).
}
-void ResourceImporterScene::_optimize_animations(AnimationPlayer *anim, float p_max_lin_error, float p_max_ang_error, float p_max_angle) {
+void ResourceImporterScene::_optimize_animations(AnimationPlayer *anim, float p_max_vel_error, float p_max_ang_error, int p_prc_error) {
List<StringName> anim_names;
anim->get_animation_list(&anim_names);
for (const StringName &E : anim_names) {
Ref<Animation> a = anim->get_animation(E);
- a->optimize(p_max_lin_error, p_max_ang_error, Math::deg2rad(p_max_angle));
+ a->optimize(p_max_vel_error, p_max_ang_error, p_prc_error);
}
}
@@ -1327,9 +1467,9 @@ void ResourceImporterScene::get_internal_import_options(InternalImportCategory p
case INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE: {
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "import/skip_import", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "optimizer/enabled", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true));
- r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "optimizer/max_linear_error"), 0.05));
- r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "optimizer/max_angular_error"), 0.01));
- r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "optimizer/max_angle"), 22));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "optimizer/max_velocity_error", PROPERTY_HINT_RANGE, "0,1,0.01"), 0.01));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "optimizer/max_angular_error", PROPERTY_HINT_RANGE, "0,1,0.01"), 0.01));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "optimizer/max_precision_error", PROPERTY_HINT_NONE, "1,6,1"), 3));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compression/enabled", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compression/page_size", PROPERTY_HINT_RANGE, "4,512,1,suffix:kb"), 8));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "import_tracks/position", PROPERTY_HINT_ENUM, "IfPresent,IfPresentForAll,Never"), 1));
@@ -1347,6 +1487,10 @@ void ResourceImporterScene::get_internal_import_options(InternalImportCategory p
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "slice_" + itos(i + 1) + "/save_to_file/keep_custom_tracks"), false));
}
} break;
+ case INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE: {
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "import/skip_import", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), false));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::OBJECT, "retarget/bone_map", PROPERTY_HINT_RESOURCE_TYPE, "BoneMap", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), Variant()));
+ } break;
default: {
}
}
@@ -1461,6 +1605,12 @@ bool ResourceImporterScene::get_internal_option_visibility(InternalImportCategor
}
}
} break;
+ case INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE: {
+ const bool use_retarget = p_options["retarget/bone_map"].get_validated_object() != nullptr;
+ if (p_option != "retarget/bone_map" && p_option.begins_with("retarget/")) {
+ return use_retarget;
+ }
+ } break;
default: {
}
}
@@ -1496,6 +1646,8 @@ bool ResourceImporterScene::get_internal_option_update_view_required(InternalImp
} break;
case INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE: {
} break;
+ case INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE: {
+ } break;
default: {
}
}
@@ -1584,6 +1736,16 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m
if (!mesh_id.is_empty() && p_mesh_data.has(mesh_id)) {
Dictionary mesh_settings = p_mesh_data[mesh_id];
+ {
+ //fill node settings for this node with default values
+ List<ImportOption> iopts;
+ get_internal_import_options(INTERNAL_IMPORT_CATEGORY_MESH, &iopts);
+ for (const ImportOption &E : iopts) {
+ if (!mesh_settings.has(E.option.name)) {
+ mesh_settings[E.option.name] = E.default_value;
+ }
+ }
+ }
if (mesh_settings.has("generate/shadow_meshes")) {
int shadow_meshes = mesh_settings["generate/shadow_meshes"];
@@ -1673,14 +1835,14 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m
}
if (!save_to_file.is_empty()) {
- Ref<Mesh> existing = Ref<Resource>(ResourceCache::get(save_to_file));
+ Ref<Mesh> existing = ResourceCache::get_ref(save_to_file);
if (existing.is_valid()) {
//if somehow an existing one is useful, create
existing->reset_state();
}
mesh = src_mesh_node->get_mesh()->get_mesh(existing);
- ResourceSaver::save(save_to_file, mesh); //override
+ ResourceSaver::save(mesh, save_to_file); //override
mesh->set_path(save_to_file, true); //takeover existing, if needed
@@ -1883,7 +2045,7 @@ void ResourceImporterScene::_optimize_track_usage(AnimationPlayer *p_player, Ani
}
}
-Node *ResourceImporterScene::pre_import(const String &p_source_file) {
+Node *ResourceImporterScene::pre_import(const String &p_source_file, const HashMap<StringName, Variant> &p_options) {
Ref<EditorSceneFormatImporter> importer;
String ext = p_source_file.get_extension().to_lower();
@@ -1908,8 +2070,13 @@ Node *ResourceImporterScene::pre_import(const String &p_source_file) {
ERR_FAIL_COND_V(!importer.is_valid(), nullptr);
+ int bake_fps = 30;
+ if (p_options.has(SNAME("animation/fps"))) {
+ bake_fps = p_options[SNAME("animation/fps")];
+ }
+
Error err = OK;
- Node *scene = importer->import_scene(p_source_file, EditorSceneFormatImporter::IMPORT_ANIMATION | EditorSceneFormatImporter::IMPORT_GENERATE_TANGENT_ARRAYS, HashMap<StringName, Variant>(), 15, nullptr, &err);
+ Node *scene = importer->import_scene(p_source_file, EditorSceneFormatImporter::IMPORT_ANIMATION | EditorSceneFormatImporter::IMPORT_GENERATE_TANGENT_ARRAYS, p_options, bake_fps, nullptr, &err);
if (!scene || err != OK) {
return nullptr;
}
@@ -2005,7 +2172,9 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
post_importer_plugins.write[i]->pre_process(scene, p_options);
}
+ _pre_fix_animations(scene, scene, node_data, animation_data, fps);
_post_fix_node(scene, scene, collision_map, occluder_arrays, scanned_meshes, node_data, material_data, animation_data, fps);
+ _post_fix_animations(scene, scene, node_data, animation_data, fps);
String root_type = p_options["nodes/root_type"];
root_type = root_type.split(" ")[0]; // full root_type is "ClassName (filename.gd)" for a script global class.
@@ -2141,14 +2310,14 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
}
print_verbose("Saving animation to: " + p_save_path + ".scn");
- err = ResourceSaver::save(p_save_path + ".res", library); //do not take over, let the changed files reload themselves
+ err = ResourceSaver::save(library, p_save_path + ".res"); //do not take over, let the changed files reload themselves
ERR_FAIL_COND_V_MSG(err != OK, err, "Cannot save animation to file '" + p_save_path + ".res'.");
} else {
Ref<PackedScene> packer = memnew(PackedScene);
packer->pack(scene);
print_verbose("Saving scene to: " + p_save_path + ".scn");
- err = ResourceSaver::save(p_save_path + ".scn", packer); //do not take over, let the changed files reload themselves
+ err = ResourceSaver::save(packer, p_save_path + ".scn"); //do not take over, let the changed files reload themselves
ERR_FAIL_COND_V_MSG(err != OK, err, "Cannot save scene to file '" + p_save_path + ".scn'.");
}
diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h
index 16cf3d651d..da37893cc5 100644
--- a/editor/import/resource_importer_scene.h
+++ b/editor/import/resource_importer_scene.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef RESOURCEIMPORTERSCENE_H
-#define RESOURCEIMPORTERSCENE_H
+#ifndef RESOURCE_IMPORTER_SCENE_H
+#define RESOURCE_IMPORTER_SCENE_H
#include "core/error/error_macros.h"
#include "core/io/resource_importer.h"
@@ -106,6 +106,7 @@ public:
INTERNAL_IMPORT_CATEGORY_MATERIAL,
INTERNAL_IMPORT_CATEGORY_ANIMATION,
INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE,
+ INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE,
INTERNAL_IMPORT_CATEGORY_MAX
};
@@ -259,6 +260,7 @@ public:
INTERNAL_IMPORT_CATEGORY_MATERIAL = EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_MATERIAL,
INTERNAL_IMPORT_CATEGORY_ANIMATION = EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_ANIMATION,
INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE = EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE,
+ INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE = EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE,
INTERNAL_IMPORT_CATEGORY_MAX = EditorScenePostImportPlugin::INTERNAL_IMPORT_CATEGORY_MAX
};
@@ -272,14 +274,16 @@ public:
virtual int get_import_order() const override { return ResourceImporter::IMPORT_ORDER_SCENE; }
Node *_pre_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &r_collision_map, Pair<PackedVector3Array, PackedInt32Array> *r_occluder_arrays, List<Pair<NodePath, Node *>> &r_node_renames);
+ Node *_pre_fix_animations(Node *p_node, Node *p_root, const Dictionary &p_node_data, const Dictionary &p_animation_data, float p_animation_fps);
Node *_post_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &collision_map, Pair<PackedVector3Array, PackedInt32Array> &r_occluder_arrays, HashSet<Ref<ImporterMesh>> &r_scanned_meshes, const Dictionary &p_node_data, const Dictionary &p_material_data, const Dictionary &p_animation_data, float p_animation_fps);
+ Node *_post_fix_animations(Node *p_node, Node *p_root, const Dictionary &p_node_data, const Dictionary &p_animation_data, float p_animation_fps);
Ref<Animation> _save_animation_to_file(Ref<Animation> anim, bool p_save_to_file, String p_save_to_path, bool p_keep_custom_tracks);
void _create_clips(AnimationPlayer *anim, const Array &p_clips, bool p_bake_all);
- void _optimize_animations(AnimationPlayer *anim, float p_max_lin_error, float p_max_ang_error, float p_max_angle);
+ void _optimize_animations(AnimationPlayer *anim, float p_max_vel_error, float p_max_ang_error, int p_prc_error);
void _compress_animations(AnimationPlayer *anim, int p_page_size_kb);
- Node *pre_import(const String &p_source_file);
+ Node *pre_import(const String &p_source_file, const HashMap<StringName, Variant> &p_options);
virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
virtual bool has_advanced_options() const override;
@@ -477,4 +481,4 @@ Transform3D ResourceImporterScene::get_collision_shapes_transform(const M &p_opt
return transform;
}
-#endif // RESOURCEIMPORTERSCENE_H
+#endif // RESOURCE_IMPORTER_SCENE_H
diff --git a/editor/import/resource_importer_shader_file.cpp b/editor/import/resource_importer_shader_file.cpp
index 64839bf199..d3079141e0 100644
--- a/editor/import/resource_importer_shader_file.cpp
+++ b/editor/import/resource_importer_shader_file.cpp
@@ -109,7 +109,7 @@ Error ResourceImporterShaderFile::import(const String &p_source_file, const Stri
}
}
- ResourceSaver::save(p_save_path + ".res", shader_file);
+ ResourceSaver::save(shader_file, p_save_path + ".res");
return OK;
}
diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp
index 5364b53b57..0eed6184c0 100644
--- a/editor/import/resource_importer_texture.cpp
+++ b/editor/import/resource_importer_texture.cpp
@@ -104,24 +104,30 @@ void ResourceImporterTexture::update_imports() {
bool changed = false;
if (E.value.flags & MAKE_NORMAL_FLAG && int(cf->get_value("params", "compress/normal_map")) == 0) {
+ print_line(vformat(TTR("%s: Texture detected as used as a normal map in 3D. Enabling red-green texture compression to reduce memory usage (blue channel is discarded)."), String(E.key)));
cf->set_value("params", "compress/normal_map", 1);
changed = true;
}
if (E.value.flags & MAKE_ROUGHNESS_FLAG && int(cf->get_value("params", "roughness/mode")) == 0) {
+ print_line(vformat(TTR("%s: Texture detected as used as a roughness map in 3D. Enabling roughness limiter based on the detected associated normal map at %s."), String(E.key), E.value.normal_path_for_roughness));
cf->set_value("params", "roughness/mode", E.value.channel_for_roughness + 2);
cf->set_value("params", "roughness/src_normal", E.value.normal_path_for_roughness);
changed = true;
}
if (E.value.flags & MAKE_3D_FLAG && bool(cf->get_value("params", "detect_3d/compress_to"))) {
- int compress_to = cf->get_value("params", "detect_3d/compress_to");
+ const int compress_to = cf->get_value("params", "detect_3d/compress_to");
+ String compress_string;
cf->set_value("params", "detect_3d/compress_to", 0);
if (compress_to == 1) {
cf->set_value("params", "compress/mode", COMPRESS_VRAM_COMPRESSED);
+ compress_string = "VRAM Compressed (S3TC/ETC/BPTC)";
} else if (compress_to == 2) {
cf->set_value("params", "compress/mode", COMPRESS_BASIS_UNIVERSAL);
+ compress_string = "Basis Universal";
}
+ print_line(vformat(TTR("%s: Texture detected as used in 3D. Enabling mipmap generation and setting the texture compression mode to %s."), String(E.key), compress_string));
cf->set_value("params", "mipmaps/generate", true);
changed = true;
}
@@ -591,7 +597,7 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String
}
if (!ok_on_pc) {
- EditorNode::add_io_error(TTR("Warning, no suitable PC VRAM compression enabled in Project Settings. This texture will not display correctly on PC."));
+ EditorNode::add_io_error(vformat(TTR("%s: No suitable desktop VRAM compression algorithm enabled in Project Settings (S3TC or BPTC). This texture may not display correctly on desktop platforms."), p_source_file));
}
} else {
//import normally
diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h
index 7def2d4f77..496ad3bf70 100644
--- a/editor/import/resource_importer_texture.h
+++ b/editor/import/resource_importer_texture.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef RESOURCEIMPORTTEXTURE_H
-#define RESOURCEIMPORTTEXTURE_H
+#ifndef RESOURCE_IMPORTER_TEXTURE_H
+#define RESOURCE_IMPORTER_TEXTURE_H
#include "core/io/file_access.h"
#include "core/io/image.h"
@@ -109,4 +109,4 @@ public:
~ResourceImporterTexture();
};
-#endif // RESOURCEIMPORTTEXTURE_H
+#endif // RESOURCE_IMPORTER_TEXTURE_H
diff --git a/editor/import/resource_importer_texture_atlas.cpp b/editor/import/resource_importer_texture_atlas.cpp
index aa338a6c0d..9171f04f42 100644
--- a/editor/import/resource_importer_texture_atlas.cpp
+++ b/editor/import/resource_importer_texture_atlas.cpp
@@ -88,13 +88,7 @@ Error ResourceImporterTextureAtlas::import(const String &p_source_file, const St
//use an xpm because it's size independent, the editor images are vector and size dependent
//it's a simple hack
Ref<Image> broken = memnew(Image((const char **)atlas_import_failed_xpm));
- Ref<ImageTexture> broken_texture;
- broken_texture.instantiate();
- broken_texture->create_from_image(broken);
-
- String target_file = p_save_path + ".tex";
-
- ResourceSaver::save(target_file, broken_texture);
+ ResourceSaver::save(ImageTexture::create_from_image(broken), p_save_path + ".tex");
return OK;
}
@@ -218,7 +212,7 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
EditorAtlasPacker::Chart chart;
- Rect2 used_rect = Rect2(Vector2(), image->get_size());
+ Rect2i used_rect = Rect2i(Vector2i(), image->get_size());
if (trim_alpha_border_from_region) {
// Clip a region from the image.
used_rect = image->get_used_rect();
@@ -226,9 +220,9 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
pack_data.region = used_rect;
chart.vertices.push_back(used_rect.position);
- chart.vertices.push_back(used_rect.position + Vector2(used_rect.size.x, 0));
- chart.vertices.push_back(used_rect.position + Vector2(used_rect.size.x, used_rect.size.y));
- chart.vertices.push_back(used_rect.position + Vector2(0, used_rect.size.y));
+ chart.vertices.push_back(used_rect.position + Vector2i(used_rect.size.x, 0));
+ chart.vertices.push_back(used_rect.position + Vector2i(used_rect.size.x, used_rect.size.y));
+ chart.vertices.push_back(used_rect.position + Vector2i(0, used_rect.size.y));
EditorAtlasPacker::Chart::Face f;
f.vertex[0] = 0;
f.vertex[1] = 1;
@@ -306,13 +300,9 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
//update cache if existing, else create
Ref<Texture2D> cache;
- if (ResourceCache::has(p_group_file)) {
- Resource *resptr = ResourceCache::get(p_group_file);
- cache.reference_ptr(resptr);
- } else {
- Ref<ImageTexture> res_cache;
- res_cache.instantiate();
- res_cache->create_from_image(new_atlas);
+ cache = ResourceCache::get_ref(p_group_file);
+ if (!cache.is_valid()) {
+ Ref<ImageTexture> res_cache = ImageTexture::create_from_image(new_atlas);
res_cache->set_path(p_group_file);
cache = res_cache;
}
@@ -392,11 +382,10 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
mesh_texture->set_mesh(mesh);
texture = mesh_texture;
- //mesh
}
String save_path = p_base_paths[E.key] + ".res";
- ResourceSaver::save(save_path, texture);
+ ResourceSaver::save(texture, save_path);
idx++;
}
diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp
index 362940dc17..a1e00f7d30 100644
--- a/editor/import/resource_importer_wav.cpp
+++ b/editor/import/resource_importer_wav.cpp
@@ -33,7 +33,7 @@
#include "core/io/file_access.h"
#include "core/io/marshalls.h"
#include "core/io/resource_saver.h"
-#include "scene/resources/audio_stream_sample.h"
+#include "scene/resources/audio_stream_wav.h"
const float TRIM_DB_LIMIT = -50;
const int TRIM_FADE_OUT_FRAMES = 500;
@@ -55,7 +55,7 @@ String ResourceImporterWAV::get_save_extension() const {
}
String ResourceImporterWAV::get_resource_type() const {
- return "AudioStreamSample";
+ return "AudioStreamWAV";
}
bool ResourceImporterWAV::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
@@ -86,7 +86,7 @@ void ResourceImporterWAV::get_import_options(const String &p_path, List<ImportOp
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "force/max_rate_hz", PROPERTY_HINT_RANGE, "11025,192000,1,exp"), 44100));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "edit/trim"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "edit/normalize"), false));
- // Keep the `edit/loop_mode` enum in sync with AudioStreamSample::LoopMode (note: +1 offset due to "Detect From WAV").
+ // Keep the `edit/loop_mode` enum in sync with AudioStreamWAV::LoopMode (note: +1 offset due to "Detect From WAV").
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "edit/loop_mode", PROPERTY_HINT_ENUM, "Detect From WAV,Disabled,Forward,Ping-Pong,Backward", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "edit/loop_begin"), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "edit/loop_end"), -1));
@@ -130,7 +130,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
int format_bits = 0;
int format_channels = 0;
- AudioStreamSample::LoopMode loop_mode = AudioStreamSample::LOOP_DISABLED;
+ AudioStreamWAV::LoopMode loop_mode = AudioStreamWAV::LOOP_DISABLED;
uint16_t compression_code = 1;
bool format_found = false;
bool data_found = false;
@@ -162,7 +162,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
//Consider revision for engine version 3.0
compression_code = file->get_16();
if (compression_code != 1 && compression_code != 3) {
- ERR_FAIL_V_MSG(ERR_INVALID_DATA, "Format not supported for WAVE file (not PCM). Save WAVE files as uncompressed PCM instead.");
+ ERR_FAIL_V_MSG(ERR_INVALID_DATA, "Format not supported for WAVE file (not PCM). Save WAVE files as uncompressed PCM or IEEE float instead.");
}
format_channels = file->get_16();
@@ -180,6 +180,10 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
ERR_FAIL_V_MSG(ERR_INVALID_DATA, "Invalid amount of bits in the sample (should be one of 8, 16, 24 or 32).");
}
+ if (compression_code == 3 && format_bits % 32) {
+ ERR_FAIL_V_MSG(ERR_INVALID_DATA, "Invalid amount of bits in the IEEE float sample (should be 32 or 64).");
+ }
+
/* Don't need anything else, continue */
format_found = true;
}
@@ -208,36 +212,46 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
data.resize(frames * format_channels);
- if (format_bits == 8) {
- for (int i = 0; i < frames * format_channels; i++) {
- // 8 bit samples are UNSIGNED
+ if (compression_code == 1) {
+ if (format_bits == 8) {
+ for (int i = 0; i < frames * format_channels; i++) {
+ // 8 bit samples are UNSIGNED
- data.write[i] = int8_t(file->get_8() - 128) / 128.f;
- }
- } else if (format_bits == 32 && compression_code == 3) {
- for (int i = 0; i < frames * format_channels; i++) {
- //32 bit IEEE Float
+ data.write[i] = int8_t(file->get_8() - 128) / 128.f;
+ }
+ } else if (format_bits == 16) {
+ for (int i = 0; i < frames * format_channels; i++) {
+ //16 bit SIGNED
- data.write[i] = file->get_float();
- }
- } else if (format_bits == 16) {
- for (int i = 0; i < frames * format_channels; i++) {
- //16 bit SIGNED
+ data.write[i] = int16_t(file->get_16()) / 32768.f;
+ }
+ } else {
+ for (int i = 0; i < frames * format_channels; i++) {
+ //16+ bits samples are SIGNED
+ // if sample is > 16 bits, just read extra bytes
+
+ uint32_t s = 0;
+ for (int b = 0; b < (format_bits >> 3); b++) {
+ s |= ((uint32_t)file->get_8()) << (b * 8);
+ }
+ s <<= (32 - format_bits);
- data.write[i] = int16_t(file->get_16()) / 32768.f;
+ data.write[i] = (int32_t(s) >> 16) / 32768.f;
+ }
}
- } else {
- for (int i = 0; i < frames * format_channels; i++) {
- //16+ bits samples are SIGNED
- // if sample is > 16 bits, just read extra bytes
-
- uint32_t s = 0;
- for (int b = 0; b < (format_bits >> 3); b++) {
- s |= ((uint32_t)file->get_8()) << (b * 8);
+ } else if (compression_code == 3) {
+ if (format_bits == 32) {
+ for (int i = 0; i < frames * format_channels; i++) {
+ //32 bit IEEE Float
+
+ data.write[i] = file->get_float();
}
- s <<= (32 - format_bits);
+ } else if (format_bits == 64) {
+ for (int i = 0; i < frames * format_channels; i++) {
+ //64 bit IEEE Float
- data.write[i] = (int32_t(s) >> 16) / 32768.f;
+ data.write[i] = file->get_double();
+ }
}
}
@@ -268,11 +282,11 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
int loop_type = file->get_32();
if (loop_type == 0x00 || loop_type == 0x01 || loop_type == 0x02) {
if (loop_type == 0x00) {
- loop_mode = AudioStreamSample::LOOP_FORWARD;
+ loop_mode = AudioStreamWAV::LOOP_FORWARD;
} else if (loop_type == 0x01) {
- loop_mode = AudioStreamSample::LOOP_PINGPONG;
+ loop_mode = AudioStreamWAV::LOOP_PINGPONG;
} else if (loop_type == 0x02) {
- loop_mode = AudioStreamSample::LOOP_BACKWARD;
+ loop_mode = AudioStreamWAV::LOOP_BACKWARD;
}
loop_begin = file->get_32();
loop_end = file->get_32();
@@ -372,7 +386,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
bool trim = p_options["edit/trim"];
- if (trim && (loop_mode != AudioStreamSample::LOOP_DISABLED) && format_channels > 0) {
+ if (trim && (loop_mode != AudioStreamWAV::LOOP_DISABLED) && format_channels > 0) {
int first = 0;
int last = (frames / format_channels) - 1;
bool found = false;
@@ -417,7 +431,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
}
if (import_loop_mode >= 2) {
- loop_mode = (AudioStreamSample::LoopMode)(import_loop_mode - 1);
+ loop_mode = (AudioStreamWAV::LoopMode)(import_loop_mode - 1);
loop_begin = p_options["edit/loop_begin"];
loop_end = p_options["edit/loop_end"];
// Wrap around to max frames, so `-1` can be used to select the end, etc.
@@ -449,10 +463,10 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
}
Vector<uint8_t> dst_data;
- AudioStreamSample::Format dst_format;
+ AudioStreamWAV::Format dst_format;
if (compression == 1) {
- dst_format = AudioStreamSample::FORMAT_IMA_ADPCM;
+ dst_format = AudioStreamWAV::FORMAT_IMA_ADPCM;
if (format_channels == 1) {
_compress_ima_adpcm(data, dst_data);
} else {
@@ -489,7 +503,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
}
} else {
- dst_format = is16 ? AudioStreamSample::FORMAT_16_BITS : AudioStreamSample::FORMAT_8_BITS;
+ dst_format = is16 ? AudioStreamWAV::FORMAT_16_BITS : AudioStreamWAV::FORMAT_8_BITS;
dst_data.resize(data.size() * (is16 ? 2 : 1));
{
uint8_t *w = dst_data.ptrw();
@@ -507,7 +521,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
}
}
- Ref<AudioStreamSample> sample;
+ Ref<AudioStreamWAV> sample;
sample.instantiate();
sample->set_data(dst_data);
sample->set_format(dst_format);
@@ -517,7 +531,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
sample->set_loop_end(loop_end);
sample->set_stereo(format_channels == 2);
- ResourceSaver::save(p_save_path + ".sample", sample);
+ ResourceSaver::save(sample, p_save_path + ".sample");
return OK;
}
diff --git a/editor/import/scene_import_settings.cpp b/editor/import/scene_import_settings.cpp
index 83dff30dfa..6c12464b5a 100644
--- a/editor/import/scene_import_settings.cpp
+++ b/editor/import/scene_import_settings.cpp
@@ -35,6 +35,7 @@
#include "editor/editor_inspector.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
#include "scene/3d/importer_mesh_instance_3d.h"
#include "scene/animation/animation_player.h"
#include "scene/resources/importer_mesh.h"
@@ -135,6 +136,12 @@ void SceneImportSettings::_fill_material(Tree *p_tree, const Ref<Material> &p_ma
String import_id;
bool has_import_id = false;
+ bool created = false;
+ if (!material_set.has(p_material)) {
+ material_set.insert(p_material);
+ created = true;
+ }
+
if (p_material->has_meta("import_id")) {
import_id = p_material->get_meta("import_id");
has_import_id = true;
@@ -142,7 +149,7 @@ void SceneImportSettings::_fill_material(Tree *p_tree, const Ref<Material> &p_ma
import_id = p_material->get_name();
has_import_id = true;
} else {
- import_id = "@MATERIAL:" + itos(material_set.size());
+ import_id = "@MATERIAL:" + itos(material_set.size() - 1);
}
if (!material_map.has(import_id)) {
@@ -160,14 +167,12 @@ void SceneImportSettings::_fill_material(Tree *p_tree, const Ref<Material> &p_ma
Ref<Texture2D> icon = get_theme_icon(SNAME("StandardMaterial3D"), SNAME("EditorIcons"));
TreeItem *item = p_tree->create_item(p_parent);
- item->set_text(0, p_material->get_name());
- item->set_icon(0, icon);
-
- bool created = false;
- if (!material_set.has(p_material)) {
- material_set.insert(p_material);
- created = true;
+ if (p_material->get_name().is_empty()) {
+ item->set_text(0, TTR("<Unnamed Material>"));
+ } else {
+ item->set_text(0, p_material->get_name());
}
+ item->set_icon(0, icon);
item->set_meta("type", "Material");
item->set_meta("import_id", import_id);
@@ -339,6 +344,8 @@ void SceneImportSettings::_fill_scene(Node *p_node, TreeItem *p_parent_item) {
category = ResourceImporterScene::INTERNAL_IMPORT_CATEGORY_MESH_3D_NODE;
} else if (Object::cast_to<AnimationPlayer>(p_node)) {
category = ResourceImporterScene::INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE;
+ } else if (Object::cast_to<Skeleton3D>(p_node)) {
+ category = ResourceImporterScene::INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE;
} else {
category = ResourceImporterScene::INTERNAL_IMPORT_CATEGORY_NODE;
}
@@ -496,7 +503,7 @@ void SceneImportSettings::_update_camera() {
Transform3D xf;
xf.basis = Basis(Vector3(1, 0, 0), rot_x) * Basis(Vector3(0, 1, 0), rot_y);
xf.origin = center;
- xf.translate(0, 0, camera_size);
+ xf.translate_local(0, 0, camera_size);
camera->set_transform(xf);
}
@@ -536,12 +543,6 @@ void SceneImportSettings::open_settings(const String &p_path, bool p_for_animati
scene_import_settings_data->settings = nullptr;
scene_import_settings_data->path = p_path;
- scene = ResourceImporterScene::get_scene_singleton()->pre_import(p_path); // Use the scene singleton here because we want to see the full thing.
- if (scene == nullptr) {
- EditorNode::get_singleton()->show_warning(TTR("Error opening scene"));
- return;
- }
-
// Visibility
data_mode->set_tab_hidden(1, p_for_animation);
data_mode->set_tab_hidden(2, p_for_animation);
@@ -587,6 +588,12 @@ void SceneImportSettings::open_settings(const String &p_path, bool p_for_animati
}
}
+ scene = ResourceImporterScene::get_scene_singleton()->pre_import(p_path, defaults); // Use the scene singleton here because we want to see the full thing.
+ if (scene == nullptr) {
+ EditorNode::get_singleton()->show_warning(TTR("Error opening scene"));
+ return;
+ }
+
first_aabb = true;
_update_scene();
@@ -604,6 +611,9 @@ void SceneImportSettings::open_settings(const String &p_path, bool p_for_animati
_update_view_gizmos();
_update_camera();
+ // Start with the root item (Scene) selected.
+ scene_tree->get_root()->select(0);
+
if (p_for_animation) {
set_title(vformat(TTR("Advanced Import Settings for AnimationLibrary '%s'"), base_path.get_file()));
} else {
@@ -617,6 +627,13 @@ SceneImportSettings *SceneImportSettings::get_singleton() {
return singleton;
}
+Node *SceneImportSettings::get_selected_node() {
+ if (selected_id == "") {
+ return nullptr;
+ }
+ return node_map[selected_id].node;
+}
+
void SceneImportSettings::_select(Tree *p_from, String p_type, String p_id) {
selecting = true;
scene_import_settings_data->hide_options = false;
@@ -657,6 +674,8 @@ void SceneImportSettings::_select(Tree *p_from, String p_type, String p_id) {
scene_import_settings_data->hide_options = editing_animation;
} else if (Object::cast_to<AnimationPlayer>(nd.node)) {
scene_import_settings_data->category = ResourceImporterScene::INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE;
+ } else if (Object::cast_to<Skeleton3D>(nd.node)) {
+ scene_import_settings_data->category = ResourceImporterScene::INTERNAL_IMPORT_CATEGORY_SKELETON_3D_NODE;
} else {
scene_import_settings_data->category = ResourceImporterScene::INTERNAL_IMPORT_CATEGORY_NODE;
scene_import_settings_data->hide_options = editing_animation;
@@ -1041,7 +1060,7 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
}
external_paths->set_title(TTR("Extract Materials to Resource Files"));
- external_paths->get_ok_button()->set_text(TTR("Extract"));
+ external_paths->set_ok_button_text(TTR("Extract"));
} break;
case ACTION_CHOOSE_MESH_SAVE_PATHS: {
for (const KeyValue<String, MeshData> &E : mesh_map) {
@@ -1094,7 +1113,7 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
}
external_paths->set_title(TTR("Set paths to save meshes as resource files on Reimport"));
- external_paths->get_ok_button()->set_text(TTR("Set Paths"));
+ external_paths->set_ok_button_text(TTR("Set Paths"));
} break;
case ACTION_CHOOSE_ANIMATION_SAVE_PATHS: {
for (const KeyValue<String, AnimationData> &E : animation_map) {
@@ -1140,7 +1159,7 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
}
external_paths->set_title(TTR("Set paths to save animations as resource files on Reimport"));
- external_paths->get_ok_button()->set_text(TTR("Set Paths"));
+ external_paths->set_ok_button_text(TTR("Set Paths"));
} break;
}
@@ -1166,7 +1185,7 @@ void SceneImportSettings::_save_dir_confirm() {
ERR_CONTINUE(!material_map.has(id));
MaterialData &md = material_map[id];
- Error err = ResourceSaver::save(path, md.material);
+ Error err = ResourceSaver::save(md.material, path);
if (err != OK) {
EditorNode::get_singleton()->add_io_error(TTR("Can't make material external to file, write error:") + "\n\t" + path);
continue;
@@ -1229,6 +1248,7 @@ SceneImportSettings::SceneImportSettings() {
data_mode = memnew(TabContainer);
tree_split->add_child(data_mode);
data_mode->set_custom_minimum_size(Size2(300 * EDSCALE, 0));
+ data_mode->set_theme_type_variation("TabContainerOdd");
property_split = memnew(HSplitContainer);
tree_split->add_child(property_split);
@@ -1328,8 +1348,8 @@ SceneImportSettings::SceneImportSettings() {
scene_import_settings_data = memnew(SceneImportSettingsData);
- get_ok_button()->set_text(TTR("Reimport"));
- get_cancel_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Reimport"));
+ set_cancel_button_text(TTR("Close"));
external_paths = memnew(ConfirmationDialog);
add_child(external_paths);
@@ -1353,7 +1373,7 @@ SceneImportSettings::SceneImportSettings() {
HBoxContainer *extension_hb = memnew(HBoxContainer);
save_path->get_vbox()->add_child(extension_hb);
extension_hb->add_spacer();
- extension_hb->add_child(memnew(Label(TTR("Save Extension: "))));
+ extension_hb->add_child(memnew(Label(TTR("Save Extension:"))));
external_extension_type = memnew(OptionButton);
extension_hb->add_child(external_extension_type);
external_extension_type->add_item(TTR("Text: *.tres"));
@@ -1363,8 +1383,8 @@ SceneImportSettings::SceneImportSettings() {
item_save_path = memnew(EditorFileDialog);
item_save_path->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
- item_save_path->add_filter("*.tres; " + TTR("Text Resource"));
- item_save_path->add_filter("*.res; " + TTR("Binary Resource"));
+ item_save_path->add_filter("*.tres", TTR("Text Resource"));
+ item_save_path->add_filter("*.res", TTR("Binary Resource"));
add_child(item_save_path);
item_save_path->connect("file_selected", callable_mp(this, &SceneImportSettings::_save_path_changed));
diff --git a/editor/import/scene_import_settings.h b/editor/import/scene_import_settings.h
index 81d13166ab..b5cf82f64b 100644
--- a/editor/import/scene_import_settings.h
+++ b/editor/import/scene_import_settings.h
@@ -201,6 +201,7 @@ public:
void update_view();
void open_settings(const String &p_path, bool p_for_animation = false);
static SceneImportSettings *get_singleton();
+ Node *get_selected_node();
SceneImportSettings();
~SceneImportSettings();
};
diff --git a/editor/import_defaults_editor.cpp b/editor/import_defaults_editor.cpp
index 9d96822aef..a70f5225e9 100644
--- a/editor/import_defaults_editor.cpp
+++ b/editor/import_defaults_editor.cpp
@@ -36,6 +36,7 @@
#include "editor/editor_autoload_settings.h"
#include "editor/editor_plugin_settings.h"
#include "editor/editor_sectioned_inspector.h"
+#include "editor/editor_settings.h"
#include "editor/localization_editor.h"
#include "editor/shader_globals_editor.h"
#include "scene/gui/center_container.h"
diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp
index 9eb2706d8a..087ef48b56 100644
--- a/editor/import_dock.cpp
+++ b/editor/import_dock.cpp
@@ -34,6 +34,7 @@
#include "editor/editor_node.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
class ImportDockParameters : public Object {
GDCLASS(ImportDockParameters, Object);
@@ -671,7 +672,7 @@ ImportDock::ImportDock() {
advanced->connect("pressed", callable_mp(this, &ImportDock::_advanced_options));
reimport_confirm = memnew(ConfirmationDialog);
- reimport_confirm->get_ok_button()->set_text(TTR("Save Scenes, Re-Import, and Restart"));
+ reimport_confirm->set_ok_button_text(TTR("Save Scenes, Re-Import, and Restart"));
content->add_child(reimport_confirm);
reimport_confirm->connect("confirmed", callable_mp(this, &ImportDock::_reimport_and_restart));
@@ -685,7 +686,7 @@ ImportDock::ImportDock() {
select_a_resource = memnew(Label);
select_a_resource->set_text(TTR("Select a resource file in the filesystem or in the inspector to adjust import settings."));
- select_a_resource->set_autowrap_mode(Label::AUTOWRAP_WORD);
+ select_a_resource->set_autowrap_mode(TextServer::AUTOWRAP_WORD);
select_a_resource->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
select_a_resource->set_v_size_flags(SIZE_EXPAND_FILL);
select_a_resource->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
diff --git a/editor/import_dock.h b/editor/import_dock.h
index 7f4aa1ddb3..3098c6e815 100644
--- a/editor/import_dock.h
+++ b/editor/import_dock.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef IMPORTDOCK_H
-#define IMPORTDOCK_H
+#ifndef IMPORT_DOCK_H
+#define IMPORT_DOCK_H
#include "core/io/config_file.h"
#include "core/io/resource_importer.h"
@@ -105,4 +105,4 @@ public:
~ImportDock();
};
-#endif // IMPORTDOCK_H
+#endif // IMPORT_DOCK_H
diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp
index 934d3a82b4..1bcbd2fe00 100644
--- a/editor/inspector_dock.cpp
+++ b/editor/inspector_dock.cpp
@@ -33,6 +33,7 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
#include "editor/plugins/script_editor_plugin.h"
InspectorDock *InspectorDock::singleton = nullptr;
@@ -64,6 +65,9 @@ void InspectorDock::_menu_option_confirm(int p_option, bool p_confirmed) {
case COLLAPSE_ALL: {
_menu_collapseall();
} break;
+ case EXPAND_REVERTABLE: {
+ _menu_expand_revertable();
+ } break;
case RESOURCE_SAVE: {
_save_resource(false);
@@ -174,7 +178,8 @@ void InspectorDock::_menu_option_confirm(int p_option, bool p_confirmed) {
}
}
- editor_data->get_undo_redo().clear_history();
+ int history_id = editor_data->get_undo_redo()->get_history_for_object(current).id;
+ editor_data->get_undo_redo()->clear_history(true, history_id);
EditorNode::get_singleton()->get_editor_plugins_over()->edit(nullptr);
EditorNode::get_singleton()->get_editor_plugins_over()->edit(current);
@@ -219,12 +224,12 @@ void InspectorDock::_load_resource(const String &p_type) {
load_resource_dialog->clear_filters();
for (int i = 0; i < extensions.size(); i++) {
- load_resource_dialog->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ load_resource_dialog->add_filter("*." + extensions[i], extensions[i].to_upper());
}
const Vector<String> textfile_ext = ((String)(EditorSettings::get_singleton()->get("docks/filesystem/textfile_extensions"))).split(",", false);
for (int i = 0; i < textfile_ext.size(); i++) {
- load_resource_dialog->add_filter("*." + textfile_ext[i] + " ; " + textfile_ext[i].to_upper());
+ load_resource_dialog->add_filter("*." + textfile_ext[i], textfile_ext[i].to_upper());
}
load_resource_dialog->popup_file_dialog();
@@ -400,6 +405,10 @@ void InspectorDock::_menu_expandall() {
inspector->expand_all_folding();
}
+void InspectorDock::_menu_expand_revertable() {
+ inspector->expand_revertable();
+}
+
void InspectorDock::_warning_pressed() {
warning_dialog->popup_centered();
}
@@ -453,6 +462,9 @@ void InspectorDock::_bind_methods() {
ClassDB::bind_method("edit_resource", &InspectorDock::edit_resource);
+ ClassDB::bind_method("store_script_properties", &InspectorDock::store_script_properties);
+ ClassDB::bind_method("apply_script_properties", &InspectorDock::apply_script_properties);
+
ADD_SIGNAL(MethodInfo("request_help"));
}
@@ -515,6 +527,8 @@ void InspectorDock::update(Object *p_object) {
p->clear();
p->add_icon_shortcut(get_theme_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons")), ED_SHORTCUT("property_editor/expand_all", TTR("Expand All")), EXPAND_ALL);
p->add_icon_shortcut(get_theme_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons")), ED_SHORTCUT("property_editor/collapse_all", TTR("Collapse All")), COLLAPSE_ALL);
+ // Calling it 'revertable' internally, because that's what the implementation is based on, but labeling it as 'non-default' because that's more user friendly, even if not 100% accurate.
+ p->add_shortcut(ED_SHORTCUT("property_editor/expand_revertable", TTR("Expand Non-Default")), EXPAND_REVERTABLE);
p->add_separator(TTR("Property Name Style"));
p->add_radio_check_item(TTR("Raw"), PROPERTY_NAME_STYLE_RAW);
@@ -565,6 +579,31 @@ EditorPropertyNameProcessor::Style InspectorDock::get_property_name_style() cons
return property_name_style;
}
+void InspectorDock::store_script_properties(Object *p_object) {
+ ERR_FAIL_NULL(p_object);
+ ScriptInstance *si = p_object->get_script_instance();
+ if (!si) {
+ return;
+ }
+ si->get_property_state(stored_properties);
+}
+
+void InspectorDock::apply_script_properties(Object *p_object) {
+ ERR_FAIL_NULL(p_object);
+ ScriptInstance *si = p_object->get_script_instance();
+ if (!si) {
+ return;
+ }
+
+ for (const Pair<StringName, Variant> &E : stored_properties) {
+ Variant current;
+ if (si->get(E.first, current) && current.get_type() == E.second.get_type()) {
+ si->set(E.first, E.second);
+ }
+ }
+ stored_properties.clear();
+}
+
InspectorDock::InspectorDock(EditorData &p_editor_data) {
singleton = this;
set_name("Inspector");
@@ -645,7 +684,7 @@ InspectorDock::InspectorDock(EditorData &p_editor_data) {
open_docs_button->set_tooltip(TTR("Open documentation for this object."));
open_docs_button->set_shortcut(ED_SHORTCUT("property_editor/open_help", TTR("Open Documentation")));
subresource_hb->add_child(open_docs_button);
- open_docs_button->connect("pressed", callable_mp(this, &InspectorDock::_menu_option), varray(OBJECT_REQUEST_HELP));
+ open_docs_button->connect("pressed", callable_mp(this, &InspectorDock::_menu_option).bind(OBJECT_REQUEST_HELP));
new_resource_dialog = memnew(CreateDialog);
EditorNode::get_singleton()->get_gui_base()->add_child(new_resource_dialog);
@@ -657,7 +696,7 @@ InspectorDock::InspectorDock(EditorData &p_editor_data) {
search = memnew(LineEdit);
search->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- search->set_placeholder(TTR("Filter properties"));
+ search->set_placeholder(TTR("Filter Properties"));
search->set_clear_button_enabled(true);
property_tools_hb->add_child(search);
@@ -717,7 +756,7 @@ InspectorDock::InspectorDock(EditorData &p_editor_data) {
inspector->set_property_name_style(EditorPropertyNameProcessor::get_default_inspector_style());
inspector->set_use_folding(!bool(EDITOR_GET("interface/inspector/disable_folding")));
inspector->register_text_enter(search);
- inspector->set_undo_redo(&editor_data->get_undo_redo());
+ inspector->set_undo_redo(editor_data->get_undo_redo());
inspector->set_use_filter(true); // TODO: check me
diff --git a/editor/inspector_dock.h b/editor/inspector_dock.h
index 1f2d8afb7d..e32410151f 100644
--- a/editor/inspector_dock.h
+++ b/editor/inspector_dock.h
@@ -61,6 +61,7 @@ class InspectorDock : public VBoxContainer {
COLLAPSE_ALL,
EXPAND_ALL,
+ EXPAND_REVERTABLE,
// Matches `EditorPropertyNameProcessor::Style`.
PROPERTY_NAME_STYLE_RAW,
@@ -100,6 +101,7 @@ class InspectorDock : public VBoxContainer {
Tree *unique_resources_list_tree = nullptr;
EditorPropertyNameProcessor::Style property_name_style;
+ List<Pair<StringName, Variant>> stored_properties;
void _prepare_menu();
void _menu_option(int p_option);
@@ -123,6 +125,7 @@ class InspectorDock : public VBoxContainer {
void _edit_back();
void _menu_collapseall();
void _menu_expandall();
+ void _menu_expand_revertable();
void _select_history(int p_idx);
void _prepare_history();
@@ -149,8 +152,11 @@ public:
EditorPropertyNameProcessor::Style get_property_name_style() const;
+ void store_script_properties(Object *p_object);
+ void apply_script_properties(Object *p_object);
+
InspectorDock(EditorData &p_editor_data);
~InspectorDock();
};
-#endif
+#endif // INSPECTOR_DOCK_H
diff --git a/editor/localization_editor.cpp b/editor/localization_editor.cpp
index 0325f4bd5c..77a1700ebf 100644
--- a/editor/localization_editor.cpp
+++ b/editor/localization_editor.cpp
@@ -36,6 +36,8 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "editor/editor_translation_parser.h"
+#include "editor/editor_undo_redo_manager.h"
+#include "editor/filesystem_dock.h"
#include "editor/pot_generator.h"
#include "scene/gui/control.h"
@@ -379,6 +381,95 @@ void LocalizationEditor::_update_pot_file_extensions() {
}
}
+void LocalizationEditor::connect_filesystem_dock_signals(FileSystemDock *p_fs_dock) {
+ p_fs_dock->connect("files_moved", callable_mp(this, &LocalizationEditor::_filesystem_files_moved));
+ p_fs_dock->connect("file_removed", callable_mp(this, &LocalizationEditor::_filesystem_file_removed));
+}
+
+void LocalizationEditor::_filesystem_files_moved(const String &p_old_file, const String &p_new_file) {
+ // Update remaps if the moved file is a part of them.
+ Dictionary remaps;
+ bool remaps_changed = false;
+
+ if (ProjectSettings::get_singleton()->has_setting("internationalization/locale/translation_remaps")) {
+ remaps = ProjectSettings::get_singleton()->get("internationalization/locale/translation_remaps");
+ }
+
+ // Check for the keys.
+ if (remaps.has(p_old_file)) {
+ PackedStringArray remapped_files = remaps[p_old_file];
+ remaps.erase(p_old_file);
+ remaps[p_new_file] = remapped_files;
+ remaps_changed = true;
+ print_verbose(vformat("Changed remap key \"%s\" to \"%s\" due to a moved file.", p_old_file, p_new_file));
+ }
+
+ // Check for the Array elements of the values.
+ Array remap_keys = remaps.keys();
+ for (int i = 0; i < remap_keys.size(); i++) {
+ PackedStringArray remapped_files = remaps[remap_keys[i]];
+ bool remapped_files_updated = false;
+
+ for (int j = 0; j < remapped_files.size(); j++) {
+ int splitter_pos = remapped_files[j].rfind(":");
+ String res_path = remapped_files[j].substr(0, splitter_pos);
+
+ if (res_path == p_old_file) {
+ String locale_name = remapped_files[j].substr(splitter_pos + 1);
+ // Replace the element at that index.
+ remapped_files.insert(j, p_new_file + ":" + locale_name);
+ remapped_files.remove_at(j + 1);
+ remaps_changed = true;
+ remapped_files_updated = true;
+ print_verbose(vformat("Changed remap value \"%s\" to \"%s\" of key \"%s\" due to a moved file.", res_path + ":" + locale_name, remapped_files[j], remap_keys[i]));
+ }
+ }
+
+ if (remapped_files_updated) {
+ remaps[remap_keys[i]] = remapped_files;
+ }
+ }
+
+ if (remaps_changed) {
+ ProjectSettings::get_singleton()->set_setting("internationalization/locale/translation_remaps", remaps);
+ update_translations();
+ emit_signal("localization_changed");
+ }
+}
+
+void LocalizationEditor::_filesystem_file_removed(const String &p_file) {
+ // Check if the remaps are affected.
+ Dictionary remaps;
+
+ if (ProjectSettings::get_singleton()->has_setting("internationalization/locale/translation_remaps")) {
+ remaps = ProjectSettings::get_singleton()->get("internationalization/locale/translation_remaps");
+ }
+
+ bool remaps_changed = remaps.has(p_file);
+
+ if (!remaps_changed) {
+ Array remap_keys = remaps.keys();
+ for (int i = 0; i < remap_keys.size() && !remaps_changed; i++) {
+ PackedStringArray remapped_files = remaps[remap_keys[i]];
+ for (int j = 0; j < remapped_files.size() && !remaps_changed; j++) {
+ int splitter_pos = remapped_files[j].rfind(":");
+ String res_path = remapped_files[j].substr(0, splitter_pos);
+ remaps_changed = p_file == res_path;
+ if (remaps_changed) {
+ print_verbose(vformat("Remap value \"%s\" of key \"%s\" has been removed from the file system.", remapped_files[j], remap_keys[i]));
+ }
+ }
+ }
+ } else {
+ print_verbose(vformat("Remap key \"%s\" has been removed from the file system.", p_file));
+ }
+
+ if (remaps_changed) {
+ update_translations();
+ emit_signal("localization_changed");
+ }
+}
+
void LocalizationEditor::update_translations() {
if (updating_translations) {
return;
@@ -432,6 +523,13 @@ void LocalizationEditor::update_translations() {
t->set_tooltip(0, keys[i]);
t->set_metadata(0, keys[i]);
t->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), 0, false, TTR("Remove"));
+
+ // Display that it has been removed if this is the case.
+ if (!FileAccess::exists(keys[i])) {
+ t->set_text(0, t->get_text(0) + vformat(" (%s)", TTR("Removed")));
+ t->set_tooltip(0, vformat(TTR("%s cannot be found."), t->get_tooltip(0)));
+ }
+
if (keys[i] == remap_selected) {
t->select(0);
translation_res_option_add_button->set_disabled(false);
@@ -454,6 +552,12 @@ void LocalizationEditor::update_translations() {
t2->set_editable(1, true);
t2->set_metadata(1, path);
t2->set_tooltip(1, locale);
+
+ // Display that it has been removed if this is the case.
+ if (!FileAccess::exists(path)) {
+ t2->set_text(0, t2->get_text(0) + vformat(" (%s)", TTR("Removed")));
+ t2->set_tooltip(0, vformat(TTR("%s cannot be found."), t2->get_tooltip(0)));
+ }
}
}
}
diff --git a/editor/localization_editor.h b/editor/localization_editor.h
index 4b41a90cc2..ecac171fe3 100644
--- a/editor/localization_editor.h
+++ b/editor/localization_editor.h
@@ -36,6 +36,7 @@
#include "scene/gui/tree.h"
class EditorFileDialog;
+class FileSystemDock;
class LocalizationEditor : public VBoxContainer {
GDCLASS(LocalizationEditor, VBoxContainer);
@@ -55,7 +56,7 @@ class LocalizationEditor : public VBoxContainer {
EditorFileDialog *pot_file_open_dialog = nullptr;
EditorFileDialog *pot_generate_dialog = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
bool updating_translations = false;
String localization_changed;
@@ -81,6 +82,9 @@ class LocalizationEditor : public VBoxContainer {
void _pot_generate(const String &p_file);
void _update_pot_file_extensions();
+ void _filesystem_files_moved(const String &p_old_file, const String &p_new_file);
+ void _filesystem_file_removed(const String &p_file);
+
protected:
void _notification(int p_what);
static void _bind_methods();
@@ -88,6 +92,7 @@ protected:
public:
void add_translation(const String &p_translation);
void update_translations();
+ void connect_filesystem_dock_signals(FileSystemDock *p_fs_dock);
LocalizationEditor();
};
diff --git a/editor/multi_node_edit.cpp b/editor/multi_node_edit.cpp
index a694b8d754..70cc54668d 100644
--- a/editor/multi_node_edit.cpp
+++ b/editor/multi_node_edit.cpp
@@ -32,6 +32,7 @@
#include "core/math/math_fieldwise.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
bool MultiNodeEdit::_set(const StringName &p_name, const Variant &p_value) {
return _set_impl(p_name, p_value, "");
@@ -54,7 +55,7 @@ bool MultiNodeEdit::_set_impl(const StringName &p_name, const Variant &p_value,
node_path_target = es->get_node(p_value);
}
- UndoRedo *ur = EditorNode::get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("MultiNode Set") + " " + String(name), UndoRedo::MERGE_ENDS);
for (const NodePath &E : nodes) {
diff --git a/editor/node_dock.cpp b/editor/node_dock.cpp
index 18545d3c9a..55fa2f22dd 100644
--- a/editor/node_dock.cpp
+++ b/editor/node_dock.cpp
@@ -117,7 +117,7 @@ NodeDock::NodeDock() {
groups_button->connect("pressed", callable_mp(this, &NodeDock::show_groups));
connections = memnew(ConnectionsDock);
- connections->set_undoredo(EditorNode::get_undo_redo());
+ connections->set_undo_redo(EditorNode::get_undo_redo());
add_child(connections);
connections->set_v_size_flags(SIZE_EXPAND_FILL);
connections->hide();
@@ -134,7 +134,7 @@ NodeDock::NodeDock() {
select_a_node->set_v_size_flags(SIZE_EXPAND_FILL);
select_a_node->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
select_a_node->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- select_a_node->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ select_a_node->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
add_child(select_a_node);
}
diff --git a/editor/plugin_config_dialog.cpp b/editor/plugin_config_dialog.cpp
index 77e4905341..6d323572e6 100644
--- a/editor/plugin_config_dialog.cpp
+++ b/editor/plugin_config_dialog.cpp
@@ -81,8 +81,8 @@ void PluginConfigDialog::_on_confirmed() {
template_content = templates[0].content;
}
Ref<Script> script = ScriptServer::get_language(lang_idx)->make_template(template_content, class_name, "EditorPlugin");
- script->set_path(script_path);
- ResourceSaver::save(script_path, script);
+ script->set_path(script_path, true);
+ ResourceSaver::save(script);
emit_signal(SNAME("plugin_ready"), script.ptr(), active_edit->is_pressed() ? _to_absolute_plugin_path(_get_subfolder()) : "");
} else {
@@ -200,7 +200,7 @@ void PluginConfigDialog::config(const String &p_config_path) {
_on_required_text_changed("");
get_ok_button()->set_disabled(!_edit_mode);
- get_ok_button()->set_text(_edit_mode ? TTR("Update") : TTR("Create"));
+ set_ok_button_text(_edit_mode ? TTR("Update") : TTR("Create"));
}
void PluginConfigDialog::_bind_methods() {
diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp
index ad6d8e6379..275859f528 100644
--- a/editor/plugins/abstract_polygon_2d_editor.cpp
+++ b/editor/plugins/abstract_polygon_2d_editor.cpp
@@ -35,6 +35,9 @@
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
+#include "scene/gui/separator.h"
bool AbstractPolygon2DEditor::Vertex::operator==(const AbstractPolygon2DEditor::Vertex &p_vertex) const {
return polygon == p_vertex.polygon && vertex == p_vertex.vertex;
@@ -292,9 +295,9 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
_commit_action();
return true;
} else {
- pre_move_edit = vertices;
edited_point = PosVertex(insert.polygon, insert.vertex + 1, xform.affine_inverse().xform(insert.pos));
vertices.insert(edited_point.vertex, edited_point.pos);
+ pre_move_edit = vertices;
selected_point = Vertex(edited_point.polygon, edited_point.vertex);
edge_point = PosVertex();
@@ -565,7 +568,7 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
String num = String::num(vertex.vertex);
- Size2 num_size = font->get_string_size(num, font_size);
+ Size2 num_size = font->get_string_size(num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
p_overlay->draw_string(font, point - num_size * 0.5, num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5));
}
}
@@ -716,24 +719,24 @@ AbstractPolygon2DEditor::AbstractPolygon2DEditor(bool p_wip_destructive) {
button_create = memnew(Button);
button_create->set_flat(true);
add_child(button_create);
- button_create->connect("pressed", callable_mp(this, &AbstractPolygon2DEditor::_menu_option), varray(MODE_CREATE));
+ button_create->connect("pressed", callable_mp(this, &AbstractPolygon2DEditor::_menu_option).bind(MODE_CREATE));
button_create->set_toggle_mode(true);
button_edit = memnew(Button);
button_edit->set_flat(true);
add_child(button_edit);
- button_edit->connect("pressed", callable_mp(this, &AbstractPolygon2DEditor::_menu_option), varray(MODE_EDIT));
+ button_edit->connect("pressed", callable_mp(this, &AbstractPolygon2DEditor::_menu_option).bind(MODE_EDIT));
button_edit->set_toggle_mode(true);
button_delete = memnew(Button);
button_delete->set_flat(true);
add_child(button_delete);
- button_delete->connect("pressed", callable_mp(this, &AbstractPolygon2DEditor::_menu_option), varray(MODE_DELETE));
+ button_delete->connect("pressed", callable_mp(this, &AbstractPolygon2DEditor::_menu_option).bind(MODE_DELETE));
button_delete->set_toggle_mode(true);
create_resource = memnew(ConfirmationDialog);
add_child(create_resource);
- create_resource->get_ok_button()->set_text(TTR("Create"));
+ create_resource->set_ok_button_text(TTR("Create"));
}
void AbstractPolygon2DEditorPlugin::edit(Object *p_object) {
diff --git a/editor/plugins/abstract_polygon_2d_editor.h b/editor/plugins/abstract_polygon_2d_editor.h
index 696fd7b637..1fbbe67c8d 100644
--- a/editor/plugins/abstract_polygon_2d_editor.h
+++ b/editor/plugins/abstract_polygon_2d_editor.h
@@ -36,6 +36,7 @@
#include "scene/gui/box_container.h"
class CanvasItemEditor;
+class EditorUndoRedoManager;
class AbstractPolygon2DEditor : public HBoxContainer {
GDCLASS(AbstractPolygon2DEditor, HBoxContainer);
@@ -99,7 +100,7 @@ protected:
int mode = MODE_EDIT;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
virtual void _menu_option(int p_option);
void _wip_changed();
diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp
index ae4482155c..2578099a9f 100644
--- a/editor/plugins/animation_blend_space_1d_editor.cpp
+++ b/editor/plugins/animation_blend_space_1d_editor.cpp
@@ -34,6 +34,8 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/animation/animation_blend_tree.h"
StringName AnimationNodeBlendSpace1DEditor::get_blend_position_path() const {
@@ -83,7 +85,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
for (const StringName &E : classes) {
String name = String(E).replace_first("AnimationNode", "");
- if (name == "Animation") {
+ if (name == "Animation" || name == "StartState" || name == "EndState") {
continue;
}
@@ -215,7 +217,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
blend_space_draw->draw_rect(Rect2(Point2(), s), color, false);
}
- blend_space_draw->draw_line(Point2(1, s.height - 1), Point2(s.width - 1, s.height - 1), linecolor);
+ blend_space_draw->draw_line(Point2(1, s.height - 1), Point2(s.width - 1, s.height - 1), linecolor, Math::round(EDSCALE));
if (blend_space->get_min_space() < 0) {
float point = 0.0;
@@ -224,9 +226,9 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
float x = point;
- blend_space_draw->draw_line(Point2(x, s.height - 1), Point2(x, s.height - 5 * EDSCALE), linecolor);
+ blend_space_draw->draw_line(Point2(x, s.height - 1), Point2(x, s.height - 5 * EDSCALE), linecolor, Math::round(EDSCALE));
blend_space_draw->draw_string(font, Point2(x + 2 * EDSCALE, s.height - 2 * EDSCALE - font->get_height(font_size) + font->get_ascent(font_size)), "0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, linecolor);
- blend_space_draw->draw_line(Point2(x, s.height - 5 * EDSCALE), Point2(x, 0), linecolor_soft);
+ blend_space_draw->draw_line(Point2(x, s.height - 5 * EDSCALE), Point2(x, 0), linecolor_soft, Math::round(EDSCALE));
}
if (snap->is_pressed()) {
@@ -240,7 +242,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
int idx = int(v / blend_space->get_snap());
if (i > 0 && prev_idx != idx) {
- blend_space_draw->draw_line(Point2(i, 0), Point2(i, s.height), linecolor_soft);
+ blend_space_draw->draw_line(Point2(i, 0), Point2(i, s.height), linecolor_soft, Math::round(EDSCALE));
}
prev_idx = idx;
@@ -297,10 +299,10 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
float mind = 5 * EDSCALE;
float maxd = 15 * EDSCALE;
- blend_space_draw->draw_line(gui_point + Vector2(mind, 0), gui_point + Vector2(maxd, 0), color, 2);
- blend_space_draw->draw_line(gui_point + Vector2(-mind, 0), gui_point + Vector2(-maxd, 0), color, 2);
- blend_space_draw->draw_line(gui_point + Vector2(0, mind), gui_point + Vector2(0, maxd), color, 2);
- blend_space_draw->draw_line(gui_point + Vector2(0, -mind), gui_point + Vector2(0, -maxd), color, 2);
+ blend_space_draw->draw_line(gui_point + Vector2(mind, 0), gui_point + Vector2(maxd, 0), color, Math::round(2 * EDSCALE));
+ blend_space_draw->draw_line(gui_point + Vector2(-mind, 0), gui_point + Vector2(-maxd, 0), color, Math::round(2 * EDSCALE));
+ blend_space_draw->draw_line(gui_point + Vector2(0, mind), gui_point + Vector2(0, maxd), color, Math::round(2 * EDSCALE));
+ blend_space_draw->draw_line(gui_point + Vector2(0, -mind), gui_point + Vector2(0, -maxd), color, Math::round(2 * EDSCALE));
}
}
@@ -314,6 +316,8 @@ void AnimationNodeBlendSpace1DEditor::_update_space() {
max_value->set_value(blend_space->get_max_space());
min_value->set_value(blend_space->get_min_space());
+ sync->set_pressed(blend_space->is_using_sync());
+
label_value->set_text(blend_space->get_value_label());
snap_value->set_value(blend_space->get_snap());
@@ -329,13 +333,15 @@ void AnimationNodeBlendSpace1DEditor::_config_changed(double) {
}
updating = true;
- undo_redo->create_action(TTR("Change BlendSpace1D Limits"));
+ undo_redo->create_action(TTR("Change BlendSpace1D Config"));
undo_redo->add_do_method(blend_space.ptr(), "set_max_space", max_value->get_value());
undo_redo->add_undo_method(blend_space.ptr(), "set_max_space", blend_space->get_max_space());
undo_redo->add_do_method(blend_space.ptr(), "set_min_space", min_value->get_value());
undo_redo->add_undo_method(blend_space.ptr(), "set_min_space", blend_space->get_min_space());
undo_redo->add_do_method(blend_space.ptr(), "set_snap", snap_value->get_value());
undo_redo->add_undo_method(blend_space.ptr(), "set_snap", blend_space->get_snap());
+ undo_redo->add_do_method(blend_space.ptr(), "set_use_sync", sync->is_pressed());
+ undo_redo->add_undo_method(blend_space.ptr(), "set_use_sync", blend_space->is_using_sync());
undo_redo->add_do_method(this, "_update_space");
undo_redo->add_undo_method(this, "_update_space");
undo_redo->commit_action();
@@ -608,7 +614,7 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
top_hb->add_child(tool_blend);
tool_blend->set_pressed(true);
tool_blend->set_tooltip(TTR("Set the blending position within the space"));
- tool_blend->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_tool_switch), varray(3));
+ tool_blend->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_tool_switch).bind(3));
tool_select = memnew(Button);
tool_select->set_flat(true);
@@ -616,7 +622,7 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
tool_select->set_button_group(bg);
top_hb->add_child(tool_select);
tool_select->set_tooltip(TTR("Select and move points, create points with RMB."));
- tool_select->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_tool_switch), varray(0));
+ tool_select->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_tool_switch).bind(0));
tool_create = memnew(Button);
tool_create->set_flat(true);
@@ -624,7 +630,7 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
tool_create->set_button_group(bg);
top_hb->add_child(tool_create);
tool_create->set_tooltip(TTR("Create points."));
- tool_create->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_tool_switch), varray(1));
+ tool_create->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_tool_switch).bind(1));
tool_erase_sep = memnew(VSeparator);
top_hb->add_child(tool_erase_sep);
@@ -650,6 +656,12 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
snap_value->set_step(0.01);
snap_value->set_max(1000);
+ top_hb->add_child(memnew(VSeparator));
+ top_hb->add_child(memnew(Label(TTR("Sync:"))));
+ sync = memnew(CheckBox);
+ top_hb->add_child(sync);
+ sync->connect("toggled", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_config_changed));
+
edit_hb = memnew(HBoxContainer);
top_hb->add_child(edit_hb);
edit_hb->add_child(memnew(VSeparator));
@@ -665,7 +677,7 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
open_editor = memnew(Button);
edit_hb->add_child(open_editor);
open_editor->set_text(TTR("Open Editor"));
- open_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_open_editor), varray(), CONNECT_DEFERRED);
+ open_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace1DEditor::_open_editor), CONNECT_DEFERRED);
edit_hb->hide();
open_editor->hide();
diff --git a/editor/plugins/animation_blend_space_1d_editor.h b/editor/plugins/animation_blend_space_1d_editor.h
index 2f7dee65fc..125a3382fa 100644
--- a/editor/plugins/animation_blend_space_1d_editor.h
+++ b/editor/plugins/animation_blend_space_1d_editor.h
@@ -33,13 +33,15 @@
#include "editor/editor_plugin.h"
#include "editor/plugins/animation_tree_editor_plugin.h"
-#include "editor/property_editor.h"
#include "scene/animation/animation_blend_space_1d.h"
#include "scene/gui/button.h"
#include "scene/gui/graph_edit.h"
#include "scene/gui/popup.h"
+#include "scene/gui/separator.h"
#include "scene/gui/tree.h"
+class EditorUndoRedoManager;
+
class AnimationNodeBlendSpace1DEditor : public AnimationTreeNodeEditorPlugin {
GDCLASS(AnimationNodeBlendSpace1DEditor, AnimationTreeNodeEditorPlugin);
@@ -61,6 +63,8 @@ class AnimationNodeBlendSpace1DEditor : public AnimationTreeNodeEditorPlugin {
SpinBox *max_value = nullptr;
SpinBox *min_value = nullptr;
+ CheckBox *sync = nullptr;
+
HBoxContainer *edit_hb = nullptr;
SpinBox *edit_value = nullptr;
Button *open_editor = nullptr;
@@ -74,7 +78,7 @@ class AnimationNodeBlendSpace1DEditor : public AnimationTreeNodeEditorPlugin {
bool updating = false;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
static AnimationNodeBlendSpace1DEditor *singleton;
diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp
index 4b7df75aec..c0723cef87 100644
--- a/editor/plugins/animation_blend_space_2d_editor.cpp
+++ b/editor/plugins/animation_blend_space_2d_editor.cpp
@@ -38,6 +38,8 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/animation/animation_blend_tree.h"
#include "scene/animation/animation_player.h"
#include "scene/gui/menu_button.h"
@@ -107,7 +109,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
for (const StringName &E : classes) {
String name = String(E).replace_first("AnimationNode", "");
- if (name == "Animation") {
+ if (name == "Animation" || name == "StartState" || name == "EndState") {
continue; // nope
}
int idx = menu->get_item_count();
@@ -407,22 +409,22 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor"));
blend_space_draw->draw_rect(Rect2(Point2(), s), color, false);
}
- blend_space_draw->draw_line(Point2(1, 0), Point2(1, s.height - 1), linecolor);
- blend_space_draw->draw_line(Point2(1, s.height - 1), Point2(s.width - 1, s.height - 1), linecolor);
+ blend_space_draw->draw_line(Point2(1, 0), Point2(1, s.height - 1), linecolor, Math::round(EDSCALE));
+ blend_space_draw->draw_line(Point2(1, s.height - 1), Point2(s.width - 1, s.height - 1), linecolor, Math::round(EDSCALE));
- blend_space_draw->draw_line(Point2(0, 0), Point2(5 * EDSCALE, 0), linecolor);
+ blend_space_draw->draw_line(Point2(0, 0), Point2(5 * EDSCALE, 0), linecolor, Math::round(EDSCALE));
if (blend_space->get_min_space().y < 0) {
int y = (blend_space->get_max_space().y / (blend_space->get_max_space().y - blend_space->get_min_space().y)) * s.height;
- blend_space_draw->draw_line(Point2(0, y), Point2(5 * EDSCALE, y), linecolor);
+ blend_space_draw->draw_line(Point2(0, y), Point2(5 * EDSCALE, y), linecolor, Math::round(EDSCALE));
blend_space_draw->draw_string(font, Point2(2 * EDSCALE, y - font->get_height(font_size) + font->get_ascent(font_size)), "0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, linecolor);
- blend_space_draw->draw_line(Point2(5 * EDSCALE, y), Point2(s.width, y), linecolor_soft);
+ blend_space_draw->draw_line(Point2(5 * EDSCALE, y), Point2(s.width, y), linecolor_soft, Math::round(EDSCALE));
}
if (blend_space->get_min_space().x < 0) {
int x = (-blend_space->get_min_space().x / (blend_space->get_max_space().x - blend_space->get_min_space().x)) * s.width;
- blend_space_draw->draw_line(Point2(x, s.height - 1), Point2(x, s.height - 5 * EDSCALE), linecolor);
+ blend_space_draw->draw_line(Point2(x, s.height - 1), Point2(x, s.height - 5 * EDSCALE), linecolor, Math::round(EDSCALE));
blend_space_draw->draw_string(font, Point2(x + 2 * EDSCALE, s.height - 2 * EDSCALE - font->get_height(font_size) + font->get_ascent(font_size)), "0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, linecolor);
- blend_space_draw->draw_line(Point2(x, s.height - 5 * EDSCALE), Point2(x, 0), linecolor_soft);
+ blend_space_draw->draw_line(Point2(x, s.height - 5 * EDSCALE), Point2(x, 0), linecolor_soft, Math::round(EDSCALE));
}
if (snap->is_pressed()) {
@@ -435,7 +437,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
int idx = int(v / blend_space->get_snap().x);
if (i > 0 && prev_idx != idx) {
- blend_space_draw->draw_line(Point2(i, 0), Point2(i, s.height), linecolor_soft);
+ blend_space_draw->draw_line(Point2(i, 0), Point2(i, s.height), linecolor_soft, Math::round(EDSCALE));
}
prev_idx = idx;
@@ -449,7 +451,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
int idx = int(v / blend_space->get_snap().y);
if (i > 0 && prev_idx != idx) {
- blend_space_draw->draw_line(Point2(0, i), Point2(s.width, i), linecolor_soft);
+ blend_space_draw->draw_line(Point2(0, i), Point2(s.width, i), linecolor_soft, Math::round(EDSCALE));
}
prev_idx = idx;
@@ -478,7 +480,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
}
for (int j = 0; j < 3; j++) {
- blend_space_draw->draw_line(points[j], points[(j + 1) % 3], linecolor, 1);
+ blend_space_draw->draw_line(points[j], points[(j + 1) % 3], linecolor, Math::round(EDSCALE), true);
}
Color color;
@@ -533,9 +535,9 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
}
for (int i = 0; i < points.size() - 1; i++) {
- blend_space_draw->draw_line(points[i], points[i + 1], linecolor, 2);
+ blend_space_draw->draw_line(points[i], points[i + 1], linecolor, Math::round(2 * EDSCALE), true);
}
- blend_space_draw->draw_line(points[points.size() - 1], blend_space_draw->get_local_mouse_position(), linecolor, 2);
+ blend_space_draw->draw_line(points[points.size() - 1], blend_space_draw->get_local_mouse_position(), linecolor, Math::round(2 * EDSCALE), true);
}
///draw cursor position
@@ -564,15 +566,15 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
Color lcol = color;
lcol.a *= 0.4;
- blend_space_draw->draw_line(point, closest, lcol, 2);
+ blend_space_draw->draw_line(point, closest, lcol, Math::round(2 * EDSCALE), true);
}
float mind = 5 * EDSCALE;
float maxd = 15 * EDSCALE;
- blend_space_draw->draw_line(point + Vector2(mind, 0), point + Vector2(maxd, 0), color, 2);
- blend_space_draw->draw_line(point + Vector2(-mind, 0), point + Vector2(-maxd, 0), color, 2);
- blend_space_draw->draw_line(point + Vector2(0, mind), point + Vector2(0, maxd), color, 2);
- blend_space_draw->draw_line(point + Vector2(0, -mind), point + Vector2(0, -maxd), color, 2);
+ blend_space_draw->draw_line(point + Vector2(mind, 0), point + Vector2(maxd, 0), color, Math::round(2 * EDSCALE));
+ blend_space_draw->draw_line(point + Vector2(-mind, 0), point + Vector2(-maxd, 0), color, Math::round(2 * EDSCALE));
+ blend_space_draw->draw_line(point + Vector2(0, mind), point + Vector2(0, maxd), color, Math::round(2 * EDSCALE));
+ blend_space_draw->draw_line(point + Vector2(0, -mind), point + Vector2(0, -maxd), color, Math::round(2 * EDSCALE));
}
}
@@ -595,6 +597,7 @@ void AnimationNodeBlendSpace2DEditor::_update_space() {
auto_triangles->set_pressed(blend_space->get_auto_triangles());
+ sync->set_pressed(blend_space->is_using_sync());
interpolation->select(blend_space->get_blend_mode());
max_x_value->set_value(blend_space->get_max_space().x);
@@ -620,13 +623,15 @@ void AnimationNodeBlendSpace2DEditor::_config_changed(double) {
}
updating = true;
- undo_redo->create_action(TTR("Change BlendSpace2D Limits"));
+ undo_redo->create_action(TTR("Change BlendSpace2D Config"));
undo_redo->add_do_method(blend_space.ptr(), "set_max_space", Vector2(max_x_value->get_value(), max_y_value->get_value()));
undo_redo->add_undo_method(blend_space.ptr(), "set_max_space", blend_space->get_max_space());
undo_redo->add_do_method(blend_space.ptr(), "set_min_space", Vector2(min_x_value->get_value(), min_y_value->get_value()));
undo_redo->add_undo_method(blend_space.ptr(), "set_min_space", blend_space->get_min_space());
undo_redo->add_do_method(blend_space.ptr(), "set_snap", Vector2(snap_x->get_value(), snap_y->get_value()));
undo_redo->add_undo_method(blend_space.ptr(), "set_snap", blend_space->get_snap());
+ undo_redo->add_do_method(blend_space.ptr(), "set_use_sync", sync->is_pressed());
+ undo_redo->add_undo_method(blend_space.ptr(), "set_use_sync", blend_space->is_using_sync());
undo_redo->add_do_method(blend_space.ptr(), "set_blend_mode", interpolation->get_selected());
undo_redo->add_undo_method(blend_space.ptr(), "set_blend_mode", blend_space->get_blend_mode());
undo_redo->add_do_method(this, "_update_space");
@@ -829,7 +834,7 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
top_hb->add_child(tool_blend);
tool_blend->set_pressed(true);
tool_blend->set_tooltip(TTR("Set the blending position within the space"));
- tool_blend->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch), varray(3));
+ tool_blend->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch).bind(3));
tool_select = memnew(Button);
tool_select->set_flat(true);
@@ -837,7 +842,7 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
tool_select->set_button_group(bg);
top_hb->add_child(tool_select);
tool_select->set_tooltip(TTR("Select and move points, create points with RMB."));
- tool_select->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch), varray(0));
+ tool_select->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch).bind(0));
tool_create = memnew(Button);
tool_create->set_flat(true);
@@ -845,7 +850,7 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
tool_create->set_button_group(bg);
top_hb->add_child(tool_create);
tool_create->set_tooltip(TTR("Create points."));
- tool_create->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch), varray(1));
+ tool_create->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch).bind(1));
tool_triangle = memnew(Button);
tool_triangle->set_flat(true);
@@ -853,7 +858,7 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
tool_triangle->set_button_group(bg);
top_hb->add_child(tool_triangle);
tool_triangle->set_tooltip(TTR("Create triangles by connecting points."));
- tool_triangle->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch), varray(2));
+ tool_triangle->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_tool_switch).bind(2));
tool_erase_sep = memnew(VSeparator);
top_hb->add_child(tool_erase_sep);
@@ -899,6 +904,13 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
top_hb->add_child(memnew(VSeparator));
+ top_hb->add_child(memnew(Label(TTR("Sync:"))));
+ sync = memnew(CheckBox);
+ top_hb->add_child(sync);
+ sync->connect("toggled", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_config_changed));
+
+ top_hb->add_child(memnew(VSeparator));
+
top_hb->add_child(memnew(Label(TTR("Blend:"))));
interpolation = memnew(OptionButton);
top_hb->add_child(interpolation);
@@ -923,7 +935,7 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
open_editor = memnew(Button);
edit_hb->add_child(open_editor);
open_editor->set_text(TTR("Open Editor"));
- open_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_open_editor), varray(), CONNECT_DEFERRED);
+ open_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendSpace2DEditor::_open_editor), CONNECT_DEFERRED);
edit_hb->hide();
open_editor->hide();
diff --git a/editor/plugins/animation_blend_space_2d_editor.h b/editor/plugins/animation_blend_space_2d_editor.h
index db54e84254..df2bcf254d 100644
--- a/editor/plugins/animation_blend_space_2d_editor.h
+++ b/editor/plugins/animation_blend_space_2d_editor.h
@@ -33,13 +33,15 @@
#include "editor/editor_plugin.h"
#include "editor/plugins/animation_tree_editor_plugin.h"
-#include "editor/property_editor.h"
#include "scene/animation/animation_blend_space_2d.h"
#include "scene/gui/button.h"
#include "scene/gui/graph_edit.h"
#include "scene/gui/popup.h"
+#include "scene/gui/separator.h"
#include "scene/gui/tree.h"
+class EditorUndoRedoManager;
+
class AnimationNodeBlendSpace2DEditor : public AnimationTreeNodeEditorPlugin {
GDCLASS(AnimationNodeBlendSpace2DEditor, AnimationTreeNodeEditorPlugin);
@@ -55,6 +57,7 @@ class AnimationNodeBlendSpace2DEditor : public AnimationTreeNodeEditorPlugin {
Button *snap = nullptr;
SpinBox *snap_x = nullptr;
SpinBox *snap_y = nullptr;
+ CheckBox *sync = nullptr;
OptionButton *interpolation = nullptr;
Button *auto_triangles = nullptr;
@@ -81,7 +84,7 @@ class AnimationNodeBlendSpace2DEditor : public AnimationTreeNodeEditorPlugin {
bool updating;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
static AnimationNodeBlendSpace2DEditor *singleton;
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp
index 8c8505283c..e4f5576d66 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp
@@ -38,6 +38,8 @@
#include "editor/editor_inspector.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/animation/animation_player.h"
#include "scene/gui/menu_button.h"
#include "scene/gui/panel.h"
@@ -147,11 +149,11 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
name->set_expand_to_text_length_enabled(true);
node->add_child(name);
node->set_slot(0, false, 0, Color(), true, 0, get_theme_color(SNAME("font_color"), SNAME("Label")));
- name->connect("text_submitted", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_renamed), varray(agnode), CONNECT_DEFERRED);
- name->connect("focus_exited", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_renamed_focus_out), varray(name, agnode), CONNECT_DEFERRED);
+ name->connect("text_submitted", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_renamed).bind(agnode), CONNECT_DEFERRED);
+ name->connect("focus_exited", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_renamed_focus_out).bind(name, agnode), CONNECT_DEFERRED);
base = 1;
node->set_show_close_button(true);
- node->connect("close_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_delete_request), varray(E), CONNECT_DEFERRED);
+ node->connect("close_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_delete_request).bind(E), CONNECT_DEFERRED);
}
for (int i = 0; i < agnode->get_input_count(); i++) {
@@ -179,7 +181,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
}
}
- node->connect("dragged", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_dragged), varray(E));
+ node->connect("dragged", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_dragged).bind(E));
if (AnimationTreeEditor::get_singleton()->can_edit(agnode)) {
node->add_child(memnew(HSeparator));
@@ -187,7 +189,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
open_in_editor->set_text(TTR("Open Editor"));
open_in_editor->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
node->add_child(open_in_editor);
- open_in_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_open_in_editor), varray(E), CONNECT_DEFERRED);
+ open_in_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_open_in_editor).bind(E), CONNECT_DEFERRED);
open_in_editor->set_h_size_flags(SIZE_SHRINK_CENTER);
}
@@ -197,7 +199,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
edit_filters->set_text(TTR("Edit Filters"));
edit_filters->set_icon(get_theme_icon(SNAME("AnimationFilter"), SNAME("EditorIcons")));
node->add_child(edit_filters);
- edit_filters->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_edit_filters), varray(E), CONNECT_DEFERRED);
+ edit_filters->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_edit_filters).bind(E), CONNECT_DEFERRED);
edit_filters->set_h_size_flags(SIZE_SHRINK_CENTER);
}
@@ -236,7 +238,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
animations[E] = pb;
node->add_child(pb);
- mb->get_popup()->connect("index_pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_anim_selected), varray(options, E), CONNECT_DEFERRED);
+ mb->get_popup()->connect("index_pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_anim_selected).bind(options, E), CONNECT_DEFERRED);
}
Ref<StyleBoxFlat> sb = node->get_theme_stylebox(SNAME("frame"), SNAME("GraphNode"));
@@ -264,6 +266,8 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity");
graph->set_minimap_opacity(graph_minimap_opacity);
+ float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature");
+ graph->set_connection_lines_curvature(graph_lines_curvature);
}
void AnimationNodeBlendTreeEditor::_file_opened(const String &p_file) {
@@ -959,8 +963,8 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() {
graph->add_valid_right_disconnect_type(0);
graph->add_valid_left_disconnect_type(0);
graph->set_v_size_flags(SIZE_EXPAND_FILL);
- graph->connect("connection_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_connection_request), varray(), CONNECT_DEFERRED);
- graph->connect("disconnection_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_disconnection_request), varray(), CONNECT_DEFERRED);
+ graph->connect("connection_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_connection_request), CONNECT_DEFERRED);
+ graph->connect("disconnection_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_disconnection_request), CONNECT_DEFERRED);
graph->connect("node_selected", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_selected));
graph->connect("scroll_offset_changed", callable_mp(this, &AnimationNodeBlendTreeEditor::_scroll_changed));
graph->connect("delete_nodes_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_delete_nodes_request));
@@ -969,6 +973,8 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() {
graph->connect("connection_from_empty", callable_mp(this, &AnimationNodeBlendTreeEditor::_connection_from_empty));
float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity");
graph->set_minimap_opacity(graph_minimap_opacity);
+ float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature");
+ graph->set_connection_lines_curvature(graph_lines_curvature);
VSeparator *vs = memnew(VSeparator);
graph->get_zoom_hbox()->add_child(vs);
@@ -979,7 +985,7 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() {
add_node->set_text(TTR("Add Node..."));
graph->get_zoom_hbox()->move_child(add_node, 0);
add_node->get_popup()->connect("id_pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_add_node));
- add_node->connect("about_to_popup", callable_mp(this, &AnimationNodeBlendTreeEditor::_update_options_menu), varray(false));
+ add_node->connect("about_to_popup", callable_mp(this, &AnimationNodeBlendTreeEditor::_update_options_menu).bind(false));
add_options.push_back(AddOption("Animation", "AnimationNodeAnimation"));
add_options.push_back(AddOption("OneShot", "AnimationNodeOneShot", 2));
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.h b/editor/plugins/animation_blend_tree_editor_plugin.h
index b5bf91a1da..af43da6197 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.h
+++ b/editor/plugins/animation_blend_tree_editor_plugin.h
@@ -33,7 +33,6 @@
#include "editor/editor_plugin.h"
#include "editor/plugins/animation_tree_editor_plugin.h"
-#include "editor/property_editor.h"
#include "scene/animation/animation_blend_tree.h"
#include "scene/gui/button.h"
#include "scene/gui/graph_edit.h"
@@ -42,6 +41,7 @@
class ProgressBar;
class EditorFileDialog;
+class EditorUndoRedoManager;
class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin {
GDCLASS(AnimationNodeBlendTreeEditor, AnimationTreeNodeEditorPlugin);
@@ -55,7 +55,7 @@ class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin {
PanelContainer *error_panel = nullptr;
Label *error_label = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
AcceptDialog *filter_dialog = nullptr;
Tree *filters = nullptr;
diff --git a/editor/plugins/animation_library_editor.cpp b/editor/plugins/animation_library_editor.cpp
index ed908e413c..f9e5aa799a 100644
--- a/editor/plugins/animation_library_editor.cpp
+++ b/editor/plugins/animation_library_editor.cpp
@@ -32,6 +32,7 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
void AnimationLibraryEditor::set_animation_player(Object *p_player) {
player = p_player;
@@ -92,7 +93,7 @@ void AnimationLibraryEditor::_add_library_validate(const String &p_name) {
void AnimationLibraryEditor::_add_library_confirm() {
if (adding_animation) {
String anim_name = add_library_name->get_text();
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
Ref<AnimationLibrary> al = player->call("get_animation_library", adding_animation_to_library);
ERR_FAIL_COND(!al.is_valid());
@@ -109,7 +110,7 @@ void AnimationLibraryEditor::_add_library_confirm() {
} else {
String lib_name = add_library_name->get_text();
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
Ref<AnimationLibrary> al;
al.instantiate();
@@ -149,13 +150,35 @@ void AnimationLibraryEditor::_file_popup_selected(int p_id) {
}
switch (p_id) {
case FILE_MENU_SAVE_LIBRARY: {
- if (al->get_path().is_resource_file()) {
+ if (al->get_path().is_resource_file() && !FileAccess::exists(al->get_path() + ".import")) {
EditorNode::get_singleton()->save_resource(al);
break;
}
[[fallthrough]];
}
case FILE_MENU_SAVE_AS_LIBRARY: {
+ // Check if we're allowed to save this
+ {
+ String al_path = al->get_path();
+ if (!al_path.is_resource_file()) {
+ int srpos = al_path.find("::");
+ if (srpos != -1) {
+ String base = al_path.substr(0, srpos);
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ error_dialog->set_text(TTR("This animation library can't be saved because it does not belong to the edited scene. Make it unique first."));
+ error_dialog->popup_centered();
+ return;
+ }
+ }
+ } else {
+ if (FileAccess::exists(al_path + ".import")) {
+ error_dialog->set_text(TTR("This animation library can't be saved because it was imported from another file. Make it unique first."));
+ error_dialog->popup_centered();
+ return;
+ }
+ }
+ }
+
file_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
file_dialog->set_title(TTR("Save Library"));
if (al->get_path().is_resource_file()) {
@@ -178,7 +201,10 @@ void AnimationLibraryEditor::_file_popup_selected(int p_id) {
Ref<AnimationLibrary> ald = al->duplicate();
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ // TODO: should probably make all foreign animations assigned to this library
+ // unique too.
+
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Make Animation Library Unique: %s"), lib_name));
undo_redo->add_do_method(player, "remove_animation_library", lib_name);
undo_redo->add_do_method(player, "add_animation_library", lib_name, ald);
@@ -188,19 +214,43 @@ void AnimationLibraryEditor::_file_popup_selected(int p_id) {
undo_redo->add_undo_method(this, "_update_editor", player);
undo_redo->commit_action();
+ update_tree();
+
} break;
case FILE_MENU_EDIT_LIBRARY: {
EditorNode::get_singleton()->push_item(al.ptr());
} break;
case FILE_MENU_SAVE_ANIMATION: {
- if (anim->get_path().is_resource_file()) {
+ if (anim->get_path().is_resource_file() && !FileAccess::exists(anim->get_path() + ".import")) {
EditorNode::get_singleton()->save_resource(anim);
break;
}
[[fallthrough]];
}
case FILE_MENU_SAVE_AS_ANIMATION: {
+ // Check if we're allowed to save this
+ {
+ String anim_path = al->get_path();
+ if (!anim_path.is_resource_file()) {
+ int srpos = anim_path.find("::");
+ if (srpos != -1) {
+ String base = anim_path.substr(0, srpos);
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ error_dialog->set_text(TTR("This animation can't be saved because it does not belong to the edited scene. Make it unique first."));
+ error_dialog->popup_centered();
+ return;
+ }
+ }
+ } else {
+ if (FileAccess::exists(anim_path + ".import")) {
+ error_dialog->set_text(TTR("This animation can't be saved because it was imported from another file. Make it unique first."));
+ error_dialog->popup_centered();
+ return;
+ }
+ }
+ }
+
file_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
file_dialog->set_title(TTR("Save Animation"));
if (anim->get_path().is_resource_file()) {
@@ -223,7 +273,7 @@ void AnimationLibraryEditor::_file_popup_selected(int p_id) {
Ref<Animation> animd = anim->duplicate();
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Make Animation Unique: %s"), anim_name));
undo_redo->add_do_method(al.ptr(), "remove_animation", anim_name);
undo_redo->add_do_method(al.ptr(), "add_animation", anim_name, animd);
@@ -232,6 +282,8 @@ void AnimationLibraryEditor::_file_popup_selected(int p_id) {
undo_redo->add_do_method(this, "_update_editor", player);
undo_redo->add_undo_method(this, "_update_editor", player);
undo_redo->commit_action();
+
+ update_tree();
} break;
case FILE_MENU_EDIT_ANIMATION: {
EditorNode::get_singleton()->push_item(anim.ptr());
@@ -269,7 +321,7 @@ void AnimationLibraryEditor::_load_file(String p_path) {
name = p_path.get_file().get_basename() + " " + itos(attempt);
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Add Animation Library: %s"), name));
undo_redo->add_do_method(player, "add_animation_library", name, al);
@@ -307,7 +359,7 @@ void AnimationLibraryEditor::_load_file(String p_path) {
name = p_path.get_file().get_basename() + " " + itos(attempt);
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Load Animation into Library: %s"), name));
undo_redo->add_do_method(al.ptr(), "add_animation", name, anim);
@@ -323,7 +375,7 @@ void AnimationLibraryEditor::_load_file(String p_path) {
EditorNode::get_singleton()->save_resource_in_path(al, p_path);
if (al->get_path() != prev_path) { // Save successful.
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Save Animation library to File: %s"), file_dialog_library));
undo_redo->add_do_method(al.ptr(), "set_path", al->get_path());
@@ -344,7 +396,7 @@ void AnimationLibraryEditor::_load_file(String p_path) {
String prev_path = anim->get_path();
EditorNode::get_singleton()->save_resource_in_path(anim, p_path);
if (anim->get_path() != prev_path) { // Save successful.
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Save Animation to File: %s"), file_dialog_animation));
undo_redo->add_do_method(anim.ptr(), "set_path", anim->get_path());
@@ -362,7 +414,7 @@ void AnimationLibraryEditor::_item_renamed() {
String text = ti->get_text(0);
String old_text = ti->get_metadata(0);
bool restore_text = false;
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
if (String(text).contains("/") || String(text).contains(":") || String(text).contains(",") || String(text).contains("[")) {
restore_text = true;
@@ -419,12 +471,12 @@ void AnimationLibraryEditor::_item_renamed() {
}
}
-void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int p_button) {
+void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int p_id, MouseButton p_button) {
if (p_item->get_parent() == tree->get_root()) {
// Library
StringName lib_name = p_item->get_metadata(0);
Ref<AnimationLibrary> al = player->call("get_animation_library", lib_name);
- switch (p_button) {
+ switch (p_id) {
case LIB_BUTTON_ADD: {
add_library_dialog->set_title(TTR("Animation Name:"));
add_library_name->set_text("");
@@ -476,7 +528,7 @@ void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int
name = base_name + " (" + itos(attempt) + ")";
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Add Animation to Library: %s"), name));
undo_redo->add_do_method(al.ptr(), "add_animation", name, anim);
@@ -502,7 +554,7 @@ void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int
file_dialog_library = lib_name;
} break;
case LIB_BUTTON_DELETE: {
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Remove Animation Library: %s"), lib_name));
undo_redo->add_do_method(player, "remove_animation_library", lib_name);
undo_redo->add_undo_method(player, "add_animation_library", lib_name, al);
@@ -519,7 +571,7 @@ void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int
Ref<AnimationLibrary> al = player->call("get_animation_library", lib_name);
Ref<Animation> anim = al->get_animation(anim_name);
ERR_FAIL_COND(!anim.is_valid());
- switch (p_button) {
+ switch (p_id) {
case ANIM_BUTTON_COPY: {
if (anim->get_name() == "") {
anim->set_name(anim_name); // Keep the name around
@@ -543,7 +595,7 @@ void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int
} break;
case ANIM_BUTTON_DELETE: {
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
undo_redo->create_action(vformat(TTR("Remove Animation from Library: %s"), anim_name));
undo_redo->add_do_method(al.ptr(), "remove_animation", anim_name);
undo_redo->add_undo_method(al.ptr(), "add_animation", anim_name, anim);
@@ -577,19 +629,45 @@ void AnimationLibraryEditor::update_tree() {
} else {
libitem->set_suffix(0, "");
}
- libitem->set_editable(0, true);
- libitem->set_metadata(0, K);
- libitem->set_icon(0, get_theme_icon("AnimationLibrary", "EditorIcons"));
- libitem->add_button(0, get_theme_icon("Add", "EditorIcons"), LIB_BUTTON_ADD, false, TTR("Add Animation to Library"));
- libitem->add_button(0, get_theme_icon("Load", "EditorIcons"), LIB_BUTTON_LOAD, false, TTR("Load animation from file and add to library"));
- libitem->add_button(0, get_theme_icon("ActionPaste", "EditorIcons"), LIB_BUTTON_PASTE, false, TTR("Paste Animation to Library from clipboard"));
+
Ref<AnimationLibrary> al = player->call("get_animation_library", K);
- if (al->get_path().is_resource_file()) {
- libitem->set_text(1, al->get_path().get_file());
- libitem->set_tooltip(1, al->get_path());
- } else {
+ bool animation_library_is_foreign = false;
+ String al_path = al->get_path();
+ if (!al_path.is_resource_file()) {
libitem->set_text(1, TTR("[built-in]"));
+ libitem->set_tooltip(1, al_path);
+ int srpos = al_path.find("::");
+ if (srpos != -1) {
+ String base = al_path.substr(0, srpos);
+ if (ResourceLoader::get_resource_type(base) == "PackedScene") {
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ animation_library_is_foreign = true;
+ libitem->set_text(1, TTR("[foreign]"));
+ }
+ } else {
+ if (FileAccess::exists(base + ".import")) {
+ animation_library_is_foreign = true;
+ libitem->set_text(1, TTR("[imported]"));
+ }
+ }
+ }
+ } else {
+ if (FileAccess::exists(al_path + ".import")) {
+ animation_library_is_foreign = true;
+ libitem->set_text(1, TTR("[imported]"));
+ } else {
+ libitem->set_text(1, al_path.get_file());
+ }
}
+
+ libitem->set_editable(0, !animation_library_is_foreign);
+ libitem->set_metadata(0, K);
+ libitem->set_icon(0, get_theme_icon("AnimationLibrary", "EditorIcons"));
+
+ libitem->add_button(0, get_theme_icon("Add", "EditorIcons"), LIB_BUTTON_ADD, animation_library_is_foreign, TTR("Add Animation to Library"));
+ libitem->add_button(0, get_theme_icon("Load", "EditorIcons"), LIB_BUTTON_LOAD, animation_library_is_foreign, TTR("Load animation from file and add to library"));
+ libitem->add_button(0, get_theme_icon("ActionPaste", "EditorIcons"), LIB_BUTTON_PASTE, animation_library_is_foreign, TTR("Paste Animation to Library from clipboard"));
+
libitem->add_button(1, get_theme_icon("Save", "EditorIcons"), LIB_BUTTON_FILE, false, TTR("Save animation library to resource on disk"));
libitem->add_button(1, get_theme_icon("Remove", "EditorIcons"), LIB_BUTTON_DELETE, false, TTR("Remove animation library"));
@@ -600,20 +678,38 @@ void AnimationLibraryEditor::update_tree() {
for (const StringName &L : animations) {
TreeItem *anitem = tree->create_item(libitem);
anitem->set_text(0, L);
- anitem->set_editable(0, true);
+ anitem->set_editable(0, !animation_library_is_foreign);
anitem->set_metadata(0, L);
anitem->set_icon(0, get_theme_icon("Animation", "EditorIcons"));
- anitem->add_button(0, get_theme_icon("ActionCopy", "EditorIcons"), ANIM_BUTTON_COPY, false, TTR("Copy animation to clipboard"));
- Ref<Animation> anim = al->get_animation(L);
+ anitem->add_button(0, get_theme_icon("ActionCopy", "EditorIcons"), ANIM_BUTTON_COPY, animation_library_is_foreign, TTR("Copy animation to clipboard"));
- if (anim->get_path().is_resource_file()) {
- anitem->set_text(1, anim->get_path().get_file());
- anitem->set_tooltip(1, anim->get_path());
- } else {
+ Ref<Animation> anim = al->get_animation(L);
+ String anim_path = anim->get_path();
+ if (!anim_path.is_resource_file()) {
anitem->set_text(1, TTR("[built-in]"));
+ anitem->set_tooltip(1, anim_path);
+ int srpos = anim_path.find("::");
+ if (srpos != -1) {
+ String base = anim_path.substr(0, srpos);
+ if (ResourceLoader::get_resource_type(base) == "PackedScene") {
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ anitem->set_text(1, TTR("[foreign]"));
+ }
+ } else {
+ if (FileAccess::exists(base + ".import")) {
+ anitem->set_text(1, TTR("[imported]"));
+ }
+ }
+ }
+ } else {
+ if (FileAccess::exists(anim_path + ".import")) {
+ anitem->set_text(1, TTR("[imported]"));
+ } else {
+ anitem->set_text(1, anim_path.get_file());
+ }
}
- anitem->add_button(1, get_theme_icon("Save", "EditorIcons"), ANIM_BUTTON_FILE, false, TTR("Save animation to resource on disk"));
- anitem->add_button(1, get_theme_icon("Remove", "EditorIcons"), ANIM_BUTTON_DELETE, false, TTR("Remove animation from Library"));
+ anitem->add_button(1, get_theme_icon("Save", "EditorIcons"), ANIM_BUTTON_FILE, animation_library_is_foreign, TTR("Save animation to resource on disk"));
+ anitem->add_button(1, get_theme_icon("Remove", "EditorIcons"), ANIM_BUTTON_DELETE, animation_library_is_foreign, TTR("Remove animation from Library"));
}
}
}
diff --git a/editor/plugins/animation_library_editor.h b/editor/plugins/animation_library_editor.h
index 5bd4e8d9e2..6e214860b8 100644
--- a/editor/plugins/animation_library_editor.h
+++ b/editor/plugins/animation_library_editor.h
@@ -99,7 +99,7 @@ class AnimationLibraryEditor : public AcceptDialog {
void _load_file(String p_path);
void _item_renamed();
- void _button_pressed(TreeItem *p_item, int p_column, int p_button);
+ void _button_pressed(TreeItem *p_item, int p_column, int p_id, MouseButton p_button);
void _file_popup_selected(int p_id);
@@ -116,4 +116,4 @@ public:
AnimationLibraryEditor();
};
-#endif // ANIMATIONPLAYERLIBRARYEDITOR_H
+#endif // ANIMATION_LIBRARY_EDITOR_H
diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp
index 765d963846..f374f48fb2 100644
--- a/editor/plugins/animation_player_editor_plugin.cpp
+++ b/editor/plugins/animation_player_editor_plugin.cpp
@@ -55,7 +55,7 @@ void AnimationPlayerEditor::_node_removed(Node *p_node) {
set_process(false);
- track_editor->set_animation(Ref<Animation>());
+ track_editor->set_animation(Ref<Animation>(), true);
track_editor->set_root(nullptr);
track_editor->show_select_node_warning(true);
_update_player();
@@ -132,10 +132,10 @@ void AnimationPlayerEditor::_notification(int p_what) {
Size2 icon_size = autoplay_img->get_size();
autoplay_reset_img.instantiate();
autoplay_reset_img->create(icon_size.x * 2, icon_size.y, false, autoplay_img->get_format());
- autoplay_reset_img->blit_rect(autoplay_img, Rect2(Point2(), icon_size), Point2());
- autoplay_reset_img->blit_rect(reset_img, Rect2(Point2(), icon_size), Point2(icon_size.x, 0));
+ autoplay_reset_img->blit_rect(autoplay_img, Rect2i(Point2i(), icon_size), Point2i());
+ autoplay_reset_img->blit_rect(reset_img, Rect2i(Point2i(), icon_size), Point2i(icon_size.x, 0));
autoplay_reset_icon.instantiate();
- autoplay_reset_icon->create_from_image(autoplay_reset_img);
+ autoplay_reset_icon->set_image(autoplay_reset_img);
}
stop->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons")));
@@ -283,7 +283,28 @@ void AnimationPlayerEditor::_animation_selected(int p_which) {
Ref<Animation> anim = player->get_animation(current);
{
- track_editor->set_animation(anim);
+ bool animation_library_is_foreign = false;
+ if (!anim->get_path().is_resource_file()) {
+ int srpos = anim->get_path().find("::");
+ if (srpos != -1) {
+ String base = anim->get_path().substr(0, srpos);
+ if (ResourceLoader::get_resource_type(base) == "PackedScene") {
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ animation_library_is_foreign = true;
+ }
+ } else {
+ if (FileAccess::exists(base + ".import")) {
+ animation_library_is_foreign = true;
+ }
+ }
+ }
+ } else {
+ if (FileAccess::exists(anim->get_path() + ".import")) {
+ animation_library_is_foreign = true;
+ }
+ }
+
+ track_editor->set_animation(anim, animation_library_is_foreign);
Node *root = player->get_node(player->get_root());
if (root) {
track_editor->set_root(root);
@@ -292,7 +313,7 @@ void AnimationPlayerEditor::_animation_selected(int p_which) {
frame->set_max((double)anim->get_length());
} else {
- track_editor->set_animation(Ref<Animation>());
+ track_editor->set_animation(Ref<Animation>(), true);
track_editor->set_root(nullptr);
}
@@ -751,14 +772,36 @@ void AnimationPlayerEditor::_animation_edit() {
String current = _get_current();
if (current != String()) {
Ref<Animation> anim = player->get_animation(current);
- track_editor->set_animation(anim);
+
+ bool animation_library_is_foreign = false;
+ if (!anim->get_path().is_resource_file()) {
+ int srpos = anim->get_path().find("::");
+ if (srpos != -1) {
+ String base = anim->get_path().substr(0, srpos);
+ if (ResourceLoader::get_resource_type(base) == "PackedScene") {
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ animation_library_is_foreign = true;
+ }
+ } else {
+ if (FileAccess::exists(base + ".import")) {
+ animation_library_is_foreign = true;
+ }
+ }
+ }
+ } else {
+ if (FileAccess::exists(anim->get_path() + ".import")) {
+ animation_library_is_foreign = true;
+ }
+ }
+
+ track_editor->set_animation(anim, animation_library_is_foreign);
Node *root = player->get_node(player->get_root());
if (root) {
track_editor->set_root(root);
}
} else {
- track_editor->set_animation(Ref<Animation>());
+ track_editor->set_animation(Ref<Animation>(), true);
track_editor->set_root(nullptr);
}
}
@@ -812,13 +855,37 @@ void AnimationPlayerEditor::_update_player() {
int active_idx = -1;
bool no_anims_found = true;
+ bool foreign_global_anim_lib = false;
for (const StringName &K : libraries) {
if (K != StringName()) {
animation->add_separator(K);
}
+ // Check if the global library is foreign since we want to disable options for adding/remove/renaming animations if it is.
Ref<AnimationLibrary> library = player->get_animation_library(K);
+ if (K == "") {
+ if (!library->get_path().is_resource_file()) {
+ int srpos = library->get_path().find("::");
+ if (srpos != -1) {
+ String base = library->get_path().substr(0, srpos);
+ if (ResourceLoader::get_resource_type(base) == "PackedScene") {
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ foreign_global_anim_lib = true;
+ }
+ } else {
+ if (FileAccess::exists(base + ".import")) {
+ foreign_global_anim_lib = true;
+ }
+ }
+ }
+ } else {
+ if (FileAccess::exists(library->get_path() + ".import")) {
+ foreign_global_anim_lib = true;
+ }
+ }
+ }
+
List<StringName> animlist;
library->get_animation_list(&animlist);
@@ -835,7 +902,13 @@ void AnimationPlayerEditor::_update_player() {
no_anims_found = false;
}
}
-#define ITEM_CHECK_DISABLED(m_item) tool_anim->get_popup()->set_item_disabled(tool_anim->get_popup()->get_item_index(m_item), no_anims_found)
+#define ITEM_CHECK_DISABLED(m_item) tool_anim->get_popup()->set_item_disabled(tool_anim->get_popup()->get_item_index(m_item), foreign_global_anim_lib)
+
+ ITEM_CHECK_DISABLED(TOOL_NEW_ANIM);
+
+#undef ITEM_CHECK_DISABLED
+
+#define ITEM_CHECK_DISABLED(m_item) tool_anim->get_popup()->set_item_disabled(tool_anim->get_popup()->get_item_index(m_item), no_anims_found || foreign_global_anim_lib)
ITEM_CHECK_DISABLED(TOOL_DUPLICATE_ANIM);
ITEM_CHECK_DISABLED(TOOL_RENAME_ANIM);
@@ -877,7 +950,29 @@ void AnimationPlayerEditor::_update_player() {
if (!no_anims_found) {
String current = animation->get_item_text(animation->get_selected());
Ref<Animation> anim = player->get_animation(current);
- track_editor->set_animation(anim);
+
+ bool animation_library_is_foreign = false;
+ if (!anim->get_path().is_resource_file()) {
+ int srpos = anim->get_path().find("::");
+ if (srpos != -1) {
+ String base = anim->get_path().substr(0, srpos);
+ if (ResourceLoader::get_resource_type(base) == "PackedScene") {
+ if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) {
+ animation_library_is_foreign = true;
+ }
+ } else {
+ if (FileAccess::exists(base + ".import")) {
+ animation_library_is_foreign = true;
+ }
+ }
+ }
+ } else {
+ if (FileAccess::exists(anim->get_path() + ".import")) {
+ animation_library_is_foreign = true;
+ }
+ }
+
+ track_editor->set_animation(anim, animation_library_is_foreign);
Node *root = player->get_node(player->get_root());
if (root) {
track_editor->set_root(root);
@@ -950,6 +1045,10 @@ void AnimationPlayerEditor::_update_name_dialog_library_dropdown() {
}
}
+void AnimationPlayerEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
void AnimationPlayerEditor::edit(AnimationPlayer *p_player) {
if (player && pin->is_pressed()) {
return; // Ignore, pinned.
@@ -1053,7 +1152,7 @@ void AnimationPlayerEditor::_animation_duplicate() {
_update_name_dialog_library_dropdown();
name_dialog_op = TOOL_DUPLICATE_ANIM;
- name_dialog->set_title("Duplicate Animation");
+ name_dialog->set_title(TTR("Duplicate Animation"));
name_title->set_text(TTR("Duplicated Animation Name:"));
name->set_text(new_name);
name_dialog->popup_centered(Size2(300, 90));
@@ -1426,19 +1525,19 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() {
// Render every past/future step with the capture shader.
RS::get_singleton()->canvas_item_set_material(onion.capture.canvas_item, onion.capture.material->get_rid());
- onion.capture.material->set_shader_param("bkg_color", GLOBAL_GET("rendering/environment/defaults/default_clear_color"));
- onion.capture.material->set_shader_param("differences_only", onion.differences_only);
- onion.capture.material->set_shader_param("present", onion.differences_only ? RS::get_singleton()->viewport_get_texture(present_rid) : RID());
+ onion.capture.material->set_shader_uniform("bkg_color", GLOBAL_GET("rendering/environment/defaults/default_clear_color"));
+ onion.capture.material->set_shader_uniform("differences_only", onion.differences_only);
+ onion.capture.material->set_shader_uniform("present", onion.differences_only ? RS::get_singleton()->viewport_get_texture(present_rid) : RID());
int step_off_a = onion.past ? -onion.steps : 0;
int step_off_b = onion.future ? onion.steps : 0;
int cidx = 0;
- onion.capture.material->set_shader_param("dir_color", onion.force_white_modulate ? Color(1, 1, 1) : Color(EDITOR_GET("editors/animation/onion_layers_past_color")));
+ onion.capture.material->set_shader_uniform("dir_color", onion.force_white_modulate ? Color(1, 1, 1) : Color(EDITOR_GET("editors/animation/onion_layers_past_color")));
for (int step_off = step_off_a; step_off <= step_off_b; step_off++) {
if (step_off == 0) {
// Skip present step and switch to the color of future.
if (!onion.force_white_modulate) {
- onion.capture.material->set_shader_param("dir_color", EDITOR_GET("editors/animation/onion_layers_future_color"));
+ onion.capture.material->set_shader_uniform("dir_color", EDITOR_GET("editors/animation/onion_layers_future_color"));
}
continue;
}
@@ -1573,7 +1672,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(AnimationPlayerEditorPlugin *p_plug
frame = memnew(SpinBox);
hb->add_child(frame);
- frame->set_custom_minimum_size(Size2(60, 0));
+ frame->set_custom_minimum_size(Size2(80, 0) * EDSCALE);
frame->set_stretch_ratio(2);
frame->set_step(0.0001);
frame->set_tooltip(TTR("Animation position (in seconds)."));
@@ -1633,14 +1732,16 @@ AnimationPlayerEditor::AnimationPlayerEditor(AnimationPlayerEditorPlugin *p_plug
onion_toggle->set_flat(true);
onion_toggle->set_toggle_mode(true);
onion_toggle->set_tooltip(TTR("Enable Onion Skinning"));
- onion_toggle->connect("pressed", callable_mp(this, &AnimationPlayerEditor::_onion_skinning_menu), varray(ONION_SKINNING_ENABLE));
+ onion_toggle->connect("pressed", callable_mp(this, &AnimationPlayerEditor::_onion_skinning_menu).bind(ONION_SKINNING_ENABLE));
hb->add_child(onion_toggle);
onion_skinning = memnew(MenuButton);
onion_skinning->set_tooltip(TTR("Onion Skinning Options"));
onion_skinning->get_popup()->add_separator(TTR("Directions"));
+ // TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
onion_skinning->get_popup()->add_check_item(TTR("Past"), ONION_SKINNING_PAST);
onion_skinning->get_popup()->set_item_checked(-1, true);
+ // TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
onion_skinning->get_popup()->add_check_item(TTR("Future"), ONION_SKINNING_FUTURE);
onion_skinning->get_popup()->add_separator(TTR("Depth"));
onion_skinning->get_popup()->add_radio_check_item(TTR("1 step"), ONION_SKINNING_1_STEP);
@@ -1686,7 +1787,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(AnimationPlayerEditorPlugin *p_plug
name_dialog->register_text_enter(name);
error_dialog = memnew(ConfirmationDialog);
- error_dialog->get_ok_button()->set_text(TTR("Close"));
+ error_dialog->set_ok_button_text(TTR("Close"));
error_dialog->set_title(TTR("Error!"));
add_child(error_dialog);
@@ -1694,7 +1795,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(AnimationPlayerEditorPlugin *p_plug
blend_editor.dialog = memnew(AcceptDialog);
add_child(blend_editor.dialog);
- blend_editor.dialog->get_ok_button()->set_text(TTR("Close"));
+ blend_editor.dialog->set_ok_button_text(TTR("Close"));
blend_editor.dialog->set_hide_on_ok(true);
VBoxContainer *blend_vb = memnew(VBoxContainer);
blend_editor.dialog->add_child(blend_vb);
@@ -1718,7 +1819,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(AnimationPlayerEditorPlugin *p_plug
animation->connect("item_selected", callable_mp(this, &AnimationPlayerEditor::_animation_selected));
- frame->connect("value_changed", callable_mp(this, &AnimationPlayerEditor::_seek_value_changed), make_binds(true, false));
+ frame->connect("value_changed", callable_mp(this, &AnimationPlayerEditor::_seek_value_changed).bind(true, false));
scale->connect("text_submitted", callable_mp(this, &AnimationPlayerEditor::_scale_changed));
last_active = false;
@@ -1828,7 +1929,7 @@ void AnimationPlayerEditorPlugin::_update_keying() {
}
void AnimationPlayerEditorPlugin::edit(Object *p_object) {
- anim_editor->set_undo_redo(&get_undo_redo());
+ anim_editor->set_undo_redo(get_undo_redo());
if (!p_object) {
return;
}
diff --git a/editor/plugins/animation_player_editor_plugin.h b/editor/plugins/animation_player_editor_plugin.h
index 3b1de070fa..a37a9debef 100644
--- a/editor/plugins/animation_player_editor_plugin.h
+++ b/editor/plugins/animation_player_editor_plugin.h
@@ -41,6 +41,7 @@
#include "scene/gui/texture_button.h"
#include "scene/gui/tree.h"
+class EditorUndoRedoManager;
class AnimationPlayerEditorPlugin;
class AnimationPlayerEditor : public VBoxContainer {
@@ -100,7 +101,7 @@ class AnimationPlayerEditor : public VBoxContainer {
LineEdit *name = nullptr;
OptionButton *library = nullptr;
Label *name_title = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Ref<Texture2D> autoplay_icon;
Ref<Texture2D> reset_icon;
@@ -233,7 +234,7 @@ public:
void ensure_visibility();
- void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void edit(AnimationPlayer *p_player);
void forward_force_draw_over_viewport(Control *p_overlay);
diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp
index bd9b89cbb7..ef4ae3dca4 100644
--- a/editor/plugins/animation_state_machine_editor.cpp
+++ b/editor/plugins/animation_state_machine_editor.cpp
@@ -38,6 +38,8 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/animation/animation_blend_tree.h"
#include "scene/animation/animation_player.h"
#include "scene/gui/menu_button.h"
@@ -817,11 +819,11 @@ bool AnimationNodeStateMachineEditor::_create_submenu(PopupMenu *p_menu, Ref<Ani
Vector<Ref<AnimationNodeStateMachine>> parents = p_parents;
if (from_root) {
- Ref<AnimationNodeStateMachine> prev = p_nodesm->get_prev_state_machine();
+ AnimationNodeStateMachine *prev = p_nodesm->get_prev_state_machine();
- while (prev.is_valid()) {
+ while (prev != nullptr) {
parents.push_back(prev);
- p_nodesm = prev;
+ p_nodesm = Ref<AnimationNodeStateMachine>(prev);
prev_path += "../";
prev = prev->get_prev_state_machine();
}
@@ -1018,7 +1020,7 @@ void AnimationNodeStateMachineEditor::_add_animation_type(int p_index) {
anim->set_animation(animations_to_add[p_index]);
- String base_name = animations_to_add[p_index];
+ String base_name = animations_to_add[p_index].validate_node_name();
int base = 1;
String name = base_name;
while (state_machine->has_node(name)) {
@@ -1220,11 +1222,11 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
for (const StringName &E : nodes) {
Ref<AnimationNode> anode = state_machine->get_node(E);
String name = E;
- bool needs_editor = EditorNode::get_singleton()->item_has_editor(anode.ptr());
+ bool needs_editor = AnimationTreeEditor::get_singleton()->can_edit(anode);
Ref<StyleBox> sb = selected_nodes.has(E) ? style_selected : style;
Size2 s = sb->get_minimum_size();
- int strsize = font->get_string_size(name, font_size).width;
+ int strsize = font->get_string_size(name, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width;
s.width += strsize;
s.height += MAX(font->get_height(font_size), play->get_height());
s.width += sep + play->get_width();
@@ -1379,7 +1381,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
Ref<AnimationNode> anode = state_machine->get_node(name);
bool needs_editor = AnimationTreeEditor::get_singleton()->can_edit(anode);
Ref<StyleBox> sb = selected_nodes.has(name) ? style_selected : style;
- int strsize = font->get_string_size(name, font_size).width;
+ int strsize = font->get_string_size(name, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width;
NodeRect &nr = node_rects.write[i];
Vector2 offset = nr.node.position;
@@ -1432,7 +1434,6 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
} else {
state_machine_draw->draw_texture(edit, nr.edit.position);
}
- offset.x += sep + edit->get_width();
}
}
@@ -1900,7 +1901,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
tool_select->set_button_group(bg);
tool_select->set_pressed(true);
tool_select->set_tooltip(TTR("Select and move nodes.\nRMB: Add node at position clicked.\nShift+LMB+Drag: Connects the selected node with another node or creates a new node if you select an area without nodes."));
- tool_select->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_update_mode), varray(), CONNECT_DEFERRED);
+ tool_select->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_update_mode), CONNECT_DEFERRED);
tool_create = memnew(Button);
tool_create->set_flat(true);
@@ -1908,7 +1909,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
tool_create->set_toggle_mode(true);
tool_create->set_button_group(bg);
tool_create->set_tooltip(TTR("Create new nodes."));
- tool_create->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_update_mode), varray(), CONNECT_DEFERRED);
+ tool_create->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_update_mode), CONNECT_DEFERRED);
tool_connect = memnew(Button);
tool_connect->set_flat(true);
@@ -1916,7 +1917,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
tool_connect->set_toggle_mode(true);
tool_connect->set_button_group(bg);
tool_connect->set_tooltip(TTR("Connect nodes."));
- tool_connect->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_update_mode), varray(), CONNECT_DEFERRED);
+ tool_connect->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_update_mode), CONNECT_DEFERRED);
tool_erase_hb = memnew(HBoxContainer);
top_hb->add_child(tool_erase_hb);
@@ -1939,12 +1940,12 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
tool_erase = memnew(Button);
tool_erase->set_flat(true);
tool_erase->set_tooltip(TTR("Remove selected node or transition."));
- tool_erase->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_erase_selected), varray(false));
+ tool_erase->connect("pressed", callable_mp(this, &AnimationNodeStateMachineEditor::_erase_selected).bind(false));
tool_erase->set_disabled(true);
tool_erase_hb->add_child(tool_erase);
top_hb->add_child(memnew(VSeparator));
- top_hb->add_child(memnew(Label(TTR("Transition: "))));
+ top_hb->add_child(memnew(Label(TTR("Transition:"))));
transition_mode = memnew(OptionButton);
top_hb->add_child(transition_mode);
@@ -1970,7 +1971,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
state_machine_play_pos = memnew(Control);
state_machine_draw->add_child(state_machine_play_pos);
state_machine_play_pos->set_mouse_filter(MOUSE_FILTER_PASS); //pass all to parent
- state_machine_play_pos->set_anchors_and_offsets_preset(PRESET_WIDE);
+ state_machine_play_pos->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
state_machine_play_pos->connect("draw", callable_mp(this, &AnimationNodeStateMachineEditor::_state_machine_pos_draw));
v_scroll = memnew(VScrollBar);
@@ -2023,7 +2024,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
add_child(name_edit_popup);
name_edit = memnew(LineEdit);
name_edit_popup->add_child(name_edit);
- name_edit->set_anchors_and_offsets_preset(PRESET_WIDE);
+ name_edit->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
name_edit->connect("text_submitted", callable_mp(this, &AnimationNodeStateMachineEditor::_name_edited));
name_edit->connect("focus_exited", callable_mp(this, &AnimationNodeStateMachineEditor::_name_edited_focus_out));
diff --git a/editor/plugins/animation_state_machine_editor.h b/editor/plugins/animation_state_machine_editor.h
index ea16abd64c..fdd1af0f6d 100644
--- a/editor/plugins/animation_state_machine_editor.h
+++ b/editor/plugins/animation_state_machine_editor.h
@@ -33,7 +33,6 @@
#include "editor/editor_plugin.h"
#include "editor/plugins/animation_tree_editor_plugin.h"
-#include "editor/property_editor.h"
#include "scene/animation/animation_node_state_machine.h"
#include "scene/gui/button.h"
#include "scene/gui/graph_edit.h"
@@ -41,6 +40,7 @@
#include "scene/gui/tree.h"
class EditorFileDialog;
+class EditorUndoRedoManager;
class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin {
GDCLASS(AnimationNodeStateMachineEditor, AnimationTreeNodeEditorPlugin);
@@ -77,7 +77,7 @@ class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin {
bool updating = false;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
static AnimationNodeStateMachineEditor *singleton;
diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp
index 7ea6906d72..bce4c9de8e 100644
--- a/editor/plugins/animation_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_tree_editor_plugin.cpp
@@ -86,7 +86,7 @@ void AnimationTreeEditor::_update_path() {
b->set_button_group(group);
b->set_pressed(true);
b->set_focus_mode(FOCUS_NONE);
- b->connect("pressed", callable_mp(this, &AnimationTreeEditor::_path_button_pressed), varray(-1));
+ b->connect("pressed", callable_mp(this, &AnimationTreeEditor::_path_button_pressed).bind(-1));
path_hb->add_child(b);
for (int i = 0; i < button_path.size(); i++) {
b = memnew(Button);
@@ -96,7 +96,7 @@ void AnimationTreeEditor::_update_path() {
path_hb->add_child(b);
b->set_pressed(true);
b->set_focus_mode(FOCUS_NONE);
- b->connect("pressed", callable_mp(this, &AnimationTreeEditor::_path_button_pressed), varray(i));
+ b->connect("pressed", callable_mp(this, &AnimationTreeEditor::_path_button_pressed).bind(i));
}
}
diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h
index ab4ef5a001..a33d97f62f 100644
--- a/editor/plugins/animation_tree_editor_plugin.h
+++ b/editor/plugins/animation_tree_editor_plugin.h
@@ -32,7 +32,6 @@
#define ANIMATION_TREE_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
-#include "editor/property_editor.h"
#include "scene/animation/animation_tree.h"
#include "scene/gui/button.h"
#include "scene/gui/graph_edit.h"
diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp
index d7061a420a..8ee162d085 100644
--- a/editor/plugins/asset_library_editor_plugin.cpp
+++ b/editor/plugins/asset_library_editor_plugin.cpp
@@ -32,6 +32,7 @@
#include "core/input/input.h"
#include "core/io/json.h"
+#include "core/io/stream_peer_ssl.h"
#include "core/os/keyboard.h"
#include "core/version.h"
#include "editor/editor_file_dialog.h"
@@ -160,18 +161,13 @@ void EditorAssetLibraryItemDescription::set_image(int p_type, int p_index, const
Ref<Image> overlay = previews->get_theme_icon(SNAME("PlayOverlay"), SNAME("EditorIcons"))->get_image();
Ref<Image> thumbnail = p_image->get_image();
thumbnail = thumbnail->duplicate();
- Point2 overlay_pos = Point2((thumbnail->get_width() - overlay->get_width()) / 2, (thumbnail->get_height() - overlay->get_height()) / 2);
+ Point2i overlay_pos = Point2i((thumbnail->get_width() - overlay->get_width()) / 2, (thumbnail->get_height() - overlay->get_height()) / 2);
// Overlay and thumbnail need the same format for `blend_rect` to work.
thumbnail->convert(Image::FORMAT_RGBA8);
-
thumbnail->blend_rect(overlay, overlay->get_used_rect(), overlay_pos);
+ preview_images[i].button->set_icon(ImageTexture::create_from_image(thumbnail));
- Ref<ImageTexture> tex;
- tex.instantiate();
- tex->create_from_image(thumbnail);
-
- preview_images[i].button->set_icon(tex);
// Make it clearer that clicking it will open an external link
preview_images[i].button->set_default_cursor_shape(Control::CURSOR_POINTING_HAND);
} else {
@@ -257,7 +253,7 @@ void EditorAssetLibraryItemDescription::add_preview(int p_id, bool p_video, cons
preview.button = memnew(Button);
preview.button->set_icon(previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons")));
preview.button->set_toggle_mode(true);
- preview.button->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDescription::_preview_click), varray(p_id));
+ preview.button->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDescription::_preview_click).bind(p_id));
preview_hb->add_child(preview.button);
if (!p_video) {
preview.image = previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons"));
@@ -290,12 +286,15 @@ EditorAssetLibraryItemDescription::EditorAssetLibraryItemDescription() {
hbox->add_child(previews_vbox);
previews_vbox->add_theme_constant_override("separation", 15 * EDSCALE);
previews_vbox->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ previews_vbox->set_h_size_flags(Control::SIZE_EXPAND_FILL);
preview = memnew(TextureRect);
previews_vbox->add_child(preview);
preview->set_ignore_texture_size(true);
preview->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED);
preview->set_custom_minimum_size(Size2(640 * EDSCALE, 345 * EDSCALE));
+ preview->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ preview->set_h_size_flags(Control::SIZE_EXPAND_FILL);
previews_bg = memnew(PanelContainer);
previews_vbox->add_child(previews_bg);
@@ -308,8 +307,8 @@ EditorAssetLibraryItemDescription::EditorAssetLibraryItemDescription() {
preview_hb->set_v_size_flags(Control::SIZE_EXPAND_FILL);
previews->add_child(preview_hb);
- get_ok_button()->set_text(TTR("Download"));
- get_cancel_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Download"));
+ set_cancel_button_text(TTR("Close"));
}
///////////////////////////////////////////////////////////////////////////////////
@@ -620,6 +619,10 @@ void EditorAssetLibrary::_notification(int p_what) {
} break;
+ case NOTIFICATION_RESIZED: {
+ _update_asset_items_columns();
+ } break;
+
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
_update_repository_options();
setup_http_request(request);
@@ -782,9 +785,7 @@ void EditorAssetLibrary::_image_update(bool use_cache, bool final, const PackedB
} break;
}
- Ref<ImageTexture> tex;
- tex.instantiate();
- tex->create_from_image(image);
+ Ref<ImageTexture> tex = ImageTexture::create_from_image(image);
obj->call("set_image", image_queue[p_queue_id].image_type, image_queue[p_queue_id].image_index, tex);
image_set = true;
@@ -886,7 +887,7 @@ void EditorAssetLibrary::_request_image(ObjectID p_for, String p_image_url, Imag
iq.queue_id = ++last_queue_id;
iq.active = false;
- iq.request->connect("request_completed", callable_mp(this, &EditorAssetLibrary::_image_request_completed), varray(iq.queue_id));
+ iq.request->connect("request_completed", callable_mp(this, &EditorAssetLibrary::_image_request_completed).bind(iq.queue_id));
image_queue[iq.queue_id] = iq;
@@ -1005,7 +1006,7 @@ HBoxContainer *EditorAssetLibrary::_make_pages(int p_page, int p_page_count, int
Button *first = memnew(Button);
first->set_text(TTR("First", "Pagination"));
if (p_page != 0) {
- first->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search), varray(0));
+ first->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search).bind(0));
} else {
first->set_disabled(true);
first->set_focus_mode(Control::FOCUS_NONE);
@@ -1015,7 +1016,7 @@ HBoxContainer *EditorAssetLibrary::_make_pages(int p_page, int p_page_count, int
Button *prev = memnew(Button);
prev->set_text(TTR("Previous", "Pagination"));
if (p_page > 0) {
- prev->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search), varray(p_page - 1));
+ prev->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search).bind(p_page - 1));
} else {
prev->set_disabled(true);
prev->set_focus_mode(Control::FOCUS_NONE);
@@ -1036,7 +1037,7 @@ HBoxContainer *EditorAssetLibrary::_make_pages(int p_page, int p_page_count, int
Button *current = memnew(Button);
// Add padding to make page number buttons easier to click.
current->set_text(vformat(" %d ", i + 1));
- current->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search), varray(i));
+ current->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search).bind(i));
hbc->add_child(current);
}
@@ -1045,7 +1046,7 @@ HBoxContainer *EditorAssetLibrary::_make_pages(int p_page, int p_page_count, int
Button *next = memnew(Button);
next->set_text(TTR("Next", "Pagination"));
if (p_page < p_page_count - 1) {
- next->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search), varray(p_page + 1));
+ next->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search).bind(p_page + 1));
} else {
next->set_disabled(true);
next->set_focus_mode(Control::FOCUS_NONE);
@@ -1056,7 +1057,7 @@ HBoxContainer *EditorAssetLibrary::_make_pages(int p_page, int p_page_count, int
Button *last = memnew(Button);
last->set_text(TTR("Last", "Pagination"));
if (p_page != p_page_count - 1) {
- last->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search), varray(p_page_count - 1));
+ last->connect("pressed", callable_mp(this, &EditorAssetLibrary::_search).bind(p_page_count - 1));
} else {
last->set_disabled(true);
last->set_focus_mode(Control::FOCUS_NONE);
@@ -1209,7 +1210,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const
library_vb->add_child(asset_top_page);
asset_items = memnew(GridContainer);
- asset_items->set_columns(2);
+ _update_asset_items_columns();
asset_items->add_theme_constant_override("h_separation", 10 * EDSCALE);
asset_items->add_theme_constant_override("v_separation", 10 * EDSCALE);
@@ -1292,14 +1293,14 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const
EditorAssetLibraryItemDownload *download_item = _get_asset_in_progress(description->get_asset_id());
if (download_item) {
if (download_item->can_install()) {
- description->get_ok_button()->set_text(TTR("Install"));
+ description->set_ok_button_text(TTR("Install"));
description->get_ok_button()->set_disabled(false);
} else {
- description->get_ok_button()->set_text(TTR("Downloading..."));
+ description->set_ok_button_text(TTR("Downloading..."));
description->get_ok_button()->set_disabled(true);
}
} else {
- description->get_ok_button()->set_text(TTR("Download"));
+ description->set_ok_button_text(TTR("Download"));
description->get_ok_button()->set_disabled(false);
}
@@ -1375,12 +1376,17 @@ void EditorAssetLibrary::_install_external_asset(String p_zip_path, String p_tit
emit_signal(SNAME("install_asset"), p_zip_path, p_title);
}
-void EditorAssetLibrary::disable_community_support() {
- support->get_popup()->set_item_checked(SUPPORT_COMMUNITY, false);
+void EditorAssetLibrary::_update_asset_items_columns() {
+ int new_columns = get_size().x / (450.0 * EDSCALE);
+ new_columns = MAX(1, new_columns);
+
+ if (new_columns != asset_items->get_columns()) {
+ asset_items->set_columns(new_columns);
+ }
}
-void EditorAssetLibrary::set_columns(const int p_columns) {
- asset_items->set_columns(p_columns);
+void EditorAssetLibrary::disable_community_support() {
+ support->get_popup()->set_item_checked(SUPPORT_COMMUNITY, false);
}
void EditorAssetLibrary::_bind_methods() {
@@ -1402,9 +1408,9 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) {
filter = memnew(LineEdit);
if (templates_only) {
- filter->set_placeholder(TTR("Search templates, projects, and demos"));
+ filter->set_placeholder(TTR("Search Templates, Projects, and Demos"));
} else {
- filter->set_placeholder(TTR("Search assets (excluding templates, projects, and demos)"));
+ filter->set_placeholder(TTR("Search Assets (Excluding Templates, Projects, and Demos)"));
}
filter->set_clear_button_enabled(true);
search_hb->add_child(filter);
@@ -1538,7 +1544,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) {
library_vb->add_child(asset_top_page);
asset_items = memnew(GridContainer);
- asset_items->set_columns(2);
+ _update_asset_items_columns();
asset_items->add_theme_constant_override("h_separation", 10 * EDSCALE);
asset_items->add_theme_constant_override("v_separation", 10 * EDSCALE);
@@ -1578,7 +1584,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) {
asset_open = memnew(EditorFileDialog);
asset_open->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
- asset_open->add_filter("*.zip ; " + TTR("Assets ZIP File"));
+ asset_open->add_filter("*.zip", TTR("Assets ZIP File"));
asset_open->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
add_child(asset_open);
asset_open->connect("file_selected", callable_mp(this, &EditorAssetLibrary::_asset_file_selected));
@@ -1588,6 +1594,16 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) {
///////
+bool AssetLibraryEditorPlugin::is_available() {
+#ifdef JAVASCRIPT_ENABLED
+ // Asset Library can't work on Web editor for now as most assets are sourced
+ // directly from GitHub which does not set CORS.
+ return false;
+#else
+ return StreamPeerSSL::is_available();
+#endif
+}
+
void AssetLibraryEditorPlugin::make_visible(bool p_visible) {
if (p_visible) {
addon_library->show();
@@ -1600,7 +1616,7 @@ AssetLibraryEditorPlugin::AssetLibraryEditorPlugin() {
addon_library = memnew(EditorAssetLibrary);
addon_library->set_v_size_flags(Control::SIZE_EXPAND_FILL);
EditorNode::get_singleton()->get_main_control()->add_child(addon_library);
- addon_library->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ addon_library->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
addon_library->hide();
}
diff --git a/editor/plugins/asset_library_editor_plugin.h b/editor/plugins/asset_library_editor_plugin.h
index e09700b646..070d25e29f 100644
--- a/editor/plugins/asset_library_editor_plugin.h
+++ b/editor/plugins/asset_library_editor_plugin.h
@@ -301,6 +301,8 @@ class EditorAssetLibrary : public PanelContainer {
void _install_external_asset(String p_zip_path, String p_title);
+ void _update_asset_items_columns();
+
friend class EditorAssetLibraryItemDescription;
friend class EditorAssetLibraryItem;
@@ -311,7 +313,6 @@ protected:
public:
void disable_community_support();
- void set_columns(int p_columns);
EditorAssetLibrary(bool p_templates_only = false);
};
@@ -322,6 +323,8 @@ class AssetLibraryEditorPlugin : public EditorPlugin {
EditorAssetLibrary *addon_library = nullptr;
public:
+ static bool is_available();
+
virtual String get_name() const override { return "AssetLib"; }
bool has_main_screen() const override { return true; }
virtual void edit(Object *p_object) override {}
@@ -335,4 +338,4 @@ public:
~AssetLibraryEditorPlugin();
};
-#endif // EDITORASSETLIBRARY_H
+#endif // ASSET_LIBRARY_EDITOR_PLUGIN_H
diff --git a/editor/plugins/audio_stream_editor_plugin.cpp b/editor/plugins/audio_stream_editor_plugin.cpp
deleted file mode 100644
index a60e49ca9d..0000000000
--- a/editor/plugins/audio_stream_editor_plugin.cpp
+++ /dev/null
@@ -1,285 +0,0 @@
-/*************************************************************************/
-/* audio_stream_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#include "audio_stream_editor_plugin.h"
-
-#include "core/config/project_settings.h"
-#include "core/io/resource_loader.h"
-#include "core/os/keyboard.h"
-#include "editor/audio_stream_preview.h"
-#include "editor/editor_node.h"
-#include "editor/editor_scale.h"
-#include "editor/editor_settings.h"
-
-void AudioStreamEditor::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_READY: {
- AudioStreamPreviewGenerator::get_singleton()->connect("preview_updated", callable_mp(this, &AudioStreamEditor::_preview_changed));
- } break;
-
- case NOTIFICATION_THEME_CHANGED:
- case NOTIFICATION_ENTER_TREE: {
- _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
- _stop_button->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons")));
- _preview->set_color(get_theme_color(SNAME("dark_color_2"), SNAME("Editor")));
- set_color(get_theme_color(SNAME("dark_color_1"), SNAME("Editor")));
-
- _indicator->update();
- _preview->update();
- } break;
-
- case NOTIFICATION_PROCESS: {
- _current = _player->get_playback_position();
- _indicator->update();
- } break;
-
- case NOTIFICATION_VISIBILITY_CHANGED: {
- if (!is_visible_in_tree()) {
- _stop();
- }
- } break;
- }
-}
-
-void AudioStreamEditor::_draw_preview() {
- Rect2 rect = _preview->get_rect();
- Size2 size = get_size();
-
- Ref<AudioStreamPreview> preview = AudioStreamPreviewGenerator::get_singleton()->generate_preview(stream);
- float preview_len = preview->get_length();
-
- Vector<Vector2> lines;
- lines.resize(size.width * 2);
-
- for (int i = 0; i < size.width; i++) {
- float ofs = i * preview_len / size.width;
- float ofs_n = (i + 1) * preview_len / size.width;
- float max = preview->get_max(ofs, ofs_n) * 0.5 + 0.5;
- float min = preview->get_min(ofs, ofs_n) * 0.5 + 0.5;
-
- int idx = i;
- lines.write[idx * 2 + 0] = Vector2(i + 1, rect.position.y + min * rect.size.y);
- lines.write[idx * 2 + 1] = Vector2(i + 1, rect.position.y + max * rect.size.y);
- }
-
- Vector<Color> color;
- color.push_back(get_theme_color(SNAME("contrast_color_2"), SNAME("Editor")));
-
- RS::get_singleton()->canvas_item_add_multiline(_preview->get_canvas_item(), lines, color);
-}
-
-void AudioStreamEditor::_preview_changed(ObjectID p_which) {
- if (stream.is_valid() && stream->get_instance_id() == p_which) {
- _preview->update();
- }
-}
-
-void AudioStreamEditor::_audio_changed() {
- if (!is_visible()) {
- return;
- }
- update();
-}
-
-void AudioStreamEditor::_play() {
- if (_player->is_playing()) {
- // '_pausing' variable indicates that we want to pause the audio player, not stop it. See '_on_finished()'.
- _pausing = true;
- _player->stop();
- _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
- set_process(false);
- } else {
- _player->play(_current);
- _play_button->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons")));
- set_process(true);
- }
-}
-
-void AudioStreamEditor::_stop() {
- _player->stop();
- _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
- _current = 0;
- _indicator->update();
- set_process(false);
-}
-
-void AudioStreamEditor::_on_finished() {
- _play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons")));
- if (!_pausing) {
- _current = 0;
- _indicator->update();
- } else {
- _pausing = false;
- }
- set_process(false);
-}
-
-void AudioStreamEditor::_draw_indicator() {
- if (!stream.is_valid()) {
- return;
- }
-
- Rect2 rect = _preview->get_rect();
- float len = stream->get_length();
- float ofs_x = _current / len * rect.size.width;
- const Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor"));
- _indicator->draw_line(Point2(ofs_x, 0), Point2(ofs_x, rect.size.height), color, Math::round(2 * EDSCALE));
- _indicator->draw_texture(
- get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons")),
- Point2(ofs_x - get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons"))->get_width() * 0.5, 0),
- color);
-
- _current_label->set_text(String::num(_current, 2).pad_decimals(2) + " /");
-}
-
-void AudioStreamEditor::_on_input_indicator(Ref<InputEvent> p_event) {
- const Ref<InputEventMouseButton> mb = p_event;
- if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT) {
- if (mb->is_pressed()) {
- _seek_to(mb->get_position().x);
- }
- _dragging = mb->is_pressed();
- }
-
- const Ref<InputEventMouseMotion> mm = p_event;
- if (mm.is_valid()) {
- if (_dragging) {
- _seek_to(mm->get_position().x);
- }
- }
-}
-
-void AudioStreamEditor::_seek_to(real_t p_x) {
- _current = p_x / _preview->get_rect().size.x * stream->get_length();
- _current = CLAMP(_current, 0, stream->get_length());
- _player->seek(_current);
- _indicator->update();
-}
-
-void AudioStreamEditor::edit(Ref<AudioStream> p_stream) {
- if (!stream.is_null()) {
- stream->disconnect("changed", callable_mp(this, &AudioStreamEditor::_audio_changed));
- }
-
- stream = p_stream;
- _player->set_stream(stream);
- _current = 0;
- String text = String::num(stream->get_length(), 2).pad_decimals(2) + "s";
- _duration_label->set_text(text);
-
- if (!stream.is_null()) {
- stream->connect("changed", callable_mp(this, &AudioStreamEditor::_audio_changed));
- update();
- } else {
- hide();
- }
-}
-
-void AudioStreamEditor::_bind_methods() {
-}
-
-AudioStreamEditor::AudioStreamEditor() {
- set_custom_minimum_size(Size2(1, 100) * EDSCALE);
-
- _player = memnew(AudioStreamPlayer);
- _player->connect("finished", callable_mp(this, &AudioStreamEditor::_on_finished));
- add_child(_player);
-
- VBoxContainer *vbox = memnew(VBoxContainer);
- vbox->set_anchors_and_offsets_preset(PRESET_WIDE, PRESET_MODE_MINSIZE, 0);
- add_child(vbox);
-
- _preview = memnew(ColorRect);
- _preview->set_v_size_flags(SIZE_EXPAND_FILL);
- _preview->connect("draw", callable_mp(this, &AudioStreamEditor::_draw_preview));
- vbox->add_child(_preview);
-
- _indicator = memnew(Control);
- _indicator->set_anchors_and_offsets_preset(PRESET_WIDE);
- _indicator->connect("draw", callable_mp(this, &AudioStreamEditor::_draw_indicator));
- _indicator->connect("gui_input", callable_mp(this, &AudioStreamEditor::_on_input_indicator));
- _preview->add_child(_indicator);
-
- HBoxContainer *hbox = memnew(HBoxContainer);
- hbox->add_theme_constant_override("separation", 0);
- vbox->add_child(hbox);
-
- _play_button = memnew(Button);
- _play_button->set_flat(true);
- hbox->add_child(_play_button);
- _play_button->set_focus_mode(Control::FOCUS_NONE);
- _play_button->connect("pressed", callable_mp(this, &AudioStreamEditor::_play));
- _play_button->set_shortcut(ED_SHORTCUT("inspector/audio_preview_play_pause", TTR("Audio Preview Play/Pause"), Key::SPACE));
-
- _stop_button = memnew(Button);
- _stop_button->set_flat(true);
- hbox->add_child(_stop_button);
- _stop_button->set_focus_mode(Control::FOCUS_NONE);
- _stop_button->connect("pressed", callable_mp(this, &AudioStreamEditor::_stop));
-
- _current_label = memnew(Label);
- _current_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT);
- _current_label->set_h_size_flags(SIZE_EXPAND_FILL);
- _current_label->add_theme_font_override("font", EditorNode::get_singleton()->get_gui_base()->get_theme_font(SNAME("status_source"), SNAME("EditorFonts")));
- _current_label->add_theme_font_size_override("font_size", EditorNode::get_singleton()->get_gui_base()->get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")));
- _current_label->set_modulate(Color(1, 1, 1, 0.5));
- hbox->add_child(_current_label);
-
- _duration_label = memnew(Label);
- _duration_label->add_theme_font_override("font", EditorNode::get_singleton()->get_gui_base()->get_theme_font(SNAME("status_source"), SNAME("EditorFonts")));
- _duration_label->add_theme_font_size_override("font_size", EditorNode::get_singleton()->get_gui_base()->get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")));
- hbox->add_child(_duration_label);
-}
-
-void AudioStreamEditorPlugin::edit(Object *p_object) {
- AudioStream *s = Object::cast_to<AudioStream>(p_object);
- if (!s) {
- return;
- }
-
- audio_editor->edit(Ref<AudioStream>(s));
-}
-
-bool AudioStreamEditorPlugin::handles(Object *p_object) const {
- return p_object->is_class("AudioStream");
-}
-
-void AudioStreamEditorPlugin::make_visible(bool p_visible) {
- audio_editor->set_visible(p_visible);
-}
-
-AudioStreamEditorPlugin::AudioStreamEditorPlugin() {
- audio_editor = memnew(AudioStreamEditor);
- add_control_to_container(CONTAINER_PROPERTY_EDITOR_BOTTOM, audio_editor);
- audio_editor->hide();
-}
-
-AudioStreamEditorPlugin::~AudioStreamEditorPlugin() {
-}
diff --git a/editor/plugins/audio_stream_randomizer_editor_plugin.cpp b/editor/plugins/audio_stream_randomizer_editor_plugin.cpp
index 9e551ae0ed..d670197c53 100644
--- a/editor/plugins/audio_stream_randomizer_editor_plugin.cpp
+++ b/editor/plugins/audio_stream_randomizer_editor_plugin.cpp
@@ -31,6 +31,7 @@
#include "audio_stream_randomizer_editor_plugin.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
void AudioStreamRandomizerEditorPlugin::edit(Object *p_object) {
}
@@ -43,8 +44,8 @@ void AudioStreamRandomizerEditorPlugin::make_visible(bool p_visible) {
}
void AudioStreamRandomizerEditorPlugin::_move_stream_array_element(Object *p_undo_redo, Object *p_edited, String p_array_prefix, int p_from_index, int p_to_pos) {
- UndoRedo *undo_redo = Object::cast_to<UndoRedo>(p_undo_redo);
- ERR_FAIL_COND(!undo_redo);
+ Ref<EditorUndoRedoManager> undo_redo = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
+ ERR_FAIL_COND(undo_redo.is_null());
AudioStreamRandomizer *randomizer = Object::cast_to<AudioStreamRandomizer>(p_edited);
if (!randomizer) {
diff --git a/editor/plugins/bit_map_editor_plugin.cpp b/editor/plugins/bit_map_editor_plugin.cpp
index 9003c4480b..657c5a36b6 100644
--- a/editor/plugins/bit_map_editor_plugin.cpp
+++ b/editor/plugins/bit_map_editor_plugin.cpp
@@ -33,11 +33,7 @@
#include "editor/editor_scale.h"
void BitMapEditor::setup(const Ref<BitMap> &p_bitmap) {
- Ref<ImageTexture> texture;
- texture.instantiate();
- texture->create_from_image(p_bitmap->convert_to_image());
- texture_rect->set_texture(texture);
-
+ texture_rect->set_texture(ImageTexture::create_from_image(p_bitmap->convert_to_image()));
size_label->set_text(vformat(String::utf8("%s×%s"), p_bitmap->get_size().width, p_bitmap->get_size().height));
}
diff --git a/editor/plugins/bit_map_editor_plugin.h b/editor/plugins/bit_map_editor_plugin.h
index c883e5542f..b045f8c751 100644
--- a/editor/plugins/bit_map_editor_plugin.h
+++ b/editor/plugins/bit_map_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef BIT_MAP_PREVIEW_EDITOR_PLUGIN_H
-#define BIT_MAP_PREVIEW_EDITOR_PLUGIN_H
+#ifndef BIT_MAP_EDITOR_PLUGIN_H
+#define BIT_MAP_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/resources/bit_map.h"
@@ -61,4 +61,4 @@ public:
BitMapEditorPlugin();
};
-#endif // BIT_MAP_PREVIEW_EDITOR_PLUGIN_H
+#endif // BIT_MAP_EDITOR_PLUGIN_H
diff --git a/editor/plugins/bone_map_editor_plugin.cpp b/editor/plugins/bone_map_editor_plugin.cpp
new file mode 100644
index 0000000000..70775c1ee2
--- /dev/null
+++ b/editor/plugins/bone_map_editor_plugin.cpp
@@ -0,0 +1,499 @@
+/*************************************************************************/
+/* bone_map_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "bone_map_editor_plugin.h"
+
+#include "editor/editor_scale.h"
+#include "editor/import/post_import_plugin_skeleton_renamer.h"
+#include "editor/import/post_import_plugin_skeleton_rest_fixer.h"
+#include "editor/import/post_import_plugin_skeleton_track_organizer.h"
+#include "editor/import/scene_import_settings.h"
+
+void BoneMapperButton::fetch_textures() {
+ if (selected) {
+ set_normal_texture(get_theme_icon(SNAME("BoneMapperHandleSelected"), SNAME("EditorIcons")));
+ } else {
+ set_normal_texture(get_theme_icon(SNAME("BoneMapperHandle"), SNAME("EditorIcons")));
+ }
+ set_offset(SIDE_LEFT, 0);
+ set_offset(SIDE_RIGHT, 0);
+ set_offset(SIDE_TOP, 0);
+ set_offset(SIDE_BOTTOM, 0);
+
+ circle = memnew(TextureRect);
+ circle->set_texture(get_theme_icon(SNAME("BoneMapperHandleCircle"), SNAME("EditorIcons")));
+ add_child(circle);
+ set_state(BONE_MAP_STATE_UNSET);
+}
+
+StringName BoneMapperButton::get_profile_bone_name() const {
+ return profile_bone_name;
+}
+
+void BoneMapperButton::set_state(BoneMapState p_state) {
+ switch (p_state) {
+ case BONE_MAP_STATE_UNSET: {
+ circle->set_modulate(EditorSettings::get_singleton()->get("editors/bone_mapper/handle_colors/unset"));
+ } break;
+ case BONE_MAP_STATE_SET: {
+ circle->set_modulate(EditorSettings::get_singleton()->get("editors/bone_mapper/handle_colors/set"));
+ } break;
+ case BONE_MAP_STATE_MISSING: {
+ circle->set_modulate(EditorSettings::get_singleton()->get("editors/bone_mapper/handle_colors/missing"));
+ } break;
+ case BONE_MAP_STATE_ERROR: {
+ circle->set_modulate(EditorSettings::get_singleton()->get("editors/bone_mapper/handle_colors/error"));
+ } break;
+ default: {
+ } break;
+ }
+}
+
+bool BoneMapperButton::is_require() const {
+ return require;
+}
+
+void BoneMapperButton::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE: {
+ fetch_textures();
+ } break;
+ }
+}
+
+BoneMapperButton::BoneMapperButton(const StringName p_profile_bone_name, bool p_require, bool p_selected) {
+ profile_bone_name = p_profile_bone_name;
+ require = p_require;
+ selected = p_selected;
+}
+
+BoneMapperButton::~BoneMapperButton() {
+}
+
+void BoneMapperItem::create_editor() {
+ skeleton_bone_selector = memnew(EditorPropertyTextEnum);
+ skeleton_bone_selector->setup(skeleton_bone_names, false, true);
+ skeleton_bone_selector->set_label(profile_bone_name);
+ skeleton_bone_selector->set_selectable(false);
+ skeleton_bone_selector->set_object_and_property(bone_map.ptr(), "bone_map/" + String(profile_bone_name));
+ skeleton_bone_selector->update_property();
+ skeleton_bone_selector->connect("property_changed", callable_mp(this, &BoneMapperItem::_value_changed));
+ add_child(skeleton_bone_selector);
+}
+
+void BoneMapperItem::_update_property() {
+ if (skeleton_bone_selector->get_edited_object() && skeleton_bone_selector->get_edited_property()) {
+ skeleton_bone_selector->update_property();
+ }
+}
+
+void BoneMapperItem::_value_changed(const String &p_property, Variant p_value, const String &p_name, bool p_changing) {
+ bone_map->set(p_property, p_value);
+}
+
+void BoneMapperItem::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE: {
+ create_editor();
+ bone_map->connect("bone_map_updated", callable_mp(this, &BoneMapperItem::_update_property));
+ } break;
+ case NOTIFICATION_EXIT_TREE: {
+ if (!bone_map.is_null() && bone_map->is_connected("bone_map_updated", callable_mp(this, &BoneMapperItem::_update_property))) {
+ bone_map->disconnect("bone_map_updated", callable_mp(this, &BoneMapperItem::_update_property));
+ }
+ } break;
+ }
+}
+
+void BoneMapperItem::_bind_methods() {
+}
+
+BoneMapperItem::BoneMapperItem(Ref<BoneMap> &p_bone_map, PackedStringArray p_skeleton_bone_names, const StringName &p_profile_bone_name) {
+ bone_map = p_bone_map;
+ skeleton_bone_names = p_skeleton_bone_names;
+ profile_bone_name = p_profile_bone_name;
+}
+
+BoneMapperItem::~BoneMapperItem() {
+}
+
+void BoneMapper::create_editor() {
+ profile_group_selector = memnew(EditorPropertyEnum);
+ profile_group_selector->set_label("Group");
+ profile_group_selector->set_selectable(false);
+ profile_group_selector->set_object_and_property(this, "current_group_idx");
+ profile_group_selector->update_property();
+ profile_group_selector->connect("property_changed", callable_mp(this, &BoneMapper::_value_changed));
+ add_child(profile_group_selector);
+
+ bone_mapper_field = memnew(AspectRatioContainer);
+ bone_mapper_field->set_stretch_mode(AspectRatioContainer::STRETCH_FIT);
+ bone_mapper_field->set_custom_minimum_size(Vector2(0, 256.0) * EDSCALE);
+ bone_mapper_field->set_h_size_flags(Control::SIZE_FILL);
+ add_child(bone_mapper_field);
+
+ profile_bg = memnew(ColorRect);
+ profile_bg->set_color(Color(0, 0, 0, 1));
+ profile_bg->set_h_size_flags(Control::SIZE_FILL);
+ profile_bg->set_v_size_flags(Control::SIZE_FILL);
+ bone_mapper_field->add_child(profile_bg);
+
+ profile_texture = memnew(TextureRect);
+ profile_texture->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED);
+ profile_texture->set_ignore_texture_size(true);
+ profile_texture->set_h_size_flags(Control::SIZE_FILL);
+ profile_texture->set_v_size_flags(Control::SIZE_FILL);
+ bone_mapper_field->add_child(profile_texture);
+
+ mapper_item_vbox = memnew(VBoxContainer);
+ add_child(mapper_item_vbox);
+
+ separator = memnew(HSeparator);
+ add_child(separator);
+
+ recreate_items();
+}
+
+void BoneMapper::update_group_idx() {
+ if (!bone_map->get_profile().is_valid()) {
+ return;
+ }
+
+ PackedStringArray group_names;
+ int len = bone_map->get_profile()->get_group_size();
+ for (int i = 0; i < len; i++) {
+ group_names.push_back(bone_map->get_profile()->get_group_name(i));
+ }
+ if (current_group_idx >= len) {
+ current_group_idx = 0;
+ }
+ if (len > 0) {
+ profile_group_selector->setup(group_names);
+ profile_group_selector->update_property();
+ profile_group_selector->set_read_only(false);
+ }
+}
+
+void BoneMapper::set_current_group_idx(int p_group_idx) {
+ current_group_idx = p_group_idx;
+ recreate_editor();
+}
+
+int BoneMapper::get_current_group_idx() const {
+ return current_group_idx;
+}
+
+void BoneMapper::set_current_bone_idx(int p_bone_idx) {
+ current_bone_idx = p_bone_idx;
+ recreate_editor();
+}
+
+int BoneMapper::get_current_bone_idx() const {
+ return current_bone_idx;
+}
+
+void BoneMapper::recreate_editor() {
+ // Clear buttons.
+ int len = bone_mapper_buttons.size();
+ for (int i = 0; i < len; i++) {
+ profile_texture->remove_child(bone_mapper_buttons[i]);
+ memdelete(bone_mapper_buttons[i]);
+ }
+ bone_mapper_buttons.clear();
+
+ // Organize mapper items.
+ len = bone_mapper_items.size();
+ for (int i = 0; i < len; i++) {
+ bone_mapper_items[i]->set_visible(current_bone_idx == i);
+ }
+
+ Ref<SkeletonProfile> profile = bone_map->get_profile();
+ if (profile.is_valid()) {
+ SkeletonProfileHumanoid *hmn = Object::cast_to<SkeletonProfileHumanoid>(profile.ptr());
+ if (hmn) {
+ StringName hmn_group_name = profile->get_group_name(current_group_idx);
+ if (hmn_group_name == "Body") {
+ profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanBody"), SNAME("EditorIcons")));
+ } else if (hmn_group_name == "Face") {
+ profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanFace"), SNAME("EditorIcons")));
+ } else if (hmn_group_name == "LeftHand") {
+ profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanLeftHand"), SNAME("EditorIcons")));
+ } else if (hmn_group_name == "RightHand") {
+ profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanRightHand"), SNAME("EditorIcons")));
+ }
+ } else {
+ profile_texture->set_texture(profile->get_texture(current_group_idx));
+ }
+ } else {
+ profile_texture->set_texture(Ref<Texture2D>());
+ }
+
+ if (!profile.is_valid()) {
+ return;
+ }
+
+ for (int i = 0; i < len; i++) {
+ if (profile->get_group(i) == profile->get_group_name(current_group_idx)) {
+ BoneMapperButton *mb = memnew(BoneMapperButton(profile->get_bone_name(i), profile->is_require(i), current_bone_idx == i));
+ mb->connect("pressed", callable_mp(this, &BoneMapper::set_current_bone_idx).bind(i), CONNECT_DEFERRED);
+ mb->set_h_grow_direction(GROW_DIRECTION_BOTH);
+ mb->set_v_grow_direction(GROW_DIRECTION_BOTH);
+ Vector2 vc = profile->get_handle_offset(i);
+ bone_mapper_buttons.push_back(mb);
+ profile_texture->add_child(mb);
+ mb->set_anchor(SIDE_LEFT, vc.x);
+ mb->set_anchor(SIDE_RIGHT, vc.x);
+ mb->set_anchor(SIDE_TOP, vc.y);
+ mb->set_anchor(SIDE_BOTTOM, vc.y);
+ }
+ }
+
+ _update_state();
+}
+
+void BoneMapper::clear_items() {
+ // Clear items.
+ int len = bone_mapper_items.size();
+ for (int i = 0; i < len; i++) {
+ mapper_item_vbox->remove_child(bone_mapper_items[i]);
+ memdelete(bone_mapper_items[i]);
+ }
+ bone_mapper_items.clear();
+}
+
+void BoneMapper::recreate_items() {
+ clear_items();
+ // Create items by profile.
+ Ref<SkeletonProfile> profile = bone_map->get_profile();
+ if (profile.is_valid()) {
+ PackedStringArray skeleton_bone_names;
+ int len = skeleton->get_bone_count();
+ for (int i = 0; i < len; i++) {
+ skeleton_bone_names.push_back(skeleton->get_bone_name(i));
+ }
+
+ len = profile->get_bone_size();
+ for (int i = 0; i < len; i++) {
+ StringName bn = profile->get_bone_name(i);
+ bone_mapper_items.append(memnew(BoneMapperItem(bone_map, skeleton_bone_names, bn)));
+ mapper_item_vbox->add_child(bone_mapper_items[i]);
+ }
+ }
+
+ update_group_idx();
+ recreate_editor();
+}
+
+void BoneMapper::_update_state() {
+ int len = bone_mapper_buttons.size();
+ for (int i = 0; i < len; i++) {
+ StringName pbn = bone_mapper_buttons[i]->get_profile_bone_name();
+ StringName sbn = bone_map->get_skeleton_bone_name(pbn);
+ int bone_idx = skeleton->find_bone(sbn);
+ if (bone_idx >= 0) {
+ if (bone_map->get_skeleton_bone_name_count(sbn) == 1) {
+ Ref<SkeletonProfile> prof = bone_map->get_profile();
+
+ StringName parent_name = prof->get_bone_parent(prof->find_bone(pbn));
+ Vector<int> prof_parent_bones;
+ while (parent_name != StringName()) {
+ prof_parent_bones.push_back(skeleton->find_bone(bone_map->get_skeleton_bone_name(parent_name)));
+ if (prof->find_bone(parent_name) == -1) {
+ break;
+ }
+ parent_name = prof->get_bone_parent(prof->find_bone(parent_name));
+ }
+
+ int parent_id = skeleton->get_bone_parent(bone_idx);
+ Vector<int> skel_parent_bones;
+ while (parent_id >= 0) {
+ skel_parent_bones.push_back(parent_id);
+ parent_id = skeleton->get_bone_parent(parent_id);
+ }
+
+ bool is_broken = false;
+ for (int j = 0; j < prof_parent_bones.size(); j++) {
+ if (prof_parent_bones[j] != -1 && !skel_parent_bones.has(prof_parent_bones[j])) {
+ is_broken = true;
+ }
+ }
+
+ if (is_broken) {
+ bone_mapper_buttons[i]->set_state(BoneMapperButton::BONE_MAP_STATE_ERROR);
+ } else {
+ bone_mapper_buttons[i]->set_state(BoneMapperButton::BONE_MAP_STATE_SET);
+ }
+ } else {
+ bone_mapper_buttons[i]->set_state(BoneMapperButton::BONE_MAP_STATE_ERROR);
+ }
+ } else {
+ if (bone_mapper_buttons[i]->is_require()) {
+ bone_mapper_buttons[i]->set_state(BoneMapperButton::BONE_MAP_STATE_MISSING);
+ } else {
+ bone_mapper_buttons[i]->set_state(BoneMapperButton::BONE_MAP_STATE_UNSET);
+ }
+ }
+ }
+}
+
+void BoneMapper::_value_changed(const String &p_property, Variant p_value, const String &p_name, bool p_changing) {
+ set(p_property, p_value);
+ recreate_editor();
+}
+
+void BoneMapper::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("set_current_group_idx", "current_group_idx"), &BoneMapper::set_current_group_idx);
+ ClassDB::bind_method(D_METHOD("get_current_group_idx"), &BoneMapper::get_current_group_idx);
+ ClassDB::bind_method(D_METHOD("set_current_bone_idx", "current_bone_idx"), &BoneMapper::set_current_bone_idx);
+ ClassDB::bind_method(D_METHOD("get_current_bone_idx"), &BoneMapper::get_current_bone_idx);
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "current_group_idx"), "set_current_group_idx", "get_current_group_idx");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "current_bone_idx"), "set_current_bone_idx", "get_current_bone_idx");
+}
+
+void BoneMapper::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE: {
+ create_editor();
+ bone_map->connect("bone_map_updated", callable_mp(this, &BoneMapper::_update_state));
+ bone_map->connect("profile_updated", callable_mp(this, &BoneMapper::recreate_items));
+ } break;
+ case NOTIFICATION_EXIT_TREE: {
+ clear_items();
+ if (!bone_map.is_null()) {
+ if (bone_map->is_connected("bone_map_updated", callable_mp(this, &BoneMapper::_update_state))) {
+ bone_map->disconnect("bone_map_updated", callable_mp(this, &BoneMapper::_update_state));
+ }
+ if (bone_map->is_connected("profile_updated", callable_mp(this, &BoneMapper::recreate_items))) {
+ bone_map->disconnect("profile_updated", callable_mp(this, &BoneMapper::recreate_items));
+ }
+ }
+ }
+ }
+}
+
+BoneMapper::BoneMapper(Skeleton3D *p_skeleton, Ref<BoneMap> &p_bone_map) {
+ skeleton = p_skeleton;
+ bone_map = p_bone_map;
+}
+
+BoneMapper::~BoneMapper() {
+}
+
+void BoneMapEditor::create_editors() {
+ if (!skeleton) {
+ return;
+ }
+ bone_mapper = memnew(BoneMapper(skeleton, bone_map));
+ add_child(bone_mapper);
+}
+
+void BoneMapEditor::fetch_objects() {
+ skeleton = nullptr;
+ // Hackey... but it may be the easist way to get a selected object from "ImporterScene".
+ SceneImportSettings *si = SceneImportSettings::get_singleton();
+ if (!si) {
+ return;
+ }
+ if (!si->is_visible()) {
+ return;
+ }
+ Node *selected = si->get_selected_node();
+ if (selected) {
+ Skeleton3D *sk = Object::cast_to<Skeleton3D>(selected);
+ if (!sk) {
+ return;
+ }
+ skeleton = sk;
+ } else {
+ // Editor should not exist.
+ skeleton = nullptr;
+ }
+}
+
+void BoneMapEditor::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE: {
+ fetch_objects();
+ create_editors();
+ } break;
+ case NOTIFICATION_EXIT_TREE: {
+ if (bone_mapper) {
+ remove_child(bone_mapper);
+ bone_mapper->queue_delete();
+ }
+ skeleton = nullptr;
+ } break;
+ }
+}
+
+BoneMapEditor::BoneMapEditor(Ref<BoneMap> &p_bone_map) {
+ bone_map = p_bone_map;
+}
+
+BoneMapEditor::~BoneMapEditor() {
+}
+
+bool EditorInspectorPluginBoneMap::can_handle(Object *p_object) {
+ return Object::cast_to<BoneMap>(p_object) != nullptr;
+}
+
+void EditorInspectorPluginBoneMap::parse_begin(Object *p_object) {
+ BoneMap *bm = Object::cast_to<BoneMap>(p_object);
+ if (!bm) {
+ return;
+ }
+ Ref<BoneMap> r(bm);
+ editor = memnew(BoneMapEditor(r));
+ add_custom_control(editor);
+}
+
+BoneMapEditorPlugin::BoneMapEditorPlugin() {
+ // Register properties in editor settings.
+ EDITOR_DEF("editors/bone_mapper/handle_colors/unset", Color(0.3, 0.3, 0.3));
+ EDITOR_DEF("editors/bone_mapper/handle_colors/set", Color(0.1, 0.6, 0.25));
+ EDITOR_DEF("editors/bone_mapper/handle_colors/missing", Color(0.8, 0.2, 0.8));
+ EDITOR_DEF("editors/bone_mapper/handle_colors/error", Color(0.8, 0.2, 0.2));
+
+ Ref<EditorInspectorPluginBoneMap> inspector_plugin;
+ inspector_plugin.instantiate();
+ add_inspector_plugin(inspector_plugin);
+
+ Ref<PostImportPluginSkeletonTrackOrganizer> post_import_plugin_track_organizer;
+ post_import_plugin_track_organizer.instantiate();
+ add_scene_post_import_plugin(post_import_plugin_track_organizer);
+
+ Ref<PostImportPluginSkeletonRenamer> post_import_plugin_renamer;
+ post_import_plugin_renamer.instantiate();
+ add_scene_post_import_plugin(post_import_plugin_renamer);
+
+ Ref<PostImportPluginSkeletonRestFixer> post_import_plugin_rest_fixer;
+ post_import_plugin_rest_fixer.instantiate();
+ add_scene_post_import_plugin(post_import_plugin_rest_fixer);
+}
diff --git a/editor/plugins/bone_map_editor_plugin.h b/editor/plugins/bone_map_editor_plugin.h
new file mode 100644
index 0000000000..339547ea10
--- /dev/null
+++ b/editor/plugins/bone_map_editor_plugin.h
@@ -0,0 +1,180 @@
+/*************************************************************************/
+/* bone_map_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef BONE_MAP_EDITOR_PLUGIN_H
+#define BONE_MAP_EDITOR_PLUGIN_H
+
+#include "editor/editor_node.h"
+#include "editor/editor_plugin.h"
+#include "editor/editor_properties.h"
+#include "scene/3d/skeleton_3d.h"
+#include "scene/gui/color_rect.h"
+#include "scene/gui/dialogs.h"
+#include "scene/resources/bone_map.h"
+#include "scene/resources/texture.h"
+
+class BoneMapperButton : public TextureButton {
+ GDCLASS(BoneMapperButton, TextureButton);
+
+public:
+ enum BoneMapState {
+ BONE_MAP_STATE_UNSET,
+ BONE_MAP_STATE_SET,
+ BONE_MAP_STATE_MISSING,
+ BONE_MAP_STATE_ERROR
+ };
+
+private:
+ StringName profile_bone_name;
+ bool selected = false;
+ bool require = false;
+
+ TextureRect *circle;
+
+ void fetch_textures();
+
+protected:
+ void _notification(int p_what);
+
+public:
+ StringName get_profile_bone_name() const;
+ void set_state(BoneMapState p_state);
+
+ bool is_require() const;
+
+ BoneMapperButton(const StringName p_profile_bone_name, bool p_require, bool p_selected);
+ ~BoneMapperButton();
+};
+
+class BoneMapperItem : public VBoxContainer {
+ GDCLASS(BoneMapperItem, VBoxContainer);
+
+ int button_id = -1;
+ StringName profile_bone_name;
+
+ PackedStringArray skeleton_bone_names;
+ Ref<BoneMap> bone_map;
+
+ EditorPropertyTextEnum *skeleton_bone_selector;
+
+ void _update_property();
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods();
+ virtual void _value_changed(const String &p_property, Variant p_value, const String &p_name, bool p_changing);
+ virtual void create_editor();
+
+public:
+ void assign_button_id(int p_button_id);
+
+ BoneMapperItem(Ref<BoneMap> &p_bone_map, PackedStringArray p_skeleton_bone_names, const StringName &p_profile_bone_name = StringName());
+ ~BoneMapperItem();
+};
+
+class BoneMapper : public VBoxContainer {
+ GDCLASS(BoneMapper, VBoxContainer);
+
+ Skeleton3D *skeleton;
+ Ref<BoneMap> bone_map;
+
+ Vector<BoneMapperItem *> bone_mapper_items;
+
+ VBoxContainer *mapper_item_vbox;
+ HSeparator *separator;
+
+ int current_group_idx = 0;
+ int current_bone_idx = -1;
+
+ AspectRatioContainer *bone_mapper_field;
+ EditorPropertyEnum *profile_group_selector;
+ ColorRect *profile_bg;
+ TextureRect *profile_texture;
+ Vector<BoneMapperButton *> bone_mapper_buttons;
+
+ void create_editor();
+ void recreate_editor();
+ void clear_items();
+ void recreate_items();
+ void update_group_idx();
+ void _update_state();
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods();
+ virtual void _value_changed(const String &p_property, Variant p_value, const String &p_name, bool p_changing);
+
+public:
+ void set_current_group_idx(int p_group_idx);
+ int get_current_group_idx() const;
+ void set_current_bone_idx(int p_bone_idx);
+ int get_current_bone_idx() const;
+
+ BoneMapper(Skeleton3D *p_skeleton, Ref<BoneMap> &p_bone_map);
+ ~BoneMapper();
+};
+
+class BoneMapEditor : public VBoxContainer {
+ GDCLASS(BoneMapEditor, VBoxContainer);
+
+ Skeleton3D *skeleton;
+ Ref<BoneMap> bone_map;
+ BoneMapper *bone_mapper;
+
+ void fetch_objects();
+ void clear_editors();
+ void create_editors();
+
+protected:
+ void _notification(int p_what);
+
+public:
+ BoneMapEditor(Ref<BoneMap> &p_bone_map);
+ ~BoneMapEditor();
+};
+
+class EditorInspectorPluginBoneMap : public EditorInspectorPlugin {
+ GDCLASS(EditorInspectorPluginBoneMap, EditorInspectorPlugin);
+ BoneMapEditor *editor;
+
+public:
+ virtual bool can_handle(Object *p_object) override;
+ virtual void parse_begin(Object *p_object) override;
+};
+
+class BoneMapEditorPlugin : public EditorPlugin {
+ GDCLASS(BoneMapEditorPlugin, EditorPlugin);
+
+public:
+ virtual String get_name() const override { return "BoneMap"; }
+ BoneMapEditorPlugin();
+};
+
+#endif // BONE_MAP_EDITOR_PLUGIN_H
diff --git a/editor/plugins/camera_3d_editor_plugin.h b/editor/plugins/camera_3d_editor_plugin.h
index a8164f9b85..a969b31976 100644
--- a/editor/plugins/camera_3d_editor_plugin.h
+++ b/editor/plugins/camera_3d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef CAMERA_EDITOR_PLUGIN_H
-#define CAMERA_EDITOR_PLUGIN_H
+#ifndef CAMERA_3D_EDITOR_PLUGIN_H
+#define CAMERA_3D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/3d/camera_3d.h"
@@ -68,4 +68,4 @@ public:
~Camera3DEditorPlugin();
};
-#endif // CAMERA_EDITOR_PLUGIN_H
+#endif // CAMERA_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index d28629b41a..5682df845e 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -40,6 +40,7 @@
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
#include "editor/editor_toaster.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/animation_player_editor_plugin.h"
#include "editor/plugins/script_editor_plugin.h"
#include "editor/scene_tree_dock.h"
@@ -50,8 +51,10 @@
#include "scene/2d/skeleton_2d.h"
#include "scene/2d/sprite_2d.h"
#include "scene/2d/touch_screen_button.h"
+#include "scene/gui/flow_container.h"
#include "scene/gui/grid_container.h"
#include "scene/gui/nine_patch_rect.h"
+#include "scene/gui/separator.h"
#include "scene/gui/subviewport_container.h"
#include "scene/gui/view_panner.h"
#include "scene/main/canvas_layer.h"
@@ -813,9 +816,17 @@ Vector2 CanvasItemEditor::_position_to_anchor(const Control *p_control, Vector2
}
void CanvasItemEditor::_save_canvas_item_state(List<CanvasItem *> p_canvas_items, bool save_bones) {
+ original_transform = Transform2D();
+ bool transform_stored = false;
+
for (CanvasItem *canvas_item : p_canvas_items) {
CanvasItemEditorSelectedItem *se = editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item);
if (se) {
+ if (!transform_stored) {
+ original_transform = canvas_item->get_global_transform();
+ transform_stored = true;
+ }
+
se->undo_state = canvas_item->_edit_get_state();
se->pre_drag_xform = canvas_item->get_global_transform_with_canvas();
if (canvas_item->_edit_use_rect()) {
@@ -1193,7 +1204,7 @@ bool CanvasItemEditor::_gui_input_rulers_and_guides(const Ref<InputEvent> &p_eve
}
snap_target[0] = SNAP_TARGET_NONE;
snap_target[1] = SNAP_TARGET_NONE;
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -1284,10 +1295,12 @@ void CanvasItemEditor::_pan_callback(Vector2 p_scroll_vec) {
}
void CanvasItemEditor::_zoom_callback(Vector2 p_scroll_vec, Vector2 p_origin, bool p_alt) {
- zoom_widget->set_zoom_by_increments(-1, p_alt);
- if (!Math::is_equal_approx(p_scroll_vec.y, (real_t)1.0)) {
+ int scroll_sign = (int)SIGN(p_scroll_vec.y);
+ // Inverted so that scrolling up (-1) zooms in, scrolling down (+1) zooms out.
+ zoom_widget->set_zoom_by_increments(-scroll_sign, p_alt);
+ if (!Math::is_equal_approx(ABS(p_scroll_vec.y), (real_t)1.0)) {
// Handle high-precision (analog) scrolling.
- zoom_widget->set_zoom(zoom * ((zoom_widget->get_zoom() / zoom - 1.f) * p_scroll_vec.y + 1.f));
+ zoom_widget->set_zoom(zoom * ((zoom_widget->get_zoom() / zoom - 1.f) * ABS(p_scroll_vec.y) + 1.f));
}
_zoom_on_position(zoom_widget->get_zoom(), p_origin);
}
@@ -1359,14 +1372,14 @@ bool CanvasItemEditor::_gui_input_pivot(const Ref<InputEvent> &p_event) {
drag_selection[0]->get_name(),
drag_selection[0]->_edit_get_pivot().x,
drag_selection[0]->_edit_get_pivot().y));
- drag_type = DRAG_NONE;
+ _reset_drag();
return true;
}
// Cancel a drag
if (b.is_valid() && b->get_button_index() == MouseButton::RIGHT && b->is_pressed()) {
_restore_canvas_item_state(drag_selection);
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -1442,14 +1455,14 @@ bool CanvasItemEditor::_gui_input_rotate(const Ref<InputEvent> &p_event) {
_insert_animation_keys(false, true, false, true);
}
- drag_type = DRAG_NONE;
+ _reset_drag();
return true;
}
// Cancel a drag
if (b.is_valid() && b->get_button_index() == MouseButton::RIGHT && b->is_pressed()) {
_restore_canvas_item_state(drag_selection);
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -1604,14 +1617,14 @@ bool CanvasItemEditor::_gui_input_anchors(const Ref<InputEvent> &p_event) {
_commit_canvas_item_state(
drag_selection,
vformat(TTR("Move CanvasItem \"%s\" Anchor"), drag_selection[0]->get_name()));
- drag_type = DRAG_NONE;
+ _reset_drag();
return true;
}
// Cancel a drag
if (b.is_valid() && b->get_button_index() == MouseButton::RIGHT && b->is_pressed()) {
_restore_canvas_item_state(drag_selection);
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -1810,7 +1823,7 @@ bool CanvasItemEditor::_gui_input_resize(const Ref<InputEvent> &p_event) {
snap_target[0] = SNAP_TARGET_NONE;
snap_target[1] = SNAP_TARGET_NONE;
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -1820,7 +1833,7 @@ bool CanvasItemEditor::_gui_input_resize(const Ref<InputEvent> &p_event) {
_restore_canvas_item_state(drag_selection);
snap_target[0] = SNAP_TARGET_NONE;
snap_target[1] = SNAP_TARGET_NONE;
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -1949,7 +1962,7 @@ bool CanvasItemEditor::_gui_input_scale(const Ref<InputEvent> &p_event) {
_insert_animation_keys(false, false, true, true);
}
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -1957,7 +1970,7 @@ bool CanvasItemEditor::_gui_input_scale(const Ref<InputEvent> &p_event) {
// Cancel a drag
if (b.is_valid() && b->get_button_index() == MouseButton::RIGHT && b->is_pressed()) {
_restore_canvas_item_state(drag_selection);
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -2082,7 +2095,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
snap_target[0] = SNAP_TARGET_NONE;
snap_target[1] = SNAP_TARGET_NONE;
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -2092,7 +2105,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
_restore_canvas_item_state(drag_selection, true);
snap_target[0] = SNAP_TARGET_NONE;
snap_target[1] = SNAP_TARGET_NONE;
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -2199,7 +2212,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
drag_selection[0]->_edit_get_position().y),
true);
}
- drag_type = DRAG_NONE;
+ _reset_drag();
}
viewport->update();
return true;
@@ -2271,7 +2284,7 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
}
selection_menu_additive_selection = b->is_shift_pressed();
- selection_menu->set_position(get_screen_position() + b->get_position());
+ selection_menu->set_position(viewport->get_screen_transform().xform(b->get_position()));
selection_menu->reset_size();
selection_menu->popup();
return true;
@@ -2350,7 +2363,7 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
if (drag_type == DRAG_QUEUED) {
if (b.is_valid() && !b->is_pressed()) {
- drag_type = DRAG_NONE;
+ _reset_drag();
return true;
}
if (m.is_valid()) {
@@ -2401,14 +2414,14 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
}
}
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
if (b.is_valid() && b->is_pressed() && b->get_button_index() == MouseButton::RIGHT) {
// Cancel box selection
- drag_type = DRAG_NONE;
+ _reset_drag();
viewport->update();
return true;
}
@@ -2667,7 +2680,7 @@ void CanvasItemEditor::_draw_text_at_position(Point2 p_position, String p_string
color.a = 0.8;
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
- Size2 text_size = font->get_string_size(p_string, font_size);
+ Size2 text_size = font->get_string_size(p_string, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
switch (p_side) {
case SIDE_LEFT:
p_position += Vector2(-text_size.x - 5, text_size.y / 2);
@@ -2739,16 +2752,18 @@ void CanvasItemEditor::_draw_guides() {
String str = TS->format_number(vformat("%d px", Math::round(xform.affine_inverse().xform(dragged_guide_pos).x)));
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts"));
int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts"));
- Size2 text_size = font->get_string_size(str, font_size);
- viewport->draw_string(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color, outline_size, outline_color);
+ Size2 text_size = font->get_string_size(str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
+ viewport->draw_string_outline(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color);
viewport->draw_line(Point2(dragged_guide_pos.x, 0), Point2(dragged_guide_pos.x, viewport->get_size().y), guide_color, Math::round(EDSCALE));
}
if (drag_type == DRAG_DOUBLE_GUIDE || drag_type == DRAG_H_GUIDE) {
String str = TS->format_number(vformat("%d px", Math::round(xform.affine_inverse().xform(dragged_guide_pos).y)));
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts"));
int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts"));
- Size2 text_size = font->get_string_size(str, font_size);
- viewport->draw_string(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color, outline_size, outline_color);
+ Size2 text_size = font->get_string_size(str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
+ viewport->draw_string_outline(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color);
viewport->draw_line(Point2(0, dragged_guide_pos.y), Point2(viewport->get_size().x, dragged_guide_pos.y), guide_color, Math::round(EDSCALE));
}
}
@@ -2780,10 +2795,10 @@ void CanvasItemEditor::_draw_rulers() {
if (grid_snap_active || _is_grid_visible()) {
List<CanvasItem *> selection = _get_edited_canvas_items();
if (snap_relative && selection.size() > 0) {
- ruler_transform.translate(_get_encompassing_rect_from_list(selection).position);
+ ruler_transform.translate_local(_get_encompassing_rect_from_list(selection).position);
ruler_transform.scale_basis(grid_step * Math::pow(2.0, grid_step_multiplier));
} else {
- ruler_transform.translate(grid_offset);
+ ruler_transform.translate_local(grid_offset);
ruler_transform.scale_basis(grid_step * Math::pow(2.0, grid_step_multiplier));
}
while ((transform * ruler_transform).get_scale().x < 50 || (transform * ruler_transform).get_scale().y < 50) {
@@ -2960,13 +2975,15 @@ void CanvasItemEditor::_draw_ruler_tool() {
text_pos.y = CLAMP(text_pos.y, text_height * 1.5, viewport->get_rect().size.y - text_height * 1.5);
if (begin.is_equal_approx(end)) {
- viewport->draw_string(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color);
Ref<Texture2D> position_icon = get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons"));
viewport->draw_texture(get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")), (ruler_tool_origin - view_offset) * zoom - position_icon->get_size() / 2);
return;
}
- viewport->draw_string(font, text_pos, TS->format_number(vformat("%.1f px", length_vector.length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos, TS->format_number(vformat("%.1f px", length_vector.length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos, TS->format_number(vformat("%.1f px", length_vector.length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color);
bool draw_secondary_lines = !(Math::is_equal_approx(begin.y, corner.y) || Math::is_equal_approx(end.x, corner.x));
@@ -2984,16 +3001,19 @@ void CanvasItemEditor::_draw_ruler_tool() {
Point2 text_pos2 = text_pos;
text_pos2.x = begin.x < text_pos.x ? MIN(text_pos.x - text_width, begin.x - text_width / 2) : MAX(text_pos.x + text_width, begin.x - text_width / 2);
- viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.y)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.y)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.y)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color);
Point2 v_angle_text_pos = Point2();
v_angle_text_pos.x = CLAMP(begin.x - angle_text_width / 2, angle_text_width / 2, viewport->get_rect().size.x - angle_text_width);
v_angle_text_pos.y = begin.y < end.y ? MIN(text_pos2.y - 2 * text_height, begin.y - text_height * 0.5) : MAX(text_pos2.y + text_height * 3, begin.y + text_height * 1.5);
- viewport->draw_string(font, v_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), vertical_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, v_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), vertical_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, v_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), vertical_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color);
text_pos2 = text_pos;
text_pos2.y = end.y < text_pos.y ? MIN(text_pos.y - text_height * 2, end.y - text_height / 2) : MAX(text_pos.y + text_height * 2, end.y - text_height / 2);
- viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.x)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.x)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.x)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color);
Point2 h_angle_text_pos = Point2();
h_angle_text_pos.x = CLAMP(end.x - angle_text_width / 2, angle_text_width / 2, viewport->get_rect().size.x - angle_text_width);
@@ -3010,7 +3030,8 @@ void CanvasItemEditor::_draw_ruler_tool() {
h_angle_text_pos.y = MIN(text_pos.y - height_multiplier * text_height, MIN(end.y - text_height * 0.5, text_pos2.y - height_multiplier * text_height));
}
}
- viewport->draw_string(font, h_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), horizontal_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, h_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), horizontal_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, h_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), horizontal_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color);
// Angle arcs
int arc_point_count = 8;
@@ -3045,17 +3066,21 @@ void CanvasItemEditor::_draw_ruler_tool() {
text_pos.y = CLAMP(text_pos.y, text_height * 2.5, viewport->get_rect().size.y - text_height / 2);
if (draw_secondary_lines) {
- viewport->draw_string(font, text_pos, TS->format_number(vformat("%.2f " + TTR("units"), (length_vector / grid_step).length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos, TS->format_number(vformat("%.2f " + TTR("units"), (length_vector / grid_step).length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos, TS->format_number(vformat("%.2f " + TTR("units"), (length_vector / grid_step).length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color);
Point2 text_pos2 = text_pos;
text_pos2.x = begin.x < text_pos.x ? MIN(text_pos.x - text_width, begin.x - text_width / 2) : MAX(text_pos.x + text_width, begin.x - text_width / 2);
- viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.y / grid_step.y))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.y / grid_step.y))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.y / grid_step.y))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color);
text_pos2 = text_pos;
text_pos2.y = end.y < text_pos.y ? MIN(text_pos.y - text_height * 2, end.y + text_height / 2) : MAX(text_pos.y + text_height * 2, end.y + text_height / 2);
- viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.x / grid_step.x))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.x / grid_step.x))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.x / grid_step.x))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color);
} else {
- viewport->draw_string(font, text_pos, TS->format_number(vformat("%d " + TTR("units"), roundf((length_vector / grid_step).length()))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color);
+ viewport->draw_string_outline(font, text_pos, TS->format_number(vformat("%d " + TTR("units"), roundf((length_vector / grid_step).length()))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
+ viewport->draw_string(font, text_pos, TS->format_number(vformat("%d " + TTR("units"), roundf((length_vector / grid_step).length()))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color);
}
}
} else {
@@ -3601,7 +3626,7 @@ void CanvasItemEditor::_draw_hover() {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
- Size2 node_name_size = font->get_string_size(node_name, font_size);
+ Size2 node_name_size = font->get_string_size(node_name, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
Size2 item_size = Size2(node_icon->get_size().x + 4 + node_name_size.x, MAX(node_icon->get_size().y, node_name_size.y - 3));
Point2 pos = transform.xform(hovering_results[i].position) - Point2(0, item_size.y) + (Point2(node_icon->get_size().x, -node_icon->get_size().y) / 4);
@@ -3622,6 +3647,67 @@ void CanvasItemEditor::_draw_hover() {
}
}
+void CanvasItemEditor::_draw_transform_message() {
+ if (drag_type == DRAG_NONE || drag_selection.is_empty() || !drag_selection.front()->get()) {
+ return;
+ }
+ String transform_message;
+ Transform2D current_transform = drag_selection.front()->get()->get_global_transform();
+
+ double snap = EDITOR_GET("interface/inspector/default_float_step");
+ int snap_step_decimals = Math::range_step_decimals(snap);
+#define FORMAT(value) (TS->format_number(String::num(value, snap_step_decimals)))
+
+ switch (drag_type) {
+ case DRAG_MOVE:
+ case DRAG_MOVE_X:
+ case DRAG_MOVE_Y: {
+ Vector2 delta = current_transform.get_origin() - original_transform.get_origin();
+ if (drag_type == DRAG_MOVE) {
+ transform_message = TTR("Moving:") + " (" + FORMAT(delta.x) + ", " + FORMAT(delta.y) + ") px";
+ } else if (drag_type == DRAG_MOVE_X) {
+ transform_message = TTR("Moving:") + " " + FORMAT(delta.x) + " px";
+ } else if (drag_type == DRAG_MOVE_Y) {
+ transform_message = TTR("Moving:") + " " + FORMAT(delta.y) + " px";
+ }
+ } break;
+
+ case DRAG_ROTATE: {
+ real_t delta = Math::rad2deg(current_transform.get_rotation() - original_transform.get_rotation());
+ transform_message = TTR("Rotating:") + " " + FORMAT(delta) + String::utf8(" °");
+ } break;
+
+ case DRAG_SCALE_X:
+ case DRAG_SCALE_Y:
+ case DRAG_SCALE_BOTH: {
+ Vector2 original_scale = (Math::is_zero_approx(original_transform.get_scale().x) || Math::is_zero_approx(original_transform.get_scale().y)) ? Vector2(CMP_EPSILON, CMP_EPSILON) : original_transform.get_scale();
+ Vector2 delta = current_transform.get_scale() / original_scale;
+ if (drag_type == DRAG_SCALE_BOTH) {
+ transform_message = TTR("Scaling:") + String::utf8(" ×(") + FORMAT(delta.x) + ", " + FORMAT(delta.y) + ")";
+ } else if (drag_type == DRAG_SCALE_X) {
+ transform_message = TTR("Scaling:") + String::utf8(" ×") + FORMAT(delta.x);
+ } else if (drag_type == DRAG_SCALE_Y) {
+ transform_message = TTR("Scaling:") + String::utf8(" ×") + FORMAT(delta.y);
+ }
+ } break;
+
+ default:
+ break;
+ }
+#undef FORMAT
+
+ if (transform_message.is_empty()) {
+ return;
+ }
+
+ Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
+ int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
+ Point2 msgpos = Point2(RULER_WIDTH + 5 * EDSCALE, viewport->get_size().y - 20 * EDSCALE);
+ viewport->draw_string(font, msgpos + Point2(1, 1), transform_message, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(0, 0, 0, 0.8));
+ viewport->draw_string(font, msgpos + Point2(-1, -1), transform_message, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(0, 0, 0, 0.8));
+ viewport->draw_string(font, msgpos, transform_message, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1, 1, 1, 1));
+}
+
void CanvasItemEditor::_draw_locks_and_groups(Node *p_node, const Transform2D &p_parent_xform, const Transform2D &p_canvas_xform) {
ERR_FAIL_COND(!p_node);
@@ -3733,6 +3819,7 @@ void CanvasItemEditor::_draw_viewport() {
_draw_smart_snapping();
_draw_focus();
_draw_hover();
+ _draw_transform_message();
}
void CanvasItemEditor::update_viewport() {
@@ -3777,7 +3864,7 @@ void CanvasItemEditor::_update_editor_settings() {
key_auto_insert_button->add_theme_color_override("icon_pressed_color", key_auto_color.lerp(Color(1, 0, 0), 0.55));
animation_menu->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons")));
- _update_context_menu_stylebox();
+ context_menu_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("ContextualToolbar"), SNAME("EditorStyles")));
panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/2d_editor_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EditorSettings::get_singleton()->get("editors/panning/simple_panning")));
pan_speed = int(EditorSettings::get_singleton()->get("editors/panning/2d_editor_pan_speed"));
@@ -3897,15 +3984,19 @@ void CanvasItemEditor::_notification(int p_what) {
void CanvasItemEditor::_selection_changed() {
if (!selected_from_canvas) {
- drag_type = DRAG_NONE;
+ _reset_drag();
}
selected_from_canvas = false;
}
+void CanvasItemEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
void CanvasItemEditor::edit(CanvasItem *p_canvas_item) {
Array selection = editor_selection->get_selected_nodes();
if (selection.size() != 1 || Object::cast_to<Node>(selection[0]) != p_canvas_item) {
- drag_type = DRAG_NONE;
+ _reset_drag();
// Clear the selection
editor_selection->clear(); //_clear_canvas_items();
@@ -3913,18 +4004,6 @@ void CanvasItemEditor::edit(CanvasItem *p_canvas_item) {
}
}
-void CanvasItemEditor::_update_context_menu_stylebox() {
- // This must be called when the theme changes to follow the new accent color.
- Ref<StyleBoxFlat> context_menu_stylebox = memnew(StyleBoxFlat);
- const Color accent_color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("accent_color"), SNAME("Editor"));
- context_menu_stylebox->set_bg_color(accent_color * Color(1, 1, 1, 0.1));
- // Add an underline to the StyleBox, but prevent its minimum vertical size from changing.
- context_menu_stylebox->set_border_color(accent_color);
- context_menu_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE));
- context_menu_stylebox->set_default_margin(SIDE_BOTTOM, 0);
- context_menu_container->add_theme_style_override("panel", context_menu_stylebox);
-}
-
void CanvasItemEditor::_update_scrollbars() {
updating_scroll = true;
@@ -4099,6 +4178,8 @@ void CanvasItemEditor::_button_tool_select(int p_index) {
void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, bool p_scale, bool p_on_existing) {
const HashMap<Node *, Object *> &selection = editor_selection->get_selection();
+ AnimationTrackEditor *te = AnimationPlayerEditor::get_singleton()->get_track_editor();
+ te->make_insert_queue();
for (const KeyValue<Node *, Object *> &E : selection) {
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
if (!canvas_item || !canvas_item->is_visible_in_tree()) {
@@ -4113,13 +4194,13 @@ void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation,
Node2D *n2d = Object::cast_to<Node2D>(canvas_item);
if (key_pos && p_location) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(n2d, "position", n2d->get_position(), p_on_existing);
+ te->insert_node_value_key(n2d, "position", n2d->get_position(), p_on_existing);
}
if (key_rot && p_rotation) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(n2d, "rotation", n2d->get_rotation(), p_on_existing);
+ te->insert_node_value_key(n2d, "rotation", n2d->get_rotation(), p_on_existing);
}
if (key_scale && p_scale) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(n2d, "scale", n2d->get_scale(), p_on_existing);
+ te->insert_node_value_key(n2d, "scale", n2d->get_scale(), p_on_existing);
}
if (n2d->has_meta("_edit_bone_") && n2d->get_parent_item()) {
@@ -4145,13 +4226,13 @@ void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation,
if (has_chain && ik_chain.size()) {
for (Node2D *&F : ik_chain) {
if (key_pos) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(F, "position", F->get_position(), p_on_existing);
+ te->insert_node_value_key(F, "position", F->get_position(), p_on_existing);
}
if (key_rot) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(F, "rotation", F->get_rotation(), p_on_existing);
+ te->insert_node_value_key(F, "rotation", F->get_rotation(), p_on_existing);
}
if (key_scale) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(F, "scale", F->get_scale(), p_on_existing);
+ te->insert_node_value_key(F, "scale", F->get_scale(), p_on_existing);
}
}
}
@@ -4161,16 +4242,17 @@ void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation,
Control *ctrl = Object::cast_to<Control>(canvas_item);
if (key_pos) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(ctrl, "rect_position", ctrl->get_position(), p_on_existing);
+ te->insert_node_value_key(ctrl, "position", ctrl->get_position(), p_on_existing);
}
if (key_rot) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(ctrl, "rect_rotation", ctrl->get_rotation(), p_on_existing);
+ te->insert_node_value_key(ctrl, "rotation", ctrl->get_rotation(), p_on_existing);
}
if (key_scale) {
- AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(ctrl, "rect_size", ctrl->get_size(), p_on_existing);
+ te->insert_node_value_key(ctrl, "size", ctrl->get_size(), p_on_existing);
}
}
}
+ te->commit_insert_queue();
}
void CanvasItemEditor::_update_override_camera_button(bool p_game_running) {
@@ -4626,6 +4708,11 @@ void CanvasItemEditor::_focus_selection(int p_op) {
}
}
+void CanvasItemEditor::_reset_drag() {
+ drag_type = DRAG_NONE;
+ drag_selection.clear();
+}
+
void CanvasItemEditor::_bind_methods() {
ClassDB::bind_method(D_METHOD("_update_override_camera_button", "game_running"), &CanvasItemEditor::_update_override_camera_button);
ClassDB::bind_method("_get_editor_data", &CanvasItemEditor::_get_editor_data);
@@ -4846,11 +4933,11 @@ void CanvasItemEditor::set_state(const Dictionary &p_state) {
void CanvasItemEditor::add_control_to_menu_panel(Control *p_control) {
ERR_FAIL_COND(!p_control);
- hbc_context_menu->add_child(p_control);
+ context_menu_hbox->add_child(p_control);
}
void CanvasItemEditor::remove_control_from_menu_panel(Control *p_control) {
- hbc_context_menu->remove_child(p_control);
+ context_menu_hbox->remove_child(p_control);
}
void CanvasItemEditor::add_control_to_left_panel(Control *p_control) {
@@ -4896,12 +4983,17 @@ CanvasItemEditor::CanvasItemEditor() {
SceneTreeDock::get_singleton()->connect("node_created", callable_mp(this, &CanvasItemEditor::_node_created));
SceneTreeDock::get_singleton()->connect("add_node_used", callable_mp(this, &CanvasItemEditor::_reset_create_position));
- EditorNode::get_singleton()->call_deferred(SNAME("connect"), "play_pressed", Callable(this, "_update_override_camera_button"), make_binds(true));
- EditorNode::get_singleton()->call_deferred(SNAME("connect"), "stop_pressed", Callable(this, "_update_override_camera_button"), make_binds(false));
+ EditorNode::get_singleton()->call_deferred(SNAME("connect"), "play_pressed", Callable(this, "_update_override_camera_button").bind(true));
+ EditorNode::get_singleton()->call_deferred(SNAME("connect"), "stop_pressed", Callable(this, "_update_override_camera_button").bind(false));
- hb = memnew(HBoxContainer);
- add_child(hb);
- hb->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ // A fluid container for all toolbars.
+ HFlowContainer *main_flow = memnew(HFlowContainer);
+ add_child(main_flow);
+
+ // Main toolbars.
+ HBoxContainer *main_menu_hbox = memnew(HBoxContainer);
+ main_menu_hbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
+ main_flow->add_child(main_menu_hbox);
bottom_split = memnew(VSplitContainer);
add_child(bottom_split);
@@ -4926,12 +5018,44 @@ CanvasItemEditor::CanvasItemEditor() {
SubViewportContainer *scene_tree = memnew(SubViewportContainer);
viewport_scrollable->add_child(scene_tree);
scene_tree->set_stretch(true);
- scene_tree->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ scene_tree->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
scene_tree->add_child(EditorNode::get_singleton()->get_scene_root());
controls_vb = memnew(VBoxContainer);
controls_vb->set_begin(Point2(5, 5));
+ // To ensure that scripts can parse the list of shortcuts correctly, we have to define
+ // those shortcuts one by one. Define shortcut before using it (by EditorZoomWidget).
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_3.125_percent", TTR("Zoom to 3.125%"),
+ { int32_t(KeyModifierMask::SHIFT | Key::KEY_5), int32_t(KeyModifierMask::SHIFT | Key::KP_5) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_6.25_percent", TTR("Zoom to 6.25%"),
+ { int32_t(KeyModifierMask::SHIFT | Key::KEY_4), int32_t(KeyModifierMask::SHIFT | Key::KP_4) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_12.5_percent", TTR("Zoom to 12.5%"),
+ { int32_t(KeyModifierMask::SHIFT | Key::KEY_3), int32_t(KeyModifierMask::SHIFT | Key::KP_3) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_25_percent", TTR("Zoom to 25%"),
+ { int32_t(KeyModifierMask::SHIFT | Key::KEY_2), int32_t(KeyModifierMask::SHIFT | Key::KP_2) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_50_percent", TTR("Zoom to 50%"),
+ { int32_t(KeyModifierMask::SHIFT | Key::KEY_1), int32_t(KeyModifierMask::SHIFT | Key::KP_1) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_100_percent", TTR("Zoom to 100%"),
+ { int32_t(Key::KEY_1), int32_t(KeyModifierMask::CMD | Key::KEY_0), int32_t(Key::KP_1), int32_t(KeyModifierMask::CMD | Key::KP_0) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_200_percent", TTR("Zoom to 200%"),
+ { int32_t(Key::KEY_2), int32_t(Key::KP_2) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_400_percent", TTR("Zoom to 400%"),
+ { int32_t(Key::KEY_3), int32_t(Key::KP_3) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_800_percent", TTR("Zoom to 800%"),
+ { int32_t(Key::KEY_4), int32_t(Key::KP_4) });
+
+ ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_1600_percent", TTR("Zoom to 1600%"),
+ { int32_t(Key::KEY_5), int32_t(Key::KP_5) });
+
zoom_widget = memnew(EditorZoomWidget);
controls_vb->add_child(zoom_widget);
zoom_widget->set_anchors_and_offsets_preset(Control::PRESET_TOP_LEFT, Control::PRESET_MODE_MINSIZE, 2 * EDSCALE);
@@ -4943,7 +5067,7 @@ CanvasItemEditor::CanvasItemEditor() {
viewport = memnew(CanvasItemEditorViewport(this));
viewport_scrollable->add_child(viewport);
viewport->set_mouse_filter(MOUSE_FILTER_PASS);
- viewport->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ viewport->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
viewport->set_clip_contents(true);
viewport->set_focus_mode(FOCUS_ALL);
viewport->connect("draw", callable_mp(this, &CanvasItemEditor::_draw_viewport));
@@ -4966,87 +5090,87 @@ CanvasItemEditor::CanvasItemEditor() {
// This prevents the first button's hover/pressed effect from "touching" the panel's border,
// which looks ugly.
Control *margin_left = memnew(Control);
- hb->add_child(margin_left);
+ main_menu_hbox->add_child(margin_left);
margin_left->set_custom_minimum_size(Size2(2, 0) * EDSCALE);
select_button = memnew(Button);
select_button->set_flat(true);
- hb->add_child(select_button);
+ main_menu_hbox->add_child(select_button);
select_button->set_toggle_mode(true);
- select_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_SELECT));
+ select_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_SELECT));
select_button->set_pressed(true);
select_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/select_mode", TTR("Select Mode"), Key::Q));
select_button->set_shortcut_context(this);
select_button->set_tooltip(keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Drag: Rotate selected node around pivot.") + "\n" + TTR("Alt+Drag: Move selected node.") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Alt+Drag: Scale selected node.") + "\n" + TTR("V: Set selected node's pivot position.") + "\n" + TTR("Alt+RMB: Show list of all nodes at position clicked, including locked.") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("RMB: Add node at position clicked."));
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
move_button = memnew(Button);
move_button->set_flat(true);
- hb->add_child(move_button);
+ main_menu_hbox->add_child(move_button);
move_button->set_toggle_mode(true);
- move_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_MOVE));
+ move_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_MOVE));
move_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/move_mode", TTR("Move Mode"), Key::W));
move_button->set_shortcut_context(this);
move_button->set_tooltip(TTR("Move Mode"));
rotate_button = memnew(Button);
rotate_button->set_flat(true);
- hb->add_child(rotate_button);
+ main_menu_hbox->add_child(rotate_button);
rotate_button->set_toggle_mode(true);
- rotate_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_ROTATE));
+ rotate_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_ROTATE));
rotate_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/rotate_mode", TTR("Rotate Mode"), Key::E));
rotate_button->set_shortcut_context(this);
rotate_button->set_tooltip(TTR("Rotate Mode"));
scale_button = memnew(Button);
scale_button->set_flat(true);
- hb->add_child(scale_button);
+ main_menu_hbox->add_child(scale_button);
scale_button->set_toggle_mode(true);
- scale_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_SCALE));
+ scale_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_SCALE));
scale_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/scale_mode", TTR("Scale Mode"), Key::S));
scale_button->set_shortcut_context(this);
scale_button->set_tooltip(TTR("Shift: Scale proportionally."));
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
list_select_button = memnew(Button);
list_select_button->set_flat(true);
- hb->add_child(list_select_button);
+ main_menu_hbox->add_child(list_select_button);
list_select_button->set_toggle_mode(true);
- list_select_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_LIST_SELECT));
+ list_select_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_LIST_SELECT));
list_select_button->set_tooltip(TTR("Show list of selectable nodes at position clicked."));
pivot_button = memnew(Button);
pivot_button->set_flat(true);
- hb->add_child(pivot_button);
+ main_menu_hbox->add_child(pivot_button);
pivot_button->set_toggle_mode(true);
- pivot_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_EDIT_PIVOT));
+ pivot_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_EDIT_PIVOT));
pivot_button->set_tooltip(TTR("Click to change object's rotation pivot."));
pan_button = memnew(Button);
pan_button->set_flat(true);
- hb->add_child(pan_button);
+ main_menu_hbox->add_child(pan_button);
pan_button->set_toggle_mode(true);
- pan_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_PAN));
+ pan_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_PAN));
pan_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/pan_mode", TTR("Pan Mode"), Key::G));
pan_button->set_shortcut_context(this);
pan_button->set_tooltip(TTR("You can also use Pan View shortcut (Space by default) to pan in any mode."));
ruler_button = memnew(Button);
ruler_button->set_flat(true);
- hb->add_child(ruler_button);
+ main_menu_hbox->add_child(ruler_button);
ruler_button->set_toggle_mode(true);
- ruler_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_RULER));
+ ruler_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select).bind(TOOL_RULER));
ruler_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/ruler_mode", TTR("Ruler Mode"), Key::R));
ruler_button->set_shortcut_context(this);
ruler_button->set_tooltip(TTR("Ruler Mode"));
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
smart_snap_button = memnew(Button);
smart_snap_button->set_flat(true);
- hb->add_child(smart_snap_button);
+ main_menu_hbox->add_child(smart_snap_button);
smart_snap_button->set_toggle_mode(true);
smart_snap_button->connect("toggled", callable_mp(this, &CanvasItemEditor::_button_toggle_smart_snap));
smart_snap_button->set_tooltip(TTR("Toggle smart snapping."));
@@ -5055,7 +5179,7 @@ CanvasItemEditor::CanvasItemEditor() {
grid_snap_button = memnew(Button);
grid_snap_button->set_flat(true);
- hb->add_child(grid_snap_button);
+ main_menu_hbox->add_child(grid_snap_button);
grid_snap_button->set_toggle_mode(true);
grid_snap_button->connect("toggled", callable_mp(this, &CanvasItemEditor::_button_toggle_grid_snap));
grid_snap_button->set_tooltip(TTR("Toggle grid snapping."));
@@ -5064,7 +5188,7 @@ CanvasItemEditor::CanvasItemEditor() {
snap_config_menu = memnew(MenuButton);
snap_config_menu->set_shortcut_context(this);
- hb->add_child(snap_config_menu);
+ main_menu_hbox->add_child(snap_config_menu);
snap_config_menu->set_h_size_flags(SIZE_SHRINK_END);
snap_config_menu->set_tooltip(TTR("Snapping Options"));
snap_config_menu->set_switch_on_hover(true);
@@ -5093,46 +5217,46 @@ CanvasItemEditor::CanvasItemEditor() {
smartsnap_config_popup->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/snap_other_nodes", TTR("Snap to Other Nodes")), SNAP_USE_OTHER_NODES);
smartsnap_config_popup->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/snap_guides", TTR("Snap to Guides")), SNAP_USE_GUIDES);
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
lock_button = memnew(Button);
lock_button->set_flat(true);
- hb->add_child(lock_button);
+ main_menu_hbox->add_child(lock_button);
- lock_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(LOCK_SELECTED));
+ lock_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(LOCK_SELECTED));
lock_button->set_tooltip(TTR("Lock selected node, preventing selection and movement."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
lock_button->set_shortcut(ED_SHORTCUT("editor/lock_selected_nodes", TTR("Lock Selected Node(s)"), KeyModifierMask::CMD | Key::L));
unlock_button = memnew(Button);
unlock_button->set_flat(true);
- hb->add_child(unlock_button);
- unlock_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(UNLOCK_SELECTED));
+ main_menu_hbox->add_child(unlock_button);
+ unlock_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(UNLOCK_SELECTED));
unlock_button->set_tooltip(TTR("Unlock selected node, allowing selection and movement."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
unlock_button->set_shortcut(ED_SHORTCUT("editor/unlock_selected_nodes", TTR("Unlock Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::L));
group_button = memnew(Button);
group_button->set_flat(true);
- hb->add_child(group_button);
- group_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(GROUP_SELECTED));
- group_button->set_tooltip(TTR("Makes sure the object's children are not selectable."));
+ main_menu_hbox->add_child(group_button);
+ group_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(GROUP_SELECTED));
+ group_button->set_tooltip(TTR("Make selected node's children not selectable."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
group_button->set_shortcut(ED_SHORTCUT("editor/group_selected_nodes", TTR("Group Selected Node(s)"), KeyModifierMask::CMD | Key::G));
ungroup_button = memnew(Button);
ungroup_button->set_flat(true);
- hb->add_child(ungroup_button);
- ungroup_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(UNGROUP_SELECTED));
- ungroup_button->set_tooltip(TTR("Restores the object's children's ability to be selected."));
+ main_menu_hbox->add_child(ungroup_button);
+ ungroup_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(UNGROUP_SELECTED));
+ ungroup_button->set_tooltip(TTR("Make selected node's children selectable."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
ungroup_button->set_shortcut(ED_SHORTCUT("editor/ungroup_selected_nodes", TTR("Ungroup Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::G));
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
skeleton_menu = memnew(MenuButton);
skeleton_menu->set_shortcut_context(this);
- hb->add_child(skeleton_menu);
+ main_menu_hbox->add_child(skeleton_menu);
skeleton_menu->set_tooltip(TTR("Skeleton Options"));
skeleton_menu->set_switch_on_hover(true);
@@ -5143,24 +5267,25 @@ CanvasItemEditor::CanvasItemEditor() {
p->add_shortcut(ED_SHORTCUT("canvas_item_editor/skeleton_make_bones", TTR("Make Bone2D Node(s) from Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::B), SKELETON_MAKE_BONES);
p->connect("id_pressed", callable_mp(this, &CanvasItemEditor::_popup_callback));
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
override_camera_button = memnew(Button);
override_camera_button->set_flat(true);
- hb->add_child(override_camera_button);
+ main_menu_hbox->add_child(override_camera_button);
override_camera_button->connect("toggled", callable_mp(this, &CanvasItemEditor::_button_override_camera));
override_camera_button->set_toggle_mode(true);
override_camera_button->set_disabled(true);
_update_override_camera_button(false);
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
view_menu = memnew(MenuButton);
- view_menu->set_shortcut_context(this);
+ // TRANSLATORS: Noun, name of the 2D/3D View menus.
view_menu->set_text(TTR("View"));
- hb->add_child(view_menu);
- view_menu->get_popup()->connect("id_pressed", callable_mp(this, &CanvasItemEditor::_popup_callback));
view_menu->set_switch_on_hover(true);
+ view_menu->set_shortcut_context(this);
+ main_menu_hbox->add_child(view_menu);
+ view_menu->get_popup()->connect("id_pressed", callable_mp(this, &CanvasItemEditor::_popup_callback));
p = view_menu->get_popup();
p->set_hide_on_checkable_item_selection(false);
@@ -5192,20 +5317,17 @@ CanvasItemEditor::CanvasItemEditor() {
p->add_separator();
p->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/preview_canvas_scale", TTR("Preview Canvas Scale"), KeyModifierMask::SHIFT | KeyModifierMask::CMD | Key::P), PREVIEW_CANVAS_SCALE);
- hb->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
- context_menu_container = memnew(PanelContainer);
- hbc_context_menu = memnew(HBoxContainer);
- context_menu_container->add_child(hbc_context_menu);
- // Use a custom stylebox to make contextual menu items stand out from the rest.
- // This helps with editor usability as contextual menu items change when selecting nodes,
- // even though it may not be immediately obvious at first.
- hb->add_child(context_menu_container);
- _update_context_menu_stylebox();
+ // Contextual toolbars.
+ context_menu_panel = memnew(PanelContainer);
+ context_menu_hbox = memnew(HBoxContainer);
+ context_menu_panel->add_child(context_menu_hbox);
+ main_flow->add_child(context_menu_panel);
// Animation controls.
animation_hb = memnew(HBoxContainer);
- hbc_context_menu->add_child(animation_hb);
+ context_menu_hbox->add_child(animation_hb);
animation_hb->add_child(memnew(VSeparator));
animation_hb->hide();
@@ -5214,7 +5336,7 @@ CanvasItemEditor::CanvasItemEditor() {
key_loc_button->set_toggle_mode(true);
key_loc_button->set_pressed(true);
key_loc_button->set_focus_mode(FOCUS_NONE);
- key_loc_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(ANIM_INSERT_POS));
+ key_loc_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(ANIM_INSERT_POS));
key_loc_button->set_tooltip(TTR("Translation mask for inserting keys."));
animation_hb->add_child(key_loc_button);
@@ -5223,7 +5345,7 @@ CanvasItemEditor::CanvasItemEditor() {
key_rot_button->set_toggle_mode(true);
key_rot_button->set_pressed(true);
key_rot_button->set_focus_mode(FOCUS_NONE);
- key_rot_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(ANIM_INSERT_ROT));
+ key_rot_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(ANIM_INSERT_ROT));
key_rot_button->set_tooltip(TTR("Rotation mask for inserting keys."));
animation_hb->add_child(key_rot_button);
@@ -5231,14 +5353,14 @@ CanvasItemEditor::CanvasItemEditor() {
key_scale_button->set_flat(true);
key_scale_button->set_toggle_mode(true);
key_scale_button->set_focus_mode(FOCUS_NONE);
- key_scale_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(ANIM_INSERT_SCALE));
+ key_scale_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(ANIM_INSERT_SCALE));
key_scale_button->set_tooltip(TTR("Scale mask for inserting keys."));
animation_hb->add_child(key_scale_button);
key_insert_button = memnew(Button);
key_insert_button->set_flat(true);
key_insert_button->set_focus_mode(FOCUS_NONE);
- key_insert_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback), varray(ANIM_INSERT_KEY));
+ key_insert_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(ANIM_INSERT_KEY));
key_insert_button->set_tooltip(TTR("Insert keys (based on mask)."));
key_insert_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/anim_insert_key", TTR("Insert Key"), Key::INSERT));
key_insert_button->set_shortcut_context(this);
@@ -5279,7 +5401,7 @@ CanvasItemEditor::CanvasItemEditor() {
add_child(selection_menu);
selection_menu->set_min_size(Vector2(100, 0));
selection_menu->connect("id_pressed", callable_mp(this, &CanvasItemEditor::_selection_result_pressed));
- selection_menu->connect("popup_hide", callable_mp(this, &CanvasItemEditor::_selection_menu_hide));
+ selection_menu->connect("popup_hide", callable_mp(this, &CanvasItemEditor::_selection_menu_hide), CONNECT_DEFERRED);
add_node_menu = memnew(PopupMenu);
add_child(add_node_menu);
@@ -5293,19 +5415,6 @@ CanvasItemEditor::CanvasItemEditor() {
// Store the singleton instance.
singleton = this;
- // To ensure that scripts can parse the list of shortcuts correctly, we have to define
- // those shortcuts one by one.
- ED_SHORTCUT("canvas_item_editor/zoom_3.125_percent", TTR("Zoom to 3.125%"), KeyModifierMask::SHIFT | Key::KEY_5);
- ED_SHORTCUT("canvas_item_editor/zoom_6.25_percent", TTR("Zoom to 6.25%"), KeyModifierMask::SHIFT | Key::KEY_4);
- ED_SHORTCUT("canvas_item_editor/zoom_12.5_percent", TTR("Zoom to 12.5%"), KeyModifierMask::SHIFT | Key::KEY_3);
- ED_SHORTCUT("canvas_item_editor/zoom_25_percent", TTR("Zoom to 25%"), KeyModifierMask::SHIFT | Key::KEY_2);
- ED_SHORTCUT("canvas_item_editor/zoom_50_percent", TTR("Zoom to 50%"), KeyModifierMask::SHIFT | Key::KEY_1);
- ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_100_percent", TTR("Zoom to 100%"), { (int32_t)Key::KEY_1, (int32_t)(KeyModifierMask::CMD | Key::KEY_0) });
- ED_SHORTCUT("canvas_item_editor/zoom_200_percent", TTR("Zoom to 200%"), Key::KEY_2);
- ED_SHORTCUT("canvas_item_editor/zoom_400_percent", TTR("Zoom to 400%"), Key::KEY_3);
- ED_SHORTCUT("canvas_item_editor/zoom_800_percent", TTR("Zoom to 800%"), Key::KEY_4);
- ED_SHORTCUT("canvas_item_editor/zoom_1600_percent", TTR("Zoom to 1600%"), Key::KEY_5);
-
set_process_shortcut_input(true);
// Update the menus' checkboxes
@@ -5315,7 +5424,7 @@ CanvasItemEditor::CanvasItemEditor() {
CanvasItemEditor *CanvasItemEditor::singleton = nullptr;
void CanvasItemEditorPlugin::edit(Object *p_object) {
- canvas_item_editor->set_undo_redo(&get_undo_redo());
+ canvas_item_editor->set_undo_redo(EditorNode::get_undo_redo());
canvas_item_editor->edit(Object::cast_to<CanvasItem>(p_object));
}
@@ -5348,7 +5457,7 @@ CanvasItemEditorPlugin::CanvasItemEditorPlugin() {
canvas_item_editor = memnew(CanvasItemEditor);
canvas_item_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL);
EditorNode::get_singleton()->get_main_control()->add_child(canvas_item_editor);
- canvas_item_editor->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ canvas_item_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
canvas_item_editor->hide();
}
@@ -5465,37 +5574,37 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &
}
child->set_name(name);
- Ref<Texture2D> texture = Ref<Texture2D>(Object::cast_to<Texture2D>(ResourceCache::get(path)));
+ Ref<Texture2D> texture = ResourceCache::get_ref(path);
if (parent) {
- editor_data->get_undo_redo().add_do_method(parent, "add_child", child, true);
- editor_data->get_undo_redo().add_do_method(child, "set_owner", EditorNode::get_singleton()->get_edited_scene());
- editor_data->get_undo_redo().add_do_reference(child);
- editor_data->get_undo_redo().add_undo_method(parent, "remove_child", child);
+ editor_data->get_undo_redo()->add_do_method(parent, "add_child", child, true);
+ editor_data->get_undo_redo()->add_do_method(child, "set_owner", EditorNode::get_singleton()->get_edited_scene());
+ editor_data->get_undo_redo()->add_do_reference(child);
+ editor_data->get_undo_redo()->add_undo_method(parent, "remove_child", child);
} else { // If no parent is selected, set as root node of the scene.
- editor_data->get_undo_redo().add_do_method(EditorNode::get_singleton(), "set_edited_scene", child);
- editor_data->get_undo_redo().add_do_method(child, "set_owner", EditorNode::get_singleton()->get_edited_scene());
- editor_data->get_undo_redo().add_do_reference(child);
- editor_data->get_undo_redo().add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
+ editor_data->get_undo_redo()->add_do_method(EditorNode::get_singleton(), "set_edited_scene", child);
+ editor_data->get_undo_redo()->add_do_method(child, "set_owner", EditorNode::get_singleton()->get_edited_scene());
+ editor_data->get_undo_redo()->add_do_reference(child);
+ editor_data->get_undo_redo()->add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
}
if (parent) {
String new_name = parent->validate_child_name(child);
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_create_node", EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent), child->get_class(), new_name);
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent)) + "/" + new_name));
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_create_node", EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent), child->get_class(), new_name);
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_remove_node", NodePath(String(EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent)) + "/" + new_name));
}
if (Object::cast_to<TouchScreenButton>(child) || Object::cast_to<TextureButton>(child)) {
- editor_data->get_undo_redo().add_do_property(child, "texture_normal", texture);
+ editor_data->get_undo_redo()->add_do_property(child, "texture_normal", texture);
} else {
- editor_data->get_undo_redo().add_do_property(child, "texture", texture);
+ editor_data->get_undo_redo()->add_do_property(child, "texture", texture);
}
// make visible for certain node type
if (Object::cast_to<Control>(child)) {
Size2 texture_size = texture->get_size();
- editor_data->get_undo_redo().add_do_property(child, "rect_size", texture_size);
+ editor_data->get_undo_redo()->add_do_property(child, "rect_size", texture_size);
} else if (Object::cast_to<Polygon2D>(child)) {
Size2 texture_size = texture->get_size();
Vector<Vector2> list = {
@@ -5504,7 +5613,7 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &
Vector2(texture_size.width, texture_size.height),
Vector2(0, texture_size.height)
};
- editor_data->get_undo_redo().add_do_property(child, "polygon", list);
+ editor_data->get_undo_redo()->add_do_property(child, "polygon", list);
}
// Compute the global position
@@ -5513,7 +5622,7 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &
// there's nothing to be used as source position so snapping will work as absolute if enabled
target_position = canvas_item_editor->snap_point(target_position);
- editor_data->get_undo_redo().add_do_method(child, "set_global_position", target_position);
+ editor_data->get_undo_redo()->add_do_method(child, "set_global_position", target_position);
}
bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, const Point2 &p_point) {
@@ -5538,15 +5647,15 @@ bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, cons
instantiated_scene->set_scene_file_path(ProjectSettings::get_singleton()->localize_path(path));
- editor_data->get_undo_redo().add_do_method(parent, "add_child", instantiated_scene, true);
- editor_data->get_undo_redo().add_do_method(instantiated_scene, "set_owner", edited_scene);
- editor_data->get_undo_redo().add_do_reference(instantiated_scene);
- editor_data->get_undo_redo().add_undo_method(parent, "remove_child", instantiated_scene);
+ editor_data->get_undo_redo()->add_do_method(parent, "add_child", instantiated_scene, true);
+ editor_data->get_undo_redo()->add_do_method(instantiated_scene, "set_owner", edited_scene);
+ editor_data->get_undo_redo()->add_do_reference(instantiated_scene);
+ editor_data->get_undo_redo()->add_undo_method(parent, "remove_child", instantiated_scene);
String new_name = parent->validate_child_name(instantiated_scene);
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_instance_node", edited_scene->get_path_to(parent), path, new_name);
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(parent)) + "/" + new_name));
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_instance_node", edited_scene->get_path_to(parent), path, new_name);
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(parent)) + "/" + new_name));
CanvasItem *instance_ci = Object::cast_to<CanvasItem>(instantiated_scene);
if (instance_ci) {
@@ -5560,7 +5669,7 @@ bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, cons
// Preserve instance position of the original scene.
target_pos += instance_ci->_edit_get_position();
- editor_data->get_undo_redo().add_do_method(instantiated_scene, "set_position", target_pos);
+ editor_data->get_undo_redo()->add_do_method(instantiated_scene, "set_position", target_pos);
}
return true;
@@ -5578,7 +5687,7 @@ void CanvasItemEditorViewport::_perform_drop_data() {
Vector<String> error_files;
- editor_data->get_undo_redo().create_action(TTR("Create Node"));
+ editor_data->get_undo_redo()->create_action(TTR("Create Node"));
for (int i = 0; i < selected_files.size(); i++) {
String path = selected_files[i];
@@ -5609,7 +5718,7 @@ void CanvasItemEditorViewport::_perform_drop_data() {
}
}
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
if (error_files.size() > 0) {
String files_str;
@@ -5831,7 +5940,7 @@ CanvasItemEditorViewport::CanvasItemEditorViewport(CanvasItemEditor *p_canvas_it
CheckBox *check = memnew(CheckBox);
btn_group->add_child(check);
check->set_text(texture_node_types[i]);
- check->connect("button_down", callable_mp(this, &CanvasItemEditorViewport::_on_select_type), varray(check));
+ check->connect("button_down", callable_mp(this, &CanvasItemEditorViewport::_on_select_type).bind(check));
check->set_button_group(button_group);
}
diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h
index a4099079f3..2ca495e5d6 100644
--- a/editor/plugins/canvas_item_editor_plugin.h
+++ b/editor/plugins/canvas_item_editor_plugin.h
@@ -45,6 +45,7 @@
class EditorData;
class CanvasItemEditorViewport;
class ViewPanner;
+class EditorUndoRedoManager;
class CanvasItemEditorSelectedItem : public Object {
GDCLASS(CanvasItemEditorSelectedItem, Object);
@@ -188,11 +189,10 @@ private:
HScrollBar *h_scroll = nullptr;
VScrollBar *v_scroll = nullptr;
- HBoxContainer *hb = nullptr;
// Used for secondary menu items which are displayed depending on the currently selected node
// (such as MeshInstance's "Mesh" menu).
- PanelContainer *context_menu_container = nullptr;
- HBoxContainer *hbc_context_menu = nullptr;
+ PanelContainer *context_menu_panel = nullptr;
+ HBoxContainer *context_menu_hbox = nullptr;
Transform2D transform;
GridVisibility grid_visibility = GRID_VISIBILITY_SHOW_WHEN_SNAPPING;
@@ -215,8 +215,8 @@ private:
int primary_grid_steps = 8;
int grid_step_multiplier = 0;
- real_t snap_rotation_step = 0.0;
- real_t snap_rotation_offset = Math::deg2rad(15.0);
+ real_t snap_rotation_step = Math::deg2rad(15.0);
+ real_t snap_rotation_offset = 0.0;
real_t snap_scale_step = 0.1f;
bool smart_snap_active = false;
bool grid_snap_active = false;
@@ -347,6 +347,7 @@ private:
bool is_hovering_v_guide = false;
bool updating_value_dialog = false;
+ Transform2D original_transform;
Point2 box_selecting_to;
@@ -400,7 +401,7 @@ private:
void _prepare_grid_menu();
void _on_grid_menu_id_pressed(int p_id);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
List<CanvasItem *> _get_edited_canvas_items(bool retrieve_locked = false, bool remove_canvas_item_if_parent_in_selection = true);
Rect2 _get_encompassing_rect_from_list(List<CanvasItem *> p_list);
@@ -433,6 +434,7 @@ private:
void _draw_invisible_nodes_positions(Node *p_node, const Transform2D &p_parent_xform = Transform2D(), const Transform2D &p_canvas_xform = Transform2D());
void _draw_locks_and_groups(Node *p_node, const Transform2D &p_parent_xform = Transform2D(), const Transform2D &p_canvas_xform = Transform2D());
void _draw_hover();
+ void _draw_transform_message();
void _draw_viewport();
@@ -453,8 +455,8 @@ private:
void _update_cursor();
void _selection_changed();
-
void _focus_selection(int p_op);
+ void _reset_drag();
SnapTarget snap_target[2];
Transform2D snap_transform;
@@ -492,8 +494,6 @@ private:
HSplitContainer *right_panel_split = nullptr;
VSplitContainer *bottom_split = nullptr;
- void _update_context_menu_stylebox();
-
void _set_owner_for_node_and_children(Node *p_node, Node *p_owner);
friend class CanvasItemEditorPlugin;
@@ -503,8 +503,6 @@ protected:
static void _bind_methods();
- HBoxContainer *get_panel_hb() { return hb; }
-
static CanvasItemEditor *singleton;
public:
@@ -550,7 +548,7 @@ public:
Tool get_current_tool() { return tool; }
void set_current_tool(Tool p_tool);
- void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void edit(CanvasItem *p_canvas_item);
void focus_selection();
@@ -633,4 +631,4 @@ public:
~CanvasItemEditorViewport();
};
-#endif //CANVAS_ITEM_EDITOR_PLUGIN_H
+#endif // CANVAS_ITEM_EDITOR_PLUGIN_H
diff --git a/editor/plugins/ray_cast_2d_editor_plugin.cpp b/editor/plugins/cast_2d_editor_plugin.cpp
index 6f247a37ef..a8d255f997 100644
--- a/editor/plugins/ray_cast_2d_editor_plugin.cpp
+++ b/editor/plugins/cast_2d_editor_plugin.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* ray_cast_2d_editor_plugin.cpp */
+/* cast_2d_editor_plugin.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,30 +28,33 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "ray_cast_2d_editor_plugin.h"
+#include "cast_2d_editor_plugin.h"
#include "canvas_item_editor_plugin.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
+#include "scene/2d/ray_cast_2d.h"
+#include "scene/2d/shape_cast_2d.h"
-void RayCast2DEditor::_notification(int p_what) {
+void Cast2DEditor::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
- get_tree()->connect("node_removed", callable_mp(this, &RayCast2DEditor::_node_removed));
+ get_tree()->connect("node_removed", callable_mp(this, &Cast2DEditor::_node_removed));
} break;
case NOTIFICATION_EXIT_TREE: {
- get_tree()->disconnect("node_removed", callable_mp(this, &RayCast2DEditor::_node_removed));
+ get_tree()->disconnect("node_removed", callable_mp(this, &Cast2DEditor::_node_removed));
} break;
}
}
-void RayCast2DEditor::_node_removed(Node *p_node) {
+void Cast2DEditor::_node_removed(Node *p_node) {
if (p_node == node) {
node = nullptr;
}
}
-bool RayCast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
+bool Cast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
if (!node || !node->is_visible_in_tree()) {
return false;
}
@@ -60,10 +63,12 @@ bool RayCast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
Ref<InputEventMouseButton> mb = p_event;
if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT) {
+ Vector2 target_position = node->get("target_position");
+
if (mb->is_pressed()) {
- if (xform.xform(node->get_target_position()).distance_to(mb->get_position()) < 8) {
+ if (xform.xform(target_position).distance_to(mb->get_position()) < 8) {
pressed = true;
- original_target_position = node->get_target_position();
+ original_target_position = target_position;
return true;
} else {
@@ -73,9 +78,9 @@ bool RayCast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
}
} else if (pressed) {
undo_redo->create_action(TTR("Set target_position"));
- undo_redo->add_do_method(node, "set_target_position", node->get_target_position());
+ undo_redo->add_do_property(node, "target_position", target_position);
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
- undo_redo->add_undo_method(node, "set_target_position", original_target_position);
+ undo_redo->add_undo_property(node, "target_position", original_target_position);
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
undo_redo->commit_action();
@@ -90,7 +95,7 @@ bool RayCast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
Vector2 point = canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(mm->get_position()));
point = node->get_global_transform().affine_inverse().xform(point);
- node->set_target_position(point);
+ node->set("target_position", point);
canvas_item_editor->update_viewport();
node->notify_property_list_changed();
@@ -100,7 +105,7 @@ bool RayCast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
return false;
}
-void RayCast2DEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
+void Cast2DEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
if (!node || !node->is_visible_in_tree()) {
return;
}
@@ -108,16 +113,16 @@ void RayCast2DEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
Transform2D gt = canvas_item_editor->get_canvas_transform() * node->get_global_transform();
const Ref<Texture2D> handle = get_theme_icon(SNAME("EditorHandle"), SNAME("EditorIcons"));
- p_overlay->draw_texture(handle, gt.xform(node->get_target_position()) - handle->get_size() / 2);
+ p_overlay->draw_texture(handle, gt.xform((Vector2)node->get("target_position")) - handle->get_size() / 2);
}
-void RayCast2DEditor::edit(Node *p_node) {
+void Cast2DEditor::edit(Node2D *p_node) {
if (!canvas_item_editor) {
canvas_item_editor = CanvasItemEditor::get_singleton();
}
- if (p_node) {
- node = Object::cast_to<RayCast2D>(p_node);
+ if (Object::cast_to<RayCast2D>(p_node) || Object::cast_to<ShapeCast2D>(p_node)) {
+ node = p_node;
} else {
node = nullptr;
}
@@ -125,27 +130,27 @@ void RayCast2DEditor::edit(Node *p_node) {
canvas_item_editor->update_viewport();
}
-RayCast2DEditor::RayCast2DEditor() {
+Cast2DEditor::Cast2DEditor() {
undo_redo = EditorNode::get_singleton()->get_undo_redo();
}
///////////////////////
-void RayCast2DEditorPlugin::edit(Object *p_object) {
- ray_cast_2d_editor->edit(Object::cast_to<RayCast2D>(p_object));
+void Cast2DEditorPlugin::edit(Object *p_object) {
+ cast_2d_editor->edit(Object::cast_to<Node2D>(p_object));
}
-bool RayCast2DEditorPlugin::handles(Object *p_object) const {
- return Object::cast_to<RayCast2D>(p_object) != nullptr;
+bool Cast2DEditorPlugin::handles(Object *p_object) const {
+ return Object::cast_to<RayCast2D>(p_object) != nullptr || Object::cast_to<ShapeCast2D>(p_object) != nullptr;
}
-void RayCast2DEditorPlugin::make_visible(bool p_visible) {
+void Cast2DEditorPlugin::make_visible(bool p_visible) {
if (!p_visible) {
edit(nullptr);
}
}
-RayCast2DEditorPlugin::RayCast2DEditorPlugin() {
- ray_cast_2d_editor = memnew(RayCast2DEditor);
- EditorNode::get_singleton()->get_gui_base()->add_child(ray_cast_2d_editor);
+Cast2DEditorPlugin::Cast2DEditorPlugin() {
+ cast_2d_editor = memnew(Cast2DEditor);
+ EditorNode::get_singleton()->get_gui_base()->add_child(cast_2d_editor);
}
diff --git a/editor/plugins/ray_cast_2d_editor_plugin.h b/editor/plugins/cast_2d_editor_plugin.h
index 74628da0e4..85ff497bc7 100644
--- a/editor/plugins/ray_cast_2d_editor_plugin.h
+++ b/editor/plugins/cast_2d_editor_plugin.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* ray_cast_2d_editor_plugin.h */
+/* cast_2d_editor_plugin.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,20 +28,21 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef RAY_CAST_2D_EDITOR_PLUGIN_H
-#define RAY_CAST_2D_EDITOR_PLUGIN_H
+#ifndef CAST_2D_EDITOR_PLUGIN_H
+#define CAST_2D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
-#include "scene/2d/ray_cast_2d.h"
+#include "scene/2d/node_2d.h"
class CanvasItemEditor;
+class EditorUndoRedoManager;
-class RayCast2DEditor : public Control {
- GDCLASS(RayCast2DEditor, Control);
+class Cast2DEditor : public Control {
+ GDCLASS(Cast2DEditor, Control);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
CanvasItemEditor *canvas_item_editor = nullptr;
- RayCast2D *node;
+ Node2D *node;
bool pressed = false;
Point2 original_target_position;
@@ -53,27 +54,27 @@ protected:
public:
bool forward_canvas_gui_input(const Ref<InputEvent> &p_event);
void forward_canvas_draw_over_viewport(Control *p_overlay);
- void edit(Node *p_node);
+ void edit(Node2D *p_node);
- RayCast2DEditor();
+ Cast2DEditor();
};
-class RayCast2DEditorPlugin : public EditorPlugin {
- GDCLASS(RayCast2DEditorPlugin, EditorPlugin);
+class Cast2DEditorPlugin : public EditorPlugin {
+ GDCLASS(Cast2DEditorPlugin, EditorPlugin);
- RayCast2DEditor *ray_cast_2d_editor = nullptr;
+ Cast2DEditor *cast_2d_editor = nullptr;
public:
- virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event) override { return ray_cast_2d_editor->forward_canvas_gui_input(p_event); }
- virtual void forward_canvas_draw_over_viewport(Control *p_overlay) override { ray_cast_2d_editor->forward_canvas_draw_over_viewport(p_overlay); }
+ virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event) override { return cast_2d_editor->forward_canvas_gui_input(p_event); }
+ virtual void forward_canvas_draw_over_viewport(Control *p_overlay) override { cast_2d_editor->forward_canvas_draw_over_viewport(p_overlay); }
- virtual String get_name() const override { return "RayCast2D"; }
+ virtual String get_name() const override { return "Cast2D"; }
bool has_main_screen() const override { return false; }
virtual void edit(Object *p_object) override;
virtual bool handles(Object *p_object) const override;
virtual void make_visible(bool visible) override;
- RayCast2DEditorPlugin();
+ Cast2DEditorPlugin();
};
-#endif // RAY_CAST_2D_EDITOR_PLUGIN_H
+#endif // CAST_2D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp
index af20064a8d..11992ad10e 100644
--- a/editor/plugins/collision_shape_2d_editor_plugin.cpp
+++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp
@@ -33,6 +33,7 @@
#include "canvas_item_editor_plugin.h"
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/resources/capsule_shape_2d.h"
#include "scene/resources/circle_shape_2d.h"
#include "scene/resources/concave_polygon_shape_2d.h"
diff --git a/editor/plugins/collision_shape_2d_editor_plugin.h b/editor/plugins/collision_shape_2d_editor_plugin.h
index da9e9f339f..49e0820ae9 100644
--- a/editor/plugins/collision_shape_2d_editor_plugin.h
+++ b/editor/plugins/collision_shape_2d_editor_plugin.h
@@ -35,6 +35,7 @@
#include "scene/2d/collision_shape_2d.h"
class CanvasItemEditor;
+class EditorUndoRedoManager;
class CollisionShape2DEditor : public Control {
GDCLASS(CollisionShape2DEditor, Control);
@@ -61,7 +62,7 @@ class CollisionShape2DEditor : public Control {
Point2(1, -1),
};
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
CanvasItemEditor *canvas_item_editor = nullptr;
CollisionShape2D *node = nullptr;
@@ -112,4 +113,4 @@ public:
~CollisionShape2DEditorPlugin();
};
-#endif //COLLISION_SHAPE_2D_EDITOR_PLUGIN_H
+#endif // COLLISION_SHAPE_2D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/control_editor_plugin.cpp b/editor/plugins/control_editor_plugin.cpp
index ebb0da1ad7..2a12dc0e89 100644
--- a/editor/plugins/control_editor_plugin.cpp
+++ b/editor/plugins/control_editor_plugin.cpp
@@ -31,7 +31,13 @@
#include "control_editor_plugin.h"
#include "editor/editor_node.h"
+#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/canvas_item_editor_plugin.h"
+#include "scene/gui/separator.h"
+
+// Inspector controls.
void ControlPositioningWarning::_update_warning() {
if (!control_node) {
@@ -47,7 +53,7 @@ void ControlPositioningWarning::_update_warning() {
title_label->set_text(TTR("This node doesn't have a control parent."));
hint_label->set_text(TTR("Use the appropriate layout properties depending on where you are going to put it."));
} else if (Object::cast_to<Container>(parent_node)) {
- title_icon->set_texture(get_theme_icon(SNAME("Container"), SNAME("EditorIcons")));
+ title_icon->set_texture(get_theme_icon(SNAME("ContainerLayout"), SNAME("EditorIcons")));
title_label->set_text(TTR("This node is a child of a container."));
hint_label->set_text(TTR("Use container properties for positioning."));
} else {
@@ -120,7 +126,7 @@ ControlPositioningWarning::ControlPositioningWarning() {
grid->add_child(title_icon);
title_label = memnew(Label);
- title_label->set_autowrap_mode(Label::AutowrapMode::AUTOWRAP_WORD);
+ title_label->set_autowrap_mode(TextServer::AutowrapMode::AUTOWRAP_WORD);
title_label->set_h_size_flags(Control::SIZE_EXPAND_FILL);
title_label->set_vertical_alignment(VerticalAlignment::VERTICAL_ALIGNMENT_CENTER);
grid->add_child(title_label);
@@ -135,7 +141,7 @@ ControlPositioningWarning::ControlPositioningWarning() {
grid->add_child(hint_filler_left);
hint_label = memnew(Label);
- hint_label->set_autowrap_mode(Label::AutowrapMode::AUTOWRAP_WORD);
+ hint_label->set_autowrap_mode(TextServer::AutowrapMode::AUTOWRAP_WORD);
hint_label->set_h_size_flags(Control::SIZE_EXPAND_FILL);
hint_label->set_vertical_alignment(VerticalAlignment::VERTICAL_ALIGNMENT_CENTER);
hint_label->hide();
@@ -173,7 +179,7 @@ void EditorPropertyAnchorsPreset::setup(const Vector<String> &p_options) {
Vector<String> split_after;
split_after.append("Custom");
- split_after.append("PresetWide");
+ split_after.append("PresetFullRect");
split_after.append("PresetBottomLeft");
split_after.append("PresetCenter");
@@ -181,24 +187,18 @@ void EditorPropertyAnchorsPreset::setup(const Vector<String> &p_options) {
Vector<String> text_split = p_options[i].split(":");
int64_t current_val = text_split[1].to_int();
- String humanized_name = text_split[0];
- if (humanized_name.begins_with("Preset")) {
- if (humanized_name == "PresetWide") {
- humanized_name = "Full Rect";
- } else {
- humanized_name = humanized_name.trim_prefix("Preset");
- humanized_name = humanized_name.capitalize();
- }
-
- String icon_name = text_split[0].trim_prefix("Preset");
- icon_name = "ControlAlign" + icon_name;
+ String option_name = text_split[0];
+ if (option_name.begins_with("Preset")) {
+ String preset_name = option_name.trim_prefix("Preset");
+ String humanized_name = preset_name.capitalize();
+ String icon_name = "ControlAlign" + preset_name;
options->add_icon_item(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(icon_name, "EditorIcons"), humanized_name);
} else {
- options->add_item(humanized_name);
+ options->add_item(option_name);
}
options->set_item_metadata(j, current_val);
- if (split_after.has(text_split[0])) {
+ if (split_after.has(option_name)) {
options->add_separator();
j++;
}
@@ -452,37 +452,280 @@ bool EditorInspectorPluginControl::parse_property(Object *p_object, const Varian
return false;
}
-void ControlEditorToolbar::_set_anchors_and_offsets_preset(Control::LayoutPreset p_preset) {
+// Toolbars controls.
+
+Size2 ControlEditorPopupButton::get_minimum_size() const {
+ Vector2 base_size = Vector2(26, 26) * EDSCALE;
+
+ if (arrow_icon.is_null()) {
+ return base_size;
+ }
+
+ Vector2 final_size;
+ final_size.x = base_size.x + arrow_icon->get_width();
+ final_size.y = MAX(base_size.y, arrow_icon->get_height());
+
+ return final_size;
+}
+
+void ControlEditorPopupButton::toggled(bool p_pressed) {
+ if (!p_pressed) {
+ return;
+ }
+
+ Size2 size = get_size() * get_viewport()->get_canvas_transform().get_scale();
+
+ popup_panel->set_size(Size2(size.width, 0));
+ Point2 gp = get_screen_position();
+ gp.y += size.y;
+ if (is_layout_rtl()) {
+ gp.x += size.width - popup_panel->get_size().width;
+ }
+ popup_panel->set_position(gp);
+
+ popup_panel->popup();
+}
+
+void ControlEditorPopupButton::_popup_visibility_changed(bool p_visible) {
+ set_pressed(p_visible);
+}
+
+void ControlEditorPopupButton::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ arrow_icon = get_theme_icon("select_arrow", "Tree");
+ } break;
+
+ case NOTIFICATION_DRAW: {
+ if (arrow_icon.is_valid()) {
+ Vector2 arrow_pos = Point2(26, 0) * EDSCALE;
+ arrow_pos.y = get_size().y / 2 - arrow_icon->get_height() / 2;
+ draw_texture(arrow_icon, arrow_pos);
+ }
+ } break;
+
+ case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: {
+ popup_panel->set_layout_direction((Window::LayoutDirection)get_layout_direction());
+ } break;
+
+ case NOTIFICATION_VISIBILITY_CHANGED: {
+ if (!is_visible_in_tree()) {
+ popup_panel->hide();
+ }
+ } break;
+ }
+}
+
+ControlEditorPopupButton::ControlEditorPopupButton() {
+ set_flat(true);
+ set_toggle_mode(true);
+ set_focus_mode(FOCUS_NONE);
+
+ popup_panel = memnew(PopupPanel);
+ popup_panel->set_theme_type_variation("ControlEditorPopupButton");
+ add_child(popup_panel);
+ popup_panel->connect("about_to_popup", callable_mp(this, &ControlEditorPopupButton::_popup_visibility_changed).bind(true));
+ popup_panel->connect("popup_hide", callable_mp(this, &ControlEditorPopupButton::_popup_visibility_changed).bind(false));
+
+ popup_vbox = memnew(VBoxContainer);
+ popup_panel->add_child(popup_vbox);
+}
+
+void ControlEditorPresetPicker::_add_row_button(HBoxContainer *p_row, const int p_preset, const String &p_name) {
+ ERR_FAIL_COND(preset_buttons.has(p_preset));
+
+ Button *b = memnew(Button);
+ b->set_custom_minimum_size(Size2i(36, 36) * EDSCALE);
+ b->set_icon_alignment(HORIZONTAL_ALIGNMENT_CENTER);
+ b->set_tooltip(p_name);
+ b->set_flat(true);
+ p_row->add_child(b);
+ b->connect("pressed", callable_mp(this, &ControlEditorPresetPicker::_preset_button_pressed).bind(p_preset));
+
+ preset_buttons[p_preset] = b;
+}
+
+void ControlEditorPresetPicker::_add_separator(BoxContainer *p_box, Separator *p_separator) {
+ p_separator->add_theme_constant_override("separation", grid_separation);
+ p_separator->set_custom_minimum_size(Size2i(1, 1));
+ p_box->add_child(p_separator);
+}
+
+void AnchorPresetPicker::_preset_button_pressed(const int p_preset) {
+ emit_signal("anchors_preset_selected", p_preset);
+}
+
+void AnchorPresetPicker::_notification(int p_notification) {
+ switch (p_notification) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ preset_buttons[PRESET_TOP_LEFT]->set_icon(get_theme_icon(SNAME("ControlAlignTopLeft"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_CENTER_TOP]->set_icon(get_theme_icon(SNAME("ControlAlignCenterTop"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_TOP_RIGHT]->set_icon(get_theme_icon(SNAME("ControlAlignTopRight"), SNAME("EditorIcons")));
+
+ preset_buttons[PRESET_CENTER_LEFT]->set_icon(get_theme_icon(SNAME("ControlAlignCenterLeft"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_CENTER]->set_icon(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_CENTER_RIGHT]->set_icon(get_theme_icon(SNAME("ControlAlignCenterRight"), SNAME("EditorIcons")));
+
+ preset_buttons[PRESET_BOTTOM_LEFT]->set_icon(get_theme_icon(SNAME("ControlAlignBottomLeft"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_CENTER_BOTTOM]->set_icon(get_theme_icon(SNAME("ControlAlignCenterBottom"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_BOTTOM_RIGHT]->set_icon(get_theme_icon(SNAME("ControlAlignBottomRight"), SNAME("EditorIcons")));
+
+ preset_buttons[PRESET_TOP_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignTopWide"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_HCENTER_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_BOTTOM_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignBottomWide"), SNAME("EditorIcons")));
+
+ preset_buttons[PRESET_LEFT_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignLeftWide"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_VCENTER_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons")));
+ preset_buttons[PRESET_RIGHT_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignRightWide"), SNAME("EditorIcons")));
+
+ preset_buttons[PRESET_FULL_RECT]->set_icon(get_theme_icon(SNAME("ControlAlignFullRect"), SNAME("EditorIcons")));
+ } break;
+ }
+}
+
+void AnchorPresetPicker::_bind_methods() {
+ ADD_SIGNAL(MethodInfo("anchors_preset_selected", PropertyInfo(Variant::INT, "preset")));
+}
+
+AnchorPresetPicker::AnchorPresetPicker() {
+ VBoxContainer *main_vb = memnew(VBoxContainer);
+ main_vb->add_theme_constant_override("separation", grid_separation);
+ add_child(main_vb);
+
+ HBoxContainer *top_row = memnew(HBoxContainer);
+ top_row->set_alignment(BoxContainer::ALIGNMENT_CENTER);
+ top_row->add_theme_constant_override("separation", grid_separation);
+ main_vb->add_child(top_row);
+
+ _add_row_button(top_row, PRESET_TOP_LEFT, TTR("Top Left"));
+ _add_row_button(top_row, PRESET_CENTER_TOP, TTR("Center Top"));
+ _add_row_button(top_row, PRESET_TOP_RIGHT, TTR("Top Right"));
+ _add_separator(top_row, memnew(VSeparator));
+ _add_row_button(top_row, PRESET_TOP_WIDE, TTR("Top Wide"));
+
+ HBoxContainer *mid_row = memnew(HBoxContainer);
+ mid_row->set_alignment(BoxContainer::ALIGNMENT_CENTER);
+ mid_row->add_theme_constant_override("separation", grid_separation);
+ main_vb->add_child(mid_row);
+
+ _add_row_button(mid_row, PRESET_CENTER_LEFT, TTR("Center Left"));
+ _add_row_button(mid_row, PRESET_CENTER, TTR("Center"));
+ _add_row_button(mid_row, PRESET_CENTER_RIGHT, TTR("Center Right"));
+ _add_separator(mid_row, memnew(VSeparator));
+ _add_row_button(mid_row, PRESET_HCENTER_WIDE, TTR("HCenter Wide"));
+
+ HBoxContainer *bot_row = memnew(HBoxContainer);
+ bot_row->set_alignment(BoxContainer::ALIGNMENT_CENTER);
+ bot_row->add_theme_constant_override("separation", grid_separation);
+ main_vb->add_child(bot_row);
+
+ _add_row_button(bot_row, PRESET_BOTTOM_LEFT, TTR("Bottom Left"));
+ _add_row_button(bot_row, PRESET_CENTER_BOTTOM, TTR("Center Bottom"));
+ _add_row_button(bot_row, PRESET_BOTTOM_RIGHT, TTR("Bottom Right"));
+ _add_separator(bot_row, memnew(VSeparator));
+ _add_row_button(bot_row, PRESET_BOTTOM_WIDE, TTR("Bottom Wide"));
+
+ _add_separator(main_vb, memnew(HSeparator));
+
+ HBoxContainer *extra_row = memnew(HBoxContainer);
+ extra_row->set_alignment(BoxContainer::ALIGNMENT_CENTER);
+ extra_row->add_theme_constant_override("separation", grid_separation);
+ main_vb->add_child(extra_row);
+
+ _add_row_button(extra_row, PRESET_LEFT_WIDE, TTR("Left Wide"));
+ _add_row_button(extra_row, PRESET_VCENTER_WIDE, TTR("VCenter Wide"));
+ _add_row_button(extra_row, PRESET_RIGHT_WIDE, TTR("Right Wide"));
+ _add_separator(extra_row, memnew(VSeparator));
+ _add_row_button(extra_row, PRESET_FULL_RECT, TTR("Full Rect"));
+}
+
+void SizeFlagPresetPicker::_preset_button_pressed(const int p_preset) {
+ int flags = (SizeFlags)p_preset;
+ if (expand_button->is_pressed()) {
+ flags |= SIZE_EXPAND;
+ }
+
+ emit_signal("size_flags_selected", flags);
+}
+
+void SizeFlagPresetPicker::set_allowed_flags(Vector<SizeFlags> &p_flags) {
+ preset_buttons[SIZE_SHRINK_BEGIN]->set_disabled(!p_flags.has(SIZE_SHRINK_BEGIN));
+ preset_buttons[SIZE_SHRINK_CENTER]->set_disabled(!p_flags.has(SIZE_SHRINK_CENTER));
+ preset_buttons[SIZE_SHRINK_END]->set_disabled(!p_flags.has(SIZE_SHRINK_END));
+ preset_buttons[SIZE_FILL]->set_disabled(!p_flags.has(SIZE_FILL));
+
+ expand_button->set_disabled(!p_flags.has(SIZE_EXPAND));
+ if (p_flags.has(SIZE_EXPAND)) {
+ expand_button->set_tooltip(TTR("Enable to also set the Expand flag.\nDisable to only set Shrink/Fill flags."));
+ } else {
+ expand_button->set_pressed(false);
+ expand_button->set_tooltip(TTR("Some parents of the selected nodes do not support the Expand flag."));
+ }
+}
+
+void SizeFlagPresetPicker::_notification(int p_notification) {
+ switch (p_notification) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ if (vertical) {
+ preset_buttons[SIZE_SHRINK_BEGIN]->set_icon(get_theme_icon(SNAME("ControlAlignCenterTop"), SNAME("EditorIcons")));
+ preset_buttons[SIZE_SHRINK_CENTER]->set_icon(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")));
+ preset_buttons[SIZE_SHRINK_END]->set_icon(get_theme_icon(SNAME("ControlAlignCenterBottom"), SNAME("EditorIcons")));
+
+ preset_buttons[SIZE_FILL]->set_icon(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons")));
+ } else {
+ preset_buttons[SIZE_SHRINK_BEGIN]->set_icon(get_theme_icon(SNAME("ControlAlignCenterLeft"), SNAME("EditorIcons")));
+ preset_buttons[SIZE_SHRINK_CENTER]->set_icon(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")));
+ preset_buttons[SIZE_SHRINK_END]->set_icon(get_theme_icon(SNAME("ControlAlignCenterRight"), SNAME("EditorIcons")));
+
+ preset_buttons[SIZE_FILL]->set_icon(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons")));
+ }
+ } break;
+ }
+}
+
+void SizeFlagPresetPicker::_bind_methods() {
+ ADD_SIGNAL(MethodInfo("size_flags_selected", PropertyInfo(Variant::INT, "size_flags")));
+}
+
+SizeFlagPresetPicker::SizeFlagPresetPicker(bool p_vertical) {
+ vertical = p_vertical;
+
+ VBoxContainer *main_vb = memnew(VBoxContainer);
+ add_child(main_vb);
+
+ HBoxContainer *main_row = memnew(HBoxContainer);
+ main_row->set_alignment(BoxContainer::ALIGNMENT_CENTER);
+ main_row->add_theme_constant_override("separation", grid_separation);
+ main_vb->add_child(main_row);
+
+ _add_row_button(main_row, SIZE_SHRINK_BEGIN, TTR("Shrink Begin"));
+ _add_row_button(main_row, SIZE_SHRINK_CENTER, TTR("Shrink Center"));
+ _add_row_button(main_row, SIZE_SHRINK_END, TTR("Shrink End"));
+ _add_separator(main_row, memnew(VSeparator));
+ _add_row_button(main_row, SIZE_FILL, TTR("Fill"));
+
+ expand_button = memnew(CheckBox);
+ expand_button->set_flat(true);
+ expand_button->set_text(TTR("Align with Expand"));
+ expand_button->set_tooltip(TTR("Enable to also set the Expand flag.\nDisable to only set Shrink/Fill flags."));
+ main_vb->add_child(expand_button);
+}
+
+// Toolbar.
+
+void ControlEditorToolbar::_anchors_preset_selected(int p_preset) {
+ LayoutPreset preset = (LayoutPreset)p_preset;
List<Node *> selection = editor_selection->get_selected_node_list();
- undo_redo->create_action(TTR("Change Anchors and Offsets"));
+ undo_redo->create_action(TTR("Change Anchors, Offsets, Grow Direction"));
for (Node *E : selection) {
Control *control = Object::cast_to<Control>(E);
if (control) {
- undo_redo->add_do_method(control, "set_anchors_preset", p_preset);
- switch (p_preset) {
- case PRESET_TOP_LEFT:
- case PRESET_TOP_RIGHT:
- case PRESET_BOTTOM_LEFT:
- case PRESET_BOTTOM_RIGHT:
- case PRESET_CENTER_LEFT:
- case PRESET_CENTER_TOP:
- case PRESET_CENTER_RIGHT:
- case PRESET_CENTER_BOTTOM:
- case PRESET_CENTER:
- undo_redo->add_do_method(control, "set_offsets_preset", p_preset, Control::PRESET_MODE_KEEP_SIZE);
- break;
- case PRESET_LEFT_WIDE:
- case PRESET_TOP_WIDE:
- case PRESET_RIGHT_WIDE:
- case PRESET_BOTTOM_WIDE:
- case PRESET_VCENTER_WIDE:
- case PRESET_HCENTER_WIDE:
- case PRESET_WIDE:
- undo_redo->add_do_method(control, "set_offsets_preset", p_preset, Control::PRESET_MODE_MINSIZE);
- break;
- }
+ undo_redo->add_do_property(control, "anchors_preset", preset);
undo_redo->add_undo_method(control, "_edit_set_state", control->_edit_get_state());
}
}
@@ -493,10 +736,10 @@ void ControlEditorToolbar::_set_anchors_and_offsets_preset(Control::LayoutPreset
anchor_mode_button->set_pressed(anchors_mode);
}
-void ControlEditorToolbar::_set_anchors_and_offsets_to_keep_ratio() {
+void ControlEditorToolbar::_anchors_to_current_ratio() {
List<Node *> selection = editor_selection->get_selected_node_list();
- undo_redo->create_action(TTR("Change Anchors and Offsets"));
+ undo_redo->create_action(TTR("Change Anchors, Offsets (Keep Ratio)"));
for (Node *E : selection) {
Control *control = Object::cast_to<Control>(E);
@@ -525,44 +768,41 @@ void ControlEditorToolbar::_set_anchors_and_offsets_to_keep_ratio() {
undo_redo->commit_action();
}
-void ControlEditorToolbar::_set_anchors_preset(Control::LayoutPreset p_preset) {
- List<Node *> selection = editor_selection->get_selected_node_list();
+void ControlEditorToolbar::_anchor_mode_toggled(bool p_status) {
+ List<Control *> selection = _get_edited_controls();
+ for (Control *E : selection) {
+ if (Object::cast_to<Container>(E->get_parent())) {
+ continue;
+ }
- undo_redo->create_action(TTR("Change Anchors"));
- for (Node *E : selection) {
- Control *control = Object::cast_to<Control>(E);
- if (control) {
- undo_redo->add_do_method(control, "set_anchors_preset", p_preset);
- undo_redo->add_undo_method(control, "_edit_set_state", control->_edit_get_state());
+ if (p_status) {
+ E->set_meta("_edit_use_anchors_", true);
+ } else {
+ E->remove_meta("_edit_use_anchors_");
}
}
- undo_redo->commit_action();
+ anchors_mode = p_status;
+ CanvasItemEditor::get_singleton()->update_viewport();
}
-void ControlEditorToolbar::_set_container_h_preset(Control::SizeFlags p_preset) {
+void ControlEditorToolbar::_container_flags_selected(int p_flags, bool p_vertical) {
List<Node *> selection = editor_selection->get_selected_node_list();
- undo_redo->create_action(TTR("Change Horizontal Size Flags"));
- for (Node *E : selection) {
- Control *control = Object::cast_to<Control>(E);
- if (control) {
- undo_redo->add_do_method(control, "set_h_size_flags", p_preset);
- undo_redo->add_undo_method(control, "_edit_set_state", control->_edit_get_state());
- }
+ if (p_vertical) {
+ undo_redo->create_action(TTR("Change Vertical Size Flags"));
+ } else {
+ undo_redo->create_action(TTR("Change Horizontal Size Flags"));
}
- undo_redo->commit_action();
-}
-
-void ControlEditorToolbar::_set_container_v_preset(Control::SizeFlags p_preset) {
- List<Node *> selection = editor_selection->get_selected_node_list();
-
- undo_redo->create_action(TTR("Change Horizontal Size Flags"));
for (Node *E : selection) {
Control *control = Object::cast_to<Control>(E);
if (control) {
- undo_redo->add_do_method(control, "set_v_size_flags", p_preset);
+ if (p_vertical) {
+ undo_redo->add_do_method(control, "set_v_size_flags", p_flags);
+ } else {
+ undo_redo->add_do_method(control, "set_h_size_flags", p_flags);
+ }
undo_redo->add_undo_method(control, "_edit_set_state", control->_edit_get_state());
}
}
@@ -598,400 +838,205 @@ Vector2 ControlEditorToolbar::_position_to_anchor(const Control *p_control, Vect
return output;
}
-void ControlEditorToolbar::_button_toggle_anchor_mode(bool p_status) {
- List<Control *> selection = _get_edited_controls(false, false);
- for (Control *E : selection) {
- if (Object::cast_to<Container>(E->get_parent())) {
- continue;
- }
-
- if (p_status) {
- E->set_meta("_edit_use_anchors_", true);
- } else {
- E->remove_meta("_edit_use_anchors_");
- }
- }
-
- anchors_mode = p_status;
- CanvasItemEditor::get_singleton()->update_viewport();
-}
-
bool ControlEditorToolbar::_is_node_locked(const Node *p_node) {
return p_node->get_meta("_edit_lock_", false);
}
-List<Control *> ControlEditorToolbar::_get_edited_controls(bool retrieve_locked, bool remove_controls_if_parent_in_selection) {
+List<Control *> ControlEditorToolbar::_get_edited_controls() {
List<Control *> selection;
for (const KeyValue<Node *, Object *> &E : editor_selection->get_selection()) {
Control *control = Object::cast_to<Control>(E.key);
- if (control && control->is_visible_in_tree() && control->get_viewport() == EditorNode::get_singleton()->get_scene_root() && (retrieve_locked || !_is_node_locked(control))) {
+ if (control && control->is_visible_in_tree() && control->get_viewport() == EditorNode::get_singleton()->get_scene_root() && !_is_node_locked(control)) {
selection.push_back(control);
}
}
- if (remove_controls_if_parent_in_selection) {
- List<Control *> filtered_selection;
- for (Control *E : selection) {
- if (!selection.find(E->get_parent())) {
- filtered_selection.push_back(E);
- }
- }
- return filtered_selection;
- }
-
return selection;
}
-void ControlEditorToolbar::_popup_callback(int p_op) {
- switch (p_op) {
- case ANCHORS_AND_OFFSETS_PRESET_TOP_LEFT: {
- _set_anchors_and_offsets_preset(PRESET_TOP_LEFT);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_TOP_RIGHT: {
- _set_anchors_and_offsets_preset(PRESET_TOP_RIGHT);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_BOTTOM_LEFT: {
- _set_anchors_and_offsets_preset(PRESET_BOTTOM_LEFT);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_BOTTOM_RIGHT: {
- _set_anchors_and_offsets_preset(PRESET_BOTTOM_RIGHT);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_CENTER_LEFT: {
- _set_anchors_and_offsets_preset(PRESET_CENTER_LEFT);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_CENTER_RIGHT: {
- _set_anchors_and_offsets_preset(PRESET_CENTER_RIGHT);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_CENTER_TOP: {
- _set_anchors_and_offsets_preset(PRESET_CENTER_TOP);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_CENTER_BOTTOM: {
- _set_anchors_and_offsets_preset(PRESET_CENTER_BOTTOM);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_CENTER: {
- _set_anchors_and_offsets_preset(PRESET_CENTER);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_TOP_WIDE: {
- _set_anchors_and_offsets_preset(PRESET_TOP_WIDE);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_LEFT_WIDE: {
- _set_anchors_and_offsets_preset(PRESET_LEFT_WIDE);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_RIGHT_WIDE: {
- _set_anchors_and_offsets_preset(PRESET_RIGHT_WIDE);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_BOTTOM_WIDE: {
- _set_anchors_and_offsets_preset(PRESET_BOTTOM_WIDE);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_VCENTER_WIDE: {
- _set_anchors_and_offsets_preset(PRESET_VCENTER_WIDE);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_HCENTER_WIDE: {
- _set_anchors_and_offsets_preset(PRESET_HCENTER_WIDE);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_WIDE: {
- _set_anchors_and_offsets_preset(Control::PRESET_WIDE);
- } break;
- case ANCHORS_AND_OFFSETS_PRESET_KEEP_RATIO: {
- _set_anchors_and_offsets_to_keep_ratio();
- } break;
-
- case ANCHORS_PRESET_TOP_LEFT: {
- _set_anchors_preset(PRESET_TOP_LEFT);
- } break;
- case ANCHORS_PRESET_TOP_RIGHT: {
- _set_anchors_preset(PRESET_TOP_RIGHT);
- } break;
- case ANCHORS_PRESET_BOTTOM_LEFT: {
- _set_anchors_preset(PRESET_BOTTOM_LEFT);
- } break;
- case ANCHORS_PRESET_BOTTOM_RIGHT: {
- _set_anchors_preset(PRESET_BOTTOM_RIGHT);
- } break;
- case ANCHORS_PRESET_CENTER_LEFT: {
- _set_anchors_preset(PRESET_CENTER_LEFT);
- } break;
- case ANCHORS_PRESET_CENTER_RIGHT: {
- _set_anchors_preset(PRESET_CENTER_RIGHT);
- } break;
- case ANCHORS_PRESET_CENTER_TOP: {
- _set_anchors_preset(PRESET_CENTER_TOP);
- } break;
- case ANCHORS_PRESET_CENTER_BOTTOM: {
- _set_anchors_preset(PRESET_CENTER_BOTTOM);
- } break;
- case ANCHORS_PRESET_CENTER: {
- _set_anchors_preset(PRESET_CENTER);
- } break;
- case ANCHORS_PRESET_TOP_WIDE: {
- _set_anchors_preset(PRESET_TOP_WIDE);
- } break;
- case ANCHORS_PRESET_LEFT_WIDE: {
- _set_anchors_preset(PRESET_LEFT_WIDE);
- } break;
- case ANCHORS_PRESET_RIGHT_WIDE: {
- _set_anchors_preset(PRESET_RIGHT_WIDE);
- } break;
- case ANCHORS_PRESET_BOTTOM_WIDE: {
- _set_anchors_preset(PRESET_BOTTOM_WIDE);
- } break;
- case ANCHORS_PRESET_VCENTER_WIDE: {
- _set_anchors_preset(PRESET_VCENTER_WIDE);
- } break;
- case ANCHORS_PRESET_HCENTER_WIDE: {
- _set_anchors_preset(PRESET_HCENTER_WIDE);
- } break;
- case ANCHORS_PRESET_WIDE: {
- _set_anchors_preset(Control::PRESET_WIDE);
- } break;
-
- case CONTAINERS_H_PRESET_FILL: {
- _set_container_h_preset(Control::SIZE_FILL);
- } break;
- case CONTAINERS_H_PRESET_FILL_EXPAND: {
- _set_container_h_preset(Control::SIZE_EXPAND_FILL);
- } break;
- case CONTAINERS_H_PRESET_SHRINK_BEGIN: {
- _set_container_h_preset(Control::SIZE_SHRINK_BEGIN);
- } break;
- case CONTAINERS_H_PRESET_SHRINK_CENTER: {
- _set_container_h_preset(Control::SIZE_SHRINK_CENTER);
- } break;
- case CONTAINERS_H_PRESET_SHRINK_END: {
- _set_container_h_preset(Control::SIZE_SHRINK_END);
- } break;
-
- case CONTAINERS_V_PRESET_FILL: {
- _set_container_v_preset(Control::SIZE_FILL);
- } break;
- case CONTAINERS_V_PRESET_FILL_EXPAND: {
- _set_container_v_preset(Control::SIZE_EXPAND_FILL);
- } break;
- case CONTAINERS_V_PRESET_SHRINK_BEGIN: {
- _set_container_v_preset(Control::SIZE_SHRINK_BEGIN);
- } break;
- case CONTAINERS_V_PRESET_SHRINK_CENTER: {
- _set_container_v_preset(Control::SIZE_SHRINK_CENTER);
- } break;
- case CONTAINERS_V_PRESET_SHRINK_END: {
- _set_container_v_preset(Control::SIZE_SHRINK_END);
- } break;
- }
-}
-
void ControlEditorToolbar::_selection_changed() {
- // Update the anchors_mode.
- int nb_controls = 0;
- int nb_valid_controls = 0;
- int nb_anchors_mode = 0;
+ // Update toolbar visibility.
+ bool has_controls = false;
+ bool has_control_parents = false;
+ bool has_container_parents = false;
+
+ // Also update which size flags can be configured for the selected nodes.
+ Vector<SizeFlags> allowed_h_flags = {
+ SIZE_SHRINK_BEGIN,
+ SIZE_SHRINK_CENTER,
+ SIZE_SHRINK_END,
+ SIZE_FILL,
+ SIZE_EXPAND,
+ };
+ Vector<SizeFlags> allowed_v_flags = {
+ SIZE_SHRINK_BEGIN,
+ SIZE_SHRINK_CENTER,
+ SIZE_SHRINK_END,
+ SIZE_FILL,
+ SIZE_EXPAND,
+ };
- List<Node *> selection = editor_selection->get_selected_node_list();
- for (Node *E : selection) {
- Control *control = Object::cast_to<Control>(E);
+ for (const KeyValue<Node *, Object *> &E : editor_selection->get_selection()) {
+ Control *control = Object::cast_to<Control>(E.key);
if (!control) {
continue;
}
+ has_controls = true;
- nb_controls++;
+ if (Object::cast_to<Control>(control->get_parent())) {
+ has_control_parents = true;
+ }
if (Object::cast_to<Container>(control->get_parent())) {
- continue;
+ has_container_parents = true;
+
+ Container *parent_container = Object::cast_to<Container>(control->get_parent());
+
+ Vector<int> container_h_flags = parent_container->get_allowed_size_flags_horizontal();
+ Vector<SizeFlags> tmp_flags = allowed_h_flags.duplicate();
+ for (int i = 0; i < allowed_h_flags.size(); i++) {
+ if (!container_h_flags.has((int)allowed_h_flags[i])) {
+ tmp_flags.erase(allowed_h_flags[i]);
+ }
+ }
+ allowed_h_flags = tmp_flags;
+
+ Vector<int> container_v_flags = parent_container->get_allowed_size_flags_vertical();
+ tmp_flags = allowed_v_flags.duplicate();
+ for (int i = 0; i < allowed_v_flags.size(); i++) {
+ if (!container_v_flags.has((int)allowed_v_flags[i])) {
+ tmp_flags.erase(allowed_v_flags[i]);
+ }
+ }
+ allowed_v_flags = tmp_flags;
}
+ }
+
+ // Set general toolbar visibility.
+ set_visible(has_controls);
+
+ // Set anchor tools visibility.
+ if (has_controls && (!has_control_parents || !has_container_parents)) {
+ anchors_button->set_visible(true);
+ anchor_mode_button->set_visible(true);
- nb_valid_controls++;
- if (control->get_meta("_edit_use_anchors_", false)) {
- nb_anchors_mode++;
+ // Update anchor mode.
+ int nb_valid_controls = 0;
+ int nb_anchors_mode = 0;
+
+ List<Node *> selection = editor_selection->get_selected_node_list();
+ for (Node *E : selection) {
+ Control *control = Object::cast_to<Control>(E);
+ if (!control) {
+ continue;
+ }
+ if (Object::cast_to<Container>(control->get_parent())) {
+ continue;
+ }
+
+ nb_valid_controls++;
+ if (control->get_meta("_edit_use_anchors_", false)) {
+ nb_anchors_mode++;
+ }
}
+
+ anchors_mode = (nb_valid_controls == nb_anchors_mode);
+ anchor_mode_button->set_pressed(anchors_mode);
+ } else {
+ anchors_button->set_visible(false);
+ anchor_mode_button->set_visible(false);
+ anchor_mode_button->set_pressed(false);
}
- anchors_mode = (nb_valid_controls == nb_anchors_mode);
- anchor_mode_button->set_pressed(anchors_mode);
+ // Set container tools visibility.
+ if (has_controls && (!has_control_parents || has_container_parents)) {
+ containers_button->set_visible(true);
- if (nb_controls > 0) {
- set_physics_process(true);
+ // Update allowed size flags.
+ if (has_container_parents) {
+ container_h_picker->set_allowed_flags(allowed_h_flags);
+ container_v_picker->set_allowed_flags(allowed_v_flags);
+ } else {
+ Vector<SizeFlags> allowed_all_flags = {
+ SIZE_SHRINK_BEGIN,
+ SIZE_SHRINK_CENTER,
+ SIZE_SHRINK_END,
+ SIZE_FILL,
+ SIZE_EXPAND,
+ };
+
+ container_h_picker->set_allowed_flags(allowed_all_flags);
+ container_v_picker->set_allowed_flags(allowed_all_flags);
+ }
} else {
- set_physics_process(false);
- set_visible(false);
+ containers_button->set_visible(false);
}
}
void ControlEditorToolbar::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE:
- case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
- anchor_presets_menu->set_icon(get_theme_icon(SNAME("ControlLayout"), SNAME("EditorIcons")));
-
- PopupMenu *p = anchor_presets_menu->get_popup();
- p->clear();
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignTopLeft"), SNAME("EditorIcons")), TTR("Top Left"), ANCHORS_AND_OFFSETS_PRESET_TOP_LEFT);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignTopRight"), SNAME("EditorIcons")), TTR("Top Right"), ANCHORS_AND_OFFSETS_PRESET_TOP_RIGHT);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignBottomRight"), SNAME("EditorIcons")), TTR("Bottom Right"), ANCHORS_AND_OFFSETS_PRESET_BOTTOM_RIGHT);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignBottomLeft"), SNAME("EditorIcons")), TTR("Bottom Left"), ANCHORS_AND_OFFSETS_PRESET_BOTTOM_LEFT);
- p->add_separator();
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterLeft"), SNAME("EditorIcons")), TTR("Center Left"), ANCHORS_AND_OFFSETS_PRESET_CENTER_LEFT);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterTop"), SNAME("EditorIcons")), TTR("Center Top"), ANCHORS_AND_OFFSETS_PRESET_CENTER_TOP);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterRight"), SNAME("EditorIcons")), TTR("Center Right"), ANCHORS_AND_OFFSETS_PRESET_CENTER_RIGHT);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterBottom"), SNAME("EditorIcons")), TTR("Center Bottom"), ANCHORS_AND_OFFSETS_PRESET_CENTER_BOTTOM);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")), TTR("Center"), ANCHORS_AND_OFFSETS_PRESET_CENTER);
- p->add_separator();
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignLeftWide"), SNAME("EditorIcons")), TTR("Left Wide"), ANCHORS_AND_OFFSETS_PRESET_LEFT_WIDE);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignTopWide"), SNAME("EditorIcons")), TTR("Top Wide"), ANCHORS_AND_OFFSETS_PRESET_TOP_WIDE);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignRightWide"), SNAME("EditorIcons")), TTR("Right Wide"), ANCHORS_AND_OFFSETS_PRESET_RIGHT_WIDE);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignBottomWide"), SNAME("EditorIcons")), TTR("Bottom Wide"), ANCHORS_AND_OFFSETS_PRESET_BOTTOM_WIDE);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons")), TTR("VCenter Wide"), ANCHORS_AND_OFFSETS_PRESET_VCENTER_WIDE);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons")), TTR("HCenter Wide"), ANCHORS_AND_OFFSETS_PRESET_HCENTER_WIDE);
- p->add_separator();
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignWide"), SNAME("EditorIcons")), TTR("Full Rect"), ANCHORS_AND_OFFSETS_PRESET_WIDE);
- p->add_icon_item(get_theme_icon(SNAME("Anchor"), SNAME("EditorIcons")), TTR("Keep Current Ratio"), ANCHORS_AND_OFFSETS_PRESET_KEEP_RATIO);
- p->set_item_tooltip(19, TTR("Adjust anchors and offsets to match the current rect size."));
-
- p->add_separator();
- p->add_submenu_item(TTR("Anchors only"), "Anchors");
- p->set_item_icon(21, get_theme_icon(SNAME("Anchor"), SNAME("EditorIcons")));
-
- anchors_popup->clear();
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignTopLeft"), SNAME("EditorIcons")), TTR("Top Left"), ANCHORS_PRESET_TOP_LEFT);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignTopRight"), SNAME("EditorIcons")), TTR("Top Right"), ANCHORS_PRESET_TOP_RIGHT);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignBottomRight"), SNAME("EditorIcons")), TTR("Bottom Right"), ANCHORS_PRESET_BOTTOM_RIGHT);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignBottomLeft"), SNAME("EditorIcons")), TTR("Bottom Left"), ANCHORS_PRESET_BOTTOM_LEFT);
- anchors_popup->add_separator();
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterLeft"), SNAME("EditorIcons")), TTR("Center Left"), ANCHORS_PRESET_CENTER_LEFT);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterTop"), SNAME("EditorIcons")), TTR("Center Top"), ANCHORS_PRESET_CENTER_TOP);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterRight"), SNAME("EditorIcons")), TTR("Center Right"), ANCHORS_PRESET_CENTER_RIGHT);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterBottom"), SNAME("EditorIcons")), TTR("Center Bottom"), ANCHORS_PRESET_CENTER_BOTTOM);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")), TTR("Center"), ANCHORS_PRESET_CENTER);
- anchors_popup->add_separator();
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignLeftWide"), SNAME("EditorIcons")), TTR("Left Wide"), ANCHORS_PRESET_LEFT_WIDE);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignTopWide"), SNAME("EditorIcons")), TTR("Top Wide"), ANCHORS_PRESET_TOP_WIDE);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignRightWide"), SNAME("EditorIcons")), TTR("Right Wide"), ANCHORS_PRESET_RIGHT_WIDE);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignBottomWide"), SNAME("EditorIcons")), TTR("Bottom Wide"), ANCHORS_PRESET_BOTTOM_WIDE);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons")), TTR("VCenter Wide"), ANCHORS_PRESET_VCENTER_WIDE);
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons")), TTR("HCenter Wide"), ANCHORS_PRESET_HCENTER_WIDE);
- anchors_popup->add_separator();
- anchors_popup->add_icon_item(get_theme_icon(SNAME("ControlAlignWide"), SNAME("EditorIcons")), TTR("Full Rect"), ANCHORS_PRESET_WIDE);
-
+ case NOTIFICATION_THEME_CHANGED: {
+ anchors_button->set_icon(get_theme_icon(SNAME("ControlLayout"), SNAME("EditorIcons")));
anchor_mode_button->set_icon(get_theme_icon(SNAME("Anchor"), SNAME("EditorIcons")));
-
- container_h_presets_menu->set_icon(get_theme_icon(SNAME("Container"), SNAME("EditorIcons")));
- container_v_presets_menu->set_icon(get_theme_icon(SNAME("Container"), SNAME("EditorIcons")));
-
- p = container_h_presets_menu->get_popup();
- p->clear();
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons")), TTR("Fill"), CONTAINERS_H_PRESET_FILL);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons")), TTR("Fill & Expand"), CONTAINERS_H_PRESET_FILL_EXPAND);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterLeft"), SNAME("EditorIcons")), TTR("Shrink Begin"), CONTAINERS_H_PRESET_SHRINK_BEGIN);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")), TTR("Shrink Center"), CONTAINERS_H_PRESET_SHRINK_CENTER);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterRight"), SNAME("EditorIcons")), TTR("Shrink End"), CONTAINERS_H_PRESET_SHRINK_END);
-
- p = container_v_presets_menu->get_popup();
- p->clear();
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons")), TTR("Fill"), CONTAINERS_V_PRESET_FILL);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons")), TTR("Fill & Expand"), CONTAINERS_V_PRESET_FILL_EXPAND);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterTop"), SNAME("EditorIcons")), TTR("Shrink Begin"), CONTAINERS_V_PRESET_SHRINK_BEGIN);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")), TTR("Shrink Center"), CONTAINERS_V_PRESET_SHRINK_CENTER);
- p->add_icon_item(get_theme_icon(SNAME("ControlAlignCenterBottom"), SNAME("EditorIcons")), TTR("Shrink End"), CONTAINERS_V_PRESET_SHRINK_END);
- } break;
-
- case NOTIFICATION_PHYSICS_PROCESS: {
- bool has_control_parents = false;
- bool has_container_parents = false;
-
- // Update the viewport if the canvas_item changes
- List<Control *> selection = _get_edited_controls(true);
- for (Control *control : selection) {
- if (Object::cast_to<Control>(control->get_parent())) {
- has_control_parents = true;
- }
- if (Object::cast_to<Container>(control->get_parent())) {
- has_container_parents = true;
- }
- }
-
- // Show / Hide the control layout buttons.
- if (selection.size() > 0) {
- set_visible(true);
-
- // Toggle anchor and container layout buttons depending on parents of the selected nodes.
- // - If there are no control parents, enable everything.
- // - If there are container parents, then enable only container buttons.
- // - If there are NO container parents, then enable only anchor buttons.
- bool enable_anchors = false;
- bool enable_containers = false;
- if (!has_control_parents) {
- enable_anchors = true;
- enable_containers = true;
- } else if (has_container_parents) {
- enable_containers = true;
- } else {
- enable_anchors = true;
- }
-
- if (enable_anchors) {
- anchor_presets_menu->set_visible(true);
- anchor_mode_button->set_visible(true);
- } else {
- anchor_presets_menu->set_visible(false);
- anchor_mode_button->set_visible(false);
- }
-
- if (enable_containers) {
- container_h_presets_menu->set_visible(true);
- container_v_presets_menu->set_visible(true);
- } else {
- container_h_presets_menu->set_visible(false);
- container_v_presets_menu->set_visible(false);
- }
- } else {
- set_visible(false);
- }
+ containers_button->set_icon(get_theme_icon(SNAME("ContainerLayout"), SNAME("EditorIcons")));
} break;
}
}
ControlEditorToolbar::ControlEditorToolbar() {
- anchor_presets_menu = memnew(MenuButton);
- anchor_presets_menu->set_shortcut_context(this);
- anchor_presets_menu->set_text(TTR("Anchors"));
- anchor_presets_menu->set_tooltip(TTR("Presets for the anchor and offset values of a Control node."));
- add_child(anchor_presets_menu);
- anchor_presets_menu->set_switch_on_hover(true);
+ add_child(memnew(VSeparator));
+
+ // Anchor and offset tools.
+ anchors_button = memnew(ControlEditorPopupButton);
+ anchors_button->set_tooltip(TTR("Presets for the anchor and offset values of a Control node."));
+ add_child(anchors_button);
- PopupMenu *p = anchor_presets_menu->get_popup();
- p->connect("id_pressed", callable_mp(this, &ControlEditorToolbar::_popup_callback));
+ Label *anchors_label = memnew(Label);
+ anchors_label->set_text(TTR("Anchor preset"));
+ anchors_button->get_popup_hbox()->add_child(anchors_label);
+ AnchorPresetPicker *anchors_picker = memnew(AnchorPresetPicker);
+ anchors_picker->set_h_size_flags(SIZE_SHRINK_CENTER);
+ anchors_button->get_popup_hbox()->add_child(anchors_picker);
+ anchors_picker->connect("anchors_preset_selected", callable_mp(this, &ControlEditorToolbar::_anchors_preset_selected));
- anchors_popup = memnew(PopupMenu);
- p->add_child(anchors_popup);
- anchors_popup->set_name("Anchors");
- anchors_popup->connect("id_pressed", callable_mp(this, &ControlEditorToolbar::_popup_callback));
+ anchors_button->get_popup_hbox()->add_child(memnew(HSeparator));
+
+ Button *keep_ratio_button = memnew(Button);
+ keep_ratio_button->set_text_alignment(HORIZONTAL_ALIGNMENT_LEFT);
+ keep_ratio_button->set_text(TTR("Set to Current Ratio"));
+ keep_ratio_button->set_tooltip(TTR("Adjust anchors and offsets to match the current rect size."));
+ anchors_button->get_popup_hbox()->add_child(keep_ratio_button);
+ keep_ratio_button->connect("pressed", callable_mp(this, &ControlEditorToolbar::_anchors_to_current_ratio));
anchor_mode_button = memnew(Button);
anchor_mode_button->set_flat(true);
anchor_mode_button->set_toggle_mode(true);
anchor_mode_button->set_tooltip(TTR("When active, moving Control nodes changes their anchors instead of their offsets."));
add_child(anchor_mode_button);
- anchor_mode_button->connect("toggled", callable_mp(this, &ControlEditorToolbar::_button_toggle_anchor_mode));
-
- add_child(memnew(VSeparator));
-
- container_h_presets_menu = memnew(MenuButton);
- container_h_presets_menu->set_shortcut_context(this);
- container_h_presets_menu->set_text(TTR("Horizontal"));
- container_h_presets_menu->set_tooltip(TTR("Horizontal sizing setting for children of a Container node."));
- add_child(container_h_presets_menu);
- container_h_presets_menu->set_switch_on_hover(true);
-
- p = container_h_presets_menu->get_popup();
- p->connect("id_pressed", callable_mp(this, &ControlEditorToolbar::_popup_callback));
-
- container_v_presets_menu = memnew(MenuButton);
- container_v_presets_menu->set_shortcut_context(this);
- container_v_presets_menu->set_text(TTR("Vertical"));
- container_v_presets_menu->set_tooltip(TTR("Vertical sizing setting for children of a Container node."));
- add_child(container_v_presets_menu);
- container_v_presets_menu->set_switch_on_hover(true);
-
- p = container_v_presets_menu->get_popup();
- p->connect("id_pressed", callable_mp(this, &ControlEditorToolbar::_popup_callback));
-
+ anchor_mode_button->connect("toggled", callable_mp(this, &ControlEditorToolbar::_anchor_mode_toggled));
+
+ // Container tools.
+ containers_button = memnew(ControlEditorPopupButton);
+ containers_button->set_tooltip(TTR("Sizing settings for children of a Container node."));
+ add_child(containers_button);
+
+ Label *container_h_label = memnew(Label);
+ container_h_label->set_text(TTR("Horizontal alignment"));
+ containers_button->get_popup_hbox()->add_child(container_h_label);
+ container_h_picker = memnew(SizeFlagPresetPicker(false));
+ containers_button->get_popup_hbox()->add_child(container_h_picker);
+ container_h_picker->connect("size_flags_selected", callable_mp(this, &ControlEditorToolbar::_container_flags_selected).bind(false));
+
+ containers_button->get_popup_hbox()->add_child(memnew(HSeparator));
+
+ Label *container_v_label = memnew(Label);
+ container_v_label->set_text(TTR("Vertical alignment"));
+ containers_button->get_popup_hbox()->add_child(container_v_label);
+ container_v_picker = memnew(SizeFlagPresetPicker(true));
+ containers_button->get_popup_hbox()->add_child(container_v_picker);
+ container_v_picker->connect("size_flags_selected", callable_mp(this, &ControlEditorToolbar::_container_flags_selected).bind(true));
+
+ // Editor connections.
undo_redo = EditorNode::get_singleton()->get_undo_redo();
editor_selection = EditorNode::get_singleton()->get_editor_selection();
editor_selection->add_editor_plugin(this);
@@ -1002,6 +1047,8 @@ ControlEditorToolbar::ControlEditorToolbar() {
ControlEditorToolbar *ControlEditorToolbar::singleton = nullptr;
+// Editor plugin.
+
ControlEditorPlugin::ControlEditorPlugin() {
toolbar = memnew(ControlEditorToolbar);
toolbar->hide();
diff --git a/editor/plugins/control_editor_plugin.h b/editor/plugins/control_editor_plugin.h
index 96451f7dcf..584d05aab0 100644
--- a/editor/plugins/control_editor_plugin.h
+++ b/editor/plugins/control_editor_plugin.h
@@ -33,14 +33,20 @@
#include "editor/editor_plugin.h"
#include "scene/gui/box_container.h"
+#include "scene/gui/button.h"
#include "scene/gui/check_box.h"
#include "scene/gui/control.h"
#include "scene/gui/label.h"
#include "scene/gui/margin_container.h"
#include "scene/gui/option_button.h"
#include "scene/gui/panel_container.h"
+#include "scene/gui/popup.h"
+#include "scene/gui/separator.h"
#include "scene/gui/texture_rect.h"
+class EditorUndoRedoManager;
+
+// Inspector controls.
class ControlPositioningWarning : public MarginContainer {
GDCLASS(ControlPositioningWarning, MarginContainer);
@@ -125,102 +131,101 @@ public:
virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false) override;
};
+// Toolbar controls.
+class ControlEditorPopupButton : public Button {
+ GDCLASS(ControlEditorPopupButton, Button);
+
+ Ref<Texture2D> arrow_icon;
+
+ PopupPanel *popup_panel = nullptr;
+ VBoxContainer *popup_vbox = nullptr;
+
+ void _popup_visibility_changed(bool p_visible);
+
+protected:
+ void _notification(int p_what);
+
+public:
+ virtual Size2 get_minimum_size() const override;
+ virtual void toggled(bool p_pressed) override;
+
+ VBoxContainer *get_popup_hbox() const { return popup_vbox; }
+
+ ControlEditorPopupButton();
+};
+
+class ControlEditorPresetPicker : public MarginContainer {
+ GDCLASS(ControlEditorPresetPicker, MarginContainer);
+
+ virtual void _preset_button_pressed(const int p_preset) {}
+
+protected:
+ static constexpr int grid_separation = 0;
+ HashMap<int, Button *> preset_buttons;
+
+ void _add_row_button(HBoxContainer *p_row, const int p_preset, const String &p_name);
+ void _add_separator(BoxContainer *p_box, Separator *p_separator);
+
+public:
+ ControlEditorPresetPicker() {}
+};
+
+class AnchorPresetPicker : public ControlEditorPresetPicker {
+ GDCLASS(AnchorPresetPicker, ControlEditorPresetPicker);
+
+ virtual void _preset_button_pressed(const int p_preset) override;
+
+protected:
+ void _notification(int p_notification);
+ static void _bind_methods();
+
+public:
+ AnchorPresetPicker();
+};
+
+class SizeFlagPresetPicker : public ControlEditorPresetPicker {
+ GDCLASS(SizeFlagPresetPicker, ControlEditorPresetPicker);
+
+ CheckBox *expand_button;
+
+ bool vertical = false;
+
+ virtual void _preset_button_pressed(const int p_preset) override;
+
+protected:
+ void _notification(int p_notification);
+ static void _bind_methods();
+
+public:
+ void set_allowed_flags(Vector<SizeFlags> &p_flags);
+
+ SizeFlagPresetPicker(bool p_vertical);
+};
+
class ControlEditorToolbar : public HBoxContainer {
GDCLASS(ControlEditorToolbar, HBoxContainer);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
EditorSelection *editor_selection = nullptr;
- enum MenuOption {
- ANCHORS_AND_OFFSETS_PRESET_TOP_LEFT,
- ANCHORS_AND_OFFSETS_PRESET_TOP_RIGHT,
- ANCHORS_AND_OFFSETS_PRESET_BOTTOM_LEFT,
- ANCHORS_AND_OFFSETS_PRESET_BOTTOM_RIGHT,
- ANCHORS_AND_OFFSETS_PRESET_CENTER_LEFT,
- ANCHORS_AND_OFFSETS_PRESET_CENTER_RIGHT,
- ANCHORS_AND_OFFSETS_PRESET_CENTER_TOP,
- ANCHORS_AND_OFFSETS_PRESET_CENTER_BOTTOM,
- ANCHORS_AND_OFFSETS_PRESET_CENTER,
- ANCHORS_AND_OFFSETS_PRESET_TOP_WIDE,
- ANCHORS_AND_OFFSETS_PRESET_LEFT_WIDE,
- ANCHORS_AND_OFFSETS_PRESET_RIGHT_WIDE,
- ANCHORS_AND_OFFSETS_PRESET_BOTTOM_WIDE,
- ANCHORS_AND_OFFSETS_PRESET_VCENTER_WIDE,
- ANCHORS_AND_OFFSETS_PRESET_HCENTER_WIDE,
- ANCHORS_AND_OFFSETS_PRESET_WIDE,
-
- ANCHORS_AND_OFFSETS_PRESET_KEEP_RATIO,
-
- ANCHORS_PRESET_TOP_LEFT,
- ANCHORS_PRESET_TOP_RIGHT,
- ANCHORS_PRESET_BOTTOM_LEFT,
- ANCHORS_PRESET_BOTTOM_RIGHT,
- ANCHORS_PRESET_CENTER_LEFT,
- ANCHORS_PRESET_CENTER_RIGHT,
- ANCHORS_PRESET_CENTER_TOP,
- ANCHORS_PRESET_CENTER_BOTTOM,
- ANCHORS_PRESET_CENTER,
- ANCHORS_PRESET_TOP_WIDE,
- ANCHORS_PRESET_LEFT_WIDE,
- ANCHORS_PRESET_RIGHT_WIDE,
- ANCHORS_PRESET_BOTTOM_WIDE,
- ANCHORS_PRESET_VCENTER_WIDE,
- ANCHORS_PRESET_HCENTER_WIDE,
- ANCHORS_PRESET_WIDE,
-
- // Offsets Presets are not currently in use.
- OFFSETS_PRESET_TOP_LEFT,
- OFFSETS_PRESET_TOP_RIGHT,
- OFFSETS_PRESET_BOTTOM_LEFT,
- OFFSETS_PRESET_BOTTOM_RIGHT,
- OFFSETS_PRESET_CENTER_LEFT,
- OFFSETS_PRESET_CENTER_RIGHT,
- OFFSETS_PRESET_CENTER_TOP,
- OFFSETS_PRESET_CENTER_BOTTOM,
- OFFSETS_PRESET_CENTER,
- OFFSETS_PRESET_TOP_WIDE,
- OFFSETS_PRESET_LEFT_WIDE,
- OFFSETS_PRESET_RIGHT_WIDE,
- OFFSETS_PRESET_BOTTOM_WIDE,
- OFFSETS_PRESET_VCENTER_WIDE,
- OFFSETS_PRESET_HCENTER_WIDE,
- OFFSETS_PRESET_WIDE,
-
- CONTAINERS_H_PRESET_FILL,
- CONTAINERS_H_PRESET_FILL_EXPAND,
- CONTAINERS_H_PRESET_SHRINK_BEGIN,
- CONTAINERS_H_PRESET_SHRINK_CENTER,
- CONTAINERS_H_PRESET_SHRINK_END,
- CONTAINERS_V_PRESET_FILL,
- CONTAINERS_V_PRESET_FILL_EXPAND,
- CONTAINERS_V_PRESET_SHRINK_BEGIN,
- CONTAINERS_V_PRESET_SHRINK_CENTER,
- CONTAINERS_V_PRESET_SHRINK_END,
- };
-
- MenuButton *anchor_presets_menu = nullptr;
- PopupMenu *anchors_popup = nullptr;
- MenuButton *container_h_presets_menu = nullptr;
- MenuButton *container_v_presets_menu = nullptr;
-
+ ControlEditorPopupButton *anchors_button = nullptr;
+ ControlEditorPopupButton *containers_button = nullptr;
Button *anchor_mode_button = nullptr;
+ SizeFlagPresetPicker *container_h_picker = nullptr;
+ SizeFlagPresetPicker *container_v_picker = nullptr;
+
bool anchors_mode = false;
- void _set_anchors_preset(Control::LayoutPreset p_preset);
- void _set_anchors_and_offsets_preset(Control::LayoutPreset p_preset);
- void _set_anchors_and_offsets_to_keep_ratio();
- void _set_container_h_preset(Control::SizeFlags p_preset);
- void _set_container_v_preset(Control::SizeFlags p_preset);
+ void _anchors_preset_selected(int p_preset);
+ void _anchors_to_current_ratio();
+ void _anchor_mode_toggled(bool p_status);
+ void _container_flags_selected(int p_flags, bool p_vertical);
Vector2 _anchor_to_position(const Control *p_control, Vector2 anchor);
Vector2 _position_to_anchor(const Control *p_control, Vector2 position);
-
- void _button_toggle_anchor_mode(bool p_status);
-
bool _is_node_locked(const Node *p_node);
- List<Control *> _get_edited_controls(bool retrieve_locked = false, bool remove_controls_if_parent_in_selection = true);
- void _popup_callback(int p_op);
+ List<Control *> _get_edited_controls();
void _selection_changed();
protected:
@@ -236,6 +241,7 @@ public:
ControlEditorToolbar();
};
+// Editor plugin.
class ControlEditorPlugin : public EditorPlugin {
GDCLASS(ControlEditorPlugin, EditorPlugin);
@@ -247,4 +253,4 @@ public:
ControlEditorPlugin();
};
-#endif //CONTROL_EDITOR_PLUGIN_H
+#endif // CONTROL_EDITOR_PLUGIN_H
diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.cpp b/editor/plugins/cpu_particles_2d_editor_plugin.cpp
index 79025041d3..e20d298195 100644
--- a/editor/plugins/cpu_particles_2d_editor_plugin.cpp
+++ b/editor/plugins/cpu_particles_2d_editor_plugin.cpp
@@ -34,6 +34,7 @@
#include "core/io/image_loader.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/2d/cpu_particles_2d.h"
#include "scene/gui/separator.h"
#include "scene/resources/particles_material.h"
@@ -257,7 +258,7 @@ CPUParticles2DEditorPlugin::CPUParticles2DEditorPlugin() {
List<String> ext;
ImageLoader::get_recognized_extensions(&ext);
for (const String &E : ext) {
- file->add_filter("*." + E + "; " + E.to_upper());
+ file->add_filter("*." + E, E.to_upper());
}
file->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
toolbar->add_child(file);
diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.h b/editor/plugins/cpu_particles_2d_editor_plugin.h
index cc59bc924f..06ca208463 100644
--- a/editor/plugins/cpu_particles_2d_editor_plugin.h
+++ b/editor/plugins/cpu_particles_2d_editor_plugin.h
@@ -39,6 +39,7 @@
class EditorPlugin;
class SpinBox;
class EditorFileDialog;
+class EditorUndoRedoManager;
class CPUParticles2DEditorPlugin : public EditorPlugin {
GDCLASS(CPUParticles2DEditorPlugin, EditorPlugin);
@@ -70,7 +71,7 @@ class CPUParticles2DEditorPlugin : public EditorPlugin {
String source_emission_file;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void _file_selected(const String &p_file);
void _menu_callback(int p_idx);
void _generate_emission_mask();
diff --git a/editor/plugins/cpu_particles_3d_editor_plugin.h b/editor/plugins/cpu_particles_3d_editor_plugin.h
index 70f2da4b2d..f38349985c 100644
--- a/editor/plugins/cpu_particles_3d_editor_plugin.h
+++ b/editor/plugins/cpu_particles_3d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef CPU_PARTICLES_EDITOR_PLUGIN_H
-#define CPU_PARTICLES_EDITOR_PLUGIN_H
+#ifndef CPU_PARTICLES_3D_EDITOR_PLUGIN_H
+#define CPU_PARTICLES_3D_EDITOR_PLUGIN_H
#include "editor/plugins/gpu_particles_3d_editor_plugin.h"
#include "scene/3d/cpu_particles_3d.h"
@@ -78,4 +78,4 @@ public:
~CPUParticles3DEditorPlugin();
};
-#endif // CPU_PARTICLES_EDITOR_PLUGIN_H
+#endif // CPU_PARTICLES_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp
index 6d1a86765a..013a9f10a4 100644
--- a/editor/plugins/curve_editor_plugin.cpp
+++ b/editor/plugins/curve_editor_plugin.cpp
@@ -36,6 +36,7 @@
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
CurveEditor::CurveEditor() {
_selected_point = -1;
@@ -138,14 +139,14 @@ void CurveEditor::gui_input(const Ref<InputEvent> &p_event) {
if (!mb.is_pressed() && _dragging && mb.get_button_index() == MouseButton::LEFT) {
_dragging = false;
if (_has_undo_data) {
- UndoRedo &ur = *EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
- ur.create_action(_selected_tangent == TANGENT_NONE ? TTR("Modify Curve Point") : TTR("Modify Curve Tangent"));
- ur.add_do_method(*_curve_ref, "_set_data", _curve_ref->get_data());
- ur.add_undo_method(*_curve_ref, "_set_data", _undo_data);
+ ur->create_action(_selected_tangent == TANGENT_NONE ? TTR("Modify Curve Point") : TTR("Modify Curve Tangent"));
+ ur->add_do_method(*_curve_ref, "_set_data", _curve_ref->get_data());
+ ur->add_undo_method(*_curve_ref, "_set_data", _undo_data);
// Note: this will trigger one more "changed" signal even if nothing changes,
// but it's ok since it would have fired every frame during the drag anyways
- ur.commit_action();
+ ur->commit_action();
_has_undo_data = false;
}
@@ -300,13 +301,13 @@ void CurveEditor::on_preset_item_selected(int preset_id) {
break;
}
- UndoRedo &ur = *EditorNode::get_singleton()->get_undo_redo();
- ur.create_action(TTR("Load Curve Preset"));
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
+ ur->create_action(TTR("Load Curve Preset"));
- ur.add_do_method(&curve, "_set_data", curve.get_data());
- ur.add_undo_method(&curve, "_set_data", previous_data);
+ ur->add_do_method(&curve, "_set_data", curve.get_data());
+ ur->add_undo_method(&curve, "_set_data", previous_data);
- ur.commit_action();
+ ur->commit_action();
}
void CurveEditor::_curve_changed() {
@@ -434,8 +435,8 @@ CurveEditor::TangentIndex CurveEditor::get_tangent_at(Vector2 pos) const {
void CurveEditor::add_point(Vector2 pos) {
ERR_FAIL_COND(_curve_ref.is_null());
- UndoRedo &ur = *EditorNode::get_singleton()->get_undo_redo();
- ur.create_action(TTR("Remove Curve Point"));
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
+ ur->create_action(TTR("Remove Curve Point"));
Vector2 point_pos = get_world_pos(pos);
if (point_pos.y < 0.0) {
@@ -448,22 +449,22 @@ void CurveEditor::add_point(Vector2 pos) {
int i = _curve_ref->add_point(point_pos);
_curve_ref->remove_point(i);
- ur.add_do_method(*_curve_ref, "add_point", point_pos);
- ur.add_undo_method(*_curve_ref, "remove_point", i);
+ ur->add_do_method(*_curve_ref, "add_point", point_pos);
+ ur->add_undo_method(*_curve_ref, "remove_point", i);
- ur.commit_action();
+ ur->commit_action();
}
void CurveEditor::remove_point(int index) {
ERR_FAIL_COND(_curve_ref.is_null());
- UndoRedo &ur = *EditorNode::get_singleton()->get_undo_redo();
- ur.create_action(TTR("Remove Curve Point"));
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
+ ur->create_action(TTR("Remove Curve Point"));
Curve::Point p = _curve_ref->get_point(index);
- ur.add_do_method(*_curve_ref, "remove_point", index);
- ur.add_undo_method(*_curve_ref, "add_point", p.position, p.left_tangent, p.right_tangent, p.left_mode, p.right_mode);
+ ur->add_do_method(*_curve_ref, "remove_point", index);
+ ur->add_undo_method(*_curve_ref, "add_point", p.position, p.left_tangent, p.right_tangent, p.left_mode, p.right_mode);
if (index == _selected_point) {
set_selected_point(-1);
@@ -473,14 +474,14 @@ void CurveEditor::remove_point(int index) {
set_hover_point_index(-1);
}
- ur.commit_action();
+ ur->commit_action();
}
void CurveEditor::toggle_linear(TangentIndex tangent) {
ERR_FAIL_COND(_curve_ref.is_null());
- UndoRedo &ur = *EditorNode::get_singleton()->get_undo_redo();
- ur.create_action(TTR("Toggle Curve Linear Tangent"));
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
+ ur->create_action(TTR("Toggle Curve Linear Tangent"));
if (tangent == TANGENT_NONE) {
tangent = _selected_tangent;
@@ -492,8 +493,8 @@ void CurveEditor::toggle_linear(TangentIndex tangent) {
Curve::TangentMode prev_mode = _curve_ref->get_point_left_mode(_selected_point);
Curve::TangentMode mode = is_linear ? Curve::TANGENT_FREE : Curve::TANGENT_LINEAR;
- ur.add_do_method(*_curve_ref, "set_point_left_mode", _selected_point, mode);
- ur.add_undo_method(*_curve_ref, "set_point_left_mode", _selected_point, prev_mode);
+ ur->add_do_method(*_curve_ref, "set_point_left_mode", _selected_point, mode);
+ ur->add_undo_method(*_curve_ref, "set_point_left_mode", _selected_point, prev_mode);
} else {
bool is_linear = _curve_ref->get_point_right_mode(_selected_point) == Curve::TANGENT_LINEAR;
@@ -501,11 +502,11 @@ void CurveEditor::toggle_linear(TangentIndex tangent) {
Curve::TangentMode prev_mode = _curve_ref->get_point_right_mode(_selected_point);
Curve::TangentMode mode = is_linear ? Curve::TANGENT_FREE : Curve::TANGENT_LINEAR;
- ur.add_do_method(*_curve_ref, "set_point_right_mode", _selected_point, mode);
- ur.add_undo_method(*_curve_ref, "set_point_right_mode", _selected_point, prev_mode);
+ ur->add_do_method(*_curve_ref, "set_point_right_mode", _selected_point, mode);
+ ur->add_undo_method(*_curve_ref, "set_point_right_mode", _selected_point, prev_mode);
}
- ur.commit_action();
+ ur->commit_action();
}
void CurveEditor::set_selected_point(int index) {
@@ -542,11 +543,11 @@ void CurveEditor::update_view_transform() {
const Vector2 scale = view_size / world_rect.size;
Transform2D world_trans;
- world_trans.translate(-world_rect.position - Vector2(0, world_rect.size.y));
+ world_trans.translate_local(-world_rect.position - Vector2(0, world_rect.size.y));
world_trans.scale(Vector2(scale.x, -scale.y));
Transform2D view_trans;
- view_trans.translate(view_margin);
+ view_trans.translate_local(view_margin);
_world_to_view = view_trans * world_trans;
}
@@ -751,12 +752,13 @@ void CurveEditor::_draw() {
// Help text
+ float width = view_size.x - 60 * EDSCALE;
if (_selected_point > 0 && _selected_point + 1 < curve.get_point_count()) {
text_color.a *= 0.4;
- draw_string(font, Vector2(50 * EDSCALE, font_height), TTR("Hold Shift to edit tangents individually"), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color);
+ draw_multiline_string(font, Vector2(50 * EDSCALE, font_height), TTR("Hold Shift to edit tangents individually"), HORIZONTAL_ALIGNMENT_LEFT, width, -1, font_size, text_color);
} else if (curve.get_point_count() == 0) {
text_color.a *= 0.4;
- draw_string(font, Vector2(50 * EDSCALE, font_height), TTR("Right click to add point"), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color);
+ draw_multiline_string(font, Vector2(50 * EDSCALE, font_height), TTR("Right click to add point"), HORIZONTAL_ALIGNMENT_LEFT, width, -1, font_size, text_color);
}
}
@@ -840,9 +842,5 @@ Ref<Texture2D> CurvePreviewGenerator::generate(const Ref<Resource> &p_from, cons
prev_y = y;
}
-
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
-
- ptex->create_from_image(img_ref);
- return ptex;
+ return ImageTexture::create_from_image(img_ref);
}
diff --git a/editor/plugins/debugger_editor_plugin.cpp b/editor/plugins/debugger_editor_plugin.cpp
index 8ea50c4529..40e7dfead2 100644
--- a/editor/plugins/debugger_editor_plugin.cpp
+++ b/editor/plugins/debugger_editor_plugin.cpp
@@ -35,11 +35,12 @@
#include "editor/debugger/editor_debugger_server.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
#include "editor/fileserver/editor_file_server.h"
#include "editor/plugins/script_editor_plugin.h"
#include "scene/gui/menu_button.h"
-DebuggerEditorPlugin::DebuggerEditorPlugin(MenuButton *p_debug_menu) {
+DebuggerEditorPlugin::DebuggerEditorPlugin(PopupMenu *p_debug_menu) {
EditorDebuggerServer::initialize();
ED_SHORTCUT("debugger/step_into", TTR("Step Into"), Key::F11);
@@ -60,27 +61,29 @@ DebuggerEditorPlugin::DebuggerEditorPlugin(MenuButton *p_debug_menu) {
// Main editor debug menu.
debug_menu = p_debug_menu;
- PopupMenu *p = debug_menu->get_popup();
- p->set_hide_on_checkable_item_selection(false);
- p->add_check_shortcut(ED_SHORTCUT("editor/deploy_with_remote_debug", TTR("Deploy with Remote Debug")), RUN_DEPLOY_REMOTE_DEBUG);
- p->set_item_tooltip(-1,
+ debug_menu->set_hide_on_checkable_item_selection(false);
+ debug_menu->add_check_shortcut(ED_SHORTCUT("editor/deploy_with_remote_debug", TTR("Deploy with Remote Debug")), RUN_DEPLOY_REMOTE_DEBUG);
+ debug_menu->set_item_tooltip(-1,
TTR("When this option is enabled, using one-click deploy will make the executable attempt to connect to this computer's IP so the running project can be debugged.\nThis option is intended to be used for remote debugging (typically with a mobile device).\nYou don't need to enable it to use the GDScript debugger locally."));
- p->add_check_shortcut(ED_SHORTCUT("editor/small_deploy_with_network_fs", TTR("Small Deploy with Network Filesystem")), RUN_FILE_SERVER);
- p->set_item_tooltip(-1,
+ debug_menu->add_check_shortcut(ED_SHORTCUT("editor/small_deploy_with_network_fs", TTR("Small Deploy with Network Filesystem")), RUN_FILE_SERVER);
+ debug_menu->set_item_tooltip(-1,
TTR("When this option is enabled, using one-click deploy for Android will only export an executable without the project data.\nThe filesystem will be provided from the project by the editor over the network.\nOn Android, deploying will use the USB cable for faster performance. This option speeds up testing for projects with large assets."));
- p->add_separator();
- p->add_check_shortcut(ED_SHORTCUT("editor/visible_collision_shapes", TTR("Visible Collision Shapes")), RUN_DEBUG_COLLISONS);
- p->set_item_tooltip(-1,
+ debug_menu->add_separator();
+ debug_menu->add_check_shortcut(ED_SHORTCUT("editor/visible_collision_shapes", TTR("Visible Collision Shapes")), RUN_DEBUG_COLLISONS);
+ debug_menu->set_item_tooltip(-1,
TTR("When this option is enabled, collision shapes and raycast nodes (for 2D and 3D) will be visible in the running project."));
- p->add_check_shortcut(ED_SHORTCUT("editor/visible_navigation", TTR("Visible Navigation")), RUN_DEBUG_NAVIGATION);
- p->set_item_tooltip(-1,
+ debug_menu->add_check_shortcut(ED_SHORTCUT("editor/visible_paths", TTR("Visible Paths")), RUN_DEBUG_PATHS);
+ debug_menu->set_item_tooltip(-1,
+ TTR("When this option is enabled, curve resources used by path nodes will be visible in the running project."));
+ debug_menu->add_check_shortcut(ED_SHORTCUT("editor/visible_navigation", TTR("Visible Navigation")), RUN_DEBUG_NAVIGATION);
+ debug_menu->set_item_tooltip(-1,
TTR("When this option is enabled, navigation meshes and polygons will be visible in the running project."));
- p->add_separator();
- p->add_check_shortcut(ED_SHORTCUT("editor/sync_scene_changes", TTR("Synchronize Scene Changes")), RUN_LIVE_DEBUG);
- p->set_item_tooltip(-1,
+ debug_menu->add_separator();
+ debug_menu->add_check_shortcut(ED_SHORTCUT("editor/sync_scene_changes", TTR("Synchronize Scene Changes")), RUN_LIVE_DEBUG);
+ debug_menu->set_item_tooltip(-1,
TTR("When this option is enabled, any changes made to the scene in the editor will be replicated in the running project.\nWhen used remotely on a device, this is more efficient when the network filesystem option is enabled."));
- p->add_check_shortcut(ED_SHORTCUT("editor/sync_script_changes", TTR("Synchronize Script Changes")), RUN_RELOAD_SCRIPTS);
- p->set_item_tooltip(-1,
+ debug_menu->add_check_shortcut(ED_SHORTCUT("editor/sync_script_changes", TTR("Synchronize Script Changes")), RUN_RELOAD_SCRIPTS);
+ debug_menu->set_item_tooltip(-1,
TTR("When this option is enabled, any script that is saved will be reloaded in the running project.\nWhen used remotely on a device, this is more efficient when the network filesystem option is enabled."));
// Multi-instance, start/stop
@@ -88,9 +91,9 @@ DebuggerEditorPlugin::DebuggerEditorPlugin(MenuButton *p_debug_menu) {
instances_menu->set_name("run_instances");
instances_menu->set_hide_on_checkable_item_selection(false);
- p->add_child(instances_menu);
- p->add_separator();
- p->add_submenu_item(TTR("Run Multiple Instances"), "run_instances");
+ debug_menu->add_child(instances_menu);
+ debug_menu->add_separator();
+ debug_menu->add_submenu_item(TTR("Run Multiple Instances"), "run_instances");
instances_menu->add_radio_check_item(TTR("Run 1 Instance"));
instances_menu->set_item_metadata(0, 1);
@@ -102,7 +105,7 @@ DebuggerEditorPlugin::DebuggerEditorPlugin(MenuButton *p_debug_menu) {
instances_menu->set_item_metadata(3, 4);
instances_menu->set_item_checked(0, true);
instances_menu->connect("index_pressed", callable_mp(this, &DebuggerEditorPlugin::_select_run_count));
- p->connect("id_pressed", callable_mp(this, &DebuggerEditorPlugin::_menu_option));
+ debug_menu->connect("id_pressed", callable_mp(this, &DebuggerEditorPlugin::_menu_option));
}
DebuggerEditorPlugin::~DebuggerEditorPlugin() {
@@ -121,7 +124,7 @@ void DebuggerEditorPlugin::_select_run_count(int p_index) {
void DebuggerEditorPlugin::_menu_option(int p_option) {
switch (p_option) {
case RUN_FILE_SERVER: {
- bool ischecked = debug_menu->get_popup()->is_item_checked(debug_menu->get_popup()->get_item_index(RUN_FILE_SERVER));
+ bool ischecked = debug_menu->is_item_checked(debug_menu->get_item_index(RUN_FILE_SERVER));
if (ischecked) {
file_server->stop();
@@ -129,39 +132,45 @@ void DebuggerEditorPlugin::_menu_option(int p_option) {
file_server->start();
}
- debug_menu->get_popup()->set_item_checked(debug_menu->get_popup()->get_item_index(RUN_FILE_SERVER), !ischecked);
+ debug_menu->set_item_checked(debug_menu->get_item_index(RUN_FILE_SERVER), !ischecked);
EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_file_server", !ischecked);
} break;
case RUN_LIVE_DEBUG: {
- bool ischecked = debug_menu->get_popup()->is_item_checked(debug_menu->get_popup()->get_item_index(RUN_LIVE_DEBUG));
+ bool ischecked = debug_menu->is_item_checked(debug_menu->get_item_index(RUN_LIVE_DEBUG));
- debug_menu->get_popup()->set_item_checked(debug_menu->get_popup()->get_item_index(RUN_LIVE_DEBUG), !ischecked);
+ debug_menu->set_item_checked(debug_menu->get_item_index(RUN_LIVE_DEBUG), !ischecked);
EditorDebuggerNode::get_singleton()->set_live_debugging(!ischecked);
EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_live_debug", !ischecked);
} break;
case RUN_DEPLOY_REMOTE_DEBUG: {
- bool ischecked = debug_menu->get_popup()->is_item_checked(debug_menu->get_popup()->get_item_index(RUN_DEPLOY_REMOTE_DEBUG));
- debug_menu->get_popup()->set_item_checked(debug_menu->get_popup()->get_item_index(RUN_DEPLOY_REMOTE_DEBUG), !ischecked);
+ bool ischecked = debug_menu->is_item_checked(debug_menu->get_item_index(RUN_DEPLOY_REMOTE_DEBUG));
+ debug_menu->set_item_checked(debug_menu->get_item_index(RUN_DEPLOY_REMOTE_DEBUG), !ischecked);
EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_deploy_remote_debug", !ischecked);
} break;
case RUN_DEBUG_COLLISONS: {
- bool ischecked = debug_menu->get_popup()->is_item_checked(debug_menu->get_popup()->get_item_index(RUN_DEBUG_COLLISONS));
- debug_menu->get_popup()->set_item_checked(debug_menu->get_popup()->get_item_index(RUN_DEBUG_COLLISONS), !ischecked);
+ bool ischecked = debug_menu->is_item_checked(debug_menu->get_item_index(RUN_DEBUG_COLLISONS));
+ debug_menu->set_item_checked(debug_menu->get_item_index(RUN_DEBUG_COLLISONS), !ischecked);
EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_debug_collisons", !ischecked);
} break;
+ case RUN_DEBUG_PATHS: {
+ bool ischecked = debug_menu->is_item_checked(debug_menu->get_item_index(RUN_DEBUG_PATHS));
+ debug_menu->set_item_checked(debug_menu->get_item_index(RUN_DEBUG_PATHS), !ischecked);
+ EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_debug_paths", !ischecked);
+
+ } break;
case RUN_DEBUG_NAVIGATION: {
- bool ischecked = debug_menu->get_popup()->is_item_checked(debug_menu->get_popup()->get_item_index(RUN_DEBUG_NAVIGATION));
- debug_menu->get_popup()->set_item_checked(debug_menu->get_popup()->get_item_index(RUN_DEBUG_NAVIGATION), !ischecked);
+ bool ischecked = debug_menu->is_item_checked(debug_menu->get_item_index(RUN_DEBUG_NAVIGATION));
+ debug_menu->set_item_checked(debug_menu->get_item_index(RUN_DEBUG_NAVIGATION), !ischecked);
EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_debug_navigation", !ischecked);
} break;
case RUN_RELOAD_SCRIPTS: {
- bool ischecked = debug_menu->get_popup()->is_item_checked(debug_menu->get_popup()->get_item_index(RUN_RELOAD_SCRIPTS));
- debug_menu->get_popup()->set_item_checked(debug_menu->get_popup()->get_item_index(RUN_RELOAD_SCRIPTS), !ischecked);
+ bool ischecked = debug_menu->is_item_checked(debug_menu->get_item_index(RUN_RELOAD_SCRIPTS));
+ debug_menu->set_item_checked(debug_menu->get_item_index(RUN_RELOAD_SCRIPTS), !ischecked);
ScriptEditor::get_singleton()->set_live_auto_reload_running_scripts(!ischecked);
EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_reload_scripts", !ischecked);
@@ -182,6 +191,7 @@ void DebuggerEditorPlugin::_update_debug_options() {
bool check_deploy_remote = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_deploy_remote_debug", false);
bool check_file_server = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_file_server", false);
bool check_debug_collisions = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_collisons", false);
+ bool check_debug_paths = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_paths", false);
bool check_debug_navigation = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_navigation", false);
bool check_live_debug = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_live_debug", true);
bool check_reload_scripts = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_reload_scripts", true);
@@ -196,6 +206,9 @@ void DebuggerEditorPlugin::_update_debug_options() {
if (check_debug_collisions) {
_menu_option(RUN_DEBUG_COLLISONS);
}
+ if (check_debug_paths) {
+ _menu_option(RUN_DEBUG_PATHS);
+ }
if (check_debug_navigation) {
_menu_option(RUN_DEBUG_NAVIGATION);
}
diff --git a/editor/plugins/debugger_editor_plugin.h b/editor/plugins/debugger_editor_plugin.h
index 10e1a27933..d8871128c3 100644
--- a/editor/plugins/debugger_editor_plugin.h
+++ b/editor/plugins/debugger_editor_plugin.h
@@ -41,7 +41,7 @@ class DebuggerEditorPlugin : public EditorPlugin {
GDCLASS(DebuggerEditorPlugin, EditorPlugin);
private:
- MenuButton *debug_menu = nullptr;
+ PopupMenu *debug_menu = nullptr;
EditorFileServer *file_server = nullptr;
PopupMenu *instances_menu = nullptr;
@@ -49,6 +49,7 @@ private:
RUN_FILE_SERVER,
RUN_LIVE_DEBUG,
RUN_DEBUG_COLLISONS,
+ RUN_DEBUG_PATHS,
RUN_DEBUG_NAVIGATION,
RUN_DEPLOY_REMOTE_DEBUG,
RUN_RELOAD_SCRIPTS,
@@ -63,7 +64,7 @@ public:
virtual String get_name() const override { return "Debugger"; }
bool has_main_screen() const override { return false; }
- DebuggerEditorPlugin(MenuButton *p_menu);
+ DebuggerEditorPlugin(PopupMenu *p_menu);
~DebuggerEditorPlugin();
};
diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp
index bb0cfcba25..0196214ceb 100644
--- a/editor/plugins/editor_preview_plugins.cpp
+++ b/editor/plugins/editor_preview_plugins.cpp
@@ -127,13 +127,9 @@ Ref<Texture2D> EditorTexturePreviewPlugin::generate(const Ref<Resource> &p_from,
}
Vector2i new_size_i(MAX(1, (int)new_size.x), MAX(1, (int)new_size.y));
img->resize(new_size_i.x, new_size_i.y, Image::INTERPOLATE_CUBIC);
-
post_process_preview(img);
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
-
- ptex->create_from_image(img);
- return ptex;
+ return ImageTexture::create_from_image(img);
}
EditorTexturePreviewPlugin::EditorTexturePreviewPlugin() {
@@ -171,14 +167,9 @@ Ref<Texture2D> EditorImagePreviewPlugin::generate(const Ref<Resource> &p_from, c
new_size = Vector2(new_size.x * p_size.y / new_size.y, p_size.y);
}
img->resize(new_size.x, new_size.y, Image::INTERPOLATE_CUBIC);
-
post_process_preview(img);
- Ref<ImageTexture> ptex;
- ptex.instantiate();
-
- ptex->create_from_image(img);
- return ptex;
+ return ImageTexture::create_from_image(img);
}
EditorImagePreviewPlugin::EditorImagePreviewPlugin() {
@@ -239,13 +230,9 @@ Ref<Texture2D> EditorBitmapPreviewPlugin::generate(const Ref<Resource> &p_from,
new_size = Vector2(new_size.x * p_size.y / new_size.y, p_size.y);
}
img->resize(new_size.x, new_size.y, Image::INTERPOLATE_CUBIC);
-
post_process_preview(img);
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
-
- ptex->create_from_image(img);
- return ptex;
+ return ImageTexture::create_from_image(img);
}
bool EditorBitmapPreviewPlugin::generate_small_preview_automatically() const {
@@ -282,11 +269,8 @@ Ref<Texture2D> EditorPackedScenePreviewPlugin::generate_from_path(const String &
img.instantiate();
Error err = img->load(path);
if (err == OK) {
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
-
post_process_preview(img);
- ptex->create_from_image(img);
- return ptex;
+ return ImageTexture::create_from_image(img);
} else {
return Ref<Texture2D>();
@@ -323,7 +307,7 @@ Ref<Texture2D> EditorMaterialPreviewPlugin::generate(const Ref<Resource> &p_from
if (material->get_shader_mode() == Shader::MODE_SPATIAL) {
RS::get_singleton()->mesh_surface_set_material(sphere, 0, material->get_rid());
- RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMaterialPreviewPlugin *>(this), &EditorMaterialPreviewPlugin::_generate_frame_started), Vector<Variant>(), Object::CONNECT_ONESHOT);
+ RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMaterialPreviewPlugin *>(this), &EditorMaterialPreviewPlugin::_generate_frame_started), Object::CONNECT_ONESHOT);
preview_done.wait();
@@ -336,9 +320,7 @@ Ref<Texture2D> EditorMaterialPreviewPlugin::generate(const Ref<Resource> &p_from
int thumbnail_size = MAX(p_size.x, p_size.y);
img->resize(thumbnail_size, thumbnail_size, Image::INTERPOLATE_CUBIC);
post_process_preview(img);
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
- ptex->create_from_image(img);
- return ptex;
+ return ImageTexture::create_from_image(img);
}
return Ref<Texture2D>();
@@ -591,13 +573,8 @@ Ref<Texture2D> EditorScriptPreviewPlugin::generate(const Ref<Resource> &p_from,
}
}
}
-
post_process_preview(img);
-
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
-
- ptex->create_from_image(img);
- return ptex;
+ return ImageTexture::create_from_image(img);
}
EditorScriptPreviewPlugin::EditorScriptPreviewPlugin() {
@@ -622,7 +599,7 @@ Ref<Texture2D> EditorAudioStreamPreviewPlugin::generate(const Ref<Resource> &p_f
uint8_t *imgdata = img.ptrw();
uint8_t *imgw = imgdata;
- Ref<AudioStreamPlayback> playback = stream->instance_playback();
+ Ref<AudioStreamPlayback> playback = stream->instantiate_playback();
ERR_FAIL_COND_V(playback.is_null(), Ref<Texture2D>());
real_t len_s = stream->get_length();
@@ -676,12 +653,10 @@ Ref<Texture2D> EditorAudioStreamPreviewPlugin::generate(const Ref<Resource> &p_f
//post_process_preview(img);
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
Ref<Image> image;
image.instantiate();
image->create(w, h, false, Image::FORMAT_RGB8, img);
- ptex->create_from_image(image);
- return ptex;
+ return ImageTexture::create_from_image(image);
}
EditorAudioStreamPreviewPlugin::EditorAudioStreamPreviewPlugin() {
@@ -727,7 +702,7 @@ Ref<Texture2D> EditorMeshPreviewPlugin::generate(const Ref<Resource> &p_from, co
xform.origin.z -= rot_aabb.size.z * 2;
RS::get_singleton()->instance_set_transform(mesh_instance, xform);
- RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMeshPreviewPlugin *>(this), &EditorMeshPreviewPlugin::_generate_frame_started), Vector<Variant>(), Object::CONNECT_ONESHOT);
+ RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMeshPreviewPlugin *>(this), &EditorMeshPreviewPlugin::_generate_frame_started), Object::CONNECT_ONESHOT);
preview_done.wait();
@@ -746,12 +721,9 @@ Ref<Texture2D> EditorMeshPreviewPlugin::generate(const Ref<Resource> &p_from, co
new_size = Vector2(new_size.x * p_size.y / new_size.y, p_size.y);
}
img->resize(new_size.x, new_size.y, Image::INTERPOLATE_CUBIC);
-
post_process_preview(img);
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
- ptex->create_from_image(img);
- return ptex;
+ return ImageTexture::create_from_image(img);
}
EditorMeshPreviewPlugin::EditorMeshPreviewPlugin() {
@@ -812,19 +784,12 @@ void EditorFontPreviewPlugin::_preview_done() {
}
bool EditorFontPreviewPlugin::handles(const String &p_type) const {
- return ClassDB::is_parent_class(p_type, "FontData") || ClassDB::is_parent_class(p_type, "Font");
+ return ClassDB::is_parent_class(p_type, "Font");
}
Ref<Texture2D> EditorFontPreviewPlugin::generate_from_path(const String &p_path, const Size2 &p_size) const {
- Ref<Resource> res = ResourceLoader::load(p_path);
- ERR_FAIL_COND_V(res.is_null(), Ref<Texture2D>());
- Ref<Font> sampled_font;
- if (res->is_class("Font")) {
- sampled_font = res->duplicate();
- } else if (res->is_class("FontData")) {
- sampled_font.instantiate();
- sampled_font->add_data(res->duplicate());
- }
+ Ref<Font> sampled_font = ResourceLoader::load(p_path);
+ ERR_FAIL_COND_V(sampled_font.is_null(), Ref<Texture2D>());
String sample;
static const String sample_base = U"12漢字ԱբΑαАбΑαאבابܐܒހށआআਆઆଆஆఆಆആආกิກິༀကႠა한글ሀᎣᐁᚁᚠᜀᜠᝀᝠកᠠᤁᥐAb😀";
@@ -836,20 +801,18 @@ Ref<Texture2D> EditorFontPreviewPlugin::generate_from_path(const String &p_path,
if (sample.is_empty()) {
sample = sampled_font->get_supported_chars().substr(0, 6);
}
- Vector2 size = sampled_font->get_string_size(sample, 50);
+ Vector2 size = sampled_font->get_string_size(sample, HORIZONTAL_ALIGNMENT_LEFT, -1, 50);
Vector2 pos;
pos.x = 64 - size.x / 2;
pos.y = 80;
- Ref<Font> font = sampled_font;
-
const Color c = GLOBAL_GET("rendering/environment/defaults/default_clear_color");
const float fg = c.get_luminance() < 0.5 ? 1.0 : 0.0;
- font->draw_string(canvas_item, pos, sample, HORIZONTAL_ALIGNMENT_LEFT, -1.f, 50, Color(fg, fg, fg));
+ sampled_font->draw_string(canvas_item, pos, sample, HORIZONTAL_ALIGNMENT_LEFT, -1.f, 50, Color(fg, fg, fg));
- RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorFontPreviewPlugin *>(this), &EditorFontPreviewPlugin::_generate_frame_started), Vector<Variant>(), Object::CONNECT_ONESHOT);
+ RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorFontPreviewPlugin *>(this), &EditorFontPreviewPlugin::_generate_frame_started), Object::CONNECT_ONESHOT);
preview_done.wait();
@@ -868,13 +831,9 @@ Ref<Texture2D> EditorFontPreviewPlugin::generate_from_path(const String &p_path,
new_size = Vector2(new_size.x * p_size.y / new_size.y, p_size.y);
}
img->resize(new_size.x, new_size.y, Image::INTERPOLATE_CUBIC);
-
post_process_preview(img);
- Ref<ImageTexture> ptex = Ref<ImageTexture>(memnew(ImageTexture));
- ptex->create_from_image(img);
-
- return ptex;
+ return ImageTexture::create_from_image(img);
}
Ref<Texture2D> EditorFontPreviewPlugin::generate(const Ref<Resource> &p_from, const Size2 &p_size) const {
@@ -924,11 +883,7 @@ Ref<Texture2D> EditorGradientPreviewPlugin::generate(const Ref<Resource> &p_from
ptex.instantiate();
ptex->set_width(p_size.width * GRADIENT_PREVIEW_TEXTURE_SCALE_FACTOR * EDSCALE);
ptex->set_gradient(gradient);
-
- Ref<ImageTexture> itex;
- itex.instantiate();
- itex->create_from_image(ptex->get_image());
- return itex;
+ return ImageTexture::create_from_image(ptex->get_image());
}
return Ref<Texture2D>();
}
diff --git a/editor/plugins/editor_preview_plugins.h b/editor/plugins/editor_preview_plugins.h
index f548683b70..163cfe79f9 100644
--- a/editor/plugins/editor_preview_plugins.h
+++ b/editor/plugins/editor_preview_plugins.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITORPREVIEWPLUGINS_H
-#define EDITORPREVIEWPLUGINS_H
+#ifndef EDITOR_PREVIEW_PLUGINS_H
+#define EDITOR_PREVIEW_PLUGINS_H
#include "core/templates/safe_refcount.h"
#include "editor/editor_resource_preview.h"
@@ -193,4 +193,5 @@ public:
EditorGradientPreviewPlugin();
};
-#endif // EDITORPREVIEWPLUGINS_H
+
+#endif // EDITOR_PREVIEW_PLUGINS_H
diff --git a/editor/plugins/editor_resource_conversion_plugin.cpp b/editor/plugins/editor_resource_conversion_plugin.cpp
new file mode 100644
index 0000000000..91394dbac7
--- /dev/null
+++ b/editor/plugins/editor_resource_conversion_plugin.cpp
@@ -0,0 +1,64 @@
+/*************************************************************************/
+/* editor_resource_conversion_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "editor_resource_conversion_plugin.h"
+
+void EditorResourceConversionPlugin::_bind_methods() {
+ GDVIRTUAL_BIND(_converts_to);
+ GDVIRTUAL_BIND(_handles, "resource");
+ GDVIRTUAL_BIND(_convert, "resource");
+}
+
+String EditorResourceConversionPlugin::converts_to() const {
+ String ret;
+ if (GDVIRTUAL_CALL(_converts_to, ret)) {
+ return ret;
+ }
+
+ return "";
+}
+
+bool EditorResourceConversionPlugin::handles(const Ref<Resource> &p_resource) const {
+ bool ret;
+ if (GDVIRTUAL_CALL(_handles, p_resource, ret)) {
+ return ret;
+ }
+
+ return false;
+}
+
+Ref<Resource> EditorResourceConversionPlugin::convert(const Ref<Resource> &p_resource) const {
+ Ref<Resource> ret;
+ if (GDVIRTUAL_CALL(_convert, p_resource, ret)) {
+ return ret;
+ }
+
+ return Ref<Resource>();
+}
diff --git a/editor/plugins/font_editor_plugin.h b/editor/plugins/editor_resource_conversion_plugin.h
index 3f0700d880..34b0837383 100644
--- a/editor/plugins/font_editor_plugin.h
+++ b/editor/plugins/editor_resource_conversion_plugin.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* font_editor_plugin.h */
+/* editor_resource_conversion_plugin.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,50 +28,27 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef FONT_EDITOR_PLUGIN_H
-#define FONT_EDITOR_PLUGIN_H
+#ifndef EDITOR_RESOURCE_CONVERSION_PLUGIN_H
+#define EDITOR_RESOURCE_CONVERSION_PLUGIN_H
-#include "editor/editor_plugin.h"
-#include "scene/resources/font.h"
-#include "scene/resources/text_line.h"
+#include "core/io/resource.h"
+#include "core/object/gdvirtual.gen.inc"
+#include "core/object/script_language.h"
-class FontDataPreview : public Control {
- GDCLASS(FontDataPreview, Control);
+class EditorResourceConversionPlugin : public RefCounted {
+ GDCLASS(EditorResourceConversionPlugin, RefCounted);
protected:
- void _notification(int p_what);
static void _bind_methods();
- Ref<TextLine> line;
+ GDVIRTUAL0RC(String, _converts_to)
+ GDVIRTUAL1RC(bool, _handles, Ref<Resource>)
+ GDVIRTUAL1RC(Ref<Resource>, _convert, Ref<Resource>)
public:
- virtual Size2 get_minimum_size() const override;
-
- void set_data(const Ref<FontData> &p_data);
-
- FontDataPreview();
-};
-
-/*************************************************************************/
-
-class EditorInspectorPluginFont : public EditorInspectorPlugin {
- GDCLASS(EditorInspectorPluginFont, EditorInspectorPlugin);
-
-public:
- virtual bool can_handle(Object *p_object) override;
- virtual void parse_begin(Object *p_object) override;
- virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false) override;
-};
-
-/*************************************************************************/
-
-class FontEditorPlugin : public EditorPlugin {
- GDCLASS(FontEditorPlugin, EditorPlugin);
-
-public:
- FontEditorPlugin();
-
- virtual String get_name() const override { return "Font"; }
+ virtual String converts_to() const;
+ virtual bool handles(const Ref<Resource> &p_resource) const;
+ virtual Ref<Resource> convert(const Ref<Resource> &p_resource) const;
};
-#endif // FONT_EDITOR_PLUGIN_H
+#endif // EDITOR_RESOURCE_CONVERSION_PLUGIN_H
diff --git a/editor/plugins/font_config_plugin.cpp b/editor/plugins/font_config_plugin.cpp
new file mode 100644
index 0000000000..c7d3e92802
--- /dev/null
+++ b/editor/plugins/font_config_plugin.cpp
@@ -0,0 +1,1053 @@
+/*************************************************************************/
+/* font_config_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "font_config_plugin.h"
+
+#include "editor/editor_scale.h"
+#include "editor/import/dynamic_font_import_settings.h"
+
+/*************************************************************************/
+/* EditorPropertyFontMetaObject */
+/*************************************************************************/
+
+bool EditorPropertyFontMetaObject::_set(const StringName &p_name, const Variant &p_value) {
+ String name = p_name;
+
+ if (name.begins_with("keys")) {
+ String key = name.get_slicec('/', 1);
+ dict[key] = p_value;
+ return true;
+ }
+
+ return false;
+}
+
+bool EditorPropertyFontMetaObject::_get(const StringName &p_name, Variant &r_ret) const {
+ String name = p_name;
+
+ if (name.begins_with("keys")) {
+ String key = name.get_slicec('/', 1);
+ r_ret = dict[key];
+ return true;
+ }
+
+ return false;
+}
+
+void EditorPropertyFontMetaObject::_bind_methods() {
+}
+
+void EditorPropertyFontMetaObject::set_dict(const Dictionary &p_dict) {
+ dict = p_dict;
+}
+
+Dictionary EditorPropertyFontMetaObject::get_dict() {
+ return dict;
+}
+
+/*************************************************************************/
+/* EditorPropertyFontOTObject */
+/*************************************************************************/
+
+bool EditorPropertyFontOTObject::_set(const StringName &p_name, const Variant &p_value) {
+ String name = p_name;
+
+ if (name.begins_with("keys")) {
+ int key = name.get_slicec('/', 1).to_int();
+ dict[key] = p_value;
+ return true;
+ }
+
+ return false;
+}
+
+bool EditorPropertyFontOTObject::_get(const StringName &p_name, Variant &r_ret) const {
+ String name = p_name;
+
+ if (name.begins_with("keys")) {
+ int key = name.get_slicec('/', 1).to_int();
+ r_ret = dict[key];
+ return true;
+ }
+
+ return false;
+}
+
+void EditorPropertyFontOTObject::set_dict(const Dictionary &p_dict) {
+ dict = p_dict;
+}
+
+Dictionary EditorPropertyFontOTObject::get_dict() {
+ return dict;
+}
+
+void EditorPropertyFontOTObject::set_defaults(const Dictionary &p_dict) {
+ defaults_dict = p_dict;
+}
+
+Dictionary EditorPropertyFontOTObject::get_defaults() {
+ return defaults_dict;
+}
+
+bool EditorPropertyFontOTObject::_property_can_revert(const StringName &p_name) const {
+ String name = p_name;
+
+ if (name.begins_with("keys")) {
+ int key = name.get_slicec('/', 1).to_int();
+ if (defaults_dict.has(key) && dict.has(key)) {
+ int value = dict[key];
+ Vector3i range = defaults_dict[key];
+ return range.z != value;
+ }
+ }
+
+ return false;
+}
+
+bool EditorPropertyFontOTObject::_property_get_revert(const StringName &p_name, Variant &r_property) const {
+ String name = p_name;
+
+ if (name.begins_with("keys")) {
+ int key = name.get_slicec('/', 1).to_int();
+ if (defaults_dict.has(key)) {
+ Vector3i range = defaults_dict[key];
+ r_property = range.z;
+ return true;
+ }
+ }
+
+ return false;
+}
+
+/*************************************************************************/
+/* EditorPropertyFontMetaOverride */
+/*************************************************************************/
+
+void EditorPropertyFontMetaOverride::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ if (Object::cast_to<Button>(button_add)) {
+ button_add->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
+ }
+ } break;
+ }
+}
+
+void EditorPropertyFontMetaOverride::_property_changed(const String &p_property, Variant p_value, const String &p_name, bool p_changing) {
+ if (p_property.begins_with("keys")) {
+ Dictionary dict = object->get_dict();
+ String key = p_property.get_slice("/", 1);
+ dict[key] = (bool)p_value;
+
+ emit_changed(get_edited_property(), dict, "", true);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ }
+}
+
+void EditorPropertyFontMetaOverride::_remove(Object *p_button, const String &p_key) {
+ Dictionary dict = object->get_dict();
+
+ dict.erase(p_key);
+
+ emit_changed(get_edited_property(), dict, "", false);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ update_property();
+}
+
+void EditorPropertyFontMetaOverride::_add_menu() {
+ if (script_editor) {
+ Size2 size = get_size();
+ menu->set_position(get_screen_position() + Size2(0, size.height * get_global_transform().get_scale().y));
+ menu->reset_size();
+ menu->popup();
+ } else {
+ locale_select->popup_locale_dialog();
+ }
+}
+
+void EditorPropertyFontMetaOverride::_add_script(int p_option) {
+ Dictionary dict = object->get_dict();
+
+ dict[script_codes[p_option]] = true;
+
+ emit_changed(get_edited_property(), dict, "", false);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ update_property();
+}
+
+void EditorPropertyFontMetaOverride::_add_lang(const String &p_locale) {
+ Dictionary dict = object->get_dict();
+
+ dict[p_locale] = true;
+
+ emit_changed(get_edited_property(), dict, "", false);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ update_property();
+}
+
+void EditorPropertyFontMetaOverride::_object_id_selected(const StringName &p_property, ObjectID p_id) {
+ emit_signal(SNAME("object_id_selected"), p_property, p_id);
+}
+
+void EditorPropertyFontMetaOverride::update_property() {
+ Variant updated_val = get_edited_object()->get(get_edited_property());
+
+ Dictionary dict = updated_val;
+
+ edit->set_text(vformat(TTR("Overrides (%d)"), dict.size()));
+
+ bool unfolded = get_edited_object()->editor_is_section_unfolded(get_edited_property());
+ if (edit->is_pressed() != unfolded) {
+ edit->set_pressed(unfolded);
+ }
+
+ if (unfolded) {
+ updating = true;
+
+ if (!container) {
+ container = memnew(MarginContainer);
+ container->set_theme_type_variation("MarginContainer4px");
+ add_child(container);
+ set_bottom_editor(container);
+
+ VBoxContainer *vbox = memnew(VBoxContainer);
+ vbox->set_v_size_flags(SIZE_EXPAND_FILL);
+ container->add_child(vbox);
+
+ property_vbox = memnew(VBoxContainer);
+ property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
+ vbox->add_child(property_vbox);
+
+ paginator = memnew(EditorPaginator);
+ paginator->connect("page_changed", callable_mp(this, &EditorPropertyFontMetaOverride::_page_changed));
+ vbox->add_child(paginator);
+ } else {
+ // Queue children for deletion, deleting immediately might cause errors.
+ for (int i = property_vbox->get_child_count() - 1; i >= 0; i--) {
+ property_vbox->get_child(i)->queue_delete();
+ }
+ button_add = nullptr;
+ }
+
+ int size = dict.size();
+
+ int max_page = MAX(0, size - 1) / page_length;
+ page_index = MIN(page_index, max_page);
+
+ paginator->update(page_index, max_page);
+ paginator->set_visible(max_page > 0);
+
+ int offset = page_index * page_length;
+
+ int amount = MIN(size - offset, page_length);
+
+ dict = dict.duplicate();
+ object->set_dict(dict);
+
+ for (int i = 0; i < amount; i++) {
+ String name = dict.get_key_at_index(i);
+ EditorProperty *prop = memnew(EditorPropertyCheck);
+ prop->set_object_and_property(object.ptr(), "keys/" + name);
+
+ if (script_editor) {
+ prop->set_label(TranslationServer::get_singleton()->get_script_name(name));
+ } else {
+ prop->set_label(TranslationServer::get_singleton()->get_locale_name(name));
+ }
+ prop->set_tooltip(name);
+ prop->set_selectable(false);
+
+ prop->connect("property_changed", callable_mp(this, &EditorPropertyFontMetaOverride::_property_changed));
+ prop->connect("object_id_selected", callable_mp(this, &EditorPropertyFontMetaOverride::_object_id_selected));
+
+ HBoxContainer *hbox = memnew(HBoxContainer);
+ property_vbox->add_child(hbox);
+ hbox->add_child(prop);
+ prop->set_h_size_flags(SIZE_EXPAND_FILL);
+ Button *remove = memnew(Button);
+ remove->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
+ hbox->add_child(remove);
+ remove->connect("pressed", callable_mp(this, &EditorPropertyFontMetaOverride::_remove).bind(remove, name));
+
+ prop->update_property();
+ }
+
+ if (script_editor) {
+ button_add = EditorInspector::create_inspector_action_button(TTR("Add Script"));
+ } else {
+ button_add = EditorInspector::create_inspector_action_button(TTR("Add Locale"));
+ }
+ button_add->connect("pressed", callable_mp(this, &EditorPropertyFontMetaOverride::_add_menu));
+ property_vbox->add_child(button_add);
+
+ updating = false;
+ } else {
+ if (container) {
+ set_bottom_editor(nullptr);
+ memdelete(container);
+ button_add = nullptr;
+ container = nullptr;
+ }
+ }
+}
+
+void EditorPropertyFontMetaOverride::_edit_pressed() {
+ Variant prop_val = get_edited_object()->get(get_edited_property());
+ if (prop_val.get_type() == Variant::NIL) {
+ Callable::CallError ce;
+ Variant::construct(Variant::DICTIONARY, prop_val, nullptr, 0, ce);
+ get_edited_object()->set(get_edited_property(), prop_val);
+ }
+
+ get_edited_object()->editor_set_section_unfold(get_edited_property(), edit->is_pressed());
+ update_property();
+}
+
+void EditorPropertyFontMetaOverride::_page_changed(int p_page) {
+ if (updating) {
+ return;
+ }
+ page_index = p_page;
+ update_property();
+}
+
+EditorPropertyFontMetaOverride::EditorPropertyFontMetaOverride(bool p_script) {
+ script_editor = p_script;
+
+ object.instantiate();
+ page_length = int(EDITOR_GET("interface/inspector/max_array_dictionary_items_per_page"));
+
+ edit = memnew(Button);
+ edit->set_h_size_flags(SIZE_EXPAND_FILL);
+ edit->set_clip_text(true);
+ edit->connect("pressed", callable_mp(this, &EditorPropertyFontMetaOverride::_edit_pressed));
+ edit->set_toggle_mode(true);
+ add_child(edit);
+ add_focusable(edit);
+
+ menu = memnew(PopupMenu);
+ if (script_editor) {
+ script_codes = TranslationServer::get_singleton()->get_all_scripts();
+ for (int i = 0; i < script_codes.size(); i++) {
+ menu->add_item(TranslationServer::get_singleton()->get_script_name(script_codes[i]) + " (" + script_codes[i] + ")", i);
+ }
+ }
+ add_child(menu);
+ menu->connect("id_pressed", callable_mp(this, &EditorPropertyFontMetaOverride::_add_script));
+
+ locale_select = memnew(EditorLocaleDialog);
+ locale_select->connect("locale_selected", callable_mp(this, &EditorPropertyFontMetaOverride::_add_lang));
+ add_child(locale_select);
+}
+
+/*************************************************************************/
+/* EditorPropertyOTVariation */
+/*************************************************************************/
+
+void EditorPropertyOTVariation::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ } break;
+ }
+}
+
+void EditorPropertyOTVariation::_property_changed(const String &p_property, Variant p_value, const String &p_name, bool p_changing) {
+ if (p_property.begins_with("keys")) {
+ Dictionary dict = object->get_dict();
+ Dictionary defaults_dict = object->get_defaults();
+ int key = p_property.get_slice("/", 1).to_int();
+ dict[key] = (int)p_value;
+ if (defaults_dict.has(key)) {
+ Vector3i range = defaults_dict[key];
+ if (range.z == (int)p_value) {
+ dict.erase(key);
+ }
+ }
+
+ emit_changed(get_edited_property(), dict, "", true);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ }
+}
+
+void EditorPropertyOTVariation::_object_id_selected(const StringName &p_property, ObjectID p_id) {
+ emit_signal(SNAME("object_id_selected"), p_property, p_id);
+}
+
+void EditorPropertyOTVariation::update_property() {
+ Variant updated_val = get_edited_object()->get(get_edited_property());
+
+ Dictionary dict = updated_val;
+
+ Ref<Font> fd;
+ if (Object::cast_to<Font>(get_edited_object()) != nullptr) {
+ fd = get_edited_object();
+ } else if (Object::cast_to<DynamicFontImportSettingsData>(get_edited_object()) != nullptr) {
+ Ref<DynamicFontImportSettingsData> imp = Object::cast_to<DynamicFontImportSettingsData>(get_edited_object());
+ fd = imp->get_font();
+ }
+
+ Dictionary supported = (fd.is_valid()) ? fd->get_supported_variation_list() : Dictionary();
+
+ edit->set_text(vformat(TTR("Variation Coordinates (%d)"), supported.size()));
+
+ bool unfolded = get_edited_object()->editor_is_section_unfolded(get_edited_property());
+ if (edit->is_pressed() != unfolded) {
+ edit->set_pressed(unfolded);
+ }
+
+ if (unfolded) {
+ updating = true;
+
+ if (!container) {
+ container = memnew(MarginContainer);
+ container->set_theme_type_variation("MarginContainer4px");
+ add_child(container);
+ set_bottom_editor(container);
+
+ VBoxContainer *vbox = memnew(VBoxContainer);
+ vbox->set_v_size_flags(SIZE_EXPAND_FILL);
+ container->add_child(vbox);
+
+ property_vbox = memnew(VBoxContainer);
+ property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
+ vbox->add_child(property_vbox);
+
+ paginator = memnew(EditorPaginator);
+ paginator->connect("page_changed", callable_mp(this, &EditorPropertyOTVariation::_page_changed));
+ vbox->add_child(paginator);
+ } else {
+ // Queue children for deletion, deleting immediately might cause errors.
+ for (int i = property_vbox->get_child_count() - 1; i >= 0; i--) {
+ property_vbox->get_child(i)->queue_delete();
+ }
+ }
+
+ int size = supported.size();
+
+ int max_page = MAX(0, size - 1) / page_length;
+ page_index = MIN(page_index, max_page);
+
+ paginator->update(page_index, max_page);
+ paginator->set_visible(max_page > 0);
+
+ int offset = page_index * page_length;
+
+ int amount = MIN(size - offset, page_length);
+
+ dict = dict.duplicate();
+ object->set_dict(dict);
+ object->set_defaults(supported);
+
+ for (int i = 0; i < amount; i++) {
+ int name_tag = supported.get_key_at_index(i);
+ Vector3i range = supported.get_value_at_index(i);
+
+ EditorPropertyInteger *prop = memnew(EditorPropertyInteger);
+ prop->setup(range.x, range.y, 1, false, false);
+ prop->set_object_and_property(object.ptr(), "keys/" + itos(name_tag));
+
+ String name = TS->tag_to_name(name_tag);
+ prop->set_label(name.capitalize());
+ prop->set_tooltip(name);
+ prop->set_selectable(false);
+
+ prop->connect("property_changed", callable_mp(this, &EditorPropertyOTVariation::_property_changed));
+ prop->connect("object_id_selected", callable_mp(this, &EditorPropertyOTVariation::_object_id_selected));
+
+ property_vbox->add_child(prop);
+
+ prop->update_property();
+ }
+
+ updating = false;
+ } else {
+ if (container) {
+ set_bottom_editor(nullptr);
+ memdelete(container);
+ container = nullptr;
+ }
+ }
+}
+
+void EditorPropertyOTVariation::_edit_pressed() {
+ Variant prop_val = get_edited_object()->get(get_edited_property());
+ if (prop_val.get_type() == Variant::NIL) {
+ Callable::CallError ce;
+ Variant::construct(Variant::DICTIONARY, prop_val, nullptr, 0, ce);
+ get_edited_object()->set(get_edited_property(), prop_val);
+ }
+
+ get_edited_object()->editor_set_section_unfold(get_edited_property(), edit->is_pressed());
+ update_property();
+}
+
+void EditorPropertyOTVariation::_page_changed(int p_page) {
+ if (updating) {
+ return;
+ }
+ page_index = p_page;
+ update_property();
+}
+
+EditorPropertyOTVariation::EditorPropertyOTVariation() {
+ object.instantiate();
+ page_length = int(EDITOR_GET("interface/inspector/max_array_dictionary_items_per_page"));
+
+ edit = memnew(Button);
+ edit->set_h_size_flags(SIZE_EXPAND_FILL);
+ edit->set_clip_text(true);
+ edit->connect("pressed", callable_mp(this, &EditorPropertyOTVariation::_edit_pressed));
+ edit->set_toggle_mode(true);
+ add_child(edit);
+ add_focusable(edit);
+}
+
+/*************************************************************************/
+/* EditorPropertyOTFeatures */
+/*************************************************************************/
+
+void EditorPropertyOTFeatures::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ if (Object::cast_to<Button>(button_add)) {
+ button_add->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
+ }
+ } break;
+ }
+}
+
+void EditorPropertyOTFeatures::_property_changed(const String &p_property, Variant p_value, const String &p_name, bool p_changing) {
+ if (p_property.begins_with("keys")) {
+ Dictionary dict = object->get_dict();
+ int key = p_property.get_slice("/", 1).to_int();
+ dict[key] = (int)p_value;
+
+ emit_changed(get_edited_property(), dict, "", true);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ }
+}
+
+void EditorPropertyOTFeatures::_remove(Object *p_button, int p_key) {
+ Dictionary dict = object->get_dict();
+
+ dict.erase(p_key);
+
+ emit_changed(get_edited_property(), dict, "", false);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ update_property();
+}
+
+void EditorPropertyOTFeatures::_add_menu() {
+ Size2 size = get_size();
+ menu->set_position(get_screen_position() + Size2(0, size.height * get_global_transform().get_scale().y));
+ menu->reset_size();
+ menu->popup();
+}
+
+void EditorPropertyOTFeatures::_add_feature(int p_option) {
+ Dictionary dict = object->get_dict();
+
+ dict[p_option] = 1;
+
+ emit_changed(get_edited_property(), dict, "", false);
+
+ dict = dict.duplicate(); // Duplicate, so undo/redo works better.
+ object->set_dict(dict);
+ update_property();
+}
+
+void EditorPropertyOTFeatures::_object_id_selected(const StringName &p_property, ObjectID p_id) {
+ emit_signal(SNAME("object_id_selected"), p_property, p_id);
+}
+
+void EditorPropertyOTFeatures::update_property() {
+ Variant updated_val = get_edited_object()->get(get_edited_property());
+
+ Dictionary dict = updated_val;
+
+ Ref<Font> fd;
+ if (Object::cast_to<FontVariation>(get_edited_object()) != nullptr) {
+ fd = get_edited_object();
+ } else if (Object::cast_to<DynamicFontImportSettingsData>(get_edited_object()) != nullptr) {
+ Ref<DynamicFontImportSettingsData> imp = Object::cast_to<DynamicFontImportSettingsData>(get_edited_object());
+ fd = imp->get_font();
+ }
+
+ Dictionary supported;
+ if (fd.is_valid()) {
+ supported = fd->get_supported_feature_list();
+ }
+
+ edit->set_text(vformat(TTR("Features (%d of %d set)"), dict.size(), supported.size()));
+
+ bool unfolded = get_edited_object()->editor_is_section_unfolded(get_edited_property());
+ if (edit->is_pressed() != unfolded) {
+ edit->set_pressed(unfolded);
+ }
+
+ if (unfolded) {
+ updating = true;
+
+ if (!container) {
+ container = memnew(MarginContainer);
+ container->set_theme_type_variation("MarginContainer4px");
+ add_child(container);
+ set_bottom_editor(container);
+
+ VBoxContainer *vbox = memnew(VBoxContainer);
+ vbox->set_v_size_flags(SIZE_EXPAND_FILL);
+ container->add_child(vbox);
+
+ property_vbox = memnew(VBoxContainer);
+ property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
+ vbox->add_child(property_vbox);
+
+ paginator = memnew(EditorPaginator);
+ paginator->connect("page_changed", callable_mp(this, &EditorPropertyOTFeatures::_page_changed));
+ vbox->add_child(paginator);
+ } else {
+ // Queue children for deletion, deleting immediately might cause errors.
+ for (int i = property_vbox->get_child_count() - 1; i >= 0; i--) {
+ property_vbox->get_child(i)->queue_delete();
+ }
+ button_add = nullptr;
+ }
+
+ // Update add menu items.
+ menu->clear();
+ bool have_sub[FGRP_MAX];
+ for (int i = 0; i < FGRP_MAX; i++) {
+ menu_sub[i]->clear();
+ have_sub[i] = false;
+ }
+
+ bool show_hidden = EDITOR_GET("interface/inspector/show_low_level_opentype_features");
+
+ for (int i = 0; i < supported.size(); i++) {
+ int name_tag = supported.get_key_at_index(i);
+ Dictionary info = supported.get_value_at_index(i);
+ bool hidden = info["hidden"].operator bool();
+ String name = TS->tag_to_name(name_tag);
+ FeatureGroups grp = FGRP_MAX;
+
+ if (hidden && !show_hidden) {
+ continue;
+ }
+
+ if (name.begins_with("stylistic_set_")) {
+ grp = FGRP_STYLISTIC_SET;
+ } else if (name.begins_with("character_variant_")) {
+ grp = FGRP_CHARACTER_VARIANT;
+ } else if (name.ends_with("_capitals")) {
+ grp = FGRP_CAPITLS;
+ } else if (name.ends_with("_ligatures")) {
+ grp = FGRP_LIGATURES;
+ } else if (name.ends_with("_alternates")) {
+ grp = FGRP_ALTERNATES;
+ } else if (name.ends_with("_kanji_forms") || name.begins_with("jis") || name == "simplified_forms" || name == "traditional_name_forms" || name == "traditional_forms") {
+ grp = FGRP_EAL;
+ } else if (name.ends_with("_widths")) {
+ grp = FGRP_EAW;
+ } else if (name == "tabular_figures" || name == "proportional_figures") {
+ grp = FGRP_NUMAL;
+ } else if (name.begins_with("custom_")) {
+ grp = FGRP_CUSTOM;
+ }
+ String disp_name = name.capitalize();
+ if (info.has("label")) {
+ disp_name = vformat("%s (%s)", disp_name, info["label"].operator String());
+ }
+
+ if (grp == FGRP_MAX) {
+ menu->add_item(disp_name, name_tag);
+ } else {
+ menu_sub[grp]->add_item(disp_name, name_tag);
+ have_sub[grp] = true;
+ }
+ }
+ for (int i = 0; i < FGRP_MAX; i++) {
+ if (have_sub[i]) {
+ menu->add_submenu_item(RTR(group_names[i]), "FTRMenu_" + itos(i));
+ }
+ }
+
+ int size = dict.size();
+
+ int max_page = MAX(0, size - 1) / page_length;
+ page_index = MIN(page_index, max_page);
+
+ paginator->update(page_index, max_page);
+ paginator->set_visible(max_page > 0);
+
+ int offset = page_index * page_length;
+
+ int amount = MIN(size - offset, page_length);
+
+ dict = dict.duplicate();
+ object->set_dict(dict);
+
+ for (int i = 0; i < amount; i++) {
+ int name_tag = dict.get_key_at_index(i);
+
+ if (supported.has(name_tag)) {
+ Dictionary info = supported[name_tag];
+ Variant::Type vtype = Variant::Type(info["type"].operator int());
+ bool hidden = info["hidden"].operator bool();
+ if (hidden && !show_hidden) {
+ continue;
+ }
+
+ EditorProperty *prop = nullptr;
+ switch (vtype) {
+ case Variant::NIL: {
+ prop = memnew(EditorPropertyNil);
+ } break;
+ case Variant::BOOL: {
+ prop = memnew(EditorPropertyCheck);
+ } break;
+ case Variant::INT: {
+ EditorPropertyInteger *editor = memnew(EditorPropertyInteger);
+ editor->setup(0, 255, 1, false, false);
+ prop = editor;
+ } break;
+ default: {
+ ERR_CONTINUE_MSG(true, vformat("Unsupported OT feature data type %s", Variant::get_type_name(vtype)));
+ }
+ }
+ prop->set_object_and_property(object.ptr(), "keys/" + itos(name_tag));
+
+ String name = TS->tag_to_name(name_tag);
+ String disp_name = name.capitalize();
+ if (info.has("label")) {
+ disp_name = vformat("%s (%s)", disp_name, info["label"].operator String());
+ }
+ prop->set_label(disp_name);
+ prop->set_tooltip(name);
+ prop->set_selectable(false);
+
+ prop->connect("property_changed", callable_mp(this, &EditorPropertyOTFeatures::_property_changed));
+ prop->connect("object_id_selected", callable_mp(this, &EditorPropertyOTFeatures::_object_id_selected));
+
+ HBoxContainer *hbox = memnew(HBoxContainer);
+ property_vbox->add_child(hbox);
+ hbox->add_child(prop);
+ prop->set_h_size_flags(SIZE_EXPAND_FILL);
+ Button *remove = memnew(Button);
+ remove->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
+ hbox->add_child(remove);
+ remove->connect("pressed", callable_mp(this, &EditorPropertyOTFeatures::_remove).bind(remove, name_tag));
+
+ prop->update_property();
+ }
+ }
+
+ button_add = EditorInspector::create_inspector_action_button(TTR("Add Feature"));
+ button_add->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
+ button_add->connect("pressed", callable_mp(this, &EditorPropertyOTFeatures::_add_menu));
+ property_vbox->add_child(button_add);
+
+ updating = false;
+ } else {
+ if (container) {
+ set_bottom_editor(nullptr);
+ memdelete(container);
+ button_add = nullptr;
+ container = nullptr;
+ }
+ }
+}
+
+void EditorPropertyOTFeatures::_edit_pressed() {
+ Variant prop_val = get_edited_object()->get(get_edited_property());
+ if (prop_val.get_type() == Variant::NIL) {
+ Callable::CallError ce;
+ Variant::construct(Variant::DICTIONARY, prop_val, nullptr, 0, ce);
+ get_edited_object()->set(get_edited_property(), prop_val);
+ }
+
+ get_edited_object()->editor_set_section_unfold(get_edited_property(), edit->is_pressed());
+ update_property();
+}
+
+void EditorPropertyOTFeatures::_page_changed(int p_page) {
+ if (updating) {
+ return;
+ }
+ page_index = p_page;
+ update_property();
+}
+
+EditorPropertyOTFeatures::EditorPropertyOTFeatures() {
+ object.instantiate();
+ page_length = int(EDITOR_GET("interface/inspector/max_array_dictionary_items_per_page"));
+
+ edit = memnew(Button);
+ edit->set_h_size_flags(SIZE_EXPAND_FILL);
+ edit->set_clip_text(true);
+ edit->connect("pressed", callable_mp(this, &EditorPropertyOTFeatures::_edit_pressed));
+ edit->set_toggle_mode(true);
+ add_child(edit);
+ add_focusable(edit);
+
+ menu = memnew(PopupMenu);
+ add_child(menu);
+ menu->connect("id_pressed", callable_mp(this, &EditorPropertyOTFeatures::_add_feature));
+
+ for (int i = 0; i < FGRP_MAX; i++) {
+ menu_sub[i] = memnew(PopupMenu);
+ menu_sub[i]->set_name("FTRMenu_" + itos(i));
+ menu->add_child(menu_sub[i]);
+ menu_sub[i]->connect("id_pressed", callable_mp(this, &EditorPropertyOTFeatures::_add_feature));
+ }
+
+ group_names[FGRP_STYLISTIC_SET] = "Stylistic Sets";
+ group_names[FGRP_CHARACTER_VARIANT] = "Character Variants";
+ group_names[FGRP_CAPITLS] = "Capitals";
+ group_names[FGRP_LIGATURES] = "Ligatures";
+ group_names[FGRP_ALTERNATES] = "Alternates";
+ group_names[FGRP_EAL] = "East Asian Language";
+ group_names[FGRP_EAW] = "East Asian Widths";
+ group_names[FGRP_NUMAL] = "Numeral Alignment";
+ group_names[FGRP_CUSTOM] = "Custom";
+}
+
+/*************************************************************************/
+/* EditorInspectorPluginFontVariation */
+/*************************************************************************/
+
+bool EditorInspectorPluginFontVariation::can_handle(Object *p_object) {
+ return (Object::cast_to<FontVariation>(p_object) != nullptr) || (Object::cast_to<DynamicFontImportSettingsData>(p_object) != nullptr);
+}
+
+bool EditorInspectorPluginFontVariation::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
+ if (p_path == "variation_opentype") {
+ add_property_editor(p_path, memnew(EditorPropertyOTVariation));
+ return true;
+ } else if (p_path == "opentype_features") {
+ add_property_editor(p_path, memnew(EditorPropertyOTFeatures));
+ return true;
+ } else if (p_path == "language_support") {
+ add_property_editor(p_path, memnew(EditorPropertyFontMetaOverride(false)));
+ return true;
+ } else if (p_path == "script_support") {
+ add_property_editor(p_path, memnew(EditorPropertyFontMetaOverride(true)));
+ return true;
+ }
+ return false;
+}
+
+/*************************************************************************/
+/* FontPreview */
+/*************************************************************************/
+
+void FontPreview::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_DRAW: {
+ // Draw font name (style).
+ Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
+ int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
+ Color text_color = get_theme_color(SNAME("font_color"), SNAME("Label"));
+
+ // Draw font preview.
+ bool prev_ok = true;
+ if (prev_font.is_valid()) {
+ if (prev_font->get_font_name().is_empty()) {
+ prev_ok = false;
+ } else {
+ String name;
+ if (prev_font->get_font_style_name().is_empty()) {
+ name = prev_font->get_font_name();
+ } else {
+ name = vformat("%s (%s)", prev_font->get_font_name(), prev_font->get_font_style_name());
+ }
+ if (prev_font->is_class("FontVariation")) {
+ name += " " + TTR(" - Variation");
+ }
+ font->draw_string(get_canvas_item(), Point2(0, font->get_height(font_size) + 2 * EDSCALE), name, HORIZONTAL_ALIGNMENT_CENTER, get_size().x, font_size, text_color);
+
+ String sample;
+ static const String sample_base = U"12漢字ԱբΑαАбΑαאבابܐܒހށआআਆઆଆஆఆಆആආกิກິༀကႠა한글ሀᎣᐁᚁᚠᜀᜠᝀᝠកᠠᤁᥐAb😀";
+ for (int i = 0; i < sample_base.length(); i++) {
+ if (prev_font->has_char(sample_base[i])) {
+ sample += sample_base[i];
+ }
+ }
+ if (sample.is_empty()) {
+ sample = prev_font->get_supported_chars().substr(0, 6);
+ }
+ if (sample.is_empty()) {
+ prev_ok = false;
+ } else {
+ prev_font->draw_string(get_canvas_item(), Point2(0, font->get_height(font_size) + prev_font->get_height(25 * EDSCALE)), sample, HORIZONTAL_ALIGNMENT_CENTER, get_size().x, 25 * EDSCALE, text_color);
+ }
+ }
+ }
+ if (!prev_ok) {
+ text_color.a *= 0.5;
+ font->draw_string(get_canvas_item(), Point2(0, font->get_height(font_size) + 2 * EDSCALE), TTR("Unable to preview font"), HORIZONTAL_ALIGNMENT_CENTER, get_size().x, font_size, text_color);
+ }
+ } break;
+ }
+}
+
+void FontPreview::_bind_methods() {}
+
+Size2 FontPreview::get_minimum_size() const {
+ return Vector2(64, 64) * EDSCALE;
+}
+
+void FontPreview::set_data(const Ref<Font> &p_f) {
+ prev_font = p_f;
+ update();
+}
+
+FontPreview::FontPreview() {
+}
+
+/*************************************************************************/
+/* EditorInspectorPluginFontPreview */
+/*************************************************************************/
+
+bool EditorInspectorPluginFontPreview::can_handle(Object *p_object) {
+ return Object::cast_to<Font>(p_object) != nullptr;
+}
+
+void EditorInspectorPluginFontPreview::parse_begin(Object *p_object) {
+ Font *fd = Object::cast_to<Font>(p_object);
+ ERR_FAIL_COND(!fd);
+
+ FontPreview *editor = memnew(FontPreview);
+ editor->set_data(fd);
+ add_custom_control(editor);
+}
+
+bool EditorInspectorPluginFontPreview::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
+ return false;
+}
+
+/*************************************************************************/
+/* EditorPropertyFontNamesArray */
+/*************************************************************************/
+
+void EditorPropertyFontNamesArray::_add_element() {
+ Size2 size = get_size();
+ menu->set_position(get_screen_position() + Size2(0, size.height * get_global_transform().get_scale().y));
+ menu->reset_size();
+ menu->popup();
+}
+
+void EditorPropertyFontNamesArray::_add_font(int p_option) {
+ if (updating) {
+ return;
+ }
+
+ Variant array = object->get_array();
+ int previous_size = array.call("size");
+
+ array.call("resize", previous_size + 1);
+ array.set(previous_size, menu->get_item_text(p_option));
+
+ emit_changed(get_edited_property(), array, "", false);
+ object->set_array(array);
+ update_property();
+}
+
+EditorPropertyFontNamesArray::EditorPropertyFontNamesArray() {
+ menu = memnew(PopupMenu);
+ menu->add_item("Sans-Serif", 0);
+ menu->add_item("Serif", 1);
+ menu->add_item("Monospace", 2);
+ menu->add_item("Fantasy", 3);
+ menu->add_item("Cursive", 4);
+
+ menu->add_separator();
+
+ if (OS::get_singleton()) {
+ Vector<String> fonts = OS::get_singleton()->get_system_fonts();
+ for (int i = 0; i < fonts.size(); i++) {
+ menu->add_item(fonts[i], i + 6);
+ }
+ }
+ add_child(menu);
+ menu->connect("id_pressed", callable_mp(this, &EditorPropertyFontNamesArray::_add_font));
+}
+
+/*************************************************************************/
+/* EditorInspectorPluginSystemFont */
+/*************************************************************************/
+
+bool EditorInspectorPluginSystemFont::can_handle(Object *p_object) {
+ return Object::cast_to<SystemFont>(p_object) != nullptr;
+}
+
+bool EditorInspectorPluginSystemFont::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
+ if (p_path == "font_names") {
+ EditorPropertyFontNamesArray *editor = memnew(EditorPropertyFontNamesArray);
+ editor->setup(p_type, p_hint_text);
+ add_property_editor(p_path, editor);
+ return true;
+ }
+ return false;
+}
+
+/*************************************************************************/
+/* FontEditorPlugin */
+/*************************************************************************/
+
+FontEditorPlugin::FontEditorPlugin() {
+ Ref<EditorInspectorPluginFontVariation> fc_plugin;
+ fc_plugin.instantiate();
+ EditorInspector::add_inspector_plugin(fc_plugin);
+
+ Ref<EditorInspectorPluginSystemFont> fs_plugin;
+ fs_plugin.instantiate();
+ EditorInspector::add_inspector_plugin(fs_plugin);
+
+ Ref<EditorInspectorPluginFontPreview> fp_plugin;
+ fp_plugin.instantiate();
+ EditorInspector::add_inspector_plugin(fp_plugin);
+}
diff --git a/editor/plugins/font_config_plugin.h b/editor/plugins/font_config_plugin.h
new file mode 100644
index 0000000000..41dde3cc59
--- /dev/null
+++ b/editor/plugins/font_config_plugin.h
@@ -0,0 +1,286 @@
+/*************************************************************************/
+/* font_config_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef FONT_CONFIG_PLUGIN_H
+#define FONT_CONFIG_PLUGIN_H
+
+#include "core/io/marshalls.h"
+#include "editor/editor_plugin.h"
+#include "editor/editor_properties.h"
+#include "editor/editor_properties_array_dict.h"
+
+/*************************************************************************/
+
+class EditorPropertyFontMetaObject : public RefCounted {
+ GDCLASS(EditorPropertyFontMetaObject, RefCounted);
+
+ Dictionary dict;
+
+protected:
+ bool _set(const StringName &p_name, const Variant &p_value);
+ bool _get(const StringName &p_name, Variant &r_ret) const;
+ static void _bind_methods();
+
+public:
+ void set_dict(const Dictionary &p_dict);
+ Dictionary get_dict();
+
+ EditorPropertyFontMetaObject(){};
+};
+
+/*************************************************************************/
+
+class EditorPropertyFontOTObject : public RefCounted {
+ GDCLASS(EditorPropertyFontOTObject, RefCounted);
+
+ Dictionary dict;
+ Dictionary defaults_dict;
+
+protected:
+ bool _set(const StringName &p_name, const Variant &p_value);
+ bool _get(const StringName &p_name, Variant &r_ret) const;
+ bool _property_can_revert(const StringName &p_name) const;
+ bool _property_get_revert(const StringName &p_name, Variant &r_property) const;
+
+public:
+ void set_dict(const Dictionary &p_dict);
+ Dictionary get_dict();
+
+ void set_defaults(const Dictionary &p_dict);
+ Dictionary get_defaults();
+
+ EditorPropertyFontOTObject(){};
+};
+
+/*************************************************************************/
+
+class EditorPropertyFontMetaOverride : public EditorProperty {
+ GDCLASS(EditorPropertyFontMetaOverride, EditorProperty);
+
+ Ref<EditorPropertyFontMetaObject> object;
+
+ MarginContainer *container = nullptr;
+ VBoxContainer *property_vbox = nullptr;
+
+ Button *button_add = nullptr;
+ Button *edit = nullptr;
+ PopupMenu *menu = nullptr;
+ EditorLocaleDialog *locale_select = nullptr;
+
+ Vector<String> script_codes;
+
+ bool script_editor = false;
+ bool updating = false;
+ int page_length = 20;
+ int page_index = 0;
+ EditorPaginator *paginator = nullptr;
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods(){};
+
+ void _edit_pressed();
+ void _page_changed(int p_page);
+ void _property_changed(const String &p_property, Variant p_value, const String &p_name = "", bool p_changing = false);
+ void _remove(Object *p_button, const String &p_key);
+ void _add_menu();
+ void _add_script(int p_option);
+ void _add_lang(const String &p_locale);
+ void _object_id_selected(const StringName &p_property, ObjectID p_id);
+
+public:
+ virtual void update_property() override;
+
+ EditorPropertyFontMetaOverride(bool p_script);
+};
+
+/*************************************************************************/
+
+class EditorPropertyOTVariation : public EditorProperty {
+ GDCLASS(EditorPropertyOTVariation, EditorProperty);
+
+ Ref<EditorPropertyFontOTObject> object;
+
+ MarginContainer *container = nullptr;
+ VBoxContainer *property_vbox = nullptr;
+
+ Button *edit = nullptr;
+
+ bool updating = false;
+ int page_length = 20;
+ int page_index = 0;
+ EditorPaginator *paginator = nullptr;
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods(){};
+
+ void _edit_pressed();
+ void _page_changed(int p_page);
+ void _property_changed(const String &p_property, Variant p_value, const String &p_name = "", bool p_changing = false);
+ void _object_id_selected(const StringName &p_property, ObjectID p_id);
+
+public:
+ virtual void update_property() override;
+
+ EditorPropertyOTVariation();
+};
+
+/*************************************************************************/
+
+class EditorPropertyOTFeatures : public EditorProperty {
+ GDCLASS(EditorPropertyOTFeatures, EditorProperty);
+
+ enum FeatureGroups {
+ FGRP_STYLISTIC_SET,
+ FGRP_CHARACTER_VARIANT,
+ FGRP_CAPITLS,
+ FGRP_LIGATURES,
+ FGRP_ALTERNATES,
+ FGRP_EAL,
+ FGRP_EAW,
+ FGRP_NUMAL,
+ FGRP_CUSTOM,
+ FGRP_MAX,
+ };
+
+ Ref<EditorPropertyFontOTObject> object;
+
+ MarginContainer *container = nullptr;
+ VBoxContainer *property_vbox = nullptr;
+
+ Button *button_add = nullptr;
+ Button *edit = nullptr;
+ PopupMenu *menu = nullptr;
+ PopupMenu *menu_sub[FGRP_MAX];
+ String group_names[FGRP_MAX];
+
+ bool updating = false;
+ int page_length = 20;
+ int page_index = 0;
+ EditorPaginator *paginator = nullptr;
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods(){};
+
+ void _edit_pressed();
+ void _page_changed(int p_page);
+ void _property_changed(const String &p_property, Variant p_value, const String &p_name = "", bool p_changing = false);
+ void _remove(Object *p_button, int p_key);
+ void _add_menu();
+ void _add_feature(int p_option);
+ void _object_id_selected(const StringName &p_property, ObjectID p_id);
+
+public:
+ virtual void update_property() override;
+
+ EditorPropertyOTFeatures();
+};
+
+/*************************************************************************/
+
+class EditorInspectorPluginFontVariation : public EditorInspectorPlugin {
+ GDCLASS(EditorInspectorPluginFontVariation, EditorInspectorPlugin);
+
+public:
+ virtual bool can_handle(Object *p_object) override;
+ virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false) override;
+};
+
+/*************************************************************************/
+
+class FontPreview : public Control {
+ GDCLASS(FontPreview, Control);
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods();
+
+ Ref<Font> prev_font;
+
+public:
+ virtual Size2 get_minimum_size() const override;
+
+ void set_data(const Ref<Font> &p_f);
+
+ FontPreview();
+};
+
+/*************************************************************************/
+
+class EditorInspectorPluginFontPreview : public EditorInspectorPlugin {
+ GDCLASS(EditorInspectorPluginFontPreview, EditorInspectorPlugin);
+
+public:
+ virtual bool can_handle(Object *p_object) override;
+ virtual void parse_begin(Object *p_object) override;
+ virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false) override;
+};
+
+/*************************************************************************/
+
+class EditorPropertyFontNamesArray : public EditorPropertyArray {
+ GDCLASS(EditorPropertyFontNamesArray, EditorPropertyArray);
+
+ PopupMenu *menu = nullptr;
+
+protected:
+ virtual void _add_element() override;
+
+ void _add_font(int p_option);
+ static void _bind_methods(){};
+
+public:
+ EditorPropertyFontNamesArray();
+};
+
+/*************************************************************************/
+
+class EditorInspectorPluginSystemFont : public EditorInspectorPlugin {
+ GDCLASS(EditorInspectorPluginSystemFont, EditorInspectorPlugin);
+
+public:
+ virtual bool can_handle(Object *p_object) override;
+ virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false) override;
+};
+
+/*************************************************************************/
+
+class FontEditorPlugin : public EditorPlugin {
+ GDCLASS(FontEditorPlugin, EditorPlugin);
+
+public:
+ FontEditorPlugin();
+
+ virtual String get_name() const override { return "Font"; }
+};
+
+#endif // FONT_CONFIG_PLUGIN_H
diff --git a/editor/plugins/font_editor_plugin.cpp b/editor/plugins/font_editor_plugin.cpp
deleted file mode 100644
index b9de621bcb..0000000000
--- a/editor/plugins/font_editor_plugin.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*************************************************************************/
-/* font_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#include "font_editor_plugin.h"
-
-#include "editor/editor_scale.h"
-
-void FontDataPreview::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_DRAW: {
- Color text_color = get_theme_color(SNAME("font_color"), SNAME("Label"));
- Color line_color = text_color;
- line_color.a *= 0.6;
- Vector2 pos = (get_size() - line->get_size()) / 2;
- line->draw(get_canvas_item(), pos, text_color);
- draw_line(Vector2(0, pos.y + line->get_line_ascent()), Vector2(pos.x - 5, pos.y + line->get_line_ascent()), line_color);
- draw_line(Vector2(pos.x + line->get_size().x + 5, pos.y + line->get_line_ascent()), Vector2(get_size().x, pos.y + line->get_line_ascent()), line_color);
- } break;
- }
-}
-
-void FontDataPreview::_bind_methods() {}
-
-Size2 FontDataPreview::get_minimum_size() const {
- return Vector2(64, 64) * EDSCALE;
-}
-
-void FontDataPreview::set_data(const Ref<FontData> &p_data) {
- Ref<Font> f = memnew(Font);
- f->add_data(p_data);
-
- line->clear();
- if (p_data.is_valid()) {
- String sample;
- static const String sample_base = U"12漢字ԱբΑαАбΑαאבابܐܒހށआআਆઆଆஆఆಆആආกิກິༀကႠა한글ሀᎣᐁᚁᚠᜀᜠᝀᝠកᠠᤁᥐAb😀";
- for (int i = 0; i < sample_base.length(); i++) {
- if (p_data->has_char(sample_base[i])) {
- sample += sample_base[i];
- }
- }
- if (sample.is_empty()) {
- sample = p_data->get_supported_chars().substr(0, 6);
- }
- line->add_string(sample, f, 72);
- }
-
- update();
-}
-
-FontDataPreview::FontDataPreview() {
- line.instantiate();
-}
-
-/*************************************************************************/
-
-bool EditorInspectorPluginFont::can_handle(Object *p_object) {
- return Object::cast_to<FontData>(p_object) != nullptr;
-}
-
-void EditorInspectorPluginFont::parse_begin(Object *p_object) {
- FontData *fd = Object::cast_to<FontData>(p_object);
- ERR_FAIL_COND(!fd);
-
- FontDataPreview *editor = memnew(FontDataPreview);
- editor->set_data(fd);
- add_custom_control(editor);
-}
-
-bool EditorInspectorPluginFont::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
- return false;
-}
-
-/*************************************************************************/
-
-FontEditorPlugin::FontEditorPlugin() {
- Ref<EditorInspectorPluginFont> fd_plugin;
- fd_plugin.instantiate();
- EditorInspector::add_inspector_plugin(fd_plugin);
-}
diff --git a/editor/plugins/gdextension_export_plugin.h b/editor/plugins/gdextension_export_plugin.h
index b91a17d9e5..b5eca46ad3 100644
--- a/editor/plugins/gdextension_export_plugin.h
+++ b/editor/plugins/gdextension_export_plugin.h
@@ -31,7 +31,7 @@
#ifndef GDEXTENSION_EXPORT_PLUGIN_H
#define GDEXTENSION_EXPORT_PLUGIN_H
-#include "editor/editor_export.h"
+#include "editor/export/editor_export.h"
class GDExtensionExportPlugin : public EditorExportPlugin {
protected:
diff --git a/editor/plugins/gpu_particles_2d_editor_plugin.cpp b/editor/plugins/gpu_particles_2d_editor_plugin.cpp
index 72caa15e9c..1487f8b7bc 100644
--- a/editor/plugins/gpu_particles_2d_editor_plugin.cpp
+++ b/editor/plugins/gpu_particles_2d_editor_plugin.cpp
@@ -34,6 +34,7 @@
#include "core/io/image_loader.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/scene_tree_dock.h"
#include "scene/2d/cpu_particles_2d.h"
#include "scene/gui/separator.h"
@@ -111,7 +112,7 @@ void GPUParticles2DEditorPlugin::_menu_callback(int p_idx) {
cpu_particles->set_process_mode(particles->get_process_mode());
cpu_particles->set_z_index(particles->get_z_index());
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Convert to CPUParticles2D"));
ur->add_do_method(SceneTreeDock::get_singleton(), "replace_node", particles, cpu_particles, true, false);
ur->add_do_reference(cpu_particles);
@@ -299,12 +300,7 @@ void GPUParticles2DEditorPlugin::_generate_emission_mask() {
img.instantiate();
img->create(w, h, false, Image::FORMAT_RGF, texdata);
-
- Ref<ImageTexture> imgt;
- imgt.instantiate();
- imgt->create_from_image(img);
-
- pm->set_emission_point_texture(imgt);
+ pm->set_emission_point_texture(ImageTexture::create_from_image(img));
pm->set_emission_point_count(vpc);
if (capture_colors) {
@@ -320,10 +316,7 @@ void GPUParticles2DEditorPlugin::_generate_emission_mask() {
img.instantiate();
img->create(w, h, false, Image::FORMAT_RGBA8, colordata);
-
- imgt.instantiate();
- imgt->create_from_image(img);
- pm->set_emission_color_texture(imgt);
+ pm->set_emission_color_texture(ImageTexture::create_from_image(img));
}
if (valid_normals.size()) {
@@ -343,10 +336,7 @@ void GPUParticles2DEditorPlugin::_generate_emission_mask() {
img.instantiate();
img->create(w, h, false, Image::FORMAT_RGF, normdata);
-
- imgt.instantiate();
- imgt->create_from_image(img);
- pm->set_emission_normal_texture(imgt);
+ pm->set_emission_normal_texture(ImageTexture::create_from_image(img));
} else {
pm->set_emission_shape(ParticlesMaterial::EMISSION_SHAPE_POINTS);
@@ -391,7 +381,7 @@ GPUParticles2DEditorPlugin::GPUParticles2DEditorPlugin() {
List<String> ext;
ImageLoader::get_recognized_extensions(&ext);
for (const String &E : ext) {
- file->add_filter("*." + E + "; " + E.to_upper());
+ file->add_filter("*." + E, E.to_upper());
}
file->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
toolbar->add_child(file);
diff --git a/editor/plugins/gpu_particles_2d_editor_plugin.h b/editor/plugins/gpu_particles_2d_editor_plugin.h
index 75f68617d1..0229b57c10 100644
--- a/editor/plugins/gpu_particles_2d_editor_plugin.h
+++ b/editor/plugins/gpu_particles_2d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef PARTICLES_2D_EDITOR_PLUGIN_H
-#define PARTICLES_2D_EDITOR_PLUGIN_H
+#ifndef GPU_PARTICLES_2D_EDITOR_PLUGIN_H
+#define GPU_PARTICLES_2D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/2d/collision_polygon_2d.h"
@@ -38,6 +38,7 @@
#include "scene/gui/spin_box.h"
class EditorFileDialog;
+class EditorUndoRedoManager;
class GPUParticles2DEditorPlugin : public EditorPlugin {
GDCLASS(GPUParticles2DEditorPlugin, EditorPlugin);
@@ -75,7 +76,7 @@ class GPUParticles2DEditorPlugin : public EditorPlugin {
String source_emission_file;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void _file_selected(const String &p_file);
void _menu_callback(int p_idx);
void _generate_visibility_rect();
@@ -97,4 +98,4 @@ public:
~GPUParticles2DEditorPlugin();
};
-#endif // PARTICLES_2D_EDITOR_PLUGIN_H
+#endif // GPU_PARTICLES_2D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.cpp b/editor/plugins/gpu_particles_3d_editor_plugin.cpp
index b022fcc1c9..335efd6949 100644
--- a/editor/plugins/gpu_particles_3d_editor_plugin.cpp
+++ b/editor/plugins/gpu_particles_3d_editor_plugin.cpp
@@ -32,6 +32,7 @@
#include "core/io/resource_loader.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/node_3d_editor_plugin.h"
#include "editor/scene_tree_dock.h"
#include "scene/3d/cpu_particles_3d.h"
@@ -213,9 +214,9 @@ GPUParticles3DEditorBase::GPUParticles3DEditorBase() {
emission_fill->add_item(TTR("Surface Points"));
emission_fill->add_item(TTR("Surface Points+Normal (Directed)"));
emission_fill->add_item(TTR("Volume"));
- emd_vb->add_margin_child(TTR("Emission Source: "), emission_fill);
+ emd_vb->add_margin_child(TTR("Emission Source:"), emission_fill);
- emission_dialog->get_ok_button()->set_text(TTR("Create"));
+ emission_dialog->set_ok_button_text(TTR("Create"));
emission_dialog->connect("confirmed", callable_mp(this, &GPUParticles3DEditorBase::_generate_emission_points));
emission_tree_dialog = memnew(SceneTreeDialog);
@@ -271,7 +272,7 @@ void GPUParticles3DEditor::_menu_option(int p_option) {
cpu_particles->set_visible(node->is_visible());
cpu_particles->set_process_mode(node->get_process_mode());
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Convert to CPUParticles3D"));
ur->add_do_method(SceneTreeDock::get_singleton(), "replace_node", node, cpu_particles, true, false);
ur->add_do_reference(cpu_particles);
@@ -321,7 +322,7 @@ void GPUParticles3DEditor::_generate_aabb() {
node->set_emitting(false);
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Generate Visibility AABB"));
ur->add_do_method(node, "set_visibility_aabb", rect);
ur->add_undo_method(node, "set_visibility_aabb", node->get_visibility_aabb());
@@ -363,10 +364,7 @@ void GPUParticles3DEditor::_generate_emission_points() {
}
Ref<Image> image = memnew(Image(w, h, false, Image::FORMAT_RGBF, point_img));
-
- Ref<ImageTexture> tex;
- tex.instantiate();
- tex->create_from_image(image);
+ Ref<ImageTexture> tex = ImageTexture::create_from_image(image);
Ref<ParticlesMaterial> material = node->get_process_material();
ERR_FAIL_COND(material.is_null());
@@ -392,12 +390,7 @@ void GPUParticles3DEditor::_generate_emission_points() {
}
Ref<Image> image2 = memnew(Image(w, h, false, Image::FORMAT_RGBF, point_img2));
-
- Ref<ImageTexture> tex2;
- tex2.instantiate();
- tex2->create_from_image(image2);
-
- material->set_emission_normal_texture(tex2);
+ material->set_emission_normal_texture(ImageTexture::create_from_image(image2));
} else {
material->set_emission_shape(ParticlesMaterial::EMISSION_SHAPE_POINTS);
material->set_emission_point_count(point_count);
diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.h b/editor/plugins/gpu_particles_3d_editor_plugin.h
index 6ba6d102ef..17bdfa6e3f 100644
--- a/editor/plugins/gpu_particles_3d_editor_plugin.h
+++ b/editor/plugins/gpu_particles_3d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef PARTICLES_EDITOR_PLUGIN_H
-#define PARTICLES_EDITOR_PLUGIN_H
+#ifndef GPU_PARTICLES_3D_EDITOR_PLUGIN_H
+#define GPU_PARTICLES_3D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/3d/gpu_particles_3d.h"
@@ -114,4 +114,4 @@ public:
~GPUParticles3DEditorPlugin();
};
-#endif // PARTICLES_EDITOR_PLUGIN_H
+#endif // GPU_PARTICLES_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp
index 643a470425..b54cb515e4 100644
--- a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp
+++ b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp
@@ -140,7 +140,7 @@ void GPUParticlesCollisionSDF3DEditorPlugin::_sdf_save_path_and_bake(const Strin
if (col_sdf) {
Ref<Image> bake_img = col_sdf->bake();
if (bake_img.is_null()) {
- EditorNode::get_singleton()->show_warning(TTR("Bake Error."));
+ EditorNode::get_singleton()->show_warning(TTR("No faces detected during GPUParticlesCollisionSDF3D bake.\nCheck whether there are visible meshes matching the bake mask within its extents."));
return;
}
diff --git a/editor/plugins/gradient_editor_plugin.cpp b/editor/plugins/gradient_editor_plugin.cpp
index 1386f03662..460178490e 100644
--- a/editor/plugins/gradient_editor_plugin.cpp
+++ b/editor/plugins/gradient_editor_plugin.cpp
@@ -33,6 +33,8 @@
#include "canvas_item_editor_plugin.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "node_3d_editor_plugin.h"
Size2 GradientEditor::get_minimum_size() const {
@@ -54,7 +56,7 @@ void GradientEditor::_gradient_changed() {
void GradientEditor::_ramp_changed() {
editing = true;
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Gradient Edited"), UndoRedo::MERGE_ENDS);
undo_redo->add_do_method(gradient.ptr(), "set_offsets", get_offsets());
undo_redo->add_do_method(gradient.ptr(), "set_colors", get_colors());
@@ -85,6 +87,7 @@ void GradientEditor::reverse_gradient() {
}
GradientEditor::GradientEditor() {
+ GradientEdit::get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker).bind(GradientEdit::get_picker()));
editing = false;
}
diff --git a/editor/plugins/gradient_texture_2d_editor_plugin.cpp b/editor/plugins/gradient_texture_2d_editor_plugin.cpp
index e97c611e96..6c463f71cf 100644
--- a/editor/plugins/gradient_texture_2d_editor_plugin.cpp
+++ b/editor/plugins/gradient_texture_2d_editor_plugin.cpp
@@ -32,6 +32,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/box_container.h"
#include "scene/gui/flow_container.h"
#include "scene/gui/separator.h"
@@ -117,17 +118,15 @@ void GradientTexture2DEditorRect::_notification(int p_what) {
const Ref<Texture2D> fill_to_icon = get_theme_icon(SNAME("EditorPathSharpHandle"), SNAME("EditorIcons"));
handle_size = fill_from_icon->get_size();
- const int MAX_HEIGHT = 250 * EDSCALE;
Size2 rect_size = get_size();
// Get the size and position to draw the texture and handles at.
- size = Size2(texture->get_width() * MAX_HEIGHT / texture->get_height(), MAX_HEIGHT);
+ size = Size2(texture->get_width() * rect_size.height / texture->get_height(), rect_size.height);
if (size.width > rect_size.width) {
size.width = rect_size.width;
- size.height = texture->get_height() * rect_size.width / texture->get_width();
+ size.height = texture->get_height() * size.width / texture->get_width();
}
- offset = Point2(Math::round((rect_size.width - size.width) / 2), 0) + handle_size / 2;
- set_custom_minimum_size(Size2(0, size.height));
+ offset = ((rect_size - size + handle_size) / 2).round();
size -= handle_size;
checkerboard->set_rect(Rect2(offset, size));
@@ -177,12 +176,14 @@ void GradientTexture2DEditorRect::_notification(int p_what) {
}
GradientTexture2DEditorRect::GradientTexture2DEditorRect() {
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
checkerboard = memnew(TextureRect);
checkerboard->set_stretch_mode(TextureRect::STRETCH_TILE);
checkerboard->set_draw_behind_parent(true);
add_child(checkerboard);
+
+ set_custom_minimum_size(Size2(0, 250 * EDSCALE));
}
///////////////////////
@@ -222,7 +223,7 @@ void GradientTexture2DEditor::_notification(int p_what) {
}
GradientTexture2DEditor::GradientTexture2DEditor() {
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
HFlowContainer *toolbar = memnew(HFlowContainer);
add_child(toolbar);
diff --git a/editor/plugins/gradient_texture_2d_editor_plugin.h b/editor/plugins/gradient_texture_2d_editor_plugin.h
index 4ce64ce1dc..9faf33152a 100644
--- a/editor/plugins/gradient_texture_2d_editor_plugin.h
+++ b/editor/plugins/gradient_texture_2d_editor_plugin.h
@@ -28,12 +28,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef GRADIENT_TEXTURE_2D_EDITOR
-#define GRADIENT_TEXTURE_2D_EDITOR
+#ifndef GRADIENT_TEXTURE_2D_EDITOR_PLUGIN_H
+#define GRADIENT_TEXTURE_2D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "editor/editor_spin_slider.h"
+class EditorUndoRedoManager;
+
class GradientTexture2DEditorRect : public Control {
GDCLASS(GradientTexture2DEditorRect, Control);
@@ -44,7 +46,7 @@ class GradientTexture2DEditorRect : public Control {
};
Ref<GradientTexture2D> texture;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
bool snap_enabled = false;
float snap_size = 0;
@@ -74,7 +76,7 @@ class GradientTexture2DEditor : public VBoxContainer {
GDCLASS(GradientTexture2DEditor, VBoxContainer);
Ref<GradientTexture2D> texture;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Button *reverse_button = nullptr;
Button *snap_button = nullptr;
@@ -109,4 +111,4 @@ public:
GradientTexture2DEditorPlugin();
};
-#endif
+#endif // GRADIENT_TEXTURE_2D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/input_event_editor_plugin.cpp b/editor/plugins/input_event_editor_plugin.cpp
index fb0e260388..153eab32d2 100644
--- a/editor/plugins/input_event_editor_plugin.cpp
+++ b/editor/plugins/input_event_editor_plugin.cpp
@@ -80,12 +80,11 @@ void InputEventConfigContainer::set_event(const Ref<InputEvent> &p_event) {
InputEventConfigContainer::InputEventConfigContainer() {
input_event_text = memnew(Label);
input_event_text->set_h_size_flags(SIZE_EXPAND_FILL);
- input_event_text->set_autowrap_mode(Label::AutowrapMode::AUTOWRAP_WORD_SMART);
+ input_event_text->set_autowrap_mode(TextServer::AutowrapMode::AUTOWRAP_WORD_SMART);
input_event_text->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
add_child(input_event_text);
- open_config_button = memnew(Button);
- open_config_button->set_text(TTR("Configure"));
+ open_config_button = EditorInspector::create_inspector_action_button(TTR("Configure"));
open_config_button->connect("pressed", callable_mp(this, &InputEventConfigContainer::_configure_pressed));
add_child(open_config_button);
diff --git a/editor/plugins/lightmap_gi_editor_plugin.cpp b/editor/plugins/lightmap_gi_editor_plugin.cpp
index aef97f059a..8413c5e875 100644
--- a/editor/plugins/lightmap_gi_editor_plugin.cpp
+++ b/editor/plugins/lightmap_gi_editor_plugin.cpp
@@ -138,7 +138,7 @@ LightmapGIEditorPlugin::LightmapGIEditorPlugin() {
file_dialog = memnew(EditorFileDialog);
file_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
- file_dialog->add_filter("*.lmbake ; " + TTR("LightMap Bake"));
+ file_dialog->add_filter("*.lmbake", TTR("LightMap Bake"));
file_dialog->set_title(TTR("Select lightmap bake file:"));
file_dialog->connect("file_selected", callable_mp(this, &LightmapGIEditorPlugin::_bake_select_file));
bake->add_child(file_dialog);
diff --git a/editor/plugins/lightmap_gi_editor_plugin.h b/editor/plugins/lightmap_gi_editor_plugin.h
index 1202efe8fc..a06f97fc94 100644
--- a/editor/plugins/lightmap_gi_editor_plugin.h
+++ b/editor/plugins/lightmap_gi_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef BAKED_LIGHTMAP_EDITOR_PLUGIN_H
-#define BAKED_LIGHTMAP_EDITOR_PLUGIN_H
+#ifndef LIGHTMAP_GI_EDITOR_PLUGIN_H
+#define LIGHTMAP_GI_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/3d/lightmap_gi.h"
@@ -67,4 +67,4 @@ public:
~LightmapGIEditorPlugin();
};
-#endif
+#endif // LIGHTMAP_GI_EDITOR_PLUGIN_H
diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp
index eb004568d0..5d59f62f05 100644
--- a/editor/plugins/material_editor_plugin.cpp
+++ b/editor/plugins/material_editor_plugin.cpp
@@ -32,6 +32,8 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/subviewport_container.h"
#include "scene/resources/fog_material.h"
#include "scene/resources/particles_material.h"
@@ -130,7 +132,7 @@ MaterialEditor::MaterialEditor() {
layout_2d = memnew(HBoxContainer);
layout_2d->set_alignment(BoxContainer::ALIGNMENT_CENTER);
add_child(layout_2d);
- layout_2d->set_anchors_and_offsets_preset(PRESET_WIDE);
+ layout_2d->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
rect_instance = memnew(ColorRect);
layout_2d->add_child(rect_instance);
@@ -143,7 +145,7 @@ MaterialEditor::MaterialEditor() {
vc = memnew(SubViewportContainer);
vc->set_stretch(true);
add_child(vc);
- vc->set_anchors_and_offsets_preset(PRESET_WIDE);
+ vc->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
viewport = memnew(SubViewport);
Ref<World3D> world_3d;
world_3d.instantiate();
@@ -155,7 +157,9 @@ MaterialEditor::MaterialEditor() {
camera = memnew(Camera3D);
camera->set_transform(Transform3D(Basis(), Vector3(0, 0, 3)));
- camera->set_perspective(45, 0.1, 10);
+ // Use low field of view so the sphere/box is fully encompassed within the preview,
+ // without much distortion.
+ camera->set_perspective(20, 0.1, 10);
camera->make_current();
viewport->add_child(camera);
@@ -177,8 +181,8 @@ MaterialEditor::MaterialEditor() {
Transform3D box_xform;
box_xform.basis.rotate(Vector3(1, 0, 0), Math::deg2rad(25.0));
box_xform.basis = box_xform.basis * Basis().rotated(Vector3(0, 1, 0), Math::deg2rad(-25.0));
- box_xform.basis.scale(Vector3(0.8, 0.8, 0.8));
- box_xform.origin.y = 0.2;
+ box_xform.basis.scale(Vector3(0.7, 0.7, 0.7));
+ box_xform.origin.y = 0.05;
box_instance->set_transform(box_xform);
sphere_mesh.instantiate();
@@ -190,7 +194,7 @@ MaterialEditor::MaterialEditor() {
layout_3d = memnew(HBoxContainer);
add_child(layout_3d);
- layout_3d->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 2);
+ layout_3d->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, 2);
VBoxContainer *vb_shape = memnew(VBoxContainer);
layout_3d->add_child(vb_shape);
@@ -199,13 +203,13 @@ MaterialEditor::MaterialEditor() {
sphere_switch->set_toggle_mode(true);
sphere_switch->set_pressed(true);
vb_shape->add_child(sphere_switch);
- sphere_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed), varray(sphere_switch));
+ sphere_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed).bind(sphere_switch));
box_switch = memnew(TextureButton);
box_switch->set_toggle_mode(true);
box_switch->set_pressed(false);
vb_shape->add_child(box_switch);
- box_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed), varray(box_switch));
+ box_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed).bind(box_switch));
layout_3d->add_spacer();
@@ -215,12 +219,12 @@ MaterialEditor::MaterialEditor() {
light_1_switch = memnew(TextureButton);
light_1_switch->set_toggle_mode(true);
vb_light->add_child(light_1_switch);
- light_1_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed), varray(light_1_switch));
+ light_1_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed).bind(light_1_switch));
light_2_switch = memnew(TextureButton);
light_2_switch->set_toggle_mode(true);
vb_light->add_child(light_2_switch);
- light_2_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed), varray(light_2_switch));
+ light_2_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed).bind(light_2_switch));
first_enter = true;
@@ -258,10 +262,8 @@ void EditorInspectorPluginMaterial::parse_begin(Object *p_object) {
}
void EditorInspectorPluginMaterial::_undo_redo_inspector_callback(Object *p_undo_redo, Object *p_edited, String p_property, Variant p_new_value) {
- UndoRedo *undo_redo = Object::cast_to<UndoRedo>(p_undo_redo);
- if (!undo_redo) {
- return;
- }
+ Ref<EditorUndoRedoManager> undo_redo = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
+ ERR_FAIL_COND(!undo_redo.is_valid());
// For BaseMaterial3D, if a roughness or metallic textures is being assigned to an empty slot,
// set the respective metallic or roughness factor to 1.0 as a convenience feature
@@ -337,17 +339,17 @@ Ref<Resource> StandardMaterial3DConversionPlugin::convert(const Ref<Resource> &p
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
// Texture parameter has to be treated specially since StandardMaterial3D saved it
// as RID but ShaderMaterial needs Texture itself
Ref<Texture2D> texture = mat->get_texture_by_name(E.name);
if (texture.is_valid()) {
- smat->set_shader_param(E.name, texture);
+ smat->set_shader_uniform(E.name, texture);
} else {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
}
@@ -383,17 +385,17 @@ Ref<Resource> ORMMaterial3DConversionPlugin::convert(const Ref<Resource> &p_reso
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
// Texture parameter has to be treated specially since ORMMaterial3D saved it
// as RID but ShaderMaterial needs Texture itself
Ref<Texture2D> texture = mat->get_texture_by_name(E.name);
if (texture.is_valid()) {
- smat->set_shader_param(E.name, texture);
+ smat->set_shader_uniform(E.name, texture);
} else {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
}
@@ -429,11 +431,11 @@ Ref<Resource> ParticlesMaterialConversionPlugin::convert(const Ref<Resource> &p_
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
smat->set_render_priority(mat->get_render_priority());
@@ -468,11 +470,11 @@ Ref<Resource> CanvasItemMaterialConversionPlugin::convert(const Ref<Resource> &p
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
smat->set_render_priority(mat->get_render_priority());
@@ -507,11 +509,11 @@ Ref<Resource> ProceduralSkyMaterialConversionPlugin::convert(const Ref<Resource>
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
smat->set_render_priority(mat->get_render_priority());
@@ -546,11 +548,11 @@ Ref<Resource> PanoramaSkyMaterialConversionPlugin::convert(const Ref<Resource> &
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
smat->set_render_priority(mat->get_render_priority());
@@ -585,11 +587,11 @@ Ref<Resource> PhysicalSkyMaterialConversionPlugin::convert(const Ref<Resource> &
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
smat->set_render_priority(mat->get_render_priority());
@@ -624,11 +626,11 @@ Ref<Resource> FogMaterialConversionPlugin::convert(const Ref<Resource> &p_resour
smat->set_shader(shader);
List<PropertyInfo> params;
- RS::get_singleton()->shader_get_param_list(mat->get_shader_rid(), &params);
+ RS::get_singleton()->shader_get_shader_uniform_list(mat->get_shader_rid(), &params);
for (const PropertyInfo &E : params) {
Variant value = RS::get_singleton()->material_get_param(mat->get_rid(), E.name);
- smat->set_shader_param(E.name, value);
+ smat->set_shader_uniform(E.name, value);
}
smat->set_render_priority(mat->get_render_priority());
diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h
index 9c6247d59b..fc3da5fd9f 100644
--- a/editor/plugins/material_editor_plugin.h
+++ b/editor/plugins/material_editor_plugin.h
@@ -32,7 +32,7 @@
#define MATERIAL_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
-#include "editor/property_editor.h"
+#include "editor/plugins/editor_resource_conversion_plugin.h"
#include "scene/3d/camera_3d.h"
#include "scene/3d/light_3d.h"
#include "scene/3d/mesh_instance_3d.h"
diff --git a/editor/plugins/mesh_editor_plugin.cpp b/editor/plugins/mesh_editor_plugin.cpp
index 7029768479..31c9f1e387 100644
--- a/editor/plugins/mesh_editor_plugin.cpp
+++ b/editor/plugins/mesh_editor_plugin.cpp
@@ -137,7 +137,7 @@ MeshEditor::MeshEditor() {
HBoxContainer *hb = memnew(HBoxContainer);
add_child(hb);
- hb->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 2);
+ hb->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, 2);
hb->add_spacer();
@@ -147,12 +147,12 @@ MeshEditor::MeshEditor() {
light_1_switch = memnew(TextureButton);
light_1_switch->set_toggle_mode(true);
vb_light->add_child(light_1_switch);
- light_1_switch->connect("pressed", callable_mp(this, &MeshEditor::_button_pressed), varray(light_1_switch));
+ light_1_switch->connect("pressed", callable_mp(this, &MeshEditor::_button_pressed).bind(light_1_switch));
light_2_switch = memnew(TextureButton);
light_2_switch->set_toggle_mode(true);
vb_light->add_child(light_2_switch);
- light_2_switch->connect("pressed", callable_mp(this, &MeshEditor::_button_pressed), varray(light_2_switch));
+ light_2_switch->connect("pressed", callable_mp(this, &MeshEditor::_button_pressed).bind(light_2_switch));
first_enter = true;
diff --git a/editor/plugins/mesh_editor_plugin.h b/editor/plugins/mesh_editor_plugin.h
index 3554b3c1e9..fb61f03485 100644
--- a/editor/plugins/mesh_editor_plugin.h
+++ b/editor/plugins/mesh_editor_plugin.h
@@ -87,4 +87,4 @@ public:
MeshEditorPlugin();
};
-#endif
+#endif // MESH_EDITOR_PLUGIN_H
diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.cpp b/editor/plugins/mesh_instance_3d_editor_plugin.cpp
index d85087b5ea..7bd406b869 100644
--- a/editor/plugins/mesh_instance_3d_editor_plugin.cpp
+++ b/editor/plugins/mesh_instance_3d_editor_plugin.cpp
@@ -32,6 +32,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "node_3d_editor_plugin.h"
#include "scene/3d/collision_shape_3d.h"
#include "scene/3d/navigation_region_3d.h"
@@ -60,7 +61,7 @@ void MeshInstance3DEditor::_menu_option(int p_option) {
switch (p_option) {
case MENU_OPTION_CREATE_STATIC_TRIMESH_BODY: {
EditorSelection *editor_selection = EditorNode::get_singleton()->get_editor_selection();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
List<Node *> selection = editor_selection->get_selected_node_list();
@@ -147,7 +148,7 @@ void MeshInstance3DEditor::_menu_option(int p_option) {
Node *owner = get_tree()->get_edited_scene_root();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Create Trimesh Static Shape"));
@@ -177,7 +178,7 @@ void MeshInstance3DEditor::_menu_option(int p_option) {
err_dialog->popup_centered();
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
if (simplify) {
ur->create_action(TTR("Create Simplified Convex Shape"));
@@ -217,7 +218,7 @@ void MeshInstance3DEditor::_menu_option(int p_option) {
err_dialog->popup_centered();
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Create Multiple Convex Shapes"));
@@ -254,7 +255,7 @@ void MeshInstance3DEditor::_menu_option(int p_option) {
Node *owner = get_tree()->get_edited_scene_root();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Create Navigation Mesh"));
ur->add_do_method(node, "add_child", nmi, true);
@@ -311,7 +312,7 @@ void MeshInstance3DEditor::_menu_option(int p_option) {
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Unwrap UV2"));
ur->add_do_method(node, "set_mesh", unwrapped_mesh);
@@ -350,8 +351,8 @@ struct MeshInstance3DEditorEdgeSort {
Vector2 b;
static uint32_t hash(const MeshInstance3DEditorEdgeSort &p_edge) {
- uint32_t h = hash_djb2_one_32(HashMapHasherDefault::hash(p_edge.a));
- return hash_djb2_one_32(HashMapHasherDefault::hash(p_edge.b), h);
+ uint32_t h = hash_murmur3_one_32(HashMapHasherDefault::hash(p_edge.a));
+ return hash_fmix32(hash_murmur3_one_32(HashMapHasherDefault::hash(p_edge.b), h));
}
bool operator==(const MeshInstance3DEditorEdgeSort &p_b) const {
@@ -470,7 +471,7 @@ void MeshInstance3DEditor::_create_outline_mesh() {
mi->set_mesh(mesho);
Node *owner = get_tree()->get_edited_scene_root();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Create Outline"));
@@ -519,7 +520,7 @@ MeshInstance3DEditor::MeshInstance3DEditor() {
outline_dialog = memnew(ConfirmationDialog);
outline_dialog->set_title(TTR("Create Outline Mesh"));
- outline_dialog->get_ok_button()->set_text(TTR("Create"));
+ outline_dialog->set_ok_button_text(TTR("Create"));
VBoxContainer *outline_dialog_vbc = memnew(VBoxContainer);
outline_dialog->add_child(outline_dialog_vbc);
diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.h b/editor/plugins/mesh_instance_3d_editor_plugin.h
index 36d8eacd98..7968176744 100644
--- a/editor/plugins/mesh_instance_3d_editor_plugin.h
+++ b/editor/plugins/mesh_instance_3d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef MESH_INSTANCE_EDITOR_PLUGIN_H
-#define MESH_INSTANCE_EDITOR_PLUGIN_H
+#ifndef MESH_INSTANCE_3D_EDITOR_PLUGIN_H
+#define MESH_INSTANCE_3D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/3d/mesh_instance_3d.h"
@@ -97,4 +97,4 @@ public:
~MeshInstance3DEditorPlugin();
};
-#endif // MESH_EDITOR_PLUGIN_H
+#endif // MESH_INSTANCE_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp
index 914ccb54c1..319f6ee9de 100644
--- a/editor/plugins/mesh_library_editor_plugin.cpp
+++ b/editor/plugins/mesh_library_editor_plugin.cpp
@@ -263,7 +263,7 @@ MeshLibraryEditor::MeshLibraryEditor() {
file->clear_filters();
file->set_title(TTR("Import Scene"));
for (int i = 0; i < extensions.size(); i++) {
- file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ file->add_filter("*." + extensions[i], extensions[i].to_upper());
}
add_child(file);
file->connect("file_selected", callable_mp(this, &MeshLibraryEditor::_import_scene_cbk));
@@ -288,9 +288,9 @@ MeshLibraryEditor::MeshLibraryEditor() {
cd_remove->get_ok_button()->connect("pressed", callable_mp(this, &MeshLibraryEditor::_menu_remove_confirm));
cd_update = memnew(ConfirmationDialog);
add_child(cd_update);
- cd_update->get_ok_button()->set_text(TTR("Apply without Transforms"));
- cd_update->get_ok_button()->connect("pressed", callable_mp(this, &MeshLibraryEditor::_menu_update_confirm), varray(false));
- cd_update->add_button(TTR("Apply with Transforms"))->connect("pressed", callable_mp(this, &MeshLibraryEditor::_menu_update_confirm), varray(true));
+ cd_update->set_ok_button_text(TTR("Apply without Transforms"));
+ cd_update->get_ok_button()->connect("pressed", callable_mp(this, &MeshLibraryEditor::_menu_update_confirm).bind(false));
+ cd_update->add_button(TTR("Apply with Transforms"))->connect("pressed", callable_mp(this, &MeshLibraryEditor::_menu_update_confirm).bind(true));
}
void MeshLibraryEditorPlugin::edit(Object *p_node) {
diff --git a/editor/plugins/multimesh_editor_plugin.cpp b/editor/plugins/multimesh_editor_plugin.cpp
index 0fab3aed0d..fc4dc5bc2f 100644
--- a/editor/plugins/multimesh_editor_plugin.cpp
+++ b/editor/plugins/multimesh_editor_plugin.cpp
@@ -291,7 +291,7 @@ MultiMeshEditor::MultiMeshEditor() {
Button *b = memnew(Button);
hbc->add_child(b);
b->set_text("..");
- b->connect("pressed", callable_mp(this, &MultiMeshEditor::_browse), make_binds(false));
+ b->connect("pressed", callable_mp(this, &MultiMeshEditor::_browse).bind(false));
vbc->add_margin_child(TTR("Target Surface:"), hbc);
@@ -303,7 +303,7 @@ MultiMeshEditor::MultiMeshEditor() {
hbc->add_child(b);
b->set_text("..");
vbc->add_margin_child(TTR("Source Mesh:"), hbc);
- b->connect("pressed", callable_mp(this, &MultiMeshEditor::_browse), make_binds(true));
+ b->connect("pressed", callable_mp(this, &MultiMeshEditor::_browse).bind(true));
populate_axis = memnew(OptionButton);
populate_axis->add_item(TTR("X-Axis"));
@@ -347,7 +347,7 @@ MultiMeshEditor::MultiMeshEditor() {
populate_amount->set_value(128);
vbc->add_margin_child(TTR("Amount:"), populate_amount);
- populate_dialog->get_ok_button()->set_text(TTR("Populate"));
+ populate_dialog->set_ok_button_text(TTR("Populate"));
populate_dialog->get_ok_button()->connect("pressed", callable_mp(this, &MultiMeshEditor::_populate));
std = memnew(SceneTreeDialog);
diff --git a/editor/plugins/navigation_polygon_editor_plugin.h b/editor/plugins/navigation_polygon_editor_plugin.h
index 7550b75fa3..239da88ba2 100644
--- a/editor/plugins/navigation_polygon_editor_plugin.h
+++ b/editor/plugins/navigation_polygon_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef NAVIGATIONPOLYGONEDITORPLUGIN_H
-#define NAVIGATIONPOLYGONEDITORPLUGIN_H
+#ifndef NAVIGATION_POLYGON_EDITOR_PLUGIN_H
+#define NAVIGATION_POLYGON_EDITOR_PLUGIN_H
#include "editor/plugins/abstract_polygon_2d_editor.h"
#include "scene/2d/navigation_region_2d.h"
@@ -67,4 +67,4 @@ public:
NavigationPolygonEditorPlugin();
};
-#endif // NAVIGATIONPOLYGONEDITORPLUGIN_H
+#endif // NAVIGATION_POLYGON_EDITOR_PLUGIN_H
diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp
index 37922dd5c9..8f1e6c9ec2 100644
--- a/editor/plugins/node_3d_editor_gizmos.cpp
+++ b/editor/plugins/node_3d_editor_gizmos.cpp
@@ -35,6 +35,7 @@
#include "core/math/geometry_3d.h"
#include "editor/editor_node.h"
#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/node_3d_editor_plugin.h"
#include "scene/3d/audio_listener_3d.h"
#include "scene/3d/audio_stream_player_3d.h"
@@ -57,6 +58,7 @@
#include "scene/3d/position_3d.h"
#include "scene/3d/ray_cast_3d.h"
#include "scene/3d/reflection_probe.h"
+#include "scene/3d/shape_cast_3d.h"
#include "scene/3d/soft_dynamic_body_3d.h"
#include "scene/3d/spring_arm_3d.h"
#include "scene/3d/sprite_3d.h"
@@ -74,6 +76,7 @@
#include "scene/resources/sphere_shape_3d.h"
#include "scene/resources/surface_tool.h"
#include "scene/resources/world_boundary_shape_3d.h"
+#include "servers/navigation_server_3d.h"
#define HANDLE_HALF_SIZE 9.5
@@ -245,6 +248,7 @@ void EditorNode3DGizmo::Instance::create_instance(Node3D *p_base, bool p_hidden)
int layer = p_hidden ? 0 : 1 << Node3DEditorViewport::GIZMO_EDIT_LAYER;
RS::get_singleton()->instance_set_layer_mask(instance, layer); //gizmos are 26
RS::get_singleton()->instance_geometry_set_flag(instance, RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(instance, RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
}
void EditorNode3DGizmo::add_mesh(const Ref<Mesh> &p_mesh, const Ref<Material> &p_material, const Transform3D &p_xform, const Ref<SkinReference> &p_skin_reference) {
@@ -1344,13 +1348,13 @@ void Light3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_i
light->set_param(p_id == 0 ? Light3D::PARAM_RANGE : Light3D::PARAM_SPOT_ANGLE, p_restore);
} else if (p_id == 0) {
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Light Radius"));
ur->add_do_method(light, "set_param", Light3D::PARAM_RANGE, light->get_param(Light3D::PARAM_RANGE));
ur->add_undo_method(light, "set_param", Light3D::PARAM_RANGE, p_restore);
ur->commit_action();
} else if (p_id == 1) {
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Light Radius"));
ur->add_do_method(light, "set_param", Light3D::PARAM_SPOT_ANGLE, light->get_param(Light3D::PARAM_SPOT_ANGLE));
ur->add_undo_method(light, "set_param", Light3D::PARAM_SPOT_ANGLE, p_restore);
@@ -1497,6 +1501,9 @@ AudioStreamPlayer3DGizmoPlugin::AudioStreamPlayer3DGizmoPlugin() {
create_icon_material("stream_player_3d_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("Gizmo3DSamplePlayer"), SNAME("EditorIcons")));
create_material("stream_player_3d_material_primary", gizmo_color);
create_material("stream_player_3d_material_secondary", gizmo_color * Color(1, 1, 1, 0.35));
+ // Enable vertex colors for the billboard material as the gizmo color depends on the
+ // AudioStreamPlayer3D attenuation type and source (Unit Size or Max Distance).
+ create_material("stream_player_3d_material_billboard", Color(1, 1, 1), true, false, true);
create_handle_material("handles");
}
@@ -1565,7 +1572,7 @@ void AudioStreamPlayer3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gi
player->set_emission_angle(p_restore);
} else {
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change AudioStreamPlayer3D Emission Angle"));
ur->add_do_method(player, "set_emission_angle", player->get_emission_angle());
ur->add_undo_method(player, "set_emission_angle", p_restore);
@@ -1580,6 +1587,88 @@ void AudioStreamPlayer3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
const Ref<Material> icon = get_material("stream_player_3d_icon", p_gizmo);
+ if (player->get_attenuation_model() != AudioStreamPlayer3D::ATTENUATION_DISABLED || player->get_max_distance() > CMP_EPSILON) {
+ // Draw a circle to represent sound volume attenuation.
+ // Use only a billboard circle to represent radius.
+ // This helps distinguish AudioStreamPlayer3D gizmos from OmniLight3D gizmos.
+ const Ref<Material> lines_billboard_material = get_material("stream_player_3d_material_billboard", p_gizmo);
+
+ // Soft distance cap varies depending on attenuation model, as some will fade out more aggressively than others.
+ // Multipliers were empirically determined through testing.
+ float soft_multiplier;
+ switch (player->get_attenuation_model()) {
+ case AudioStreamPlayer3D::ATTENUATION_INVERSE_DISTANCE:
+ soft_multiplier = 12.0;
+ break;
+ case AudioStreamPlayer3D::ATTENUATION_INVERSE_SQUARE_DISTANCE:
+ soft_multiplier = 4.0;
+ break;
+ case AudioStreamPlayer3D::ATTENUATION_LOGARITHMIC:
+ soft_multiplier = 3.25;
+ break;
+ default:
+ // Ensures Max Distance's radius visualization is not capped by Unit Size
+ // (when the attenuation mode is Disabled).
+ soft_multiplier = 10000.0;
+ break;
+ }
+
+ // Draw the distance at which the sound can be reasonably heard.
+ // This can be either a hard distance cap with the Max Distance property (if set above 0.0),
+ // or a soft distance cap with the Unit Size property (sound never reaches true zero).
+ // When Max Distance is 0.0, `r` represents the distance above which the
+ // sound can't be heard in *most* (but not all) scenarios.
+ float r;
+ if (player->get_max_distance() > CMP_EPSILON) {
+ r = MIN(player->get_unit_size() * soft_multiplier, player->get_max_distance());
+ } else {
+ r = player->get_unit_size() * soft_multiplier;
+ }
+ Vector<Vector3> points_billboard;
+
+ for (int i = 0; i < 120; i++) {
+ // Create a circle.
+ const float ra = Math::deg2rad((float)(i * 3));
+ const float rb = Math::deg2rad((float)((i + 1) * 3));
+ const Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * r;
+ const Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * r;
+
+ // Draw a billboarded circle.
+ points_billboard.push_back(Vector3(a.x, a.y, 0));
+ points_billboard.push_back(Vector3(b.x, b.y, 0));
+ }
+
+ Color color;
+ switch (player->get_attenuation_model()) {
+ // Pick cold colors for all attenuation models (except Disabled),
+ // so that soft caps can be easily distinguished from hard caps
+ // (which use warm colors).
+ case AudioStreamPlayer3D::ATTENUATION_INVERSE_DISTANCE:
+ color = Color(0.4, 0.8, 1);
+ break;
+ case AudioStreamPlayer3D::ATTENUATION_INVERSE_SQUARE_DISTANCE:
+ color = Color(0.4, 0.5, 1);
+ break;
+ case AudioStreamPlayer3D::ATTENUATION_LOGARITHMIC:
+ color = Color(0.4, 0.2, 1);
+ break;
+ default:
+ // Disabled attenuation mode.
+ // This is never reached when Max Distance is 0, but the
+ // hue-inverted form of this color will be used if Max Distance is greater than 0.
+ color = Color(1, 1, 1);
+ break;
+ }
+
+ if (player->get_max_distance() > CMP_EPSILON) {
+ // Sound is hard-capped by max distance. The attenuation model still matters,
+ // so invert the hue of the color that was chosen above.
+ color.set_h(color.get_h() + 0.5);
+ }
+
+ p_gizmo->add_lines(points_billboard, lines_billboard_material, true, color);
+ }
+
if (player->is_emission_angle_enabled()) {
const float pc = player->get_emission_angle();
const float ofs = -Math::cos(Math::deg2rad(pc));
@@ -1726,7 +1815,7 @@ void Camera3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_
if (p_cancel) {
camera->set("fov", p_restore);
} else {
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Camera FOV"));
ur->add_do_property(camera, "fov", camera->get_fov());
ur->add_undo_property(camera, "fov", p_restore);
@@ -1737,7 +1826,7 @@ void Camera3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_
if (p_cancel) {
camera->set("size", p_restore);
} else {
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Camera Size"));
ur->add_do_property(camera, "size", camera->get_size());
ur->add_undo_property(camera, "size", p_restore);
@@ -2053,7 +2142,7 @@ void OccluderInstance3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_giz
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Sphere Shape Radius"));
ur->add_do_method(so.ptr(), "set_radius", so->get_radius());
ur->add_undo_method(so.ptr(), "set_radius", p_restore);
@@ -2067,7 +2156,7 @@ void OccluderInstance3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_giz
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Box Shape Size"));
ur->add_do_method(bo.ptr(), "set_size", bo->get_size());
ur->add_undo_method(bo.ptr(), "set_size", p_restore);
@@ -2081,7 +2170,7 @@ void OccluderInstance3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_giz
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Box Shape Size"));
ur->add_do_method(qo.ptr(), "set_size", qo->get_size());
ur->add_undo_method(qo.ptr(), "set_size", p_restore);
@@ -2454,6 +2543,44 @@ void RayCast3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
/////
+ShapeCast3DGizmoPlugin::ShapeCast3DGizmoPlugin() {
+ const Color gizmo_color = EDITOR_GET("editors/3d_gizmos/gizmo_colors/shape");
+ create_material("shape_material", gizmo_color);
+ const float gizmo_value = gizmo_color.get_v();
+ const Color gizmo_color_disabled = Color(gizmo_value, gizmo_value, gizmo_value, 0.65);
+ create_material("shape_material_disabled", gizmo_color_disabled);
+}
+
+bool ShapeCast3DGizmoPlugin::has_gizmo(Node3D *p_spatial) {
+ return Object::cast_to<ShapeCast3D>(p_spatial) != nullptr;
+}
+
+String ShapeCast3DGizmoPlugin::get_gizmo_name() const {
+ return "ShapeCast3D";
+}
+
+int ShapeCast3DGizmoPlugin::get_priority() const {
+ return -1;
+}
+
+void ShapeCast3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
+ ShapeCast3D *shapecast = Object::cast_to<ShapeCast3D>(p_gizmo->get_spatial_node());
+
+ p_gizmo->clear();
+
+ const Ref<StandardMaterial3D> material = shapecast->is_enabled() ? shapecast->get_debug_material() : get_material("shape_material_disabled");
+
+ p_gizmo->add_lines(shapecast->get_debug_line_vertices(), material);
+
+ if (shapecast->get_shape().is_valid()) {
+ p_gizmo->add_lines(shapecast->get_debug_shape_vertices(), material);
+ }
+
+ p_gizmo->add_collision_segments(shapecast->get_debug_line_vertices());
+}
+
+/////
+
void SpringArm3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
SpringArm3D *spring_arm = Object::cast_to<SpringArm3D>(p_gizmo->get_spatial_node());
@@ -2744,7 +2871,7 @@ void VisibleOnScreenNotifier3DGizmoPlugin::commit_handle(const EditorNode3DGizmo
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Notifier AABB"));
ur->add_do_method(notifier, "set_aabb", notifier->get_aabb());
ur->add_undo_method(notifier, "set_aabb", p_restore);
@@ -2935,7 +3062,7 @@ void GPUParticles3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo,
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Particles AABB"));
ur->add_do_method(particles, "set_visibility_aabb", particles->get_visibility_aabb());
ur->add_undo_method(particles, "set_visibility_aabb", p_restore);
@@ -3101,7 +3228,7 @@ void GPUParticlesCollision3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Radius"));
ur->add_do_method(sn, "set_radius", sn->call("get_radius"));
ur->add_undo_method(sn, "set_radius", p_restore);
@@ -3114,7 +3241,7 @@ void GPUParticlesCollision3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Box Shape Extents"));
ur->add_do_method(sn, "set_extents", sn->call("get_extents"));
ur->add_undo_method(sn, "set_extents", p_restore);
@@ -3373,7 +3500,7 @@ void ReflectionProbeGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo,
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Probe Extents"));
ur->add_do_method(probe, "set_extents", probe->get_extents());
ur->add_do_method(probe, "set_origin_offset", probe->get_origin_offset());
@@ -3525,7 +3652,7 @@ void DecalGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_id,
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Decal Extents"));
ur->add_do_method(decal, "set_extents", decal->get_extents());
ur->add_undo_method(decal, "set_extents", restore);
@@ -3665,7 +3792,7 @@ void VoxelGIGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p_i
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Probe Extents"));
ur->add_do_method(probe, "set_extents", probe->get_extents());
ur->add_undo_method(probe, "set_extents", restore);
@@ -4280,7 +4407,7 @@ void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Sphere Shape Radius"));
ur->add_do_method(ss.ptr(), "set_radius", ss->get_radius());
ur->add_undo_method(ss.ptr(), "set_radius", p_restore);
@@ -4294,7 +4421,7 @@ void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Box Shape Size"));
ur->add_do_method(ss.ptr(), "set_size", ss->get_size());
ur->add_undo_method(ss.ptr(), "set_size", p_restore);
@@ -4311,7 +4438,7 @@ void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
if (p_id == 0) {
ur->create_action(TTR("Change Capsule Shape Radius"));
ur->add_do_method(ss.ptr(), "set_radius", ss->get_radius());
@@ -4336,7 +4463,7 @@ void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
if (p_id == 0) {
ur->create_action(TTR("Change Cylinder Shape Radius"));
ur->add_do_method(ss.ptr(), "set_radius", ss->get_radius());
@@ -4361,7 +4488,7 @@ void CollisionShape3DGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Separation Ray Shape Length"));
ur->add_do_method(ss.ptr(), "set_length", ss->get_length());
ur->add_undo_method(ss.ptr(), "set_length", p_restore);
@@ -4713,10 +4840,10 @@ void CollisionPolygon3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
////
NavigationRegion3DGizmoPlugin::NavigationRegion3DGizmoPlugin() {
- create_material("navigation_edge_material", EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_edge", Color(0.5, 1, 1)));
- create_material("navigation_edge_material_disabled", EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_edge_disabled", Color(0.7, 0.7, 0.7)));
- create_material("navigation_solid_material", EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_solid", Color(0.5, 1, 1, 0.4)));
- create_material("navigation_solid_material_disabled", EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_solid_disabled", Color(0.7, 0.7, 0.7, 0.4)));
+ create_material("face_material", NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_color(), false, false, true);
+ create_material("face_material_disabled", NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_disabled_color(), false, false, true);
+ create_material("edge_material", NavigationServer3D::get_singleton()->get_debug_navigation_geometry_edge_color());
+ create_material("edge_material_disabled", NavigationServer3D::get_singleton()->get_debug_navigation_geometry_edge_disabled_color());
}
bool NavigationRegion3DGizmoPlugin::has_gizmo(Node3D *p_spatial) {
@@ -4732,24 +4859,19 @@ int NavigationRegion3DGizmoPlugin::get_priority() const {
}
void NavigationRegion3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
- NavigationRegion3D *navmesh = Object::cast_to<NavigationRegion3D>(p_gizmo->get_spatial_node());
-
- Ref<Material> edge_material = get_material("navigation_edge_material", p_gizmo);
- Ref<Material> edge_material_disabled = get_material("navigation_edge_material_disabled", p_gizmo);
- Ref<Material> solid_material = get_material("navigation_solid_material", p_gizmo);
- Ref<Material> solid_material_disabled = get_material("navigation_solid_material_disabled", p_gizmo);
+ NavigationRegion3D *navigationregion = Object::cast_to<NavigationRegion3D>(p_gizmo->get_spatial_node());
p_gizmo->clear();
- Ref<NavigationMesh> navmeshie = navmesh->get_navigation_mesh();
- if (navmeshie.is_null()) {
+ Ref<NavigationMesh> navigationmesh = navigationregion->get_navigation_mesh();
+ if (navigationmesh.is_null()) {
return;
}
- Vector<Vector3> vertices = navmeshie->get_vertices();
+ Vector<Vector3> vertices = navigationmesh->get_vertices();
const Vector3 *vr = vertices.ptr();
List<Face3> faces;
- for (int i = 0; i < navmeshie->get_polygon_count(); i++) {
- Vector<int> p = navmeshie->get_polygon(i);
+ for (int i = 0; i < navigationmesh->get_polygon_count(); i++) {
+ Vector<int> p = navigationmesh->get_polygon(i);
for (int j = 2; j < p.size(); j++) {
Face3 f;
@@ -4806,18 +4928,74 @@ void NavigationRegion3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
Ref<TriangleMesh> tmesh = memnew(TriangleMesh);
tmesh->create(tmeshfaces);
- if (lines.size()) {
- p_gizmo->add_lines(lines, navmesh->is_enabled() ? edge_material : edge_material_disabled);
- }
p_gizmo->add_collision_triangles(tmesh);
- Ref<ArrayMesh> m = memnew(ArrayMesh);
- Array a;
- a.resize(Mesh::ARRAY_MAX);
- a[0] = tmeshfaces;
- m->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, a);
- m->surface_set_material(0, navmesh->is_enabled() ? solid_material : solid_material_disabled);
- p_gizmo->add_mesh(m);
p_gizmo->add_collision_segments(lines);
+
+ Ref<ArrayMesh> debug_mesh = Ref<ArrayMesh>(memnew(ArrayMesh));
+ int polygon_count = navigationmesh->get_polygon_count();
+
+ // build geometry face surface
+ Vector<Vector3> face_vertex_array;
+ face_vertex_array.resize(polygon_count * 3);
+
+ for (int i = 0; i < polygon_count; i++) {
+ Vector<int> polygon = navigationmesh->get_polygon(i);
+
+ face_vertex_array.push_back(vertices[polygon[0]]);
+ face_vertex_array.push_back(vertices[polygon[1]]);
+ face_vertex_array.push_back(vertices[polygon[2]]);
+ }
+
+ Array face_mesh_array;
+ face_mesh_array.resize(Mesh::ARRAY_MAX);
+ face_mesh_array[Mesh::ARRAY_VERTEX] = face_vertex_array;
+
+ // if enabled add vertex colors to colorize each face individually
+ RandomPCG rand;
+ bool enabled_geometry_face_random_color = NavigationServer3D::get_singleton()->get_debug_navigation_enable_geometry_face_random_color();
+ if (enabled_geometry_face_random_color) {
+ Color debug_navigation_geometry_face_color = NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_color();
+ Color polygon_color = debug_navigation_geometry_face_color;
+
+ Vector<Color> face_color_array;
+ face_color_array.resize(polygon_count * 3);
+
+ for (int i = 0; i < polygon_count; i++) {
+ // Generate the polygon color, slightly randomly modified from the settings one.
+ polygon_color.set_hsv(debug_navigation_geometry_face_color.get_h() + rand.random(-1.0, 1.0) * 0.1, debug_navigation_geometry_face_color.get_s(), debug_navigation_geometry_face_color.get_v() + rand.random(-1.0, 1.0) * 0.2);
+ polygon_color.a = debug_navigation_geometry_face_color.a;
+
+ Vector<int> polygon = navigationmesh->get_polygon(i);
+
+ face_color_array.push_back(polygon_color);
+ face_color_array.push_back(polygon_color);
+ face_color_array.push_back(polygon_color);
+ }
+ face_mesh_array[Mesh::ARRAY_COLOR] = face_color_array;
+ }
+
+ debug_mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, face_mesh_array);
+ p_gizmo->add_mesh(debug_mesh, navigationregion->is_enabled() ? get_material("face_material", p_gizmo) : get_material("face_material_disabled", p_gizmo));
+
+ // if enabled build geometry edge line surface
+ bool enabled_edge_lines = NavigationServer3D::get_singleton()->get_debug_navigation_enable_edge_lines();
+ if (enabled_edge_lines) {
+ Vector<Vector3> line_vertex_array;
+ line_vertex_array.resize(polygon_count * 6);
+
+ for (int i = 0; i < polygon_count; i++) {
+ Vector<int> polygon = navigationmesh->get_polygon(i);
+
+ line_vertex_array.push_back(vertices[polygon[0]]);
+ line_vertex_array.push_back(vertices[polygon[1]]);
+ line_vertex_array.push_back(vertices[polygon[1]]);
+ line_vertex_array.push_back(vertices[polygon[2]]);
+ line_vertex_array.push_back(vertices[polygon[2]]);
+ line_vertex_array.push_back(vertices[polygon[0]]);
+ }
+
+ p_gizmo->add_lines(line_vertex_array, navigationregion->is_enabled() ? get_material("edge_material", p_gizmo) : get_material("edge_material_disabled", p_gizmo));
+ }
}
//////
@@ -4958,8 +5136,8 @@ Basis JointGizmosDrawer::look_body_toward_z(const Transform3D &p_joint_transform
void JointGizmosDrawer::draw_circle(Vector3::Axis p_axis, real_t p_radius, const Transform3D &p_offset, const Basis &p_base, real_t p_limit_lower, real_t p_limit_upper, Vector<Vector3> &r_points, bool p_inverse) {
if (p_limit_lower == p_limit_upper) {
- r_points.push_back(p_offset.translated(Vector3()).origin);
- r_points.push_back(p_offset.translated(p_base.xform(Vector3(0.5, 0, 0))).origin);
+ r_points.push_back(p_offset.translated_local(Vector3()).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3(0.5, 0, 0))).origin);
} else {
if (p_limit_lower > p_limit_upper) {
@@ -5001,20 +5179,20 @@ void JointGizmosDrawer::draw_circle(Vector3::Axis p_axis, real_t p_radius, const
}
if (i == points - 1) {
- r_points.push_back(p_offset.translated(to).origin);
- r_points.push_back(p_offset.translated(Vector3()).origin);
+ r_points.push_back(p_offset.translated_local(to).origin);
+ r_points.push_back(p_offset.translated_local(Vector3()).origin);
}
if (i == 0) {
- r_points.push_back(p_offset.translated(from).origin);
- r_points.push_back(p_offset.translated(Vector3()).origin);
+ r_points.push_back(p_offset.translated_local(from).origin);
+ r_points.push_back(p_offset.translated_local(Vector3()).origin);
}
- r_points.push_back(p_offset.translated(from).origin);
- r_points.push_back(p_offset.translated(to).origin);
+ r_points.push_back(p_offset.translated_local(from).origin);
+ r_points.push_back(p_offset.translated_local(to).origin);
}
- r_points.push_back(p_offset.translated(Vector3(0, p_radius * 1.5, 0)).origin);
- r_points.push_back(p_offset.translated(Vector3()).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(0, p_radius * 1.5, 0)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3()).origin);
}
}
@@ -5030,17 +5208,17 @@ void JointGizmosDrawer::draw_cone(const Transform3D &p_offset, const Basis &p_ba
Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * w;
Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * w;
- r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, a.x, a.y))).origin);
- r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, b.x, b.y))).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3(d, a.x, a.y))).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3(d, b.x, b.y))).origin);
if (i % 90 == 0) {
- r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, a.x, a.y))).origin);
- r_points.push_back(p_offset.translated(p_base.xform(Vector3())).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3(d, a.x, a.y))).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3())).origin);
}
}
- r_points.push_back(p_offset.translated(p_base.xform(Vector3())).origin);
- r_points.push_back(p_offset.translated(p_base.xform(Vector3(1, 0, 0))).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3())).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3(1, 0, 0))).origin);
/// Twist
float ts = Math::rad2deg(p_twist);
@@ -5054,8 +5232,8 @@ void JointGizmosDrawer::draw_cone(const Transform3D &p_offset, const Basis &p_ba
Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * w * c;
Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * w * cn;
- r_points.push_back(p_offset.translated(p_base.xform(Vector3(c, a.x, a.y))).origin);
- r_points.push_back(p_offset.translated(p_base.xform(Vector3(cn, b.x, b.y))).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3(c, a.x, a.y))).origin);
+ r_points.push_back(p_offset.translated_local(p_base.xform(Vector3(cn, b.x, b.y))).origin);
}
}
@@ -5239,17 +5417,17 @@ void Joint3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
void Joint3DGizmoPlugin::CreatePinJointGizmo(const Transform3D &p_offset, Vector<Vector3> &r_cursor_points) {
float cs = 0.25;
- r_cursor_points.push_back(p_offset.translated(Vector3(+cs, 0, 0)).origin);
- r_cursor_points.push_back(p_offset.translated(Vector3(-cs, 0, 0)).origin);
- r_cursor_points.push_back(p_offset.translated(Vector3(0, +cs, 0)).origin);
- r_cursor_points.push_back(p_offset.translated(Vector3(0, -cs, 0)).origin);
- r_cursor_points.push_back(p_offset.translated(Vector3(0, 0, +cs)).origin);
- r_cursor_points.push_back(p_offset.translated(Vector3(0, 0, -cs)).origin);
+ r_cursor_points.push_back(p_offset.translated_local(Vector3(+cs, 0, 0)).origin);
+ r_cursor_points.push_back(p_offset.translated_local(Vector3(-cs, 0, 0)).origin);
+ r_cursor_points.push_back(p_offset.translated_local(Vector3(0, +cs, 0)).origin);
+ r_cursor_points.push_back(p_offset.translated_local(Vector3(0, -cs, 0)).origin);
+ r_cursor_points.push_back(p_offset.translated_local(Vector3(0, 0, +cs)).origin);
+ r_cursor_points.push_back(p_offset.translated_local(Vector3(0, 0, -cs)).origin);
}
void Joint3DGizmoPlugin::CreateHingeJointGizmo(const Transform3D &p_offset, const Transform3D &p_trs_joint, const Transform3D &p_trs_body_a, const Transform3D &p_trs_body_b, real_t p_limit_lower, real_t p_limit_upper, bool p_use_limit, Vector<Vector3> &r_common_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points) {
- r_common_points.push_back(p_offset.translated(Vector3(0, 0, 0.5)).origin);
- r_common_points.push_back(p_offset.translated(Vector3(0, 0, -0.5)).origin);
+ r_common_points.push_back(p_offset.translated_local(Vector3(0, 0, 0.5)).origin);
+ r_common_points.push_back(p_offset.translated_local(Vector3(0, 0, -0.5)).origin);
if (!p_use_limit) {
p_limit_upper = -1;
@@ -5282,34 +5460,34 @@ void Joint3DGizmoPlugin::CreateSliderJointGizmo(const Transform3D &p_offset, con
p_linear_limit_upper = -p_linear_limit_upper;
float cs = 0.25;
- r_points.push_back(p_offset.translated(Vector3(0, 0, 0.5)).origin);
- r_points.push_back(p_offset.translated(Vector3(0, 0, -0.5)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(0, 0, 0.5)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(0, 0, -0.5)).origin);
if (p_linear_limit_lower >= p_linear_limit_upper) {
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, 0, 0)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, 0, 0)).origin);
-
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, -cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, -cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, -cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, -cs)).origin);
-
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, -cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, -cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, -cs)).origin);
- r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, -cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, 0, 0)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, 0, 0)).origin);
+
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, -cs, -cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, -cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, -cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, cs, -cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, cs, -cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_upper, -cs, -cs)).origin);
+
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, -cs, -cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, -cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, -cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, cs, cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, cs, -cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, cs, -cs)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(p_linear_limit_lower, -cs, -cs)).origin);
} else {
- r_points.push_back(p_offset.translated(Vector3(+cs * 2, 0, 0)).origin);
- r_points.push_back(p_offset.translated(Vector3(-cs * 2, 0, 0)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(+cs * 2, 0, 0)).origin);
+ r_points.push_back(p_offset.translated_local(Vector3(-cs * 2, 0, 0)).origin);
}
if (r_body_a_points) {
@@ -5432,13 +5610,13 @@ void Joint3DGizmoPlugin::CreateGeneric6DOFJointGizmo(
break;
}
-#define ADD_VTX(x, y, z) \
- { \
- Vector3 v; \
- v[a1] = (x); \
- v[a2] = (y); \
- v[a3] = (z); \
- r_points.push_back(p_offset.translated(v).origin); \
+#define ADD_VTX(x, y, z) \
+ { \
+ Vector3 v; \
+ v[a1] = (x); \
+ v[a2] = (y); \
+ v[a3] = (z); \
+ r_points.push_back(p_offset.translated_local(v).origin); \
}
if (enable_lin && lll >= lul) {
@@ -5568,7 +5746,7 @@ void FogVolumeGizmoPlugin::commit_handle(const EditorNode3DGizmo *p_gizmo, int p
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Fog Volume Extents"));
ur->add_do_method(sn, "set_extents", sn->call("get_extents"));
ur->add_undo_method(sn, "set_extents", p_restore);
diff --git a/editor/plugins/node_3d_editor_gizmos.h b/editor/plugins/node_3d_editor_gizmos.h
index a0d7715347..739bf1b929 100644
--- a/editor/plugins/node_3d_editor_gizmos.h
+++ b/editor/plugins/node_3d_editor_gizmos.h
@@ -373,6 +373,18 @@ public:
RayCast3DGizmoPlugin();
};
+class ShapeCast3DGizmoPlugin : public EditorNode3DGizmoPlugin {
+ GDCLASS(ShapeCast3DGizmoPlugin, EditorNode3DGizmoPlugin);
+
+public:
+ bool has_gizmo(Node3D *p_spatial) override;
+ String get_gizmo_name() const override;
+ int get_priority() const override;
+ void redraw(EditorNode3DGizmo *p_gizmo) override;
+
+ ShapeCast3DGizmoPlugin();
+};
+
class SpringArm3DGizmoPlugin : public EditorNode3DGizmoPlugin {
GDCLASS(SpringArm3DGizmoPlugin, EditorNode3DGizmoPlugin);
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index f03f21011a..30eb85709a 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -33,8 +33,8 @@
#include "core/config/project_settings.h"
#include "core/input/input.h"
#include "core/input/input_map.h"
-#include "core/math/camera_matrix.h"
#include "core/math/math_funcs.h"
+#include "core/math/projection.h"
#include "core/os/keyboard.h"
#include "core/templates/sort_array.h"
#include "editor/debugger/editor_debugger_node.h"
@@ -53,6 +53,7 @@
#include "scene/3d/visual_instance_3d.h"
#include "scene/3d/world_environment.h"
#include "scene/gui/center_container.h"
+#include "scene/gui/flow_container.h"
#include "scene/gui/subviewport_container.h"
#include "scene/resources/packed_scene.h"
#include "scene/resources/surface_tool.h"
@@ -146,7 +147,7 @@ void ViewportRotationControl::_draw_axis(const Axis2D &p_axis) {
// Draw the axis letter for the positive axes.
const String axis_name = direction == 0 ? "X" : (direction == 1 ? "Y" : "Z");
- draw_char(get_theme_font(SNAME("rotation_control"), SNAME("EditorFonts")), p_axis.screen_point + Vector2i(Math::round(-4.0 * EDSCALE), Math::round(5.0 * EDSCALE)), axis_name, "", get_theme_font_size(SNAME("rotation_control_size"), SNAME("EditorFonts")), Color(0.0, 0.0, 0.0, alpha));
+ draw_char(get_theme_font(SNAME("rotation_control"), SNAME("EditorFonts")), p_axis.screen_point + Vector2i(Math::round(-4.0 * EDSCALE), Math::round(5.0 * EDSCALE)), axis_name, get_theme_font_size(SNAME("rotation_control_size"), SNAME("EditorFonts")), Color(0.0, 0.0, 0.0, alpha));
} else {
// Draw an outline around the negative axes.
draw_circle(p_axis.screen_point, AXIS_CIRCLE_RADIUS, c);
@@ -356,14 +357,14 @@ void Node3DEditorViewport::_update_camera(real_t p_interp_delta) {
Transform3D Node3DEditorViewport::to_camera_transform(const Cursor &p_cursor) const {
Transform3D camera_transform;
- camera_transform.translate(p_cursor.pos);
+ camera_transform.translate_local(p_cursor.pos);
camera_transform.basis.rotate(Vector3(1, 0, 0), -p_cursor.x_rot);
camera_transform.basis.rotate(Vector3(0, 1, 0), -p_cursor.y_rot);
if (orthogonal) {
- camera_transform.translate(0, 0, (get_zfar() - get_znear()) / 2.0);
+ camera_transform.translate_local(0, 0, (get_zfar() - get_znear()) / 2.0);
} else {
- camera_transform.translate(0, 0, p_cursor.distance);
+ camera_transform.translate_local(0, 0, p_cursor.distance);
}
return camera_transform;
@@ -412,6 +413,12 @@ void Node3DEditorViewport::cancel_transform() {
set_message(TTR("Transform Aborted."), 3);
}
+void Node3DEditorViewport::_update_shrink() {
+ bool shrink = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_HALF_RESOLUTION));
+ subviewport_container->set_stretch_shrink(shrink ? 2 : 1);
+ subviewport_container->set_texture_filter(shrink ? TEXTURE_FILTER_NEAREST : TEXTURE_FILTER_PARENT_NODE);
+}
+
float Node3DEditorViewport::get_znear() const {
return CLAMP(spatial_editor->get_znear(), MIN_Z, MAX_Z);
}
@@ -509,7 +516,7 @@ void Node3DEditorViewport::_select_clicked(bool p_allow_locked) {
}
}
-ObjectID Node3DEditorViewport::_select_ray(const Point2 &p_pos) {
+ObjectID Node3DEditorViewport::_select_ray(const Point2 &p_pos) const {
Vector3 ray = _get_ray(p_pos);
Vector3 pos = _get_ray_pos(p_pos);
Vector2 shrinked_pos = p_pos / subviewport_container->get_stretch_shrink();
@@ -636,7 +643,7 @@ void Node3DEditorViewport::_find_items_at_pos(const Point2 &p_pos, Vector<_RayRe
}
Vector3 Node3DEditorViewport::_get_screen_to_space(const Vector3 &p_vector3) {
- CameraMatrix cm;
+ Projection cm;
if (orthogonal) {
cm.set_orthogonal(camera->get_size(), get_size().aspect(), get_znear() + p_vector3.z, get_zfar());
} else {
@@ -645,10 +652,10 @@ Vector3 Node3DEditorViewport::_get_screen_to_space(const Vector3 &p_vector3) {
Vector2 screen_he = cm.get_viewport_half_extents();
Transform3D camera_transform;
- camera_transform.translate(cursor.pos);
+ camera_transform.translate_local(cursor.pos);
camera_transform.basis.rotate(Vector3(1, 0, 0), -cursor.x_rot);
camera_transform.basis.rotate(Vector3(0, 1, 0), -cursor.y_rot);
- camera_transform.translate(0, 0, cursor.distance);
+ camera_transform.translate_local(0, 0, cursor.distance);
return camera_transform.xform(Vector3(((p_vector3.x / get_size().width) * 2.0 - 1.0) * screen_he.x, ((1.0 - (p_vector3.y / get_size().height)) * 2.0 - 1.0) * screen_he.y, -(get_znear() + p_vector3.z)));
}
@@ -1254,7 +1261,9 @@ void Node3DEditorViewport::_surface_mouse_enter() {
}
void Node3DEditorViewport::_surface_mouse_exit() {
- _remove_preview();
+ _remove_preview_node();
+ _reset_preview_material();
+ _remove_preview_material();
}
void Node3DEditorViewport::_surface_focus_enter() {
@@ -1378,25 +1387,17 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
const real_t zoom_factor = 1 + (ZOOM_FREELOOK_MULTIPLIER - 1) * b->get_factor();
switch (b->get_button_index()) {
case MouseButton::WHEEL_UP: {
- if (b->is_alt_pressed()) {
- scale_fov(-0.05);
+ if (is_freelook_active()) {
+ scale_freelook_speed(zoom_factor);
} else {
- if (is_freelook_active()) {
- scale_freelook_speed(zoom_factor);
- } else {
- scale_cursor_distance(1.0 / zoom_factor);
- }
+ scale_cursor_distance(1.0 / zoom_factor);
}
} break;
case MouseButton::WHEEL_DOWN: {
- if (b->is_alt_pressed()) {
- scale_fov(0.05);
+ if (is_freelook_active()) {
+ scale_freelook_speed(1.0 / zoom_factor);
} else {
- if (is_freelook_active()) {
- scale_freelook_speed(1.0 / zoom_factor);
- } else {
- scale_cursor_distance(zoom_factor);
- }
+ scale_cursor_distance(zoom_factor);
}
} break;
case MouseButton::RIGHT: {
@@ -2094,7 +2095,7 @@ void Node3DEditorViewport::_nav_pan(Ref<InputEventWithModifiers> p_event, const
Transform3D camera_transform;
- camera_transform.translate(cursor.pos);
+ camera_transform.translate_local(cursor.pos);
camera_transform.basis.rotate(Vector3(1, 0, 0), -cursor.x_rot);
camera_transform.basis.rotate(Vector3(0, 1, 0), -cursor.y_rot);
const bool invert_x_axis = EditorSettings::get_singleton()->get("editors/3d/navigation/invert_x_axis");
@@ -2104,7 +2105,7 @@ void Node3DEditorViewport::_nav_pan(Ref<InputEventWithModifiers> p_event, const
(invert_y_axis ? -1 : 1) * p_relative.y * pan_speed,
0);
translation *= cursor.distance / DISTANCE_DEFAULT;
- camera_transform.translate(translation);
+ camera_transform.translate_local(translation);
cursor.pos = camera_transform.origin;
}
@@ -2374,25 +2375,21 @@ void Node3DEditorPlugin::edited_scene_changed() {
void Node3DEditorViewport::_project_settings_changed() {
//update shadow atlas if changed
- int shadowmap_size = ProjectSettings::get_singleton()->get("rendering/shadows/shadow_atlas/size");
- bool shadowmap_16_bits = ProjectSettings::get_singleton()->get("rendering/shadows/shadow_atlas/16_bits");
- int atlas_q0 = ProjectSettings::get_singleton()->get("rendering/shadows/shadow_atlas/quadrant_0_subdiv");
- int atlas_q1 = ProjectSettings::get_singleton()->get("rendering/shadows/shadow_atlas/quadrant_1_subdiv");
- int atlas_q2 = ProjectSettings::get_singleton()->get("rendering/shadows/shadow_atlas/quadrant_2_subdiv");
- int atlas_q3 = ProjectSettings::get_singleton()->get("rendering/shadows/shadow_atlas/quadrant_3_subdiv");
-
- viewport->set_shadow_atlas_size(shadowmap_size);
- viewport->set_shadow_atlas_16_bits(shadowmap_16_bits);
- viewport->set_shadow_atlas_quadrant_subdiv(0, Viewport::ShadowAtlasQuadrantSubdiv(atlas_q0));
- viewport->set_shadow_atlas_quadrant_subdiv(1, Viewport::ShadowAtlasQuadrantSubdiv(atlas_q1));
- viewport->set_shadow_atlas_quadrant_subdiv(2, Viewport::ShadowAtlasQuadrantSubdiv(atlas_q2));
- viewport->set_shadow_atlas_quadrant_subdiv(3, Viewport::ShadowAtlasQuadrantSubdiv(atlas_q3));
-
- bool shrink = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_HALF_RESOLUTION));
-
- if (shrink != (subviewport_container->get_stretch_shrink() > 1)) {
- subviewport_container->set_stretch_shrink(shrink ? 2 : 1);
- }
+ int shadowmap_size = ProjectSettings::get_singleton()->get("rendering/shadows/positional_shadow/atlas_size");
+ bool shadowmap_16_bits = ProjectSettings::get_singleton()->get("rendering/shadows/positional_shadow/atlas_16_bits");
+ int atlas_q0 = ProjectSettings::get_singleton()->get("rendering/shadows/positional_shadow/atlas_quadrant_0_subdiv");
+ int atlas_q1 = ProjectSettings::get_singleton()->get("rendering/shadows/positional_shadow/atlas_quadrant_1_subdiv");
+ int atlas_q2 = ProjectSettings::get_singleton()->get("rendering/shadows/positional_shadow/atlas_quadrant_2_subdiv");
+ int atlas_q3 = ProjectSettings::get_singleton()->get("rendering/shadows/positional_shadow/atlas_quadrant_3_subdiv");
+
+ viewport->set_positional_shadow_atlas_size(shadowmap_size);
+ viewport->set_positional_shadow_atlas_16_bits(shadowmap_16_bits);
+ viewport->set_positional_shadow_atlas_quadrant_subdiv(0, Viewport::PositionalShadowAtlasQuadrantSubdiv(atlas_q0));
+ viewport->set_positional_shadow_atlas_quadrant_subdiv(1, Viewport::PositionalShadowAtlasQuadrantSubdiv(atlas_q1));
+ viewport->set_positional_shadow_atlas_quadrant_subdiv(2, Viewport::PositionalShadowAtlasQuadrantSubdiv(atlas_q2));
+ viewport->set_positional_shadow_atlas_quadrant_subdiv(3, Viewport::PositionalShadowAtlasQuadrantSubdiv(atlas_q3));
+
+ _update_shrink();
// Update MSAA, screen-space AA and debanding if changed
@@ -2400,6 +2397,9 @@ void Node3DEditorViewport::_project_settings_changed() {
viewport->set_msaa(Viewport::MSAA(msaa_mode));
const int ssaa_mode = GLOBAL_GET("rendering/anti_aliasing/quality/screen_space_aa");
viewport->set_screen_space_aa(Viewport::ScreenSpaceAA(ssaa_mode));
+ const bool use_taa = GLOBAL_GET("rendering/anti_aliasing/quality/use_taa");
+ viewport->set_use_taa(use_taa);
+
const bool use_debanding = GLOBAL_GET("rendering/anti_aliasing/quality/use_debanding");
viewport->set_use_debanding(use_debanding);
@@ -2408,6 +2408,18 @@ void Node3DEditorViewport::_project_settings_changed() {
const float mesh_lod_threshold = GLOBAL_GET("rendering/mesh_lod/lod_change/threshold_pixels");
viewport->set_mesh_lod_threshold(mesh_lod_threshold);
+
+ const Viewport::Scaling3DMode scaling_3d_mode = Viewport::Scaling3DMode(int(GLOBAL_GET("rendering/scaling_3d/mode")));
+ viewport->set_scaling_3d_mode(scaling_3d_mode);
+
+ const float scaling_3d_scale = GLOBAL_GET("rendering/scaling_3d/scale");
+ viewport->set_scaling_3d_scale(scaling_3d_scale);
+
+ const float fsr_sharpness = GLOBAL_GET("rendering/scaling_3d/fsr_sharpness");
+ viewport->set_fsr_sharpness(fsr_sharpness);
+
+ const float texture_mipmap_bias = GLOBAL_GET("rendering/textures/default_filters/texture_mipmap_bias");
+ viewport->set_texture_mipmap_bias(texture_mipmap_bias);
}
void Node3DEditorViewport::_notification(int p_what) {
@@ -2503,14 +2515,14 @@ void Node3DEditorViewport::_notification(int p_what) {
const Vector3 offset(0.005, 0.005, 0.005);
Basis aabb_s;
aabb_s.scale(se->aabb.size + offset);
- t.translate(se->aabb.position - offset / 2);
+ t.translate_local(se->aabb.position - offset / 2);
t.basis = t.basis * aabb_s;
}
{
const Vector3 offset(0.01, 0.01, 0.01);
Basis aabb_s;
aabb_s.scale(se->aabb.size + offset);
- t_offset.translate(se->aabb.position - offset / 2);
+ t_offset.translate_local(se->aabb.position - offset / 2);
t_offset.basis = t_offset.basis * aabb_s;
}
@@ -2686,6 +2698,13 @@ void Node3DEditorViewport::_notification(int p_what) {
cinema_label->add_theme_style_override("normal", gui_base->get_theme_stylebox(SNAME("Information3dViewport"), SNAME("EditorStyles")));
locked_label->add_theme_style_override("normal", gui_base->get_theme_stylebox(SNAME("Information3dViewport"), SNAME("EditorStyles")));
} break;
+
+ case NOTIFICATION_DRAG_END: {
+ // Clear preview material when dropped outside applicable object.
+ if (spatial_editor->get_preview_material().is_valid() && !is_drag_successful()) {
+ _remove_preview_material();
+ }
+ } break;
}
}
@@ -2709,7 +2728,8 @@ static void draw_indicator_bar(Control &p_surface, real_t p_fill, const Ref<Text
p_surface.draw_texture(p_icon, icon_pos, p_color);
// Draw text below the bar (for speed/zoom information).
- p_surface.draw_string(p_font, Vector2(icon_pos.x, icon_pos.y + icon_size.y + 16 * EDSCALE), p_text, HORIZONTAL_ALIGNMENT_LEFT, -1.f, p_font_size, p_color, Math::round(2 * EDSCALE), Color(0, 0, 0));
+ p_surface.draw_string_outline(p_font, Vector2(icon_pos.x, icon_pos.y + icon_size.y + 16 * EDSCALE), p_text, HORIZONTAL_ALIGNMENT_LEFT, -1.f, p_font_size, Math::round(2 * EDSCALE), Color(0, 0, 0));
+ p_surface.draw_string(p_font, Vector2(icon_pos.x, icon_pos.y + icon_size.y + 16 * EDSCALE), p_text, HORIZONTAL_ALIGNMENT_LEFT, -1.f, p_font_size, p_color);
}
void Node3DEditorViewport::_draw() {
@@ -3102,8 +3122,8 @@ void Node3DEditorViewport::_menu_option(int p_option) {
case VIEW_HALF_RESOLUTION: {
int idx = view_menu->get_popup()->get_item_index(VIEW_HALF_RESOLUTION);
bool current = view_menu->get_popup()->is_item_checked(idx);
- current = !current;
- view_menu->get_popup()->set_item_checked(idx, current);
+ view_menu->get_popup()->set_item_checked(idx, !current);
+ _update_shrink();
} break;
case VIEW_INFORMATION: {
int idx = view_menu->get_popup()->get_item_index(VIEW_INFORMATION);
@@ -3141,7 +3161,8 @@ void Node3DEditorViewport::_menu_option(int p_option) {
case VIEW_DISPLAY_DEBUG_CLUSTER_SPOT_LIGHTS:
case VIEW_DISPLAY_DEBUG_CLUSTER_DECALS:
case VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES:
- case VIEW_DISPLAY_DEBUG_OCCLUDERS: {
+ case VIEW_DISPLAY_DEBUG_OCCLUDERS:
+ case VIEW_DISPLAY_MOTION_VECTORS: {
static const int display_options[] = {
VIEW_DISPLAY_NORMAL,
VIEW_DISPLAY_WIREFRAME,
@@ -3169,6 +3190,7 @@ void Node3DEditorViewport::_menu_option(int p_option) {
VIEW_DISPLAY_DEBUG_CLUSTER_DECALS,
VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES,
VIEW_DISPLAY_DEBUG_OCCLUDERS,
+ VIEW_DISPLAY_MOTION_VECTORS,
VIEW_MAX
};
static const Viewport::DebugDraw debug_draw_modes[] = {
@@ -3198,6 +3220,7 @@ void Node3DEditorViewport::_menu_option(int p_option) {
Viewport::DEBUG_DRAW_CLUSTER_DECALS,
Viewport::DEBUG_DRAW_CLUSTER_REFLECTION_PROBES,
Viewport::DEBUG_DRAW_OCCLUDERS,
+ Viewport::DEBUG_DRAW_MOTION_VECTORS,
};
int idx = 0;
@@ -3248,6 +3271,7 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(move_gizmo_instance[i], layer);
RS::get_singleton()->instance_geometry_set_flag(move_gizmo_instance[i], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(move_gizmo_instance[i], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
move_plane_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(move_plane_gizmo_instance[i], spatial_editor->get_move_plane_gizmo(i)->get_rid());
@@ -3256,6 +3280,7 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_plane_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(move_plane_gizmo_instance[i], layer);
RS::get_singleton()->instance_geometry_set_flag(move_plane_gizmo_instance[i], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(move_plane_gizmo_instance[i], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
rotate_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(rotate_gizmo_instance[i], spatial_editor->get_rotate_gizmo(i)->get_rid());
@@ -3264,6 +3289,7 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(rotate_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(rotate_gizmo_instance[i], layer);
RS::get_singleton()->instance_geometry_set_flag(rotate_gizmo_instance[i], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(rotate_gizmo_instance[i], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
scale_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(scale_gizmo_instance[i], spatial_editor->get_scale_gizmo(i)->get_rid());
@@ -3272,6 +3298,7 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(scale_gizmo_instance[i], layer);
RS::get_singleton()->instance_geometry_set_flag(scale_gizmo_instance[i], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(scale_gizmo_instance[i], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
scale_plane_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(scale_plane_gizmo_instance[i], spatial_editor->get_scale_plane_gizmo(i)->get_rid());
@@ -3280,6 +3307,7 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_plane_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(scale_plane_gizmo_instance[i], layer);
RS::get_singleton()->instance_geometry_set_flag(scale_plane_gizmo_instance[i], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(scale_plane_gizmo_instance[i], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
axis_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(axis_gizmo_instance[i], spatial_editor->get_axis_gizmo(i)->get_rid());
@@ -3287,6 +3315,8 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
RS::get_singleton()->instance_set_visible(axis_gizmo_instance[i], true);
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(axis_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(axis_gizmo_instance[i], layer);
+ RS::get_singleton()->instance_geometry_set_flag(axis_gizmo_instance[i], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(axis_gizmo_instance[i], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
}
// Rotation white outline
@@ -3297,6 +3327,7 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(rotate_gizmo_instance[3], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(rotate_gizmo_instance[3], layer);
RS::get_singleton()->instance_geometry_set_flag(rotate_gizmo_instance[3], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(rotate_gizmo_instance[3], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
}
void Node3DEditorViewport::_finish_gizmo_instances() {
@@ -3781,7 +3812,7 @@ Node *Node3DEditorViewport::_sanitize_preview_node(Node *p_node) const {
return p_node;
}
-void Node3DEditorViewport::_create_preview(const Vector<String> &files) const {
+void Node3DEditorViewport::_create_preview_node(const Vector<String> &files) const {
for (int i = 0; i < files.size(); i++) {
String path = files[i];
Ref<Resource> res = ResourceLoader::load(path);
@@ -3808,7 +3839,7 @@ void Node3DEditorViewport::_create_preview(const Vector<String> &files) const {
*preview_bounds = _calculate_spatial_bounds(preview_node);
}
-void Node3DEditorViewport::_remove_preview() {
+void Node3DEditorViewport::_remove_preview_node() {
if (preview_node->get_parent()) {
for (int i = preview_node->get_child_count() - 1; i >= 0; i--) {
Node *node = preview_node->get_child(i);
@@ -3819,6 +3850,106 @@ void Node3DEditorViewport::_remove_preview() {
}
}
+bool Node3DEditorViewport::_apply_preview_material(ObjectID p_target, const Point2 &p_point) const {
+ _reset_preview_material();
+
+ if (p_target.is_null()) {
+ return false;
+ }
+
+ spatial_editor->set_preview_material_target(p_target);
+
+ Object *target_inst = ObjectDB::get_instance(p_target);
+
+ bool is_ctrl = Input::get_singleton()->is_key_pressed(Key::CTRL);
+
+ MeshInstance3D *mesh_instance = Object::cast_to<MeshInstance3D>(target_inst);
+ if (is_ctrl && mesh_instance) {
+ Ref<Mesh> mesh = mesh_instance->get_mesh();
+ int surface_count = mesh->get_surface_count();
+
+ Vector3 world_ray = _get_ray(p_point);
+ Vector3 world_pos = _get_ray_pos(p_point);
+
+ int closest_surface = -1;
+ float closest_dist = 1e20;
+
+ Transform3D gt = mesh_instance->get_global_transform();
+
+ Transform3D ai = gt.affine_inverse();
+ Vector3 xform_ray = ai.basis.xform(world_ray).normalized();
+ Vector3 xform_pos = ai.xform(world_pos);
+
+ for (int surface = 0; surface < surface_count; surface++) {
+ Ref<TriangleMesh> surface_mesh = mesh->generate_surface_triangle_mesh(surface);
+
+ Vector3 rpos, rnorm;
+ if (surface_mesh->intersect_ray(xform_pos, xform_ray, rpos, rnorm)) {
+ Vector3 hitpos = gt.xform(rpos);
+
+ const real_t dist = world_pos.distance_to(hitpos);
+
+ if (dist < 0) {
+ continue;
+ }
+
+ if (dist < closest_dist) {
+ closest_surface = surface;
+ closest_dist = dist;
+ }
+ }
+ }
+
+ if (closest_surface == -1) {
+ return false;
+ }
+
+ if (spatial_editor->get_preview_material() != mesh_instance->get_surface_override_material(closest_surface)) {
+ spatial_editor->set_preview_material_surface(closest_surface);
+ spatial_editor->set_preview_reset_material(mesh_instance->get_surface_override_material(closest_surface));
+ mesh_instance->set_surface_override_material(closest_surface, spatial_editor->get_preview_material());
+ }
+
+ return true;
+ }
+
+ GeometryInstance3D *geometry_instance = Object::cast_to<GeometryInstance3D>(target_inst);
+ if (geometry_instance && spatial_editor->get_preview_material() != geometry_instance->get_material_override()) {
+ spatial_editor->set_preview_reset_material(geometry_instance->get_material_override());
+ geometry_instance->set_material_override(spatial_editor->get_preview_material());
+ return true;
+ }
+
+ return false;
+}
+
+void Node3DEditorViewport::_reset_preview_material() const {
+ ObjectID last_target = spatial_editor->get_preview_material_target();
+ if (last_target.is_null()) {
+ return;
+ }
+ Object *last_target_inst = ObjectDB::get_instance(last_target);
+
+ MeshInstance3D *mesh_instance = Object::cast_to<MeshInstance3D>(last_target_inst);
+ GeometryInstance3D *geometry_instance = Object::cast_to<GeometryInstance3D>(last_target_inst);
+ if (mesh_instance && spatial_editor->get_preview_material_surface() != -1) {
+ mesh_instance->set_surface_override_material(spatial_editor->get_preview_material_surface(), spatial_editor->get_preview_reset_material());
+ spatial_editor->set_preview_material_surface(-1);
+ } else if (geometry_instance) {
+ geometry_instance->set_material_override(spatial_editor->get_preview_reset_material());
+ }
+}
+
+void Node3DEditorViewport::_remove_preview_material() {
+ preview_material_label->hide();
+ preview_material_label_desc->hide();
+
+ spatial_editor->set_preview_material(Ref<Material>());
+ spatial_editor->set_preview_reset_material(Ref<Material>());
+ spatial_editor->set_preview_material_target(ObjectID());
+ spatial_editor->set_preview_material_surface(-1);
+}
+
bool Node3DEditorViewport::_cyclical_dependency_exists(const String &p_target_scene_path, Node *p_desired_node) {
if (p_desired_node->get_scene_file_path() == p_target_scene_path) {
return true;
@@ -3889,15 +4020,15 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po
instantiated_scene->set_scene_file_path(ProjectSettings::get_singleton()->localize_path(path));
}
- editor_data->get_undo_redo().add_do_method(parent, "add_child", instantiated_scene, true);
- editor_data->get_undo_redo().add_do_method(instantiated_scene, "set_owner", EditorNode::get_singleton()->get_edited_scene());
- editor_data->get_undo_redo().add_do_reference(instantiated_scene);
- editor_data->get_undo_redo().add_undo_method(parent, "remove_child", instantiated_scene);
+ editor_data->get_undo_redo()->add_do_method(parent, "add_child", instantiated_scene, true);
+ editor_data->get_undo_redo()->add_do_method(instantiated_scene, "set_owner", EditorNode::get_singleton()->get_edited_scene());
+ editor_data->get_undo_redo()->add_do_reference(instantiated_scene);
+ editor_data->get_undo_redo()->add_undo_method(parent, "remove_child", instantiated_scene);
String new_name = parent->validate_child_name(instantiated_scene);
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_instance_node", EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent), path, new_name);
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent)) + "/" + new_name));
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_instance_node", EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent), path, new_name);
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_remove_node", NodePath(String(EditorNode::get_singleton()->get_edited_scene()->get_path_to(parent)) + "/" + new_name));
Node3D *node3d = Object::cast_to<Node3D>(instantiated_scene);
if (node3d) {
@@ -3910,18 +4041,37 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po
global_transform.origin = spatial_editor->snap_point(_get_instance_position(p_point));
global_transform.basis *= node3d->get_transform().basis;
- editor_data->get_undo_redo().add_do_method(instantiated_scene, "set_global_transform", global_transform);
+ editor_data->get_undo_redo()->add_do_method(instantiated_scene, "set_global_transform", global_transform);
}
return true;
}
void Node3DEditorViewport::_perform_drop_data() {
- _remove_preview();
+ if (spatial_editor->get_preview_material_target().is_valid()) {
+ GeometryInstance3D *geometry_instance = Object::cast_to<GeometryInstance3D>(ObjectDB::get_instance(spatial_editor->get_preview_material_target()));
+ MeshInstance3D *mesh_instance = Object::cast_to<MeshInstance3D>(ObjectDB::get_instance(spatial_editor->get_preview_material_target()));
+ if (mesh_instance && spatial_editor->get_preview_material_surface() != -1) {
+ editor_data->get_undo_redo()->create_action(vformat(TTR("Set Surface %d Override Material"), spatial_editor->get_preview_material_surface()));
+ editor_data->get_undo_redo()->add_do_method(geometry_instance, "set_surface_override_material", spatial_editor->get_preview_material_surface(), spatial_editor->get_preview_material());
+ editor_data->get_undo_redo()->add_undo_method(geometry_instance, "set_surface_override_material", spatial_editor->get_preview_material_surface(), spatial_editor->get_preview_reset_material());
+ editor_data->get_undo_redo()->commit_action();
+ } else if (geometry_instance) {
+ editor_data->get_undo_redo()->create_action(TTR("Set Material Override"));
+ editor_data->get_undo_redo()->add_do_method(geometry_instance, "set_material_override", spatial_editor->get_preview_material());
+ editor_data->get_undo_redo()->add_undo_method(geometry_instance, "set_material_override", spatial_editor->get_preview_reset_material());
+ editor_data->get_undo_redo()->commit_action();
+ }
+
+ _remove_preview_material();
+ return;
+ }
+
+ _remove_preview_node();
Vector<String> error_files;
- editor_data->get_undo_redo().create_action(TTR("Create Node"));
+ editor_data->get_undo_redo()->create_action(TTR("Create Node"));
for (int i = 0; i < selected_files.size(); i++) {
String path = selected_files[i];
@@ -3939,7 +4089,7 @@ void Node3DEditorViewport::_perform_drop_data() {
}
}
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
if (error_files.size() > 0) {
String files_str;
@@ -3955,7 +4105,7 @@ void Node3DEditorViewport::_perform_drop_data() {
bool Node3DEditorViewport::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
bool can_instantiate = false;
- if (!preview_node->is_inside_tree()) {
+ if (!preview_node->is_inside_tree() && spatial_editor->get_preview_material().is_null()) {
Dictionary d = p_data;
if (d.has("type") && (String(d["type"]) == "files")) {
Vector<String> files = d["files"];
@@ -3964,40 +4114,78 @@ bool Node3DEditorViewport::can_drop_data_fw(const Point2 &p_point, const Variant
ResourceLoader::get_recognized_extensions_for_type("PackedScene", &scene_extensions);
List<String> mesh_extensions;
ResourceLoader::get_recognized_extensions_for_type("Mesh", &mesh_extensions);
+ List<String> material_extensions;
+ ResourceLoader::get_recognized_extensions_for_type("Material", &material_extensions);
+ List<String> texture_extensions;
+ ResourceLoader::get_recognized_extensions_for_type("Texture", &texture_extensions);
for (int i = 0; i < files.size(); i++) {
// Check if dragged files with mesh or scene extension can be created at least once.
- if (mesh_extensions.find(files[i].get_extension()) || scene_extensions.find(files[i].get_extension())) {
+ if (mesh_extensions.find(files[i].get_extension()) ||
+ scene_extensions.find(files[i].get_extension()) ||
+ material_extensions.find(files[i].get_extension()) ||
+ texture_extensions.find(files[i].get_extension())) {
Ref<Resource> res = ResourceLoader::load(files[i]);
if (res.is_null()) {
continue;
}
Ref<PackedScene> scn = res;
+ Ref<Material> mat = res;
+ Ref<Texture2D> tex = res;
if (scn.is_valid()) {
Node *instantiated_scene = scn->instantiate(PackedScene::GEN_EDIT_STATE_INSTANCE);
if (!instantiated_scene) {
continue;
}
memdelete(instantiated_scene);
+ } else if (mat.is_valid()) {
+ Ref<BaseMaterial3D> base_mat = res;
+ Ref<ShaderMaterial> shader_mat = res;
+
+ if (base_mat.is_null() && !shader_mat.is_null()) {
+ break;
+ }
+
+ spatial_editor->set_preview_material(mat);
+ break;
+ } else if (tex.is_valid()) {
+ Ref<StandardMaterial3D> new_mat = memnew(StandardMaterial3D);
+ new_mat->set_texture(BaseMaterial3D::TEXTURE_ALBEDO, tex);
+
+ spatial_editor->set_preview_material(new_mat);
+ break;
+ } else {
+ continue;
}
can_instantiate = true;
break;
}
}
if (can_instantiate) {
- _create_preview(files);
+ _create_preview_node(files);
}
}
} else {
- can_instantiate = true;
+ if (preview_node->is_inside_tree()) {
+ can_instantiate = true;
+ }
}
if (can_instantiate) {
Transform3D global_transform = Transform3D(Basis(), _get_instance_position(p_point));
preview_node->set_global_transform(global_transform);
+ return true;
}
- return can_instantiate;
+ if (spatial_editor->get_preview_material().is_valid()) {
+ preview_material_label->show();
+ preview_material_label_desc->show();
+
+ ObjectID new_preview_material_target = _select_ray(p_point);
+ return _apply_preview_material(new_preview_material_target, p_point);
+ }
+
+ return false;
}
void Node3DEditorViewport::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
@@ -4035,7 +4223,7 @@ void Node3DEditorViewport::drop_data_fw(const Point2 &p_point, const Variant &p_
} else {
accept->set_text(TTR("Cannot drag and drop into multiple selected nodes."));
accept->popup_centered();
- _remove_preview();
+ _remove_preview_node();
return;
}
@@ -4176,7 +4364,8 @@ void Node3DEditorViewport::update_transform(Point2 p_mousepos, bool p_shift) {
Vector3 motion_snapped = motion;
motion_snapped.snap(Vector3(snap, snap, snap));
// This might not be necessary anymore after issue #288 is solved (in 4.0?).
- set_message(TTR("Scaling: ") + "(" + String::num(motion_snapped.x, snap_step_decimals) + ", " +
+ // TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
+ set_message(TTR("Scaling:") + " (" + String::num(motion_snapped.x, snap_step_decimals) + ", " +
String::num(motion_snapped.y, snap_step_decimals) + ", " + String::num(motion_snapped.z, snap_step_decimals) + ")");
motion = _edit.original.basis.inverse().xform(motion);
@@ -4276,7 +4465,8 @@ void Node3DEditorViewport::update_transform(Point2 p_mousepos, bool p_shift) {
}
Vector3 motion_snapped = motion;
motion_snapped.snap(Vector3(snap, snap, snap));
- set_message(TTR("Translating: ") + "(" + String::num(motion_snapped.x, snap_step_decimals) + ", " +
+ // TRANSLATORS: Refers to changing the position of a node in the 3D editor.
+ set_message(TTR("Translating:") + " (" + String::num(motion_snapped.x, snap_step_decimals) + ", " +
String::num(motion_snapped.y, snap_step_decimals) + ", " + String::num(motion_snapped.z, snap_step_decimals) + ")");
motion = spatial_editor->get_gizmo_transform().basis.inverse().xform(motion);
@@ -4435,7 +4625,7 @@ void Node3DEditorViewport::register_shortcut_action(const String &p_path, const
Ref<Shortcut> sc = ED_SHORTCUT(p_path, p_name, p_keycode);
shortcut_changed_callback(sc, p_path);
// Connect to the change event on the shortcut so the input binding can be updated.
- sc->connect("changed", callable_mp(this, &Node3DEditorViewport::shortcut_changed_callback), varray(sc, p_path));
+ sc->connect("changed", callable_mp(this, &Node3DEditorViewport::shortcut_changed_callback).bind(sc, p_path));
}
// Update the action in the InputMap to the provided shortcut events.
@@ -4480,7 +4670,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
subviewport_container = c;
c->set_stretch(true);
add_child(c);
- c->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ c->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
viewport = memnew(SubViewport);
viewport->set_disable_input(true);
@@ -4488,7 +4678,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
surface = memnew(Control);
surface->set_drag_forwarding(this);
add_child(surface);
- surface->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ surface->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
surface->set_clip_contents(true);
camera = memnew(Camera3D);
camera->set_disable_gizmos(true);
@@ -4509,6 +4699,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
vbox->add_child(view_menu);
display_submenu = memnew(PopupMenu);
+ view_menu->get_popup()->set_hide_on_checkable_item_selection(false);
view_menu->get_popup()->add_child(display_submenu);
view_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("spatial_editor/top_view"), VIEW_TOP);
@@ -4532,6 +4723,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
view_menu->get_popup()->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/view_display_lighting", TTR("Display Lighting")), VIEW_DISPLAY_LIGHTING);
view_menu->get_popup()->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/view_display_unshaded", TTR("Display Unshaded")), VIEW_DISPLAY_SHADELESS);
view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_NORMAL), true);
+ display_submenu->set_hide_on_checkable_item_selection(false);
display_submenu->add_radio_check_item(TTR("Directional Shadow Splits"), VIEW_DISPLAY_DEBUG_PSSM_SPLITS);
display_submenu->add_separator();
display_submenu->add_radio_check_item(TTR("Normal Buffer"), VIEW_DISPLAY_NORMAL_BUFFER);
@@ -4562,6 +4754,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
display_submenu->add_radio_check_item(TTR("Decal Cluster"), VIEW_DISPLAY_DEBUG_CLUSTER_DECALS);
display_submenu->add_radio_check_item(TTR("ReflectionProbe Cluster"), VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES);
display_submenu->add_radio_check_item(TTR("Occlusion Culling Buffer"), VIEW_DISPLAY_DEBUG_OCCLUDERS);
+ display_submenu->add_radio_check_item(TTR("Motion Vectors"), VIEW_DISPLAY_MOTION_VECTORS);
display_submenu->set_name("display_advanced");
view_menu->get_popup()->add_submenu_item(TTR("Display Advanced..."), "display_advanced", VIEW_DISPLAY_ADVANCED);
@@ -4681,12 +4874,29 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
zoom_limit_label->hide();
surface->add_child(zoom_limit_label);
+ preview_material_label = memnew(Label);
+ preview_material_label->set_anchors_and_offsets_preset(LayoutPreset::PRESET_BOTTOM_LEFT);
+ preview_material_label->set_offset(Side::SIDE_TOP, -70 * EDSCALE);
+ preview_material_label->set_text(TTR("Overriding material..."));
+ preview_material_label->add_theme_color_override("font_color", Color(1, 1, 1, 1));
+ preview_material_label->hide();
+ surface->add_child(preview_material_label);
+
+ preview_material_label_desc = memnew(Label);
+ preview_material_label_desc->set_anchors_and_offsets_preset(LayoutPreset::PRESET_BOTTOM_LEFT);
+ preview_material_label_desc->set_offset(Side::SIDE_TOP, -50 * EDSCALE);
+ preview_material_label_desc->set_text(TTR("Drag and drop to override the material of any geometry node.\nHold Ctrl when dropping to override a specific surface."));
+ preview_material_label_desc->add_theme_color_override("font_color", Color(0.8, 0.8, 0.8, 1));
+ preview_material_label_desc->add_theme_constant_override("line_spacing", 0);
+ preview_material_label_desc->hide();
+ surface->add_child(preview_material_label_desc);
+
frame_time_gradient = memnew(Gradient);
// The color is set when the theme changes.
frame_time_gradient->add_point(0.5, Color());
top_right_vbox = memnew(VBoxContainer);
- top_right_vbox->set_anchors_and_offsets_preset(PRESET_TOP_RIGHT, PRESET_MODE_MINSIZE, 2.0 * EDSCALE);
+ top_right_vbox->set_anchors_and_offsets_preset(PRESET_TOP_RIGHT, PRESET_MODE_MINSIZE, 10.0 * EDSCALE);
top_right_vbox->set_h_grow_direction(GROW_DIRECTION_BEGIN);
// Make sure frame time labels don't touch the viewport's edge.
top_right_vbox->set_custom_minimum_size(Size2(100, 0) * EDSCALE);
@@ -5182,7 +5392,9 @@ Object *Node3DEditor::_get_editor_data(Object *p_what) {
RS::get_singleton()->instance_set_layer_mask(si->sbox_instance, 1 << Node3DEditorViewport::GIZMO_EDIT_LAYER);
RS::get_singleton()->instance_set_layer_mask(si->sbox_instance_offset, 1 << Node3DEditorViewport::GIZMO_EDIT_LAYER);
RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance, RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance, RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance_offset, RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance_offset, RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
si->sbox_instance_xray = RenderingServer::get_singleton()->instance_create2(
selection_box_xray->get_rid(),
sp->get_world_3d()->get_scenario());
@@ -5200,7 +5412,9 @@ Object *Node3DEditor::_get_editor_data(Object *p_what) {
RS::get_singleton()->instance_set_layer_mask(si->sbox_instance_xray, 1 << Node3DEditorViewport::GIZMO_EDIT_LAYER);
RS::get_singleton()->instance_set_layer_mask(si->sbox_instance_xray_offset, 1 << Node3DEditorViewport::GIZMO_EDIT_LAYER);
RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance_xray, RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance_xray, RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance_xray_offset, RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(si->sbox_instance_xray_offset, RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
return si;
}
@@ -5987,6 +6201,7 @@ void fragment() {
origin_instance = RenderingServer::get_singleton()->instance_create2(origin, get_tree()->get_root()->get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_layer_mask(origin_instance, 1 << Node3DEditorViewport::GIZMO_GRID_LAYER);
RS::get_singleton()->instance_geometry_set_flag(origin_instance, RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(origin_instance, RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
RenderingServer::get_singleton()->instance_geometry_set_cast_shadows_setting(origin_instance, RS::SHADOW_CASTING_SETTING_OFF);
}
@@ -6202,7 +6417,7 @@ void fragment() {
Ref<ShaderMaterial> rotate_mat = memnew(ShaderMaterial);
rotate_mat->set_render_priority(Material::RENDER_PRIORITY_MAX);
rotate_mat->set_shader(rotate_shader);
- rotate_mat->set_shader_param("albedo", col);
+ rotate_mat->set_shader_uniform("albedo", col);
rotate_gizmo_color[i] = rotate_mat;
Array arrays = surftool->commit_to_arrays();
@@ -6210,7 +6425,7 @@ void fragment() {
rotate_gizmo[i]->surface_set_material(0, rotate_mat);
Ref<ShaderMaterial> rotate_mat_hl = rotate_mat->duplicate();
- rotate_mat_hl->set_shader_param("albedo", albedo);
+ rotate_mat_hl->set_shader_uniform("albedo", albedo);
rotate_gizmo_color_hl[i] = rotate_mat_hl;
if (i == 2) { // Rotation white outline
@@ -6251,7 +6466,7 @@ void fragment() {
)");
border_mat->set_shader(border_shader);
- border_mat->set_shader_param("albedo", Color(0.75, 0.75, 0.75, col.a / 3.0));
+ border_mat->set_shader_uniform("albedo", Color(0.75, 0.75, 0.75, col.a / 3.0));
rotate_gizmo[3] = Ref<ArrayMesh>(memnew(ArrayMesh));
rotate_gizmo[3]->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, arrays);
@@ -6368,18 +6583,6 @@ void fragment() {
_generate_selection_boxes();
}
-void Node3DEditor::_update_context_menu_stylebox() {
- // This must be called when the theme changes to follow the new accent color.
- Ref<StyleBoxFlat> context_menu_stylebox = memnew(StyleBoxFlat);
- const Color accent_color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("accent_color"), SNAME("Editor"));
- context_menu_stylebox->set_bg_color(accent_color * Color(1, 1, 1, 0.1));
- // Add an underline to the StyleBox, but prevent its minimum vertical size from changing.
- context_menu_stylebox->set_border_color(accent_color);
- context_menu_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE));
- context_menu_stylebox->set_default_margin(SIDE_BOTTOM, 0);
- context_menu_container->add_theme_style_override("panel", context_menu_stylebox);
-}
-
void Node3DEditor::_update_gizmos_menu() {
gizmos_menu->clear();
@@ -6516,8 +6719,8 @@ void Node3DEditor::_init_grid() {
fade_size = CLAMP(fade_size, min_fade_size, max_fade_size);
real_t grid_fade_size = (grid_size - primary_grid_steps) * fade_size;
- grid_mat[c]->set_shader_param("grid_size", grid_fade_size);
- grid_mat[c]->set_shader_param("orthogonal", orthogonal);
+ grid_mat[c]->set_shader_uniform("grid_size", grid_fade_size);
+ grid_mat[c]->set_shader_uniform("orthogonal", orthogonal);
// Cache these so we don't have to re-access memory.
Vector<Vector3> &ref_grid = grid_points[c];
@@ -6609,6 +6812,7 @@ void Node3DEditor::_init_grid() {
RenderingServer::get_singleton()->instance_geometry_set_cast_shadows_setting(grid_instance[c], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(grid_instance[c], 1 << Node3DEditorViewport::GIZMO_GRID_LAYER);
RS::get_singleton()->instance_geometry_set_flag(grid_instance[c], RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true);
+ RS::get_singleton()->instance_geometry_set_flag(grid_instance[c], RS::INSTANCE_FLAG_USE_BAKED_LIGHT, false);
}
}
@@ -6627,7 +6831,7 @@ void Node3DEditor::_finish_grid() {
}
void Node3DEditor::update_grid() {
- const Camera3D::Projection current_projection = viewports[0]->camera->get_projection();
+ const Camera3D::ProjectionType current_projection = viewports[0]->camera->get_projection();
if (current_projection != grid_camera_last_update_perspective) {
grid_init_draw = false; // redraw
@@ -6971,6 +7175,8 @@ void Node3DEditor::_update_theme() {
sun_color->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), SNAME("Editor"))));
environ_sky_color->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), SNAME("Editor"))));
environ_ground_color->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), SNAME("Editor"))));
+
+ context_menu_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("ContextualToolbar"), SNAME("EditorStyles")));
}
void Node3DEditor::_notification(int p_what) {
@@ -6985,8 +7191,8 @@ void Node3DEditor::_notification(int p_what) {
SceneTreeDock::get_singleton()->get_tree_editor()->connect("node_changed", callable_mp(this, &Node3DEditor::_refresh_menu_icons));
editor_selection->connect("selection_changed", callable_mp(this, &Node3DEditor::_selection_changed));
- EditorNode::get_singleton()->connect("stop_pressed", callable_mp(this, &Node3DEditor::_update_camera_override_button), make_binds(false));
- EditorNode::get_singleton()->connect("play_pressed", callable_mp(this, &Node3DEditor::_update_camera_override_button), make_binds(true));
+ EditorNode::get_singleton()->connect("stop_pressed", callable_mp(this, &Node3DEditor::_update_camera_override_button).bind(false));
+ EditorNode::get_singleton()->connect("play_pressed", callable_mp(this, &Node3DEditor::_update_camera_override_button).bind(true));
_update_preview_environment();
@@ -7009,7 +7215,6 @@ void Node3DEditor::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: {
_update_theme();
_update_gizmos_menu_theme();
- _update_context_menu_stylebox();
sun_title->add_theme_font_override("font", get_theme_font(SNAME("title_font"), SNAME("Window")));
environ_title->add_theme_font_override("font", get_theme_font(SNAME("title_font"), SNAME("Window")));
} break;
@@ -7059,12 +7264,20 @@ Vector<int> Node3DEditor::get_subgizmo_selection() {
return ret;
}
+void Node3DEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
+Ref<EditorUndoRedoManager> Node3DEditor::get_undo_redo() {
+ return undo_redo;
+}
+
void Node3DEditor::add_control_to_menu_panel(Control *p_control) {
- hbc_context_menu->add_child(p_control);
+ context_menu_hbox->add_child(p_control);
}
void Node3DEditor::remove_control_from_menu_panel(Control *p_control) {
- hbc_context_menu->remove_child(p_control);
+ context_menu_hbox->remove_child(p_control);
}
void Node3DEditor::set_can_preview(Camera3D *p_preview) {
@@ -7221,7 +7434,7 @@ void Node3DEditor::_toggle_maximize_view(Object *p_viewport) {
if (!maximized) {
for (uint32_t i = 0; i < VIEWPORTS_COUNT; i++) {
if (i == (uint32_t)index) {
- viewports[i]->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ viewports[i]->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
} else {
viewports[i]->hide();
}
@@ -7301,6 +7514,7 @@ void Node3DEditor::_register_all_gizmos() {
add_gizmo_plugin(Ref<Label3DGizmoPlugin>(memnew(Label3DGizmoPlugin)));
add_gizmo_plugin(Ref<Position3DGizmoPlugin>(memnew(Position3DGizmoPlugin)));
add_gizmo_plugin(Ref<RayCast3DGizmoPlugin>(memnew(RayCast3DGizmoPlugin)));
+ add_gizmo_plugin(Ref<ShapeCast3DGizmoPlugin>(memnew(ShapeCast3DGizmoPlugin)));
add_gizmo_plugin(Ref<SpringArm3DGizmoPlugin>(memnew(SpringArm3DGizmoPlugin)));
add_gizmo_plugin(Ref<VehicleWheel3DGizmoPlugin>(memnew(VehicleWheel3DGizmoPlugin)));
add_gizmo_plugin(Ref<VisibleOnScreenNotifier3DGizmoPlugin>(memnew(VisibleOnScreenNotifier3DGizmoPlugin)));
@@ -7362,9 +7576,9 @@ void Node3DEditor::_sun_direction_draw() {
sun_direction->draw_rect(Rect2(Vector2(), sun_direction->get_size()), Color(1, 1, 1, 1));
Vector3 z_axis = preview_sun->get_transform().basis.get_column(Vector3::AXIS_Z);
z_axis = get_editor_viewport(0)->camera->get_camera_transform().basis.xform_inv(z_axis);
- sun_direction_material->set_shader_param("sun_direction", Vector3(z_axis.x, -z_axis.y, z_axis.z));
+ sun_direction_material->set_shader_uniform("sun_direction", Vector3(z_axis.x, -z_axis.y, z_axis.z));
Color color = sun_color->get_pick_color() * sun_energy->get_value();
- sun_direction_material->set_shader_param("sun_color", Vector3(color.r, color.g, color.b));
+ sun_direction_material->set_shader_uniform("sun_color", Vector3(color.r, color.g, color.b));
}
void Node3DEditor::_preview_settings_changed() {
@@ -7517,163 +7731,155 @@ Node3DEditor::Node3DEditor() {
camera_override_viewport_id = 0;
- hbc_menu = memnew(HBoxContainer);
- vbc->add_child(hbc_menu);
+ // A fluid container for all toolbars.
+ HFlowContainer *main_flow = memnew(HFlowContainer);
+ vbc->add_child(main_flow);
+
+ // Main toolbars.
+ HBoxContainer *main_menu_hbox = memnew(HBoxContainer);
+ main_flow->add_child(main_menu_hbox);
- Vector<Variant> button_binds;
- button_binds.resize(1);
String sct;
// Add some margin to the left for better aesthetics.
// This prevents the first button's hover/pressed effect from "touching" the panel's border,
// which looks ugly.
Control *margin_left = memnew(Control);
- hbc_menu->add_child(margin_left);
+ main_menu_hbox->add_child(margin_left);
margin_left->set_custom_minimum_size(Size2(2, 0) * EDSCALE);
tool_button[TOOL_MODE_SELECT] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_MODE_SELECT]);
+ main_menu_hbox->add_child(tool_button[TOOL_MODE_SELECT]);
tool_button[TOOL_MODE_SELECT]->set_toggle_mode(true);
tool_button[TOOL_MODE_SELECT]->set_flat(true);
tool_button[TOOL_MODE_SELECT]->set_pressed(true);
- button_binds.write[0] = MENU_TOOL_SELECT;
- tool_button[TOOL_MODE_SELECT]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
+ tool_button[TOOL_MODE_SELECT]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_TOOL_SELECT));
tool_button[TOOL_MODE_SELECT]->set_shortcut(ED_SHORTCUT("spatial_editor/tool_select", TTR("Select Mode"), Key::Q));
tool_button[TOOL_MODE_SELECT]->set_shortcut_context(this);
tool_button[TOOL_MODE_SELECT]->set_tooltip(keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Drag: Rotate selected node around pivot.") + "\n" + TTR("Alt+RMB: Show list of all nodes at position clicked, including locked."));
- hbc_menu->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
tool_button[TOOL_MODE_MOVE] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_MODE_MOVE]);
+ main_menu_hbox->add_child(tool_button[TOOL_MODE_MOVE]);
tool_button[TOOL_MODE_MOVE]->set_toggle_mode(true);
tool_button[TOOL_MODE_MOVE]->set_flat(true);
- button_binds.write[0] = MENU_TOOL_MOVE;
- tool_button[TOOL_MODE_MOVE]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
+
+ tool_button[TOOL_MODE_MOVE]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_TOOL_MOVE));
tool_button[TOOL_MODE_MOVE]->set_shortcut(ED_SHORTCUT("spatial_editor/tool_move", TTR("Move Mode"), Key::W));
tool_button[TOOL_MODE_MOVE]->set_shortcut_context(this);
tool_button[TOOL_MODE_ROTATE] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_MODE_ROTATE]);
+ main_menu_hbox->add_child(tool_button[TOOL_MODE_ROTATE]);
tool_button[TOOL_MODE_ROTATE]->set_toggle_mode(true);
tool_button[TOOL_MODE_ROTATE]->set_flat(true);
- button_binds.write[0] = MENU_TOOL_ROTATE;
- tool_button[TOOL_MODE_ROTATE]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
+ tool_button[TOOL_MODE_ROTATE]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_TOOL_ROTATE));
tool_button[TOOL_MODE_ROTATE]->set_shortcut(ED_SHORTCUT("spatial_editor/tool_rotate", TTR("Rotate Mode"), Key::E));
tool_button[TOOL_MODE_ROTATE]->set_shortcut_context(this);
tool_button[TOOL_MODE_SCALE] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_MODE_SCALE]);
+ main_menu_hbox->add_child(tool_button[TOOL_MODE_SCALE]);
tool_button[TOOL_MODE_SCALE]->set_toggle_mode(true);
tool_button[TOOL_MODE_SCALE]->set_flat(true);
- button_binds.write[0] = MENU_TOOL_SCALE;
- tool_button[TOOL_MODE_SCALE]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
+ tool_button[TOOL_MODE_SCALE]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_TOOL_SCALE));
tool_button[TOOL_MODE_SCALE]->set_shortcut(ED_SHORTCUT("spatial_editor/tool_scale", TTR("Scale Mode"), Key::R));
tool_button[TOOL_MODE_SCALE]->set_shortcut_context(this);
- hbc_menu->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
tool_button[TOOL_MODE_LIST_SELECT] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_MODE_LIST_SELECT]);
+ main_menu_hbox->add_child(tool_button[TOOL_MODE_LIST_SELECT]);
tool_button[TOOL_MODE_LIST_SELECT]->set_toggle_mode(true);
tool_button[TOOL_MODE_LIST_SELECT]->set_flat(true);
- button_binds.write[0] = MENU_TOOL_LIST_SELECT;
- tool_button[TOOL_MODE_LIST_SELECT]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
+ tool_button[TOOL_MODE_LIST_SELECT]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_TOOL_LIST_SELECT));
tool_button[TOOL_MODE_LIST_SELECT]->set_tooltip(TTR("Show list of selectable nodes at position clicked."));
tool_button[TOOL_LOCK_SELECTED] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_LOCK_SELECTED]);
+ main_menu_hbox->add_child(tool_button[TOOL_LOCK_SELECTED]);
tool_button[TOOL_LOCK_SELECTED]->set_flat(true);
- button_binds.write[0] = MENU_LOCK_SELECTED;
- tool_button[TOOL_LOCK_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
+ tool_button[TOOL_LOCK_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_LOCK_SELECTED));
tool_button[TOOL_LOCK_SELECTED]->set_tooltip(TTR("Lock selected node, preventing selection and movement."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
tool_button[TOOL_LOCK_SELECTED]->set_shortcut(ED_SHORTCUT("editor/lock_selected_nodes", TTR("Lock Selected Node(s)"), KeyModifierMask::CMD | Key::L));
tool_button[TOOL_UNLOCK_SELECTED] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_UNLOCK_SELECTED]);
+ main_menu_hbox->add_child(tool_button[TOOL_UNLOCK_SELECTED]);
tool_button[TOOL_UNLOCK_SELECTED]->set_flat(true);
- button_binds.write[0] = MENU_UNLOCK_SELECTED;
- tool_button[TOOL_UNLOCK_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
+ tool_button[TOOL_UNLOCK_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_UNLOCK_SELECTED));
tool_button[TOOL_UNLOCK_SELECTED]->set_tooltip(TTR("Unlock selected node, allowing selection and movement."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
tool_button[TOOL_UNLOCK_SELECTED]->set_shortcut(ED_SHORTCUT("editor/unlock_selected_nodes", TTR("Unlock Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::L));
tool_button[TOOL_GROUP_SELECTED] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_GROUP_SELECTED]);
+ main_menu_hbox->add_child(tool_button[TOOL_GROUP_SELECTED]);
tool_button[TOOL_GROUP_SELECTED]->set_flat(true);
- button_binds.write[0] = MENU_GROUP_SELECTED;
- tool_button[TOOL_GROUP_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
- tool_button[TOOL_GROUP_SELECTED]->set_tooltip(TTR("Makes sure the object's children are not selectable."));
+ tool_button[TOOL_GROUP_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_GROUP_SELECTED));
+ tool_button[TOOL_GROUP_SELECTED]->set_tooltip(TTR("Make selected node's children not selectable."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
tool_button[TOOL_GROUP_SELECTED]->set_shortcut(ED_SHORTCUT("editor/group_selected_nodes", TTR("Group Selected Node(s)"), KeyModifierMask::CMD | Key::G));
tool_button[TOOL_UNGROUP_SELECTED] = memnew(Button);
- hbc_menu->add_child(tool_button[TOOL_UNGROUP_SELECTED]);
+ main_menu_hbox->add_child(tool_button[TOOL_UNGROUP_SELECTED]);
tool_button[TOOL_UNGROUP_SELECTED]->set_flat(true);
- button_binds.write[0] = MENU_UNGROUP_SELECTED;
- tool_button[TOOL_UNGROUP_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed), button_binds);
- tool_button[TOOL_UNGROUP_SELECTED]->set_tooltip(TTR("Restores the object's children's ability to be selected."));
+ tool_button[TOOL_UNGROUP_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_UNGROUP_SELECTED));
+ tool_button[TOOL_UNGROUP_SELECTED]->set_tooltip(TTR("Make selected node's children selectable."));
// Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused.
tool_button[TOOL_UNGROUP_SELECTED]->set_shortcut(ED_SHORTCUT("editor/ungroup_selected_nodes", TTR("Ungroup Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::G));
- hbc_menu->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
tool_option_button[TOOL_OPT_LOCAL_COORDS] = memnew(Button);
- hbc_menu->add_child(tool_option_button[TOOL_OPT_LOCAL_COORDS]);
+ main_menu_hbox->add_child(tool_option_button[TOOL_OPT_LOCAL_COORDS]);
tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_toggle_mode(true);
tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_flat(true);
- button_binds.write[0] = MENU_TOOL_LOCAL_COORDS;
- tool_option_button[TOOL_OPT_LOCAL_COORDS]->connect("toggled", callable_mp(this, &Node3DEditor::_menu_item_toggled), button_binds);
+ tool_option_button[TOOL_OPT_LOCAL_COORDS]->connect("toggled", callable_mp(this, &Node3DEditor::_menu_item_toggled).bind(MENU_TOOL_LOCAL_COORDS));
tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_shortcut(ED_SHORTCUT("spatial_editor/local_coords", TTR("Use Local Space"), Key::T));
tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_shortcut_context(this);
tool_option_button[TOOL_OPT_USE_SNAP] = memnew(Button);
- hbc_menu->add_child(tool_option_button[TOOL_OPT_USE_SNAP]);
+ main_menu_hbox->add_child(tool_option_button[TOOL_OPT_USE_SNAP]);
tool_option_button[TOOL_OPT_USE_SNAP]->set_toggle_mode(true);
tool_option_button[TOOL_OPT_USE_SNAP]->set_flat(true);
- button_binds.write[0] = MENU_TOOL_USE_SNAP;
- tool_option_button[TOOL_OPT_USE_SNAP]->connect("toggled", callable_mp(this, &Node3DEditor::_menu_item_toggled), button_binds);
+ tool_option_button[TOOL_OPT_USE_SNAP]->connect("toggled", callable_mp(this, &Node3DEditor::_menu_item_toggled).bind(MENU_TOOL_USE_SNAP));
tool_option_button[TOOL_OPT_USE_SNAP]->set_shortcut(ED_SHORTCUT("spatial_editor/snap", TTR("Use Snap"), Key::Y));
tool_option_button[TOOL_OPT_USE_SNAP]->set_shortcut_context(this);
- hbc_menu->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
tool_option_button[TOOL_OPT_OVERRIDE_CAMERA] = memnew(Button);
- hbc_menu->add_child(tool_option_button[TOOL_OPT_OVERRIDE_CAMERA]);
+ main_menu_hbox->add_child(tool_option_button[TOOL_OPT_OVERRIDE_CAMERA]);
tool_option_button[TOOL_OPT_OVERRIDE_CAMERA]->set_toggle_mode(true);
tool_option_button[TOOL_OPT_OVERRIDE_CAMERA]->set_flat(true);
tool_option_button[TOOL_OPT_OVERRIDE_CAMERA]->set_disabled(true);
- button_binds.write[0] = MENU_TOOL_OVERRIDE_CAMERA;
- tool_option_button[TOOL_OPT_OVERRIDE_CAMERA]->connect("toggled", callable_mp(this, &Node3DEditor::_menu_item_toggled), button_binds);
+ tool_option_button[TOOL_OPT_OVERRIDE_CAMERA]->connect("toggled", callable_mp(this, &Node3DEditor::_menu_item_toggled).bind(MENU_TOOL_OVERRIDE_CAMERA));
_update_camera_override_button(false);
- hbc_menu->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
sun_button = memnew(Button);
sun_button->set_tooltip(TTR("Toggle preview sunlight.\nIf a DirectionalLight3D node is added to the scene, preview sunlight is disabled."));
sun_button->set_toggle_mode(true);
sun_button->set_flat(true);
- sun_button->connect("pressed", callable_mp(this, &Node3DEditor::_update_preview_environment), varray(), CONNECT_DEFERRED);
+ sun_button->connect("pressed", callable_mp(this, &Node3DEditor::_update_preview_environment), CONNECT_DEFERRED);
sun_button->set_disabled(true);
- hbc_menu->add_child(sun_button);
+ main_menu_hbox->add_child(sun_button);
environ_button = memnew(Button);
environ_button->set_tooltip(TTR("Toggle preview environment.\nIf a WorldEnvironment node is added to the scene, preview environment is disabled."));
environ_button->set_toggle_mode(true);
environ_button->set_flat(true);
- environ_button->connect("pressed", callable_mp(this, &Node3DEditor::_update_preview_environment), varray(), CONNECT_DEFERRED);
+ environ_button->connect("pressed", callable_mp(this, &Node3DEditor::_update_preview_environment), CONNECT_DEFERRED);
environ_button->set_disabled(true);
- hbc_menu->add_child(environ_button);
+ main_menu_hbox->add_child(environ_button);
sun_environ_settings = memnew(Button);
sun_environ_settings->set_tooltip(TTR("Edit Sun and Environment settings."));
sun_environ_settings->set_flat(true);
sun_environ_settings->connect("pressed", callable_mp(this, &Node3DEditor::_sun_environ_settings_pressed));
- hbc_menu->add_child(sun_environ_settings);
+ main_menu_hbox->add_child(sun_environ_settings);
- hbc_menu->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
// Drag and drop support;
preview_node = memnew(Node3D);
@@ -7707,7 +7913,7 @@ Node3DEditor::Node3DEditor() {
transform_menu->set_text(TTR("Transform"));
transform_menu->set_switch_on_hover(true);
transform_menu->set_shortcut_context(this);
- hbc_menu->add_child(transform_menu);
+ main_menu_hbox->add_child(transform_menu);
p = transform_menu->get_popup();
p->add_shortcut(ED_SHORTCUT("spatial_editor/snap_to_floor", TTR("Snap Object to Floor"), Key::PAGEDOWN), MENU_SNAP_TO_FLOOR);
@@ -7719,21 +7925,18 @@ Node3DEditor::Node3DEditor() {
p->connect("id_pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed));
view_menu = memnew(MenuButton);
+ // TRANSLATORS: Noun, name of the 2D/3D View menus.
view_menu->set_text(TTR("View"));
view_menu->set_switch_on_hover(true);
view_menu->set_shortcut_context(this);
- hbc_menu->add_child(view_menu);
+ main_menu_hbox->add_child(view_menu);
- hbc_menu->add_child(memnew(VSeparator));
+ main_menu_hbox->add_child(memnew(VSeparator));
- context_menu_container = memnew(PanelContainer);
- hbc_context_menu = memnew(HBoxContainer);
- context_menu_container->add_child(hbc_context_menu);
- // Use a custom stylebox to make contextual menu items stand out from the rest.
- // This helps with editor usability as contextual menu items change when selecting nodes,
- // even though it may not be immediately obvious at first.
- hbc_menu->add_child(context_menu_container);
- _update_context_menu_stylebox();
+ context_menu_panel = memnew(PanelContainer);
+ context_menu_hbox = memnew(HBoxContainer);
+ context_menu_panel->add_child(context_menu_hbox);
+ main_flow->add_child(context_menu_panel);
// Get the view menu popup and have it stay open when a checkable item is selected
p = view_menu->get_popup();
@@ -7851,7 +8054,7 @@ Node3DEditor::Node3DEditor() {
settings_vbc->add_margin_child(TTR("View Z-Far:"), settings_zfar);
for (uint32_t i = 0; i < VIEWPORTS_COUNT; ++i) {
- settings_dialog->connect("confirmed", callable_mp(viewports[i], &Node3DEditorViewport::_view_settings_confirmed), varray(0.0));
+ settings_dialog->connect("confirmed", callable_mp(viewports[i], &Node3DEditorViewport::_view_settings_confirmed).bind(0.0));
}
/* XFORM DIALOG */
@@ -7976,8 +8179,8 @@ void fragment() {
)");
sun_direction_material.instantiate();
sun_direction_material->set_shader(sun_direction_shader);
- sun_direction_material->set_shader_param("sun_direction", Vector3(0, 0, 1));
- sun_direction_material->set_shader_param("sun_color", Vector3(1, 1, 1));
+ sun_direction_material->set_shader_uniform("sun_direction", Vector3(0, 0, 1));
+ sun_direction_material->set_shader_uniform("sun_color", Vector3(1, 1, 1));
sun_direction->set_material(sun_direction_material);
HBoxContainer *sun_angle_hbox = memnew(HBoxContainer);
@@ -8013,6 +8216,7 @@ void fragment() {
sun_color->set_edit_alpha(false);
sun_vb->add_margin_child(TTR("Sun Color"), sun_color);
sun_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
+ sun_color->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker).bind(sun_color->get_picker()));
sun_energy = memnew(EditorSpinSlider);
sun_vb->add_margin_child(TTR("Sun Energy"), sun_energy);
@@ -8028,7 +8232,7 @@ void fragment() {
sun_add_to_scene = memnew(Button);
sun_add_to_scene->set_text(TTR("Add Sun to Scene"));
sun_add_to_scene->set_tooltip(TTR("Adds a DirectionalLight3D node matching the preview sun settings to the current scene.\nHold Shift while clicking to also add the preview environment to the current scene."));
- sun_add_to_scene->connect("pressed", callable_mp(this, &Node3DEditor::_add_sun_to_scene), varray(false));
+ sun_add_to_scene->connect("pressed", callable_mp(this, &Node3DEditor::_add_sun_to_scene).bind(false));
sun_vb->add_spacer();
sun_vb->add_child(sun_add_to_scene);
@@ -8058,10 +8262,12 @@ void fragment() {
environ_sky_color = memnew(ColorPickerButton);
environ_sky_color->set_edit_alpha(false);
environ_sky_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
+ environ_sky_color->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker).bind(environ_sky_color->get_picker()));
environ_vb->add_margin_child(TTR("Sky Color"), environ_sky_color);
environ_ground_color = memnew(ColorPickerButton);
environ_ground_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
environ_ground_color->set_edit_alpha(false);
+ environ_ground_color->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker).bind(environ_ground_color->get_picker()));
environ_vb->add_margin_child(TTR("Ground Color"), environ_ground_color);
environ_energy = memnew(EditorSpinSlider);
environ_energy->connect("value_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
@@ -8073,29 +8279,29 @@ void fragment() {
environ_ao_button = memnew(Button);
environ_ao_button->set_text(TTR("AO"));
environ_ao_button->set_toggle_mode(true);
- environ_ao_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), varray(), CONNECT_DEFERRED);
+ environ_ao_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), CONNECT_DEFERRED);
fx_vb->add_child(environ_ao_button);
environ_glow_button = memnew(Button);
environ_glow_button->set_text(TTR("Glow"));
environ_glow_button->set_toggle_mode(true);
- environ_glow_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), varray(), CONNECT_DEFERRED);
+ environ_glow_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), CONNECT_DEFERRED);
fx_vb->add_child(environ_glow_button);
environ_tonemap_button = memnew(Button);
environ_tonemap_button->set_text(TTR("Tonemap"));
environ_tonemap_button->set_toggle_mode(true);
- environ_tonemap_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), varray(), CONNECT_DEFERRED);
+ environ_tonemap_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), CONNECT_DEFERRED);
fx_vb->add_child(environ_tonemap_button);
environ_gi_button = memnew(Button);
environ_gi_button->set_text(TTR("GI"));
environ_gi_button->set_toggle_mode(true);
- environ_gi_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), varray(), CONNECT_DEFERRED);
+ environ_gi_button->connect("pressed", callable_mp(this, &Node3DEditor::_preview_settings_changed), CONNECT_DEFERRED);
fx_vb->add_child(environ_gi_button);
environ_vb->add_margin_child(TTR("Post Process"), fx_vb);
environ_add_to_scene = memnew(Button);
environ_add_to_scene->set_text(TTR("Add Environment to Scene"));
environ_add_to_scene->set_tooltip(TTR("Adds a WorldEnvironment node matching the preview environment settings to the current scene.\nHold Shift while clicking to also add the preview sun to the current scene."));
- environ_add_to_scene->connect("pressed", callable_mp(this, &Node3DEditor::_add_environment_to_scene), varray(false));
+ environ_add_to_scene->connect("pressed", callable_mp(this, &Node3DEditor::_add_environment_to_scene).bind(false));
environ_vb->add_spacer();
environ_vb->add_child(environ_add_to_scene);
@@ -8122,7 +8328,6 @@ void fragment() {
_preview_settings_changed();
}
}
-
Node3DEditor::~Node3DEditor() {
memdelete(preview_node);
}
@@ -8143,7 +8348,13 @@ void Node3DEditorPlugin::edit(Object *p_object) {
}
bool Node3DEditorPlugin::handles(Object *p_object) const {
- return p_object->is_class("Node3D");
+ if (p_object->is_class("Node3D")) {
+ return true;
+ } else {
+ // This ensures that gizmos are cleared when selecting a non-Node3D node.
+ const_cast<Node3DEditorPlugin *>(this)->edit((Object *)nullptr);
+ return false;
+ }
}
Dictionary Node3DEditorPlugin::get_state() const {
diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h
index 511135a5f1..e0298ebd5f 100644
--- a/editor/plugins/node_3d_editor_plugin.h
+++ b/editor/plugins/node_3d_editor_plugin.h
@@ -53,6 +53,7 @@ class Node3DEditorViewport;
class SubViewportContainer;
class DirectionalLight3D;
class WorldEnvironment;
+class EditorUndoRedoManager;
class ViewportRotationControl : public Control {
GDCLASS(ViewportRotationControl, Control);
@@ -141,6 +142,7 @@ class Node3DEditorViewport : public Control {
VIEW_DISPLAY_DEBUG_CLUSTER_DECALS,
VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES,
VIEW_DISPLAY_DEBUG_OCCLUDERS,
+ VIEW_DISPLAY_MOTION_VECTORS,
VIEW_LOCK_ROTATION,
VIEW_CINEMATIC_PREVIEW,
@@ -200,7 +202,7 @@ private:
EditorData *editor_data = nullptr;
EditorSelection *editor_selection = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
CheckBox *preview_camera = nullptr;
SubViewportContainer *subviewport_container = nullptr;
@@ -226,6 +228,9 @@ private:
Label *locked_label = nullptr;
Label *zoom_limit_label = nullptr;
+ Label *preview_material_label = nullptr;
+ Label *preview_material_label_desc = nullptr;
+
VBoxContainer *top_right_vbox = nullptr;
ViewportRotationControl *rotation_control = nullptr;
Gradient *frame_time_gradient = nullptr;
@@ -243,7 +248,7 @@ private:
void _compute_edit(const Point2 &p_point);
void _clear_selected();
void _select_clicked(bool p_allow_locked);
- ObjectID _select_ray(const Point2 &p_pos);
+ ObjectID _select_ray(const Point2 &p_pos) const;
void _find_items_at_pos(const Point2 &p_pos, Vector<_RayResult> &r_results, bool p_include_locked);
Vector3 _get_ray_pos(const Vector2 &p_pos) const;
Vector3 _get_ray(const Vector2 &p_pos) const;
@@ -251,6 +256,7 @@ private:
Transform3D _get_camera_transform() const;
int get_selected_count() const;
void cancel_transform();
+ void _update_shrink();
Vector3 _get_camera_position() const;
Vector3 _get_camera_normal() const;
@@ -270,6 +276,7 @@ private:
float get_fov() const;
ObjectID clicked;
+ ObjectID material_target;
Vector<_RayResult> selection_results;
bool clicked_wants_append = false;
bool selection_in_progress = false;
@@ -397,8 +404,11 @@ private:
Node *_sanitize_preview_node(Node *p_node) const;
- void _create_preview(const Vector<String> &files) const;
- void _remove_preview();
+ void _create_preview_node(const Vector<String> &files) const;
+ void _remove_preview_node();
+ bool _apply_preview_material(ObjectID p_target, const Point2 &p_point) const;
+ void _reset_preview_material() const;
+ void _remove_preview_material();
bool _cyclical_dependency_exists(const String &p_target_scene_path, Node *p_desired_node);
bool _create_instance(Node *parent, String &path, const Point2 &p_point);
void _perform_drop_data();
@@ -558,7 +568,7 @@ private:
bool grid_enable[3]; //should be always visible if true
bool grid_enabled = false;
bool grid_init_draw = false;
- Camera3D::Projection grid_camera_last_update_perspective = Camera3D::PROJECTION_PERSPECTIVE;
+ Camera3D::ProjectionType grid_camera_last_update_perspective = Camera3D::PROJECTION_PERSPECTIVE;
Vector3 grid_camera_last_update_position = Vector3();
Ref<ArrayMesh> move_gizmo[3], move_plane_gizmo[3], rotate_gizmo[4], scale_gizmo[3], scale_plane_gizmo[3], axis_gizmo[3];
@@ -591,6 +601,11 @@ private:
Node3D *preview_node = nullptr;
AABB preview_bounds;
+ Ref<Material> preview_material;
+ Ref<Material> preview_reset_material;
+ ObjectID preview_material_target;
+ int preview_material_surface = -1;
+
struct Gizmo {
bool visible = false;
real_t scale = 0;
@@ -662,19 +677,17 @@ private:
void _menu_gizmo_toggled(int p_option);
void _update_camera_override_button(bool p_game_running);
void _update_camera_override_viewport(Object *p_viewport);
- HBoxContainer *hbc_menu = nullptr;
// Used for secondary menu items which are displayed depending on the currently selected node
// (such as MeshInstance's "Mesh" menu).
- PanelContainer *context_menu_container = nullptr;
- HBoxContainer *hbc_context_menu = nullptr;
+ PanelContainer *context_menu_panel = nullptr;
+ HBoxContainer *context_menu_hbox = nullptr;
void _generate_selection_boxes();
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
int camera_override_viewport_id;
void _init_indicators();
- void _update_context_menu_stylebox();
void _update_gizmos_menu();
void _update_gizmos_menu_theme();
void _init_grid();
@@ -808,13 +821,13 @@ public:
void select_gizmo_highlight_axis(int p_axis);
void set_custom_camera(Node *p_camera) { custom_camera = p_camera; }
- void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; }
Dictionary get_state() const;
void set_state(const Dictionary &p_state);
Ref<Environment> get_viewport_environment() { return viewport_environment; }
- UndoRedo *get_undo_redo() { return undo_redo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
+ Ref<EditorUndoRedoManager> get_undo_redo();
void add_control_to_menu_panel(Control *p_control);
void remove_control_from_menu_panel(Control *p_control);
@@ -850,6 +863,15 @@ public:
void set_can_preview(Camera3D *p_preview);
+ void set_preview_material(Ref<Material> p_material) { preview_material = p_material; }
+ Ref<Material> get_preview_material() { return preview_material; }
+ void set_preview_reset_material(Ref<Material> p_material) { preview_reset_material = p_material; }
+ Ref<Material> get_preview_reset_material() const { return preview_reset_material; }
+ void set_preview_material_target(ObjectID p_object_id) { preview_material_target = p_object_id; }
+ ObjectID get_preview_material_target() const { return preview_material_target; }
+ void set_preview_material_surface(int p_surface) { preview_material_surface = p_surface; }
+ int get_preview_material_surface() const { return preview_material_surface; }
+
Node3DEditorViewport *get_editor_viewport(int p_idx) {
ERR_FAIL_INDEX_V(p_idx, static_cast<int>(VIEWPORTS_COUNT), nullptr);
return viewports[p_idx];
diff --git a/editor/plugins/occluder_instance_3d_editor_plugin.cpp b/editor/plugins/occluder_instance_3d_editor_plugin.cpp
index 79cf4c394e..365f74d7a3 100644
--- a/editor/plugins/occluder_instance_3d_editor_plugin.cpp
+++ b/editor/plugins/occluder_instance_3d_editor_plugin.cpp
@@ -63,7 +63,7 @@ void OccluderInstance3DEditorPlugin::_bake_select_file(const String &p_file) {
break;
}
case OccluderInstance3D::BAKE_ERROR_CANT_SAVE: {
- EditorNode::get_singleton()->show_warning(TTR("Could not save the new occluder at the specified path: ") + p_file);
+ EditorNode::get_singleton()->show_warning(TTR("Could not save the new occluder at the specified path:") + " " + p_file);
break;
}
default: {
@@ -113,7 +113,7 @@ OccluderInstance3DEditorPlugin::OccluderInstance3DEditorPlugin() {
file_dialog = memnew(EditorFileDialog);
file_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
- file_dialog->add_filter("*.occ ; Occluder3D");
+ file_dialog->add_filter("*.occ", "Occluder3D");
file_dialog->set_title(TTR("Select occluder bake file:"));
file_dialog->connect("file_selected", callable_mp(this, &OccluderInstance3DEditorPlugin::_bake_select_file));
bake->add_child(file_dialog);
diff --git a/editor/plugins/occluder_instance_3d_editor_plugin.h b/editor/plugins/occluder_instance_3d_editor_plugin.h
index 360b7297cf..e8d98927f4 100644
--- a/editor/plugins/occluder_instance_3d_editor_plugin.h
+++ b/editor/plugins/occluder_instance_3d_editor_plugin.h
@@ -63,4 +63,4 @@ public:
~OccluderInstance3DEditorPlugin();
};
-#endif
+#endif // OCCLUDER_INSTANCE_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/ot_features_plugin.cpp b/editor/plugins/ot_features_plugin.cpp
deleted file mode 100644
index f8526fb715..0000000000
--- a/editor/plugins/ot_features_plugin.cpp
+++ /dev/null
@@ -1,235 +0,0 @@
-/*************************************************************************/
-/* ot_features_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#include "ot_features_plugin.h"
-
-#include "scene/3d/label_3d.h"
-#include "scene/resources/primitive_meshes.h"
-
-void OpenTypeFeaturesEditor::_value_changed(double val) {
- if (setting) {
- return;
- }
-
- emit_changed(get_edited_property(), spin->get_value());
-}
-
-void OpenTypeFeaturesEditor::update_property() {
- double val = get_edited_object()->get(get_edited_property());
- setting = true;
- spin->set_value(val);
- setting = false;
-}
-
-void OpenTypeFeaturesEditor::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_ENTER_TREE:
- case NOTIFICATION_THEME_CHANGED: {
- Color base = get_theme_color(SNAME("accent_color"), SNAME("Editor"));
-
- button->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
- button->set_size(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))->get_size());
- spin->add_theme_color_override("label_color", base);
- } break;
- }
-}
-
-void OpenTypeFeaturesEditor::_remove_feature() {
- get_edited_object()->set(get_edited_property(), -1);
-}
-
-void OpenTypeFeaturesEditor::_bind_methods() {
-}
-
-OpenTypeFeaturesEditor::OpenTypeFeaturesEditor() {
- HBoxContainer *bc = memnew(HBoxContainer);
- add_child(bc);
-
- spin = memnew(EditorSpinSlider);
- spin->set_flat(true);
- bc->add_child(spin);
- add_focusable(spin);
- spin->connect("value_changed", callable_mp(this, &OpenTypeFeaturesEditor::_value_changed));
- spin->set_h_size_flags(SIZE_EXPAND_FILL);
-
- spin->set_min(0);
- spin->set_max(65536);
- spin->set_step(1);
- spin->set_hide_slider(false);
- spin->set_allow_greater(false);
- spin->set_allow_lesser(false);
-
- button = memnew(Button);
- button->set_tooltip(RTR("Remove feature"));
- button->set_flat(true);
- bc->add_child(button);
-
- button->connect("pressed", callable_mp(this, &OpenTypeFeaturesEditor::_remove_feature));
-
- setting = false;
-}
-
-/*************************************************************************/
-
-void OpenTypeFeaturesAdd::_add_feature(int p_option) {
- edited_object->set("opentype_features/" + TS->tag_to_name(p_option), 1);
-}
-
-void OpenTypeFeaturesAdd::_features_menu() {
- Size2 size = get_size();
- menu->set_position(get_screen_position() + Size2(0, size.height * get_global_transform().get_scale().y));
- menu->reset_size();
- menu->popup();
-}
-
-void OpenTypeFeaturesAdd::setup(Object *p_object) {
- edited_object = p_object;
-
- menu->clear();
- menu_ss->clear();
- menu_cv->clear();
- menu_cu->clear();
- bool have_ss = false;
- bool have_cv = false;
- bool have_cu = false;
-
- Ref<Font> font;
-
- Control *ctrl = Object::cast_to<Control>(edited_object);
- if (ctrl != nullptr) {
- font = ctrl->get_theme_font(SNAME("font"));
- }
- Label3D *l3d = Object::cast_to<Label3D>(edited_object);
- if (l3d != nullptr) {
- font = l3d->_get_font_or_default();
- }
- TextMesh *tm = Object::cast_to<TextMesh>(edited_object);
- if (tm != nullptr) {
- font = tm->_get_font_or_default();
- }
-
- if (font.is_null()) {
- return;
- }
-
- Dictionary features = font->get_feature_list();
-
- for (const Variant *ftr = features.next(nullptr); ftr != nullptr; ftr = features.next(ftr)) {
- String ftr_name = TS->tag_to_name(*ftr);
- if (ftr_name.begins_with("stylistic_set_")) {
- menu_ss->add_item(ftr_name.capitalize(), (int32_t)*ftr);
- have_ss = true;
- } else if (ftr_name.begins_with("character_variant_")) {
- menu_cv->add_item(ftr_name.capitalize(), (int32_t)*ftr);
- have_cv = true;
- } else if (ftr_name.begins_with("custom_")) {
- menu_cu->add_item(ftr_name.replace("custom_", ""), (int32_t)*ftr);
- have_cu = true;
- } else {
- menu->add_item(ftr_name.capitalize(), (int32_t)*ftr);
- }
- }
- if (have_ss) {
- menu->add_submenu_item(RTR("Stylistic Sets"), "SSMenu");
- }
- if (have_cv) {
- menu->add_submenu_item(RTR("Character Variants"), "CVMenu");
- }
- if (have_cu) {
- menu->add_submenu_item(RTR("Custom"), "CUMenu");
- }
-}
-
-void OpenTypeFeaturesAdd::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_ENTER_TREE: {
- connect("pressed", callable_mp(this, &OpenTypeFeaturesAdd::_features_menu));
- [[fallthrough]];
- }
- case NOTIFICATION_THEME_CHANGED: {
- set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- } break;
- }
-}
-
-void OpenTypeFeaturesAdd::_bind_methods() {
-}
-
-OpenTypeFeaturesAdd::OpenTypeFeaturesAdd() {
- set_text(TTR("Add Feature..."));
-
- menu = memnew(PopupMenu);
- add_child(menu);
-
- menu_cv = memnew(PopupMenu);
- menu_cv->set_name("CVMenu");
- menu->add_child(menu_cv);
-
- menu_ss = memnew(PopupMenu);
- menu_ss->set_name("SSMenu");
- menu->add_child(menu_ss);
-
- menu_cu = memnew(PopupMenu);
- menu_cu->set_name("CUMenu");
- menu->add_child(menu_cu);
-
- menu->connect("id_pressed", callable_mp(this, &OpenTypeFeaturesAdd::_add_feature));
- menu_cv->connect("id_pressed", callable_mp(this, &OpenTypeFeaturesAdd::_add_feature));
- menu_ss->connect("id_pressed", callable_mp(this, &OpenTypeFeaturesAdd::_add_feature));
- menu_cu->connect("id_pressed", callable_mp(this, &OpenTypeFeaturesAdd::_add_feature));
-}
-
-/*************************************************************************/
-
-bool EditorInspectorPluginOpenTypeFeatures::can_handle(Object *p_object) {
- return (Object::cast_to<Control>(p_object) != nullptr) || (Object::cast_to<Label3D>(p_object) != nullptr) || (Object::cast_to<TextMesh>(p_object) != nullptr);
-}
-
-bool EditorInspectorPluginOpenTypeFeatures::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
- if (p_path == "opentype_features/_new") {
- OpenTypeFeaturesAdd *editor = memnew(OpenTypeFeaturesAdd);
- editor->setup(p_object);
- add_custom_control(editor);
- return true;
- } else if (p_path.begins_with("opentype_features")) {
- OpenTypeFeaturesEditor *editor = memnew(OpenTypeFeaturesEditor);
- add_property_editor(p_path, editor);
- return true;
- }
- return false;
-}
-
-/*************************************************************************/
-
-OpenTypeFeaturesEditorPlugin::OpenTypeFeaturesEditorPlugin() {
- Ref<EditorInspectorPluginOpenTypeFeatures> ftr_plugin;
- ftr_plugin.instantiate();
- EditorInspector::add_inspector_plugin(ftr_plugin);
-}
diff --git a/editor/plugins/ot_features_plugin.h b/editor/plugins/ot_features_plugin.h
deleted file mode 100644
index 6639148080..0000000000
--- a/editor/plugins/ot_features_plugin.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*************************************************************************/
-/* ot_features_plugin.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#ifndef OT_FEATURES_PLUGIN_H
-#define OT_FEATURES_PLUGIN_H
-
-#include "editor/editor_plugin.h"
-#include "editor/editor_properties.h"
-
-/*************************************************************************/
-
-class OpenTypeFeaturesEditor : public EditorProperty {
- GDCLASS(OpenTypeFeaturesEditor, EditorProperty);
- EditorSpinSlider *spin = nullptr;
- bool setting = true;
- void _value_changed(double p_val);
- Button *button = nullptr;
-
- void _remove_feature();
-
-protected:
- void _notification(int p_what);
- static void _bind_methods();
-
-public:
- virtual void update_property() override;
- OpenTypeFeaturesEditor();
-};
-
-/*************************************************************************/
-
-class OpenTypeFeaturesAdd : public Button {
- GDCLASS(OpenTypeFeaturesAdd, Button);
-
- Object *edited_object = nullptr;
- PopupMenu *menu = nullptr;
- PopupMenu *menu_ss = nullptr;
- PopupMenu *menu_cv = nullptr;
- PopupMenu *menu_cu = nullptr;
-
- void _add_feature(int p_option);
- void _features_menu();
-
-protected:
- void _notification(int p_what);
- static void _bind_methods();
-
-public:
- void setup(Object *p_object);
-
- OpenTypeFeaturesAdd();
-};
-
-/*************************************************************************/
-
-class EditorInspectorPluginOpenTypeFeatures : public EditorInspectorPlugin {
- GDCLASS(EditorInspectorPluginOpenTypeFeatures, EditorInspectorPlugin);
-
-public:
- virtual bool can_handle(Object *p_object) override;
- virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false) override;
-};
-
-/*************************************************************************/
-
-class OpenTypeFeaturesEditorPlugin : public EditorPlugin {
- GDCLASS(OpenTypeFeaturesEditorPlugin, EditorPlugin);
-
-public:
- OpenTypeFeaturesEditorPlugin();
-
- virtual String get_name() const override { return "OpenTypeFeatures"; }
-};
-
-#endif // OT_FEATURES_PLUGIN_H
diff --git a/editor/plugins/path_2d_editor_plugin.cpp b/editor/plugins/path_2d_editor_plugin.cpp
index 9e666ef70a..1d8a3f5c81 100644
--- a/editor/plugins/path_2d_editor_plugin.cpp
+++ b/editor/plugins/path_2d_editor_plugin.cpp
@@ -36,6 +36,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
void Path2DEditor::_notification(int p_what) {
switch (p_what) {
@@ -537,7 +538,7 @@ Path2DEditor::Path2DEditor() {
curve_edit->set_toggle_mode(true);
curve_edit->set_focus_mode(Control::FOCUS_NONE);
curve_edit->set_tooltip(TTR("Select Points") + "\n" + TTR("Shift+Drag: Select Control Points") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Click: Add Point") + "\n" + TTR("Left Click: Split Segment (in curve)") + "\n" + TTR("Right Click: Delete Point"));
- curve_edit->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected), varray(MODE_EDIT));
+ curve_edit->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_EDIT));
base_hb->add_child(curve_edit);
curve_edit_curve = memnew(Button);
@@ -545,7 +546,7 @@ Path2DEditor::Path2DEditor() {
curve_edit_curve->set_toggle_mode(true);
curve_edit_curve->set_focus_mode(Control::FOCUS_NONE);
curve_edit_curve->set_tooltip(TTR("Select Control Points (Shift+Drag)"));
- curve_edit_curve->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected), varray(MODE_EDIT_CURVE));
+ curve_edit_curve->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_EDIT_CURVE));
base_hb->add_child(curve_edit_curve);
curve_create = memnew(Button);
@@ -553,7 +554,7 @@ Path2DEditor::Path2DEditor() {
curve_create->set_toggle_mode(true);
curve_create->set_focus_mode(Control::FOCUS_NONE);
curve_create->set_tooltip(TTR("Add Point (in empty space)"));
- curve_create->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected), varray(MODE_CREATE));
+ curve_create->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_CREATE));
base_hb->add_child(curve_create);
curve_del = memnew(Button);
@@ -561,14 +562,14 @@ Path2DEditor::Path2DEditor() {
curve_del->set_toggle_mode(true);
curve_del->set_focus_mode(Control::FOCUS_NONE);
curve_del->set_tooltip(TTR("Delete Point"));
- curve_del->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected), varray(MODE_DELETE));
+ curve_del->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_DELETE));
base_hb->add_child(curve_del);
curve_close = memnew(Button);
curve_close->set_flat(true);
curve_close->set_focus_mode(Control::FOCUS_NONE);
curve_close->set_tooltip(TTR("Close Curve"));
- curve_close->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected), varray(ACTION_CLOSE));
+ curve_close->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(ACTION_CLOSE));
base_hb->add_child(curve_close);
PopupMenu *menu;
diff --git a/editor/plugins/path_2d_editor_plugin.h b/editor/plugins/path_2d_editor_plugin.h
index 720f5c090f..13eca79010 100644
--- a/editor/plugins/path_2d_editor_plugin.h
+++ b/editor/plugins/path_2d_editor_plugin.h
@@ -36,11 +36,12 @@
#include "scene/gui/separator.h"
class CanvasItemEditor;
+class EditorUndoRedoManager;
class Path2DEditor : public HBoxContainer {
GDCLASS(Path2DEditor, HBoxContainer);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
CanvasItemEditor *canvas_item_editor = nullptr;
Panel *panel = nullptr;
diff --git a/editor/plugins/path_3d_editor_plugin.cpp b/editor/plugins/path_3d_editor_plugin.cpp
index 3851738cfa..084c0c2bb0 100644
--- a/editor/plugins/path_3d_editor_plugin.cpp
+++ b/editor/plugins/path_3d_editor_plugin.cpp
@@ -34,9 +34,24 @@
#include "core/math/geometry_3d.h"
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "node_3d_editor_plugin.h"
#include "scene/resources/curve.h"
+static bool _is_in_handle(int p_id, int p_num_points) {
+ int t = (p_id + 1) % 2;
+ int idx = (p_id + 1) / 2;
+ // order of points is [out_0, out_1, in_1, out_2, in_2, ... out_n-1, in_n-1, in_n]
+ if (idx == 0) {
+ return false;
+ } else if (idx == (p_num_points - 1)) {
+ return true;
+ } else {
+ return (t == 1);
+ }
+}
+
String Path3DGizmo::get_handle_name(int p_id, bool p_secondary) const {
Ref<Curve3D> c = path->get_curve();
if (c.is_null()) {
@@ -47,12 +62,10 @@ String Path3DGizmo::get_handle_name(int p_id, bool p_secondary) const {
return TTR("Curve Point #") + itos(p_id);
}
- p_id += 1; // Account for the first point only having an "out" handle
-
- int idx = p_id / 2;
- int t = p_id % 2;
+ // (p_id + 1) Accounts for the first point only having an "out" handle
+ int idx = (p_id + 1) / 2;
String n = TTR("Curve Point #") + itos(idx);
- if (t == 0) {
+ if (_is_in_handle(p_id, c->get_point_count())) {
n += " In";
} else {
n += " Out";
@@ -72,13 +85,11 @@ Variant Path3DGizmo::get_handle_value(int p_id, bool p_secondary) const {
return original;
}
- p_id += 1; // Account for the first point only having an "out" handle
-
- int idx = p_id / 2;
- int t = p_id % 2;
+ // (p_id + 1) Accounts for the first point only having an "out" handle
+ int idx = (p_id + 1) / 2;
Vector3 ofs;
- if (t == 0) {
+ if (_is_in_handle(p_id, c->get_point_count())) {
ofs = c->get_point_in(idx);
} else {
ofs = c->get_point_out(idx);
@@ -119,10 +130,8 @@ void Path3DGizmo::set_handle(int p_id, bool p_secondary, Camera3D *p_camera, con
return;
}
- p_id += 1; // Account for the first point only having an "out" handle
-
- int idx = p_id / 2;
- int t = p_id % 2;
+ // (p_id + 1) Accounts for the first point only having an "out" handle
+ int idx = (p_id + 1) / 2;
Vector3 base = c->get_point_position(idx);
@@ -144,7 +153,7 @@ void Path3DGizmo::set_handle(int p_id, bool p_secondary, Camera3D *p_camera, con
local.snap(Vector3(snap, snap, snap));
}
- if (t == 0) {
+ if (_is_in_handle(p_id, c->get_point_count())) {
c->set_point_in(idx, local);
if (Path3DEditorPlugin::singleton->mirror_angle_enabled()) {
c->set_point_out(idx, Path3DEditorPlugin::singleton->mirror_length_enabled() ? -local : (-local.normalized() * orig_out_length));
@@ -164,7 +173,7 @@ void Path3DGizmo::commit_handle(int p_id, bool p_secondary, const Variant &p_res
return;
}
- UndoRedo *ur = Node3DEditor::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
if (!p_secondary) {
if (p_cancel) {
@@ -179,12 +188,10 @@ void Path3DGizmo::commit_handle(int p_id, bool p_secondary, const Variant &p_res
return;
}
- p_id += 1; // Account for the first point only having an "out" handle
-
- int idx = p_id / 2;
- int t = p_id % 2;
+ // (p_id + 1) Accounts for the first point only having an "out" handle
+ int idx = (p_id + 1) / 2;
- if (t == 0) {
+ if (_is_in_handle(p_id, c->get_point_count())) {
if (p_cancel) {
c->set_point_in(p_id, p_restore);
return;
@@ -263,17 +270,17 @@ void Path3DGizmo::redraw() {
for (int i = 0; i < c->get_point_count(); i++) {
Vector3 p = c->get_point_position(i);
handles.push_back(p);
- if (i > 0) {
- v3p.push_back(p);
- v3p.push_back(p + c->get_point_in(i));
- sec_handles.push_back(p + c->get_point_in(i));
- }
-
+ // push Out points first so they get selected if the In and Out points are on top of each other.
if (i < c->get_point_count() - 1) {
v3p.push_back(p);
v3p.push_back(p + c->get_point_out(i));
sec_handles.push_back(p + c->get_point_out(i));
}
+ if (i > 0) {
+ v3p.push_back(p);
+ v3p.push_back(p + c->get_point_in(i));
+ sec_handles.push_back(p + c->get_point_in(i));
+ }
}
if (v3p.size() > 1) {
@@ -379,7 +386,7 @@ EditorPlugin::AfterGUIInput Path3DEditorPlugin::forward_spatial_gui_input(Camera
}
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
if (closest_seg != -1) {
//subdivide
@@ -421,21 +428,21 @@ EditorPlugin::AfterGUIInput Path3DEditorPlugin::forward_spatial_gui_input(Camera
// Find the offset and point index of the place to break up.
// Also check for the control points.
if (dist_to_p < click_dist) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Path Point"));
ur->add_do_method(c.ptr(), "remove_point", i);
ur->add_undo_method(c.ptr(), "add_point", c->get_point_position(i), c->get_point_in(i), c->get_point_out(i), i);
ur->commit_action();
return EditorPlugin::AFTER_GUI_INPUT_STOP;
} else if (dist_to_p_out < click_dist) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Out-Control Point"));
ur->add_do_method(c.ptr(), "set_point_out", i, Vector3());
ur->add_undo_method(c.ptr(), "set_point_out", i, c->get_point_out(i));
ur->commit_action();
return EditorPlugin::AFTER_GUI_INPUT_STOP;
} else if (dist_to_p_in < click_dist) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove In-Control Point"));
ur->add_do_method(c.ptr(), "set_point_in", i, Vector3());
ur->add_undo_method(c.ptr(), "set_point_in", i, c->get_point_in(i));
@@ -514,7 +521,7 @@ void Path3DEditorPlugin::_close_curve() {
if (c->get_point_position(0) == c->get_point_position(c->get_point_count() - 1)) {
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Close Curve"));
ur->add_do_method(c.ptr(), "add_point", c->get_point_position(0), c->get_point_in(0), c->get_point_out(0), -1);
ur->add_undo_method(c.ptr(), "remove_point", c->get_point_count());
@@ -552,9 +559,9 @@ void Path3DEditorPlugin::_update_theme() {
void Path3DEditorPlugin::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
- curve_create->connect("pressed", callable_mp(this, &Path3DEditorPlugin::_mode_changed), make_binds(0));
- curve_edit->connect("pressed", callable_mp(this, &Path3DEditorPlugin::_mode_changed), make_binds(1));
- curve_del->connect("pressed", callable_mp(this, &Path3DEditorPlugin::_mode_changed), make_binds(2));
+ curve_create->connect("pressed", callable_mp(this, &Path3DEditorPlugin::_mode_changed).bind(0));
+ curve_edit->connect("pressed", callable_mp(this, &Path3DEditorPlugin::_mode_changed).bind(1));
+ curve_del->connect("pressed", callable_mp(this, &Path3DEditorPlugin::_mode_changed).bind(2));
curve_close->connect("pressed", callable_mp(this, &Path3DEditorPlugin::_close_curve));
_update_theme();
diff --git a/editor/plugins/path_3d_editor_plugin.h b/editor/plugins/path_3d_editor_plugin.h
index ee31fcf43d..53e4e2efa8 100644
--- a/editor/plugins/path_3d_editor_plugin.h
+++ b/editor/plugins/path_3d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef PATH_EDITOR_PLUGIN_H
-#define PATH_EDITOR_PLUGIN_H
+#ifndef PATH_3D_EDITOR_PLUGIN_H
+#define PATH_3D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "editor/plugins/node_3d_editor_gizmos.h"
@@ -118,4 +118,4 @@ public:
~Path3DEditorPlugin();
};
-#endif // PATH_EDITOR_PLUGIN_H
+#endif // PATH_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/physical_bone_3d_editor_plugin.h b/editor/plugins/physical_bone_3d_editor_plugin.h
index 93e722a432..f15eab7991 100644
--- a/editor/plugins/physical_bone_3d_editor_plugin.h
+++ b/editor/plugins/physical_bone_3d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef PHYSICAL_BONE_PLUGIN_H
-#define PHYSICAL_BONE_PLUGIN_H
+#ifndef PHYSICAL_BONE_3D_EDITOR_PLUGIN_H
+#define PHYSICAL_BONE_3D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/3d/physics_body_3d.h"
@@ -76,4 +76,4 @@ public:
PhysicalBone3DEditorPlugin();
};
-#endif
+#endif // PHYSICAL_BONE_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp
index a682bb455c..4f46c99a04 100644
--- a/editor/plugins/polygon_2d_editor_plugin.cpp
+++ b/editor/plugins/polygon_2d_editor_plugin.cpp
@@ -192,7 +192,7 @@ void Polygon2DEditor::_update_bone_list() {
cb->set_pressed(true);
}
- cb->connect("pressed", callable_mp(this, &Polygon2DEditor::_bone_paint_selected), varray(i));
+ cb->connect("pressed", callable_mp(this, &Polygon2DEditor::_bone_paint_selected).bind(i));
}
uv_edit_draw->update();
@@ -1238,7 +1238,7 @@ Polygon2DEditor::Polygon2DEditor() {
button_uv->set_flat(true);
add_child(button_uv);
button_uv->set_tooltip(TTR("Open Polygon 2D UV editor."));
- button_uv->connect("pressed", callable_mp(this, &Polygon2DEditor::_menu_option), varray(MODE_EDIT_UV));
+ button_uv->connect("pressed", callable_mp(this, &Polygon2DEditor::_menu_option).bind(MODE_EDIT_UV));
uv_mode = UV_MODE_EDIT_POINT;
uv_edit = memnew(AcceptDialog);
@@ -1276,10 +1276,10 @@ Polygon2DEditor::Polygon2DEditor() {
uv_edit_mode[2]->set_button_group(uv_edit_group);
uv_edit_mode[3]->set_button_group(uv_edit_group);
- uv_edit_mode[0]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select), varray(0));
- uv_edit_mode[1]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select), varray(1));
- uv_edit_mode[2]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select), varray(2));
- uv_edit_mode[3]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select), varray(3));
+ uv_edit_mode[0]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select).bind(0));
+ uv_edit_mode[1]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select).bind(1));
+ uv_edit_mode[2]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select).bind(2));
+ uv_edit_mode[3]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_edit_mode_select).bind(3));
uv_mode_hb->add_child(memnew(VSeparator));
@@ -1289,7 +1289,7 @@ Polygon2DEditor::Polygon2DEditor() {
uv_button[i]->set_flat(true);
uv_button[i]->set_toggle_mode(true);
uv_mode_hb->add_child(uv_button[i]);
- uv_button[i]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_mode), varray(i));
+ uv_button[i]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_mode).bind(i));
uv_button[i]->set_focus_mode(FOCUS_NONE);
}
diff --git a/editor/plugins/polygon_3d_editor_plugin.cpp b/editor/plugins/polygon_3d_editor_plugin.cpp
index 1c69e0d635..2b3a5c3e23 100644
--- a/editor/plugins/polygon_3d_editor_plugin.cpp
+++ b/editor/plugins/polygon_3d_editor_plugin.cpp
@@ -38,6 +38,7 @@
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "node_3d_editor_plugin.h"
#include "scene/3d/camera_3d.h"
@@ -532,13 +533,13 @@ Polygon3DEditor::Polygon3DEditor() {
button_create = memnew(Button);
button_create->set_flat(true);
add_child(button_create);
- button_create->connect("pressed", callable_mp(this, &Polygon3DEditor::_menu_option), varray(MODE_CREATE));
+ button_create->connect("pressed", callable_mp(this, &Polygon3DEditor::_menu_option).bind(MODE_CREATE));
button_create->set_toggle_mode(true);
button_edit = memnew(Button);
button_edit->set_flat(true);
add_child(button_edit);
- button_edit->connect("pressed", callable_mp(this, &Polygon3DEditor::_menu_option), varray(MODE_EDIT));
+ button_edit->connect("pressed", callable_mp(this, &Polygon3DEditor::_menu_option).bind(MODE_EDIT));
button_edit->set_toggle_mode(true);
mode = MODE_EDIT;
diff --git a/editor/plugins/polygon_3d_editor_plugin.h b/editor/plugins/polygon_3d_editor_plugin.h
index e1e1261250..0eb02a39e2 100644
--- a/editor/plugins/polygon_3d_editor_plugin.h
+++ b/editor/plugins/polygon_3d_editor_plugin.h
@@ -37,11 +37,12 @@
#include "scene/resources/immediate_mesh.h"
class CanvasItemEditor;
+class EditorUndoRedoManager;
class Polygon3DEditor : public HBoxContainer {
GDCLASS(Polygon3DEditor, HBoxContainer);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
enum Mode {
MODE_CREATE,
MODE_EDIT,
diff --git a/editor/plugins/replication_editor_plugin.cpp b/editor/plugins/replication_editor_plugin.cpp
deleted file mode 100644
index 72fe3c5f20..0000000000
--- a/editor/plugins/replication_editor_plugin.cpp
+++ /dev/null
@@ -1,645 +0,0 @@
-/*************************************************************************/
-/* replication_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#include "replication_editor_plugin.h"
-
-#include "editor/editor_node.h"
-#include "editor/editor_scale.h"
-#include "editor/inspector_dock.h"
-#include "scene/gui/dialogs.h"
-#include "scene/gui/tree.h"
-#include "scene/multiplayer/multiplayer_synchronizer.h"
-
-void ReplicationEditor::_pick_node_filter_text_changed(const String &p_newtext) {
- TreeItem *root_item = pick_node->get_scene_tree()->get_scene_tree()->get_root();
-
- Vector<Node *> select_candidates;
- Node *to_select = nullptr;
-
- String filter = pick_node->get_filter_line_edit()->get_text();
-
- _pick_node_select_recursive(root_item, filter, select_candidates);
-
- if (!select_candidates.is_empty()) {
- for (int i = 0; i < select_candidates.size(); ++i) {
- Node *candidate = select_candidates[i];
-
- if (((String)candidate->get_name()).to_lower().begins_with(filter.to_lower())) {
- to_select = candidate;
- break;
- }
- }
-
- if (!to_select) {
- to_select = select_candidates[0];
- }
- }
-
- pick_node->get_scene_tree()->set_selected(to_select);
-}
-
-void ReplicationEditor::_pick_node_select_recursive(TreeItem *p_item, const String &p_filter, Vector<Node *> &p_select_candidates) {
- if (!p_item) {
- return;
- }
-
- NodePath np = p_item->get_metadata(0);
- Node *node = get_node(np);
-
- if (!p_filter.is_empty() && ((String)node->get_name()).findn(p_filter) != -1) {
- p_select_candidates.push_back(node);
- }
-
- TreeItem *c = p_item->get_first_child();
-
- while (c) {
- _pick_node_select_recursive(c, p_filter, p_select_candidates);
- c = c->get_next();
- }
-}
-
-void ReplicationEditor::_pick_node_filter_input(const Ref<InputEvent> &p_ie) {
- Ref<InputEventKey> k = p_ie;
-
- if (k.is_valid()) {
- switch (k->get_keycode()) {
- case Key::UP:
- case Key::DOWN:
- case Key::PAGEUP:
- case Key::PAGEDOWN: {
- pick_node->get_scene_tree()->get_scene_tree()->gui_input(k);
- pick_node->get_filter_line_edit()->accept_event();
- } break;
- default:
- break;
- }
- }
-}
-
-void ReplicationEditor::_pick_node_selected(NodePath p_path) {
- Node *root = current->get_node(current->get_root_path());
- ERR_FAIL_COND(!root);
- Node *node = get_node(p_path);
- ERR_FAIL_COND(!node);
- NodePath path_to = root->get_path_to(node);
- adding_node_path = path_to;
- prop_selector->select_property_from_instance(node);
-}
-
-void ReplicationEditor::_pick_new_property() {
- if (current == nullptr) {
- EditorNode::get_singleton()->show_warning(TTR("Select a replicator node in order to pick a property to add to it."));
- return;
- }
- Node *root = current->get_node(current->get_root_path());
- if (!root) {
- EditorNode::get_singleton()->show_warning(TTR("Not possible to add a new property to synchronize without a root."));
- return;
- }
- pick_node->popup_scenetree_dialog();
- pick_node->get_filter_line_edit()->clear();
- pick_node->get_filter_line_edit()->grab_focus();
-}
-
-void ReplicationEditor::_add_sync_property(String p_path) {
- config = current->get_replication_config();
-
- if (config.is_valid() && config->has_property(p_path)) {
- EditorNode::get_singleton()->show_warning(TTR("Property is already being synchronized."));
- return;
- }
-
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
- undo_redo->create_action(TTR("Add property to synchronizer"));
-
- if (config.is_null()) {
- config.instantiate();
- current->set_replication_config(config);
- undo_redo->add_do_method(current, "set_replication_config", config);
- undo_redo->add_undo_method(current, "set_replication_config", Ref<SceneReplicationConfig>());
- _update_config();
- }
-
- undo_redo->add_do_method(config.ptr(), "add_property", p_path);
- undo_redo->add_undo_method(config.ptr(), "remove_property", p_path);
- undo_redo->add_do_method(this, "_update_config");
- undo_redo->add_undo_method(this, "_update_config");
- undo_redo->commit_action();
-}
-
-void ReplicationEditor::_pick_node_property_selected(String p_name) {
- String adding_prop_path = String(adding_node_path) + ":" + p_name;
-
- _add_sync_property(adding_prop_path);
-}
-
-/// ReplicationEditor
-ReplicationEditor::ReplicationEditor() {
- set_v_size_flags(SIZE_EXPAND_FILL);
- set_custom_minimum_size(Size2(0, 200) * EDSCALE);
-
- delete_dialog = memnew(ConfirmationDialog);
- delete_dialog->connect("cancelled", callable_mp(this, &ReplicationEditor::_dialog_closed), varray(false));
- delete_dialog->connect("confirmed", callable_mp(this, &ReplicationEditor::_dialog_closed), varray(true));
- add_child(delete_dialog);
-
- error_dialog = memnew(AcceptDialog);
- error_dialog->get_ok_button()->set_text(TTR("Close"));
- error_dialog->set_title(TTR("Error!"));
- add_child(error_dialog);
-
- VBoxContainer *vb = memnew(VBoxContainer);
- vb->set_v_size_flags(SIZE_EXPAND_FILL);
- add_child(vb);
-
- pick_node = memnew(SceneTreeDialog);
- add_child(pick_node);
- pick_node->register_text_enter(pick_node->get_filter_line_edit());
- pick_node->set_title(TTR("Pick a node to synchronize:"));
- pick_node->connect("selected", callable_mp(this, &ReplicationEditor::_pick_node_selected));
- pick_node->get_filter_line_edit()->connect("text_changed", callable_mp(this, &ReplicationEditor::_pick_node_filter_text_changed));
- pick_node->get_filter_line_edit()->connect("gui_input", callable_mp(this, &ReplicationEditor::_pick_node_filter_input));
-
- prop_selector = memnew(PropertySelector);
- add_child(prop_selector);
- prop_selector->connect("selected", callable_mp(this, &ReplicationEditor::_pick_node_property_selected));
-
- HBoxContainer *hb = memnew(HBoxContainer);
- vb->add_child(hb);
-
- add_pick_button = memnew(Button);
- add_pick_button->connect("pressed", callable_mp(this, &ReplicationEditor::_pick_new_property));
- add_pick_button->set_text(TTR("Add property to sync.."));
- hb->add_child(add_pick_button);
- VSeparator *vs = memnew(VSeparator);
- vs->set_custom_minimum_size(Size2(30 * EDSCALE, 0));
- hb->add_child(vs);
- hb->add_child(memnew(Label(TTR("Path:"))));
- np_line_edit = memnew(LineEdit);
- np_line_edit->set_placeholder(":property");
- np_line_edit->set_h_size_flags(SIZE_EXPAND_FILL);
- hb->add_child(np_line_edit);
- add_from_path_button = memnew(Button);
- add_from_path_button->connect("pressed", callable_mp(this, &ReplicationEditor::_add_pressed));
- add_from_path_button->set_text(TTR("Add from path"));
- hb->add_child(add_from_path_button);
- vs = memnew(VSeparator);
- vs->set_custom_minimum_size(Size2(30 * EDSCALE, 0));
- hb->add_child(vs);
- pin = memnew(Button);
- pin->set_flat(true);
- pin->set_toggle_mode(true);
- hb->add_child(pin);
-
- tree = memnew(Tree);
- tree->set_hide_root(true);
- tree->set_columns(4);
- tree->set_column_titles_visible(true);
- tree->set_column_title(0, TTR("Properties"));
- tree->set_column_expand(0, true);
- tree->set_column_title(1, TTR("Spawn"));
- tree->set_column_expand(1, false);
- tree->set_column_custom_minimum_width(1, 100);
- tree->set_column_title(2, TTR("Sync"));
- tree->set_column_custom_minimum_width(2, 100);
- tree->set_column_expand(2, false);
- tree->set_column_expand(3, false);
- tree->create_item();
- tree->connect("button_clicked", callable_mp(this, &ReplicationEditor::_tree_button_pressed));
- tree->connect("item_edited", callable_mp(this, &ReplicationEditor::_tree_item_edited));
- tree->set_v_size_flags(SIZE_EXPAND_FILL);
- vb->add_child(tree);
-
- drop_label = memnew(Label);
- drop_label->set_text(TTR("Add properties using the buttons above or\ndrag them them from the inspector and drop them here."));
- drop_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- drop_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
- tree->add_child(drop_label);
- drop_label->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
-
- tree->set_drag_forwarding(this);
-}
-
-void ReplicationEditor::_bind_methods() {
- ClassDB::bind_method(D_METHOD("_update_config"), &ReplicationEditor::_update_config);
- ClassDB::bind_method(D_METHOD("_update_checked", "property", "column", "checked"), &ReplicationEditor::_update_checked);
- ClassDB::bind_method("_can_drop_data_fw", &ReplicationEditor::_can_drop_data_fw);
- ClassDB::bind_method("_drop_data_fw", &ReplicationEditor::_drop_data_fw);
-
- ADD_SIGNAL(MethodInfo("keying_changed"));
-}
-
-bool ReplicationEditor::_can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
- Dictionary d = p_data;
- if (!d.has("type")) {
- return false;
- }
- String t = d["type"];
- if (t != "obj_property") {
- return false;
- }
- Object *obj = d["object"];
- if (!obj) {
- return false;
- }
- Node *node = Object::cast_to<Node>(obj);
- if (!node) {
- return false;
- }
-
- return true;
-}
-
-void ReplicationEditor::_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
- if (current == nullptr) {
- EditorNode::get_singleton()->show_warning(TTR("Select a replicator node in order to pick a property to add to it."));
- return;
- }
- Node *root = current->get_node(current->get_root_path());
- if (!root) {
- EditorNode::get_singleton()->show_warning(TTR("Not possible to add a new property to synchronize without a root."));
- return;
- }
-
- Dictionary d = p_data;
- if (!d.has("type")) {
- return;
- }
- String t = d["type"];
- if (t != "obj_property") {
- return;
- }
- Object *obj = d["object"];
- if (!obj) {
- return;
- }
- Node *node = Object::cast_to<Node>(obj);
- if (!node) {
- return;
- }
-
- String path = root->get_path_to(node);
- path += ":" + String(d["property"]);
-
- _add_sync_property(path);
-}
-
-void ReplicationEditor::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_ENTER_TREE:
- case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
- add_theme_style_override("panel", EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("panel"), SNAME("Panel")));
- add_pick_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- pin->set_icon(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")));
- } break;
-
- case NOTIFICATION_VISIBILITY_CHANGED: {
- update_keying();
- } break;
- }
-}
-
-void ReplicationEditor::_add_pressed() {
- if (!current) {
- error_dialog->set_text(TTR("Please select a MultiplayerSynchronizer first."));
- error_dialog->popup_centered();
- return;
- }
- if (current->get_root_path().is_empty()) {
- error_dialog->set_text(TTR("The MultiplayerSynchronizer needs a root path."));
- error_dialog->popup_centered();
- return;
- }
- String np_text = np_line_edit->get_text();
- if (np_text.find(":") == -1) {
- np_text = ":" + np_text;
- }
- NodePath prop = NodePath(np_text);
- if (prop.is_empty()) {
- return;
- }
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
- undo_redo->create_action(TTR("Add property"));
- config = current->get_replication_config();
- if (config.is_null()) {
- config.instantiate();
- current->set_replication_config(config);
- undo_redo->add_do_method(current, "set_replication_config", config);
- undo_redo->add_undo_method(current, "set_replication_config", Ref<SceneReplicationConfig>());
- _update_config();
- }
- undo_redo->add_do_method(config.ptr(), "add_property", prop);
- undo_redo->add_undo_method(config.ptr(), "remove_property", prop);
- undo_redo->add_do_method(this, "_update_config");
- undo_redo->add_undo_method(this, "_update_config");
- undo_redo->commit_action();
-}
-
-void ReplicationEditor::_tree_item_edited() {
- TreeItem *ti = tree->get_edited();
- if (!ti || config.is_null()) {
- return;
- }
- int column = tree->get_edited_column();
- ERR_FAIL_COND(column < 1 || column > 2);
- const NodePath prop = ti->get_metadata(0);
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
- bool value = ti->is_checked(column);
- String method;
- if (column == 1) {
- undo_redo->create_action(TTR("Set spawn property"));
- method = "property_set_spawn";
- } else {
- undo_redo->create_action(TTR("Set sync property"));
- method = "property_set_sync";
- }
- undo_redo->add_do_method(config.ptr(), method, prop, value);
- undo_redo->add_undo_method(config.ptr(), method, prop, !value);
- undo_redo->add_do_method(this, "_update_checked", prop, column, value);
- undo_redo->add_undo_method(this, "_update_checked", prop, column, !value);
- undo_redo->commit_action();
-}
-
-void ReplicationEditor::_tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) {
- if (p_button != MouseButton::LEFT) {
- return;
- }
-
- TreeItem *ti = Object::cast_to<TreeItem>(p_item);
- if (!ti) {
- return;
- }
- deleting = ti->get_metadata(0);
- delete_dialog->set_text(TTR("Delete Property?") + "\n\"" + ti->get_text(0) + "\"");
- delete_dialog->popup_centered();
-}
-
-void ReplicationEditor::_dialog_closed(bool p_confirmed) {
- if (deleting.is_empty() || config.is_null()) {
- return;
- }
- if (p_confirmed) {
- const NodePath prop = deleting;
- int idx = config->property_get_index(prop);
- bool spawn = config->property_get_spawn(prop);
- bool sync = config->property_get_sync(prop);
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
- undo_redo->create_action(TTR("Remove Property"));
- undo_redo->add_do_method(config.ptr(), "remove_property", prop);
- undo_redo->add_undo_method(config.ptr(), "add_property", prop, idx);
- undo_redo->add_undo_method(config.ptr(), "property_set_spawn", prop, spawn);
- undo_redo->add_undo_method(config.ptr(), "property_set_sync", prop, sync);
- undo_redo->add_do_method(this, "_update_config");
- undo_redo->add_undo_method(this, "_update_config");
- undo_redo->commit_action();
- }
- deleting = NodePath();
-}
-
-void ReplicationEditor::_update_checked(const NodePath &p_prop, int p_column, bool p_checked) {
- if (!tree->get_root()) {
- return;
- }
- TreeItem *ti = tree->get_root()->get_first_child();
- while (ti) {
- if (ti->get_metadata(0).operator NodePath() == p_prop) {
- ti->set_checked(p_column, p_checked);
- return;
- }
- ti = ti->get_next();
- }
-}
-
-void ReplicationEditor::update_keying() {
- /// TODO make keying usable.
-#if 0
- bool keying_enabled = false;
- EditorSelectionHistory *editor_history = EditorNode::get_singleton()->get_editor_selection_history();
- if (is_visible_in_tree() && config.is_valid() && editor_history->get_path_size() > 0) {
- Object *obj = ObjectDB::get_instance(editor_history->get_path_object(0));
- keying_enabled = Object::cast_to<Node>(obj) != nullptr;
- }
-
- if (keying_enabled == keying) {
- return;
- }
-
- keying = keying_enabled;
- emit_signal(SNAME("keying_changed"));
-#endif
-}
-
-void ReplicationEditor::_update_config() {
- deleting = NodePath();
- tree->clear();
- tree->create_item();
- drop_label->set_visible(true);
- if (!config.is_valid()) {
- update_keying();
- return;
- }
- TypedArray<NodePath> props = config->get_properties();
- if (props.size()) {
- drop_label->set_visible(false);
- }
- for (int i = 0; i < props.size(); i++) {
- const NodePath path = props[i];
- _add_property(path, config->property_get_spawn(path), config->property_get_sync(path));
- }
- update_keying();
-}
-
-void ReplicationEditor::edit(MultiplayerSynchronizer *p_sync) {
- if (current == p_sync) {
- return;
- }
- current = p_sync;
- if (current) {
- config = current->get_replication_config();
- } else {
- config.unref();
- }
- _update_config();
-}
-
-Ref<Texture2D> ReplicationEditor::_get_class_icon(const Node *p_node) {
- if (!p_node || !has_theme_icon(p_node->get_class(), "EditorIcons")) {
- return get_theme_icon(SNAME("ImportFail"), SNAME("EditorIcons"));
- }
- return get_theme_icon(p_node->get_class(), "EditorIcons");
-}
-
-void ReplicationEditor::_add_property(const NodePath &p_property, bool p_spawn, bool p_sync) {
- String prop = String(p_property);
- TreeItem *item = tree->create_item();
- item->set_selectable(0, false);
- item->set_selectable(1, false);
- item->set_selectable(2, false);
- item->set_selectable(3, false);
- item->set_text(0, prop);
- item->set_metadata(0, prop);
- Node *root_node = current && !current->get_root_path().is_empty() ? current->get_node(current->get_root_path()) : nullptr;
- Ref<Texture2D> icon = _get_class_icon(root_node);
- if (root_node) {
- String path = prop.substr(0, prop.find(":"));
- String subpath = prop.substr(path.size());
- Node *node = root_node->get_node_or_null(path);
- if (!node) {
- node = root_node;
- }
- item->set_text(0, String(node->get_name()) + ":" + subpath);
- icon = _get_class_icon(node);
- }
- item->set_icon(0, icon);
- item->add_button(3, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
- item->set_text_alignment(1, HORIZONTAL_ALIGNMENT_CENTER);
- item->set_cell_mode(1, TreeItem::CELL_MODE_CHECK);
- item->set_checked(1, p_spawn);
- item->set_editable(1, true);
- item->set_text_alignment(2, HORIZONTAL_ALIGNMENT_CENTER);
- item->set_cell_mode(2, TreeItem::CELL_MODE_CHECK);
- item->set_checked(2, p_sync);
- item->set_editable(2, true);
-}
-
-void ReplicationEditor::property_keyed(const String &p_property) {
- ERR_FAIL_COND(!current || config.is_null());
- Node *root = current->get_node(current->get_root_path());
- ERR_FAIL_COND(!root);
- EditorSelectionHistory *history = EditorNode::get_singleton()->get_editor_selection_history();
- ERR_FAIL_COND(history->get_path_size() == 0);
- Node *node = Object::cast_to<Node>(ObjectDB::get_instance(history->get_path_object(0)));
- ERR_FAIL_COND(!node);
- if (node->is_class("MultiplayerSynchronizer")) {
- error_dialog->set_text(TTR("Properties of 'MultiplayerSynchronizer' cannot be configured for replication."));
- error_dialog->popup_centered();
- return;
- }
- if (history->get_path_size() > 1 || p_property.get_slice_count(":") > 1) {
- error_dialog->set_text(TTR("Subresources cannot yet be configured for replication."));
- error_dialog->popup_centered();
- return;
- }
-
- String path = root->get_path_to(node);
- for (int i = 1; i < history->get_path_size(); i++) {
- String prop = history->get_path_property(i);
- ERR_FAIL_COND(prop == "");
- path += ":" + prop;
- }
- path += ":" + p_property;
-
- NodePath prop = path;
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
- undo_redo->create_action(TTR("Add property"));
- undo_redo->add_do_method(config.ptr(), "add_property", prop);
- undo_redo->add_undo_method(config.ptr(), "remove_property", prop);
- undo_redo->add_do_method(this, "_update_config");
- undo_redo->add_undo_method(this, "_update_config");
- undo_redo->commit_action();
-}
-
-/// ReplicationEditorPlugin
-ReplicationEditorPlugin::ReplicationEditorPlugin() {
- repl_editor = memnew(ReplicationEditor);
- button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("Replication"), repl_editor);
- button->hide();
- repl_editor->get_pin()->connect("pressed", callable_mp(this, &ReplicationEditorPlugin::_pinned));
-}
-
-ReplicationEditorPlugin::~ReplicationEditorPlugin() {
-}
-
-void ReplicationEditorPlugin::_keying_changed() {
- // TODO make lock usable.
- //InspectorDock::get_inspector_singleton()->set_keying(repl_editor->has_keying(), this);
-}
-
-void ReplicationEditorPlugin::_property_keyed(const String &p_keyed, const Variant &p_value, bool p_advance) {
- if (!repl_editor->has_keying()) {
- return;
- }
- repl_editor->property_keyed(p_keyed);
-}
-
-void ReplicationEditorPlugin::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_ENTER_TREE: {
- //Node3DEditor::get_singleton()->connect("transform_key_request", callable_mp(this, &AnimationPlayerEditorPlugin::_transform_key_request));
- InspectorDock::get_inspector_singleton()->connect("property_keyed", callable_mp(this, &ReplicationEditorPlugin::_property_keyed));
- repl_editor->connect("keying_changed", callable_mp(this, &ReplicationEditorPlugin::_keying_changed));
- // TODO make lock usable.
- //InspectorDock::get_inspector_singleton()->connect("object_inspected", callable_mp(repl_editor, &ReplicationEditor::update_keying));
- get_tree()->connect("node_removed", callable_mp(this, &ReplicationEditorPlugin::_node_removed));
- } break;
- }
-}
-
-void ReplicationEditorPlugin::_node_removed(Node *p_node) {
- if (p_node && p_node == repl_editor->get_current()) {
- repl_editor->edit(nullptr);
- if (repl_editor->is_visible_in_tree()) {
- EditorNode::get_singleton()->hide_bottom_panel();
- }
- button->hide();
- repl_editor->get_pin()->set_pressed(false);
- }
-}
-
-void ReplicationEditorPlugin::_pinned() {
- if (!repl_editor->get_pin()->is_pressed()) {
- if (repl_editor->is_visible_in_tree()) {
- EditorNode::get_singleton()->hide_bottom_panel();
- }
- button->hide();
- }
-}
-
-void ReplicationEditorPlugin::edit(Object *p_object) {
- repl_editor->edit(Object::cast_to<MultiplayerSynchronizer>(p_object));
-}
-
-bool ReplicationEditorPlugin::handles(Object *p_object) const {
- return p_object->is_class("MultiplayerSynchronizer");
-}
-
-void ReplicationEditorPlugin::make_visible(bool p_visible) {
- if (p_visible) {
- //editor->hide_animation_player_editors();
- //editor->animation_panel_make_visible(true);
- button->show();
- EditorNode::get_singleton()->make_bottom_panel_item_visible(repl_editor);
- } else if (!repl_editor->get_pin()->is_pressed()) {
- if (repl_editor->is_visible_in_tree()) {
- EditorNode::get_singleton()->hide_bottom_panel();
- }
- button->hide();
- }
-}
diff --git a/editor/plugins/replication_editor_plugin.h b/editor/plugins/replication_editor_plugin.h
deleted file mode 100644
index df3d97f884..0000000000
--- a/editor/plugins/replication_editor_plugin.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*************************************************************************/
-/* replication_editor_plugin.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#ifndef REPLICATION_EDITOR_PLUGIN_H
-#define REPLICATION_EDITOR_PLUGIN_H
-
-#include "editor/editor_plugin.h"
-#include "scene/resources/scene_replication_config.h"
-
-#include "editor/editor_spin_slider.h"
-#include "editor/property_editor.h"
-#include "editor/property_selector.h"
-
-class ConfirmationDialog;
-class MultiplayerSynchronizer;
-class Tree;
-
-class ReplicationEditor : public VBoxContainer {
- GDCLASS(ReplicationEditor, VBoxContainer);
-
-private:
- MultiplayerSynchronizer *current = nullptr;
-
- AcceptDialog *error_dialog = nullptr;
- ConfirmationDialog *delete_dialog = nullptr;
- Button *add_pick_button = nullptr;
- Button *add_from_path_button = nullptr;
- LineEdit *np_line_edit = nullptr;
-
- Label *drop_label = nullptr;
-
- Ref<SceneReplicationConfig> config;
- NodePath deleting;
- Tree *tree = nullptr;
- bool keying = false;
-
- PropertySelector *prop_selector = nullptr;
- SceneTreeDialog *pick_node = nullptr;
- NodePath adding_node_path;
-
- Button *pin = nullptr;
-
- Ref<Texture2D> _get_class_icon(const Node *p_node);
-
- void _add_pressed();
- void _tree_item_edited();
- void _tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button);
- void _update_checked(const NodePath &p_prop, int p_column, bool p_checked);
- void _update_config();
- void _dialog_closed(bool p_confirmed);
- void _add_property(const NodePath &p_property, bool p_spawn = true, bool p_sync = true);
-
- void _pick_node_filter_text_changed(const String &p_newtext);
- void _pick_node_select_recursive(TreeItem *p_item, const String &p_filter, Vector<Node *> &p_select_candidates);
- void _pick_node_filter_input(const Ref<InputEvent> &p_ie);
- void _pick_node_selected(NodePath p_path);
-
- void _pick_new_property();
- void _pick_node_property_selected(String p_name);
-
- bool _can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
- void _drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
-
- void _add_sync_property(String p_path);
-
-protected:
- static void _bind_methods();
-
- void _notification(int p_what);
-
-public:
- void update_keying();
- void edit(MultiplayerSynchronizer *p_object);
- bool has_keying() const { return keying; }
- MultiplayerSynchronizer *get_current() const { return current; }
- void property_keyed(const String &p_property);
-
- Button *get_pin() { return pin; }
- ReplicationEditor();
- ~ReplicationEditor() {}
-};
-
-class ReplicationEditorPlugin : public EditorPlugin {
- GDCLASS(ReplicationEditorPlugin, EditorPlugin);
-
-private:
- Button *button = nullptr;
- ReplicationEditor *repl_editor = nullptr;
-
- void _node_removed(Node *p_node);
- void _keying_changed();
- void _property_keyed(const String &p_keyed, const Variant &p_value, bool p_advance);
-
- void _pinned();
-
-protected:
- void _notification(int p_what);
-
-public:
- virtual void edit(Object *p_object) override;
- virtual bool handles(Object *p_object) const override;
- virtual void make_visible(bool p_visible) override;
-
- ReplicationEditorPlugin();
- ~ReplicationEditorPlugin();
-};
-
-#endif // REPLICATION_EDITOR_PLUGIN_H
diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp
index 16e874d7e2..201a3af539 100644
--- a/editor/plugins/resource_preloader_editor_plugin.cpp
+++ b/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -57,7 +57,7 @@ void ResourcePreloaderEditor::_files_load_request(const Vector<String> &p_paths)
dialog->set_text(TTR("ERROR: Couldn't load resource!"));
dialog->set_title(TTR("Error!"));
//dialog->get_cancel()->set_text("Close");
- dialog->get_ok_button()->set_text(TTR("Close"));
+ dialog->set_ok_button_text(TTR("Close"));
dialog->popup_centered();
return; ///beh should show an error i guess
}
@@ -139,7 +139,7 @@ void ResourcePreloaderEditor::_paste_pressed() {
if (!r.is_valid()) {
dialog->set_text(TTR("Resource clipboard is empty!"));
dialog->set_title(TTR("Error!"));
- dialog->get_ok_button()->set_text(TTR("Close"));
+ dialog->set_ok_button_text(TTR("Close"));
dialog->popup_centered();
return; ///beh should show an error i guess
}
@@ -234,6 +234,10 @@ void ResourcePreloaderEditor::_cell_button_pressed(Object *p_item, int p_column,
}
}
+void ResourcePreloaderEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
void ResourcePreloaderEditor::edit(ResourcePreloader *p_preloader) {
preloader = p_preloader;
@@ -387,7 +391,7 @@ ResourcePreloaderEditor::ResourcePreloaderEditor() {
}
void ResourcePreloaderEditorPlugin::edit(Object *p_object) {
- preloader_editor->set_undo_redo(&get_undo_redo());
+ preloader_editor->set_undo_redo(EditorNode::get_undo_redo());
ResourcePreloader *s = Object::cast_to<ResourcePreloader>(p_object);
if (!s) {
return;
@@ -420,11 +424,8 @@ ResourcePreloaderEditorPlugin::ResourcePreloaderEditorPlugin() {
preloader_editor = memnew(ResourcePreloaderEditor);
preloader_editor->set_custom_minimum_size(Size2(0, 250) * EDSCALE);
- button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("ResourcePreloader"), preloader_editor);
+ button = EditorNode::get_singleton()->add_bottom_panel_item("ResourcePreloader", preloader_editor);
button->hide();
-
- //preloader_editor->set_anchor( MARGIN_TOP, Control::ANCHOR_END);
- //preloader_editor->set_margin( MARGIN_TOP, 120 );
}
ResourcePreloaderEditorPlugin::~ResourcePreloaderEditorPlugin() {
diff --git a/editor/plugins/resource_preloader_editor_plugin.h b/editor/plugins/resource_preloader_editor_plugin.h
index 96cef3de21..ef80283dae 100644
--- a/editor/plugins/resource_preloader_editor_plugin.h
+++ b/editor/plugins/resource_preloader_editor_plugin.h
@@ -37,6 +37,7 @@
#include "scene/main/resource_preloader.h"
class EditorFileDialog;
+class EditorUndoRedoManager;
class ResourcePreloaderEditor : public PanelContainer {
GDCLASS(ResourcePreloaderEditor, PanelContainer);
@@ -66,7 +67,7 @@ class ResourcePreloaderEditor : public PanelContainer {
void _cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button);
void _item_edited();
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Variant get_drag_data_fw(const Point2 &p_point, Control *p_from);
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
@@ -78,7 +79,7 @@ protected:
static void _bind_methods();
public:
- void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void edit(ResourcePreloader *p_preloader);
ResourcePreloaderEditor();
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index 99b810be44..e8c3cb8d60 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -41,6 +41,7 @@
#include "editor/debugger/script_editor_debugger.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
+#include "editor/editor_paths.h"
#include "editor/editor_run_script.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
@@ -65,12 +66,12 @@ String EditorSyntaxHighlighter::_get_name() const {
return "Unnamed";
}
-Array EditorSyntaxHighlighter::_get_supported_languages() const {
- Array ret;
+PackedStringArray EditorSyntaxHighlighter::_get_supported_languages() const {
+ PackedStringArray ret;
if (GDVIRTUAL_CALL(_get_supported_languages, ret)) {
return ret;
}
- return Array();
+ return PackedStringArray();
}
Ref<EditorSyntaxHighlighter> EditorSyntaxHighlighter::_create() const {
@@ -377,7 +378,7 @@ ScriptEditorQuickOpen::ScriptEditorQuickOpen() {
search_box->connect("gui_input", callable_mp(this, &ScriptEditorQuickOpen::_sbox_input));
search_options = memnew(Tree);
vbc->add_margin_child(TTR("Matches:"), search_options, true);
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
get_ok_button()->set_disabled(true);
register_text_enter(search_box);
set_hide_on_ok(false);
@@ -590,7 +591,7 @@ void ScriptEditor::_go_to_tab(int p_idx) {
}
}
- Control *c = Object::cast_to<Control>(tab_container->get_tab_control(p_idx));
+ Control *c = tab_container->get_tab_control(p_idx);
if (!c) {
return;
}
@@ -812,7 +813,7 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save, bool p_history_back) {
if (history_pos >= 0) {
idx = tab_container->get_tab_idx_from_control(history[history_pos].control);
}
- tab_container->set_current_tab(idx);
+ _go_to_tab(idx);
} else {
_update_selected_editor_menu();
}
@@ -882,7 +883,7 @@ void ScriptEditor::_queue_close_tabs() {
// Maybe there are unsaved changes.
if (se->is_unsaved()) {
_ask_close_current_unsaved_tab(se);
- erase_tab_confirm->connect(SceneStringNames::get_singleton()->visibility_changed, callable_mp(this, &ScriptEditor::_queue_close_tabs), varray(), CONNECT_ONESHOT);
+ erase_tab_confirm->connect(SceneStringNames::get_singleton()->visibility_changed, callable_mp(this, &ScriptEditor::_queue_close_tabs), CONNECT_ONESHOT);
break;
}
}
@@ -1188,7 +1189,7 @@ void ScriptEditor::_menu_option(int p_option) {
file_dialog->clear_filters();
for (const String &E : textfile_extensions) {
- file_dialog->add_filter("*." + E + " ; " + E.to_upper());
+ file_dialog->add_filter("*." + E, E.to_upper());
}
file_dialog->popup_file_dialog();
file_dialog->set_title(TTR("New Text File..."));
@@ -1203,11 +1204,11 @@ void ScriptEditor::_menu_option(int p_option) {
ResourceLoader::get_recognized_extensions_for_type("Script", &extensions);
file_dialog->clear_filters();
for (int i = 0; i < extensions.size(); i++) {
- file_dialog->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ file_dialog->add_filter("*." + extensions[i], extensions[i].to_upper());
}
for (const String &E : textfile_extensions) {
- file_dialog->add_filter("*." + E + " ; " + E.to_upper());
+ file_dialog->add_filter("*." + E, E.to_upper());
}
file_dialog->popup_file_dialog();
@@ -1407,8 +1408,6 @@ void ScriptEditor::_menu_option(int p_option) {
es->set_editor(EditorNode::get_singleton());
es->_run();
-
- EditorNode::get_undo_redo()->clear_history();
} break;
case FILE_CLOSE: {
if (current->is_unsaved()) {
@@ -1447,20 +1446,20 @@ void ScriptEditor::_menu_option(int p_option) {
case WINDOW_MOVE_UP: {
if (tab_container->get_current_tab() > 0) {
tab_container->move_child(current, tab_container->get_current_tab() - 1);
- tab_container->set_current_tab(tab_container->get_current_tab() - 1);
+ tab_container->set_current_tab(tab_container->get_current_tab());
_update_script_names();
}
} break;
case WINDOW_MOVE_DOWN: {
if (tab_container->get_current_tab() < tab_container->get_tab_count() - 1) {
tab_container->move_child(current, tab_container->get_current_tab() + 1);
- tab_container->set_current_tab(tab_container->get_current_tab() + 1);
+ tab_container->set_current_tab(tab_container->get_current_tab());
_update_script_names();
}
} break;
default: {
if (p_option >= WINDOW_SELECT_BASE) {
- tab_container->set_current_tab(p_option - WINDOW_SELECT_BASE);
+ _go_to_tab(p_option - WINDOW_SELECT_BASE);
_update_script_names();
}
}
@@ -1493,14 +1492,14 @@ void ScriptEditor::_menu_option(int p_option) {
case WINDOW_MOVE_UP: {
if (tab_container->get_current_tab() > 0) {
tab_container->move_child(help, tab_container->get_current_tab() - 1);
- tab_container->set_current_tab(tab_container->get_current_tab() - 1);
+ tab_container->set_current_tab(tab_container->get_current_tab());
_update_script_names();
}
} break;
case WINDOW_MOVE_DOWN: {
if (tab_container->get_current_tab() < tab_container->get_tab_count() - 1) {
tab_container->move_child(help, tab_container->get_current_tab() + 1);
- tab_container->set_current_tab(tab_container->get_current_tab() + 1);
+ tab_container->set_current_tab(tab_container->get_current_tab());
_update_script_names();
}
} break;
@@ -1542,7 +1541,7 @@ void ScriptEditor::_show_save_theme_as_dialog() {
file_dialog_option = THEME_SAVE_AS;
file_dialog->clear_filters();
file_dialog->add_filter("*.tet");
- file_dialog->set_current_path(EditorSettings::get_singleton()->get_text_editor_themes_dir().plus_file(EditorSettings::get_singleton()->get("text_editor/theme/color_theme")));
+ file_dialog->set_current_path(EditorPaths::get_singleton()->get_text_editor_themes_dir().plus_file(EditorSettings::get_singleton()->get("text_editor/theme/color_theme")));
file_dialog->popup_file_dialog();
file_dialog->set_title(TTR("Save Theme As..."));
}
@@ -1733,7 +1732,7 @@ void ScriptEditor::get_breakpoints(List<String> *p_breakpoints) {
continue;
}
- Array bpoints = se->get_breakpoints();
+ PackedInt32Array bpoints = se->get_breakpoints();
for (int j = 0; j < bpoints.size(); j++) {
p_breakpoints->push_back(base + ":" + itos((int)bpoints[j] + 1));
}
@@ -1852,10 +1851,12 @@ void ScriptEditor::_update_members_overview_visibility() {
if (members_overview_enabled && se->show_members_overview()) {
members_overview_alphabeta_sort_button->set_visible(true);
+ filter_methods->set_visible(true);
members_overview->set_visible(true);
overview_vbox->set_visible(true);
} else {
members_overview_alphabeta_sort_button->set_visible(false);
+ filter_methods->set_visible(false);
members_overview->set_visible(false);
overview_vbox->set_visible(false);
}
@@ -1910,6 +1911,7 @@ void ScriptEditor::_update_help_overview_visibility() {
if (help_overview_enabled) {
members_overview_alphabeta_sort_button->set_visible(false);
+ filter_methods->set_visible(false);
help_overview->set_visible(true);
overview_vbox->set_visible(true);
filename->set_text(se->get_name());
@@ -2124,8 +2126,8 @@ void ScriptEditor::_update_script_names() {
sd.index = i;
sedata.set(i, sd);
}
- tab_container->set_current_tab(new_prev_tab);
- tab_container->set_current_tab(new_cur_tab);
+ _go_to_tab(new_prev_tab);
+ _go_to_tab(new_cur_tab);
_sort_list_on_update = false;
}
@@ -2153,8 +2155,10 @@ void ScriptEditor::_update_script_names() {
}
if (tab_container->get_current_tab() == sedata_filtered[i].index) {
script_list->select(index);
+
script_name_label->set_text(sedata_filtered[i].name);
script_icon->set_texture(sedata_filtered[i].icon);
+
ScriptEditorBase *se = _get_current_editor();
if (se) {
se->enable_editor();
@@ -2376,8 +2380,8 @@ bool ScriptEditor::edit(const Ref<Resource> &p_resource, int p_line, int p_col,
se->add_syntax_highlighter(highlighter);
if (script != nullptr && !highlighter_set) {
- Array languages = highlighter->_get_supported_languages();
- if (languages.find(script->get_language()->get_name()) > -1) {
+ PackedStringArray languages = highlighter->_get_supported_languages();
+ if (languages.has(script->get_language()->get_name())) {
se->set_syntax_highlighter(highlighter);
highlighter_set = true;
}
@@ -3264,7 +3268,7 @@ void ScriptEditor::get_window_layout(Ref<ConfigFile> p_layout) {
p_layout->set_value("ScriptEditor", "list_split_offset", list_split->get_split_offset());
// Save the cache.
- script_editor_cache->save(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("script_editor_cache.cfg"));
+ script_editor_cache->save(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("script_editor_cache.cfg"));
}
void ScriptEditor::_help_class_open(const String &p_class) {
@@ -3547,7 +3551,7 @@ void ScriptEditor::_on_find_in_files_result_selected(String fpath, int line_numb
ShaderEditorPlugin *shader_editor = Object::cast_to<ShaderEditorPlugin>(EditorNode::get_singleton()->get_editor_data().get_editor("Shader"));
shader_editor->edit(res.ptr());
shader_editor->make_visible(true);
- shader_editor->get_shader_editor()->goto_line_selection(line_number - 1, begin, end);
+ shader_editor->get_shader_editor(res)->goto_line_selection(line_number - 1, begin, end);
return;
} else if (fpath.get_extension() == "tscn") {
EditorNode::get_singleton()->load_scene(fpath);
@@ -3645,7 +3649,7 @@ ScriptEditor::ScriptEditor() {
current_theme = "";
script_editor_cache.instantiate();
- script_editor_cache->load(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("script_editor_cache.cfg"));
+ script_editor_cache->load(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("script_editor_cache.cfg"));
completion_cache = memnew(EditorScriptCodeCompletionCache);
restoring_layout = false;
@@ -3674,7 +3678,7 @@ ScriptEditor::ScriptEditor() {
list_split->add_child(scripts_vbox);
filter_scripts = memnew(LineEdit);
- filter_scripts->set_placeholder(TTR("Filter scripts"));
+ filter_scripts->set_placeholder(TTR("Filter Scripts"));
filter_scripts->set_clear_button_enabled(true);
filter_scripts->connect("text_changed", callable_mp(this, &ScriptEditor::_filter_scripts_text_changed));
scripts_vbox->add_child(filter_scripts);
@@ -3685,7 +3689,7 @@ ScriptEditor::ScriptEditor() {
script_list->set_v_size_flags(SIZE_EXPAND_FILL);
script_split->set_split_offset(70 * EDSCALE);
_sort_list_on_update = true;
- script_list->connect("gui_input", callable_mp(this, &ScriptEditor::_script_list_gui_input), varray(), CONNECT_DEFERRED);
+ script_list->connect("gui_input", callable_mp(this, &ScriptEditor::_script_list_gui_input), CONNECT_DEFERRED);
script_list->set_allow_rmb_select(true);
script_list->set_drag_forwarding(this);
@@ -3717,7 +3721,7 @@ ScriptEditor::ScriptEditor() {
buttons_hbox->add_child(members_overview_alphabeta_sort_button);
filter_methods = memnew(LineEdit);
- filter_methods->set_placeholder(TTR("Filter methods"));
+ filter_methods->set_placeholder(TTR("Filter Methods"));
filter_methods->set_clear_button_enabled(true);
filter_methods->connect("text_changed", callable_mp(this, &ScriptEditor::_filter_methods_text_changed));
overview_vbox->add_child(filter_methods);
@@ -3853,14 +3857,14 @@ ScriptEditor::ScriptEditor() {
site_search = memnew(Button);
site_search->set_flat(true);
site_search->set_text(TTR("Online Docs"));
- site_search->connect("pressed", callable_mp(this, &ScriptEditor::_menu_option), varray(SEARCH_WEBSITE));
+ site_search->connect("pressed", callable_mp(this, &ScriptEditor::_menu_option).bind(SEARCH_WEBSITE));
menu_hb->add_child(site_search);
site_search->set_tooltip(TTR("Open Godot online documentation."));
help_search = memnew(Button);
help_search->set_flat(true);
help_search->set_text(TTR("Search Help"));
- help_search->connect("pressed", callable_mp(this, &ScriptEditor::_menu_option), varray(SEARCH_HELP));
+ help_search->connect("pressed", callable_mp(this, &ScriptEditor::_menu_option).bind(SEARCH_HELP));
menu_hb->add_child(help_search);
help_search->set_tooltip(TTR("Search the reference documentation."));
@@ -3883,9 +3887,9 @@ ScriptEditor::ScriptEditor() {
tab_container->connect("tab_changed", callable_mp(this, &ScriptEditor::_tab_changed));
erase_tab_confirm = memnew(ConfirmationDialog);
- erase_tab_confirm->get_ok_button()->set_text(TTR("Save"));
+ erase_tab_confirm->set_ok_button_text(TTR("Save"));
erase_tab_confirm->add_button(TTR("Discard"), DisplayServer::get_singleton()->get_swap_cancel_ok(), "discard");
- erase_tab_confirm->connect("confirmed", callable_mp(this, &ScriptEditor::_close_current_tab), varray(true));
+ erase_tab_confirm->connect("confirmed", callable_mp(this, &ScriptEditor::_close_current_tab).bind(true));
erase_tab_confirm->connect("custom_action", callable_mp(this, &ScriptEditor::_close_discard_current_tab));
add_child(erase_tab_confirm);
@@ -3916,7 +3920,7 @@ ScriptEditor::ScriptEditor() {
disk_changed_list->set_v_size_flags(SIZE_EXPAND_FILL);
disk_changed->connect("confirmed", callable_mp(this, &ScriptEditor::_reload_scripts));
- disk_changed->get_ok_button()->set_text(TTR("Reload"));
+ disk_changed->set_ok_button_text(TTR("Reload"));
disk_changed->add_button(TTR("Resave"), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "resave");
disk_changed->connect("custom_action", callable_mp(this, &ScriptEditor::_resave_scripts));
@@ -3939,8 +3943,8 @@ ScriptEditor::ScriptEditor() {
help_search_dialog->connect("go_to_help", callable_mp(this, &ScriptEditor::_help_class_goto));
find_in_files_dialog = memnew(FindInFilesDialog);
- find_in_files_dialog->connect(FindInFilesDialog::SIGNAL_FIND_REQUESTED, callable_mp(this, &ScriptEditor::_start_find_in_files), varray(false));
- find_in_files_dialog->connect(FindInFilesDialog::SIGNAL_REPLACE_REQUESTED, callable_mp(this, &ScriptEditor::_start_find_in_files), varray(true));
+ find_in_files_dialog->connect(FindInFilesDialog::SIGNAL_FIND_REQUESTED, callable_mp(this, &ScriptEditor::_start_find_in_files).bind(false));
+ find_in_files_dialog->connect(FindInFilesDialog::SIGNAL_REPLACE_REQUESTED, callable_mp(this, &ScriptEditor::_start_find_in_files).bind(true));
add_child(find_in_files_dialog);
find_in_files = memnew(FindInFilesPanel);
find_in_files_button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("Search Results"), find_in_files);
diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h
index 9f088aac49..5bd93e6e42 100644
--- a/editor/plugins/script_editor_plugin.h
+++ b/editor/plugins/script_editor_plugin.h
@@ -59,11 +59,11 @@ protected:
static void _bind_methods();
GDVIRTUAL0RC(String, _get_name)
- GDVIRTUAL0RC(Array, _get_supported_languages)
+ GDVIRTUAL0RC(PackedStringArray, _get_supported_languages)
public:
virtual String _get_name() const;
- virtual Array _get_supported_languages() const;
+ virtual PackedStringArray _get_supported_languages() const;
void _set_edited_resource(const Ref<Resource> &p_res) { edited_resourse = p_res; }
Ref<RefCounted> _get_edited_resource() { return edited_resourse; }
@@ -156,7 +156,7 @@ public:
virtual void ensure_focus() = 0;
virtual void tag_saved_version() = 0;
virtual void reload(bool p_soft) {}
- virtual Array get_breakpoints() = 0;
+ virtual PackedInt32Array get_breakpoints() = 0;
virtual void set_breakpoint(int p_line, bool p_enabled) = 0;
virtual void clear_breakpoints() = 0;
virtual void add_callback(const String &p_function, PackedStringArray p_args) = 0;
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index a4bccf30e3..5e7db17edf 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -596,7 +596,7 @@ void ScriptTextEditor::_update_bookmark_list() {
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
- Array bookmark_list = code_editor->get_text_editor()->get_bookmarked_lines();
+ PackedInt32Array bookmark_list = code_editor->get_text_editor()->get_bookmarked_lines();
if (bookmark_list.size() == 0) {
return;
}
@@ -751,7 +751,7 @@ void ScriptTextEditor::_update_breakpoint_list() {
breakpoints_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_breakpoint"), DEBUG_GOTO_NEXT_BREAKPOINT);
breakpoints_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_breakpoint"), DEBUG_GOTO_PREV_BREAKPOINT);
- Array breakpoint_list = code_editor->get_text_editor()->get_breakpointed_lines();
+ PackedInt32Array breakpoint_list = code_editor->get_text_editor()->get_breakpointed_lines();
if (breakpoint_list.size() == 0) {
return;
}
@@ -886,6 +886,9 @@ void ScriptTextEditor::_lookup_symbol(const String &p_symbol, int p_row, int p_c
emit_signal(SNAME("go_to_help"), "class_enum:" + result.class_name + ":" + result.class_member);
} break;
+ case ScriptLanguage::LOOKUP_RESULT_CLASS_ANNOTATION: {
+ emit_signal(SNAME("go_to_help"), "class_annotation:" + result.class_name + ":" + result.class_member);
+ } break;
case ScriptLanguage::LOOKUP_RESULT_CLASS_TBD_GLOBALSCOPE: {
emit_signal(SNAME("go_to_help"), "class_global:" + result.class_name + ":" + result.class_member);
} break;
@@ -1196,7 +1199,7 @@ void ScriptTextEditor::_edit_option(int p_op) {
String whitespace = line.substr(0, line.size() - line.strip_edges(true, false).size()); //extract the whitespace at the beginning
if (expression.parse(line) == OK) {
- Variant result = expression.execute(Array(), Variant(), false);
+ Variant result = expression.execute(Array(), Variant(), false, true);
if (expression.get_error_text().is_empty()) {
results.push_back(whitespace + result.get_construct_string());
} else {
@@ -1261,7 +1264,7 @@ void ScriptTextEditor::_edit_option(int p_op) {
EditorDebuggerNode::get_singleton()->set_breakpoint(script->get_path(), line + 1, dobreak);
} break;
case DEBUG_REMOVE_ALL_BREAKPOINTS: {
- Array bpoints = tx->get_breakpointed_lines();
+ PackedInt32Array bpoints = tx->get_breakpointed_lines();
for (int i = 0; i < bpoints.size(); i++) {
int line = bpoints[i];
@@ -1271,7 +1274,7 @@ void ScriptTextEditor::_edit_option(int p_op) {
}
} break;
case DEBUG_GOTO_NEXT_BREAKPOINT: {
- Array bpoints = tx->get_breakpointed_lines();
+ PackedInt32Array bpoints = tx->get_breakpointed_lines();
if (bpoints.size() <= 0) {
return;
}
@@ -1297,7 +1300,7 @@ void ScriptTextEditor::_edit_option(int p_op) {
} break;
case DEBUG_GOTO_PREV_BREAKPOINT: {
- Array bpoints = tx->get_breakpointed_lines();
+ PackedInt32Array bpoints = tx->get_breakpointed_lines();
if (bpoints.size() <= 0) {
return;
}
@@ -1417,7 +1420,9 @@ Control *ScriptTextEditor::get_edit_menu() {
}
void ScriptTextEditor::clear_edit_menu() {
- memdelete(edit_hb);
+ if (editor_enabled) {
+ memdelete(edit_hb);
+ }
}
void ScriptTextEditor::set_find_replace_bar(FindReplaceBar *p_bar) {
@@ -1436,7 +1441,7 @@ void ScriptTextEditor::reload(bool p_soft) {
scr->get_language()->reload_tool_script(scr, soft);
}
-Array ScriptTextEditor::get_breakpoints() {
+PackedInt32Array ScriptTextEditor::get_breakpoints() {
return code_editor->get_text_editor()->get_breakpointed_lines();
}
@@ -1451,7 +1456,7 @@ void ScriptTextEditor::clear_breakpoints() {
void ScriptTextEditor::set_tooltip_request_func(const Callable &p_toolip_callback) {
Variant args[1] = { this };
const Variant *argp[] = { &args[0] };
- code_editor->get_text_editor()->set_tooltip_request_func(p_toolip_callback.bind(argp, 1));
+ code_editor->get_text_editor()->set_tooltip_request_func(p_toolip_callback.bindp(argp, 1));
}
void ScriptTextEditor::set_debugger_active(bool p_active) {
@@ -1524,6 +1529,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(res->get_path());
+ te->grab_focus();
}
if (d.has("type") && (String(d["type"]) == "files" || String(d["type"]) == "files_and_dirs")) {
@@ -1546,6 +1552,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(text_to_drop);
+ te->grab_focus();
}
if (d.has("type") && String(d["type"]) == "nodes") {
@@ -1568,9 +1575,11 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
continue;
}
+ bool is_unique = false;
String path;
if (node->is_unique_name_in_owner()) {
- path = "%" + node->get_name();
+ path = node->get_name();
+ is_unique = true;
} else {
path = sn->get_path_to(node);
}
@@ -1583,9 +1592,9 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
String variable_name = String(node->get_name()).camelcase_to_underscore(true).validate_identifier();
if (use_type) {
- text_to_drop += vformat("@onready var %s: %s = $%s\n", variable_name, node->get_class_name(), path);
+ text_to_drop += vformat("@onready var %s: %s = %s%s\n", variable_name, node->get_class_name(), is_unique ? "%" : "$", path);
} else {
- text_to_drop += vformat("@onready var %s = $%s\n", variable_name, path);
+ text_to_drop += vformat("@onready var %s = %s%s\n", variable_name, is_unique ? "%" : "$", path);
}
}
} else {
@@ -1600,25 +1609,29 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
continue;
}
+ bool is_unique = false;
String path;
if (node->is_unique_name_in_owner()) {
- path = "%" + node->get_name();
+ path = node->get_name();
+ is_unique = true;
} else {
path = sn->get_path_to(node);
}
+
for (const String &segment : path.split("/")) {
if (!segment.is_valid_identifier()) {
path = path.c_escape().quote(quote_style);
break;
}
}
- text_to_drop += "$" + path;
+ text_to_drop += (is_unique ? "%" : "$") + path;
}
}
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(text_to_drop);
+ te->grab_focus();
}
if (d.has("type") && String(d["type"]) == "obj_property") {
@@ -1627,6 +1640,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
te->set_caret_line(row);
te->set_caret_column(col);
te->insert_text_at_caret(text_to_drop);
+ te->grab_focus();
}
}
@@ -1809,7 +1823,7 @@ void ScriptTextEditor::_enable_code_editor() {
VSplitContainer *editor_box = memnew(VSplitContainer);
add_child(editor_box);
- editor_box->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ editor_box->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
editor_box->set_v_size_flags(SIZE_EXPAND_FILL);
editor_box->add_child(code_editor);
@@ -1848,20 +1862,10 @@ void ScriptTextEditor::_enable_code_editor() {
color_picker = memnew(ColorPicker);
color_picker->set_deferred_mode(true);
color_picker->connect("color_changed", callable_mp(this, &ScriptTextEditor::_color_changed));
+ color_panel->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker).bind(color_picker));
color_panel->add_child(color_picker);
- // get default color picker mode from editor settings
- int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
- if (default_color_mode == 1) {
- color_picker->set_hsv_mode(true);
- } else if (default_color_mode == 2) {
- color_picker->set_raw_mode(true);
- }
-
- int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
- color_picker->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
-
quick_open = memnew(ScriptEditorQuickOpen);
quick_open->connect("goto_line", callable_mp(this, &ScriptTextEditor::_goto_line));
add_child(quick_open);
@@ -1950,7 +1954,7 @@ void ScriptTextEditor::_enable_code_editor() {
ScriptTextEditor::ScriptTextEditor() {
code_editor = memnew(CodeTextEditor);
code_editor->add_theme_constant_override("separation", 2);
- code_editor->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ code_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
code_editor->set_code_complete_func(_code_complete_scripts, this);
code_editor->set_v_size_flags(SIZE_EXPAND_FILL);
diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h
index fc87c84a2c..8d2fb98721 100644
--- a/editor/plugins/script_text_editor.h
+++ b/editor/plugins/script_text_editor.h
@@ -229,7 +229,7 @@ public:
virtual void clear_executing_line() override;
virtual void reload(bool p_soft) override;
- virtual Array get_breakpoints() override;
+ virtual PackedInt32Array get_breakpoints() override;
virtual void set_breakpoint(int p_line, bool p_enabled) override;
virtual void clear_breakpoints() override;
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp
index c13d0dc197..4641df3dca 100644
--- a/editor/plugins/shader_editor_plugin.cpp
+++ b/editor/plugins/shader_editor_plugin.cpp
@@ -38,11 +38,59 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
+#include "editor/filesystem_dock.h"
+#include "editor/plugins/visual_shader_editor_plugin.h"
#include "editor/project_settings_editor.h"
-#include "editor/property_editor.h"
+#include "editor/shader_create_dialog.h"
+#include "scene/gui/split_container.h"
#include "servers/display_server.h"
+#include "servers/rendering/shader_preprocessor.h"
#include "servers/rendering/shader_types.h"
+/*** SHADER SYNTAX HIGHLIGHTER ****/
+
+Dictionary GDShaderSyntaxHighlighter::_get_line_syntax_highlighting_impl(int p_line) {
+ Dictionary color_map;
+
+ for (const Point2i &region : disabled_branch_regions) {
+ if (p_line >= region.x && p_line <= region.y) {
+ Dictionary highlighter_info;
+ highlighter_info["color"] = disabled_branch_color;
+
+ color_map[0] = highlighter_info;
+ return color_map;
+ }
+ }
+
+ return CodeHighlighter::_get_line_syntax_highlighting_impl(p_line);
+}
+
+void GDShaderSyntaxHighlighter::add_disabled_branch_region(const Point2i &p_region) {
+ ERR_FAIL_COND(p_region.x < 0);
+ ERR_FAIL_COND(p_region.y < 0);
+
+ for (int i = 0; i < disabled_branch_regions.size(); i++) {
+ ERR_FAIL_COND_MSG(disabled_branch_regions[i].x == p_region.x, "Branch region with a start line '" + itos(p_region.x) + "' already exists.");
+ }
+
+ Point2i disabled_branch_region;
+ disabled_branch_region.x = p_region.x;
+ disabled_branch_region.y = p_region.y;
+ disabled_branch_regions.push_back(disabled_branch_region);
+
+ clear_highlighting_cache();
+}
+
+void GDShaderSyntaxHighlighter::clear_disabled_branch_regions() {
+ disabled_branch_regions.clear();
+ clear_highlighting_cache();
+}
+
+void GDShaderSyntaxHighlighter::set_disabled_branch_color(const Color &p_color) {
+ disabled_branch_color = p_color;
+ clear_highlighting_cache();
+}
+
/*** SHADER SCRIPT EDITOR ****/
static bool saved_warnings_enabled = false;
@@ -68,18 +116,69 @@ Ref<Shader> ShaderTextEditor::get_edited_shader() const {
return shader;
}
+Ref<ShaderInclude> ShaderTextEditor::get_edited_shader_include() const {
+ return shader_inc;
+}
+
void ShaderTextEditor::set_edited_shader(const Ref<Shader> &p_shader) {
+ set_edited_shader(p_shader, p_shader->get_code());
+}
+
+void ShaderTextEditor::set_edited_shader(const Ref<Shader> &p_shader, const String &p_code) {
if (shader == p_shader) {
return;
}
+ if (shader.is_valid()) {
+ shader->disconnect(SNAME("changed"), callable_mp(this, &ShaderTextEditor::_shader_changed));
+ }
shader = p_shader;
+ shader_inc = Ref<ShaderInclude>();
+
+ set_edited_code(p_code);
+
+ if (shader.is_valid()) {
+ shader->connect(SNAME("changed"), callable_mp(this, &ShaderTextEditor::_shader_changed));
+ }
+}
+
+void ShaderTextEditor::set_edited_shader_include(const Ref<ShaderInclude> &p_shader_inc) {
+ set_edited_shader_include(p_shader_inc, p_shader_inc->get_code());
+}
+
+void ShaderTextEditor::_shader_changed() {
+ // This function is used for dependencies (include changing changes main shader and forces it to revalidate)
+ if (block_shader_changed) {
+ return;
+ }
+ dependencies_version++;
+ _validate_script();
+}
+void ShaderTextEditor::set_edited_shader_include(const Ref<ShaderInclude> &p_shader_inc, const String &p_code) {
+ if (shader_inc == p_shader_inc) {
+ return;
+ }
+ if (shader_inc.is_valid()) {
+ shader_inc->disconnect(SNAME("changed"), callable_mp(this, &ShaderTextEditor::_shader_changed));
+ }
+ shader_inc = p_shader_inc;
+ shader = Ref<Shader>();
+
+ set_edited_code(p_code);
+
+ if (shader_inc.is_valid()) {
+ shader_inc->connect(SNAME("changed"), callable_mp(this, &ShaderTextEditor::_shader_changed));
+ }
+}
+
+void ShaderTextEditor::set_edited_code(const String &p_code) {
_load_theme_settings();
- get_text_editor()->set_text(p_shader->get_code());
+ get_text_editor()->set_text(p_code);
get_text_editor()->clear_undo_history();
get_text_editor()->call_deferred(SNAME("set_h_scroll"), 0);
get_text_editor()->call_deferred(SNAME("set_v_scroll"), 0);
+ get_text_editor()->tag_saved_version();
_validate_script();
_line_col_changed();
@@ -128,11 +227,12 @@ void ShaderTextEditor::_load_theme_settings() {
syntax_highlighter->clear_keyword_colors();
- List<String> keywords;
- ShaderLanguage::get_keyword_list(&keywords);
const Color keyword_color = EDITOR_GET("text_editor/theme/highlighting/keyword_color");
const Color control_flow_keyword_color = EDITOR_GET("text_editor/theme/highlighting/control_flow_keyword_color");
+ List<String> keywords;
+ ShaderLanguage::get_keyword_list(&keywords);
+
for (const String &E : keywords) {
if (ShaderLanguage::is_control_flow_keyword(E)) {
syntax_highlighter->add_keyword_color(E, control_flow_keyword_color);
@@ -141,11 +241,41 @@ void ShaderTextEditor::_load_theme_settings() {
}
}
+ List<String> pp_keywords;
+ ShaderPreprocessor::get_keyword_list(&pp_keywords, false);
+
+ for (const String &E : pp_keywords) {
+ syntax_highlighter->add_keyword_color(E, keyword_color);
+ }
+
// Colorize built-ins like `COLOR` differently to make them easier
// to distinguish from keywords at a quick glance.
List<String> built_ins;
- if (shader.is_valid()) {
+
+ if (shader_inc.is_valid()) {
+ for (int i = 0; i < RenderingServer::SHADER_MAX; i++) {
+ for (const KeyValue<StringName, ShaderLanguage::FunctionInfo> &E : ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(i))) {
+ for (const KeyValue<StringName, ShaderLanguage::BuiltInInfo> &F : E.value.built_ins) {
+ built_ins.push_back(F.key);
+ }
+ }
+
+ const Vector<ShaderLanguage::ModeInfo> &modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(i));
+
+ for (int j = 0; j < modes.size(); j++) {
+ const ShaderLanguage::ModeInfo &info = modes[j];
+
+ if (!info.options.is_empty()) {
+ for (int k = 0; k < info.options.size(); k++) {
+ built_ins.push_back(String(info.name) + "_" + String(info.options[k]));
+ }
+ } else {
+ built_ins.push_back(String(info.name));
+ }
+ }
+ }
+ } else if (shader.is_valid()) {
for (const KeyValue<StringName, ShaderLanguage::FunctionInfo> &E : ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode()))) {
for (const KeyValue<StringName, ShaderLanguage::BuiltInInfo> &F : E.value.built_ins) {
built_ins.push_back(F.key);
@@ -178,6 +308,7 @@ void ShaderTextEditor::_load_theme_settings() {
syntax_highlighter->clear_color_regions();
syntax_highlighter->add_color_region("/*", "*/", comment_color, false);
syntax_highlighter->add_color_region("//", "", comment_color, true);
+ syntax_highlighter->set_disabled_branch_color(comment_color);
text_editor->clear_comment_delimiters();
text_editor->add_comment_delimiter("/*", "*/", false);
@@ -187,8 +318,12 @@ void ShaderTextEditor::_load_theme_settings() {
text_editor->add_auto_brace_completion_pair("/*", "*/");
}
+ // Colorize preprocessor include strings.
+ const Color string_color = EDITOR_GET("text_editor/theme/highlighting/string_color");
+ syntax_highlighter->add_color_region("\"", "\"", string_color, false);
+
if (warnings_panel) {
- // Warnings panel
+ // Warnings panel.
warnings_panel->add_theme_font_override("normal_font", EditorNode::get_singleton()->get_gui_base()->get_theme_font(SNAME("main"), SNAME("EditorFonts")));
warnings_panel->add_theme_font_size_override("normal_font_size", EditorNode::get_singleton()->get_gui_base()->get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts")));
}
@@ -212,82 +347,222 @@ void ShaderTextEditor::_check_shader_mode() {
}
if (shader->get_mode() != mode) {
+ set_block_shader_changed(true);
shader->set_code(get_text_editor()->get_text());
+ set_block_shader_changed(false);
_load_theme_settings();
}
}
-static ShaderLanguage::DataType _get_global_variable_type(const StringName &p_variable) {
- RS::GlobalVariableType gvt = RS::get_singleton()->global_variable_get_type(p_variable);
- return (ShaderLanguage::DataType)RS::global_variable_type_get_shader_datatype(gvt);
+static ShaderLanguage::DataType _get_global_shader_uniform_type(const StringName &p_variable) {
+ RS::GlobalShaderUniformType gvt = RS::get_singleton()->global_shader_uniform_get_type(p_variable);
+ return (ShaderLanguage::DataType)RS::global_shader_uniform_type_get_shader_datatype(gvt);
+}
+
+static String complete_from_path;
+
+static void _complete_include_paths_search(EditorFileSystemDirectory *p_efsd, List<ScriptLanguage::CodeCompletionOption> *r_options) {
+ if (!p_efsd) {
+ return;
+ }
+ for (int i = 0; i < p_efsd->get_file_count(); i++) {
+ if (p_efsd->get_file_type(i) == SNAME("ShaderInclude")) {
+ String path = p_efsd->get_file_path(i);
+ if (path.begins_with(complete_from_path)) {
+ path = path.replace_first(complete_from_path, "");
+ }
+ r_options->push_back(ScriptLanguage::CodeCompletionOption(path, ScriptLanguage::CODE_COMPLETION_KIND_FILE_PATH));
+ }
+ }
+ for (int j = 0; j < p_efsd->get_subdir_count(); j++) {
+ _complete_include_paths_search(p_efsd->get_subdir(j), r_options);
+ }
+}
+
+static void _complete_include_paths(List<ScriptLanguage::CodeCompletionOption> *r_options) {
+ _complete_include_paths_search(EditorFileSystem::get_singleton()->get_filesystem(), r_options);
}
void ShaderTextEditor::_code_complete_script(const String &p_code, List<ScriptLanguage::CodeCompletionOption> *r_options) {
- _check_shader_mode();
+ List<ScriptLanguage::CodeCompletionOption> pp_options;
+ ShaderPreprocessor preprocessor;
+ String code;
+ complete_from_path = (shader.is_valid() ? shader->get_path() : shader_inc->get_path()).get_base_dir();
+ if (!complete_from_path.ends_with("/")) {
+ complete_from_path += "/";
+ }
+ preprocessor.preprocess(p_code, "", code, nullptr, nullptr, nullptr, nullptr, &pp_options, _complete_include_paths);
+ complete_from_path = String();
+ if (pp_options.size()) {
+ for (const ScriptLanguage::CodeCompletionOption &E : pp_options) {
+ r_options->push_back(E);
+ }
+ return;
+ }
ShaderLanguage sl;
String calltip;
-
ShaderLanguage::ShaderCompileInfo info;
+ info.global_shader_uniform_type_func = _get_global_shader_uniform_type;
+
+ if (shader.is_null()) {
+ info.is_include = true;
+
+ sl.complete(code, info, r_options, calltip);
+ get_text_editor()->set_code_hint(calltip);
+ return;
+ }
+ _check_shader_mode();
info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode()));
info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
info.shader_types = ShaderTypes::get_singleton()->get_types();
- info.global_variable_type_func = _get_global_variable_type;
-
- sl.complete(p_code, info, r_options, calltip);
+ sl.complete(code, info, r_options, calltip);
get_text_editor()->set_code_hint(calltip);
}
void ShaderTextEditor::_validate_script() {
- _check_shader_mode();
+ emit_signal(SNAME("script_changed")); // Ensure to notify that it changed, so it is applied
- String code = get_text_editor()->get_text();
- //List<StringName> params;
- //shader->get_param_list(&params);
+ String code;
- ShaderLanguage::ShaderCompileInfo info;
- info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode()));
- info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
- info.shader_types = ShaderTypes::get_singleton()->get_types();
- info.global_variable_type_func = _get_global_variable_type;
+ if (shader.is_valid()) {
+ _check_shader_mode();
+ code = shader->get_code();
+ } else {
+ code = shader_inc->get_code();
+ }
- ShaderLanguage sl;
+ ShaderPreprocessor preprocessor;
+ String code_pp;
+ String error_pp;
+ List<ShaderPreprocessor::FilePosition> err_positions;
+ List<ShaderPreprocessor::Region> regions;
+ String filename;
+ if (shader.is_valid()) {
+ filename = shader->get_path();
+ } else if (shader_inc.is_valid()) {
+ filename = shader_inc->get_path();
+ }
+ last_compile_result = preprocessor.preprocess(code, filename, code_pp, &error_pp, &err_positions, &regions);
- sl.enable_warning_checking(saved_warnings_enabled);
- sl.set_warning_flags(saved_warning_flags);
+ for (int i = 0; i < get_text_editor()->get_line_count(); i++) {
+ get_text_editor()->set_line_background_color(i, Color(0, 0, 0, 0));
+ }
+
+ syntax_highlighter->clear_disabled_branch_regions();
+ for (const ShaderPreprocessor::Region &region : regions) {
+ if (!region.enabled) {
+ if (filename != region.file) {
+ continue;
+ }
+ syntax_highlighter->add_disabled_branch_region(Point2i(region.from_line, region.to_line));
+ }
+ }
- last_compile_result = sl.compile(code, info);
+ set_error("");
+ set_error_count(0);
if (last_compile_result != OK) {
- String error_text = "error(" + itos(sl.get_error_line()) + "): " + sl.get_error_text();
+ //preprocessor error
+ ERR_FAIL_COND(err_positions.size() == 0);
+
+ String error_text = error_pp;
+ int error_line = err_positions.front()->get().line;
+ if (err_positions.size() == 1) {
+ // Error in main file
+ error_text = "error(" + itos(error_line) + "): " + error_text;
+ } else {
+ error_text = "error(" + itos(error_line) + ") in include " + err_positions.back()->get().file.get_file() + ":" + itos(err_positions.back()->get().line) + ": " + error_text;
+ set_error_count(err_positions.size() - 1);
+ }
+
set_error(error_text);
- set_error_pos(sl.get_error_line() - 1, 0);
+ set_error_pos(error_line - 1, 0);
for (int i = 0; i < get_text_editor()->get_line_count(); i++) {
get_text_editor()->set_line_background_color(i, Color(0, 0, 0, 0));
}
- get_text_editor()->set_line_background_color(sl.get_error_line() - 1, marked_line_color);
+ get_text_editor()->set_line_background_color(error_line - 1, marked_line_color);
+
+ set_warning_count(0);
+
} else {
- for (int i = 0; i < get_text_editor()->get_line_count(); i++) {
- get_text_editor()->set_line_background_color(i, Color(0, 0, 0, 0));
+ ShaderLanguage sl;
+
+ sl.enable_warning_checking(saved_warnings_enabled);
+ uint32_t flags = saved_warning_flags;
+ if (shader.is_null()) {
+ if (flags & ShaderWarning::UNUSED_CONSTANT) {
+ flags &= ~(ShaderWarning::UNUSED_CONSTANT);
+ }
+ if (flags & ShaderWarning::UNUSED_FUNCTION) {
+ flags &= ~(ShaderWarning::UNUSED_FUNCTION);
+ }
+ if (flags & ShaderWarning::UNUSED_STRUCT) {
+ flags &= ~(ShaderWarning::UNUSED_STRUCT);
+ }
+ if (flags & ShaderWarning::UNUSED_UNIFORM) {
+ flags &= ~(ShaderWarning::UNUSED_UNIFORM);
+ }
+ if (flags & ShaderWarning::UNUSED_VARYING) {
+ flags &= ~(ShaderWarning::UNUSED_VARYING);
+ }
}
- set_error("");
- }
+ sl.set_warning_flags(flags);
- if (warnings.size() > 0 || last_compile_result != OK) {
- warnings_panel->clear();
- }
- warnings.clear();
- for (List<ShaderWarning>::Element *E = sl.get_warnings_ptr(); E; E = E->next()) {
- warnings.push_back(E->get());
- }
- if (warnings.size() > 0 && last_compile_result == OK) {
- warnings.sort_custom<WarningsComparator>();
- _update_warning_panel();
- } else {
- set_warning_count(0);
+ ShaderLanguage::ShaderCompileInfo info;
+ info.global_shader_uniform_type_func = _get_global_shader_uniform_type;
+
+ if (shader.is_null()) {
+ info.is_include = true;
+ } else {
+ Shader::Mode mode = shader->get_mode();
+ info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(mode));
+ info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(mode));
+ info.shader_types = ShaderTypes::get_singleton()->get_types();
+ }
+
+ code = code_pp;
+ //compiler error
+ last_compile_result = sl.compile(code, info);
+
+ if (last_compile_result != OK) {
+ String error_text;
+ int error_line;
+ Vector<ShaderLanguage::FilePosition> include_positions = sl.get_include_positions();
+ if (include_positions.size() > 1) {
+ //error is in an include
+ error_line = include_positions[0].line;
+ error_text = "error(" + itos(error_line) + ") in include " + include_positions[include_positions.size() - 1].file + ":" + itos(include_positions[include_positions.size() - 1].line) + ": " + sl.get_error_text();
+ set_error_count(include_positions.size() - 1);
+ } else {
+ error_line = sl.get_error_line();
+ error_text = "error(" + itos(error_line) + "): " + sl.get_error_text();
+ set_error_count(0);
+ }
+ set_error(error_text);
+ set_error_pos(error_line - 1, 0);
+ get_text_editor()->set_line_background_color(error_line - 1, marked_line_color);
+ } else {
+ set_error("");
+ }
+
+ if (warnings.size() > 0 || last_compile_result != OK) {
+ warnings_panel->clear();
+ }
+ warnings.clear();
+ for (List<ShaderWarning>::Element *E = sl.get_warnings_ptr(); E; E = E->next()) {
+ warnings.push_back(E->get());
+ }
+ if (warnings.size() > 0 && last_compile_result == OK) {
+ warnings.sort_custom<WarningsComparator>();
+ _update_warning_panel();
+ } else {
+ set_warning_count(0);
+ }
}
- emit_signal(SNAME("script_changed"));
+
+ emit_signal(SNAME("script_validated"), last_compile_result == OK); // Notify that validation finished, to update the list of scripts
}
void ShaderTextEditor::_update_warning_panel() {
@@ -334,6 +609,7 @@ void ShaderTextEditor::_update_warning_panel() {
}
void ShaderTextEditor::_bind_methods() {
+ ADD_SIGNAL(MethodInfo("script_validated", PropertyInfo(Variant::BOOL, "valid")));
}
ShaderTextEditor::ShaderTextEditor() {
@@ -469,6 +745,8 @@ void ShaderEditor::_warning_clicked(Variant p_line) {
void ShaderEditor::_bind_methods() {
ClassDB::bind_method("_show_warnings_panel", &ShaderEditor::_show_warnings_panel);
ClassDB::bind_method("_warning_clicked", &ShaderEditor::_warning_clicked);
+
+ ADD_SIGNAL(MethodInfo("validation_changed"));
}
void ShaderEditor::ensure_select_current() {
@@ -520,15 +798,23 @@ void ShaderEditor::_update_warnings(bool p_validate) {
}
void ShaderEditor::_check_for_external_edit() {
- if (shader.is_null() || !shader.is_valid()) {
+ bool use_autoreload = bool(EDITOR_GET("text_editor/behavior/files/auto_reload_scripts_on_external_change"));
+
+ if (shader_inc.is_valid()) {
+ if (shader_inc->get_last_modified_time() != FileAccess::get_modified_time(shader_inc->get_path())) {
+ if (use_autoreload) {
+ _reload_shader_include_from_disk();
+ } else {
+ disk_changed->call_deferred(SNAME("popup_centered"));
+ }
+ }
return;
}
- if (shader->is_built_in()) {
+ if (shader.is_null() || shader->is_built_in()) {
return;
}
- bool use_autoreload = bool(EDITOR_GET("text_editor/behavior/files/auto_reload_scripts_on_external_change"));
if (shader->get_last_modified_time() != FileAccess::get_modified_time(shader->get_path())) {
if (use_autoreload) {
_reload_shader_from_disk();
@@ -542,11 +828,32 @@ void ShaderEditor::_reload_shader_from_disk() {
Ref<Shader> rel_shader = ResourceLoader::load(shader->get_path(), shader->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE);
ERR_FAIL_COND(!rel_shader.is_valid());
+ shader_editor->set_block_shader_changed(true);
shader->set_code(rel_shader->get_code());
+ shader_editor->set_block_shader_changed(false);
shader->set_last_modified_time(rel_shader->get_last_modified_time());
shader_editor->reload_text();
}
+void ShaderEditor::_reload_shader_include_from_disk() {
+ Ref<ShaderInclude> rel_shader_include = ResourceLoader::load(shader_inc->get_path(), shader_inc->get_class(), ResourceFormatLoader::CACHE_MODE_IGNORE);
+ ERR_FAIL_COND(!rel_shader_include.is_valid());
+
+ shader_editor->set_block_shader_changed(true);
+ shader_inc->set_code(rel_shader_include->get_code());
+ shader_editor->set_block_shader_changed(false);
+ shader_inc->set_last_modified_time(rel_shader_include->get_last_modified_time());
+ shader_editor->reload_text();
+}
+
+void ShaderEditor::_reload() {
+ if (shader.is_valid()) {
+ _reload_shader_from_disk();
+ } else if (shader_inc.is_valid()) {
+ _reload_shader_include_from_disk();
+ }
+}
+
void ShaderEditor::edit(const Ref<Shader> &p_shader) {
if (p_shader.is_null() || !p_shader->is_text_shader()) {
return;
@@ -557,37 +864,84 @@ void ShaderEditor::edit(const Ref<Shader> &p_shader) {
}
shader = p_shader;
+ shader_inc = Ref<ShaderInclude>();
+
+ shader_editor->set_edited_shader(shader);
+}
+
+void ShaderEditor::edit(const Ref<ShaderInclude> &p_shader_inc) {
+ if (p_shader_inc.is_null()) {
+ return;
+ }
- shader_editor->set_edited_shader(p_shader);
+ if (shader_inc == p_shader_inc) {
+ return;
+ }
- //vertex_editor->set_edited_shader(shader,ShaderLanguage::SHADER_MATERIAL_VERTEX);
- // see if already has it
+ shader_inc = p_shader_inc;
+ shader = Ref<Shader>();
+
+ shader_editor->set_edited_shader_include(p_shader_inc);
}
void ShaderEditor::save_external_data(const String &p_str) {
- if (shader.is_null()) {
+ if (shader.is_null() && shader_inc.is_null()) {
disk_changed->hide();
return;
}
apply_shaders();
- if (!shader->is_built_in()) {
- //external shader, save it
- ResourceSaver::save(shader->get_path(), shader);
+
+ Ref<Shader> edited_shader = shader_editor->get_edited_shader();
+ if (edited_shader.is_valid()) {
+ ResourceSaver::save(edited_shader);
+ }
+ if (shader.is_valid() && shader != edited_shader) {
+ ResourceSaver::save(shader);
+ }
+
+ Ref<ShaderInclude> edited_shader_inc = shader_editor->get_edited_shader_include();
+ if (edited_shader_inc.is_valid()) {
+ ResourceSaver::save(edited_shader_inc);
}
+ if (shader_inc.is_valid() && shader_inc != edited_shader_inc) {
+ ResourceSaver::save(shader_inc);
+ }
+ shader_editor->get_text_editor()->tag_saved_version();
disk_changed->hide();
}
+void ShaderEditor::validate_script() {
+ shader_editor->_validate_script();
+}
+
+bool ShaderEditor::is_unsaved() const {
+ return shader_editor->get_text_editor()->get_saved_version() != shader_editor->get_text_editor()->get_version();
+}
+
void ShaderEditor::apply_shaders() {
+ String editor_code = shader_editor->get_text_editor()->get_text();
if (shader.is_valid()) {
String shader_code = shader->get_code();
- String editor_code = shader_editor->get_text_editor()->get_text();
- if (shader_code != editor_code) {
+ if (shader_code != editor_code || dependencies_version != shader_editor->get_dependencies_version()) {
+ shader_editor->set_block_shader_changed(true);
shader->set_code(editor_code);
+ shader_editor->set_block_shader_changed(false);
shader->set_edited(true);
}
}
+ if (shader_inc.is_valid()) {
+ String shader_inc_code = shader_inc->get_code();
+ if (shader_inc_code != editor_code || dependencies_version != shader_editor->get_dependencies_version()) {
+ shader_editor->set_block_shader_changed(true);
+ shader_inc->set_code(editor_code);
+ shader_editor->set_block_shader_changed(false);
+ shader_inc->set_edited(true);
+ }
+ }
+
+ dependencies_version = shader_editor->get_dependencies_version();
}
void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) {
@@ -640,7 +994,7 @@ void ShaderEditor::_update_bookmark_list() {
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
- Array bookmark_list = shader_editor->get_text_editor()->get_bookmarked_lines();
+ PackedInt32Array bookmark_list = shader_editor->get_text_editor()->get_bookmarked_lines();
if (bookmark_list.size() == 0) {
return;
}
@@ -700,9 +1054,12 @@ ShaderEditor::ShaderEditor() {
_update_warnings(false);
shader_editor = memnew(ShaderTextEditor);
+
+ shader_editor->connect("script_validated", callable_mp(this, &ShaderEditor::_script_validated));
+
shader_editor->set_v_size_flags(SIZE_EXPAND_FILL);
shader_editor->add_theme_constant_override("separation", 0);
- shader_editor->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ shader_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
shader_editor->connect("show_warnings_panel", callable_mp(this, &ShaderEditor::_show_warnings_panel));
shader_editor->connect("script_changed", callable_mp(this, &ShaderEditor::apply_shaders));
@@ -793,7 +1150,7 @@ ShaderEditor::ShaderEditor() {
VSplitContainer *editor_box = memnew(VSplitContainer);
main_container->add_child(editor_box);
- editor_box->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ editor_box->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
editor_box->set_v_size_flags(SIZE_EXPAND_FILL);
editor_box->add_child(shader_editor);
@@ -825,8 +1182,8 @@ ShaderEditor::ShaderEditor() {
dl->set_text(TTR("This shader has been modified on disk.\nWhat action should be taken?"));
vbc->add_child(dl);
- disk_changed->connect("confirmed", callable_mp(this, &ShaderEditor::_reload_shader_from_disk));
- disk_changed->get_ok_button()->set_text(TTR("Reload"));
+ disk_changed->connect("confirmed", callable_mp(this, &ShaderEditor::_reload));
+ disk_changed->set_ok_button_text(TTR("Reload"));
disk_changed->add_button(TTR("Resave"), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "resave");
disk_changed->connect("custom_action", callable_mp(this, &ShaderEditor::save_external_data));
@@ -836,50 +1193,317 @@ ShaderEditor::ShaderEditor() {
_editor_settings_changed();
}
+void ShaderEditorPlugin::_update_shader_list() {
+ shader_list->clear();
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ Ref<Resource> shader = edited_shaders[i].shader;
+ if (shader.is_null()) {
+ shader = edited_shaders[i].shader_inc;
+ }
+
+ String path = shader->get_path();
+ String text = path.get_file();
+ if (text.is_empty()) {
+ // This appears for newly created built-in shaders before saving the scene.
+ text = TTR("[unsaved]");
+ } else if (shader->is_built_in()) {
+ const String &shader_name = shader->get_name();
+ if (!shader_name.is_empty()) {
+ text = vformat("%s (%s)", shader_name, text.get_slice("::", 0));
+ }
+ }
+
+ bool unsaved = false;
+ if (edited_shaders[i].shader_editor) {
+ unsaved = edited_shaders[i].shader_editor->is_unsaved();
+ }
+ // TODO: Handle visual shaders too.
+
+ if (unsaved) {
+ text += "(*)";
+ }
+
+ String _class = shader->get_class();
+ if (!shader_list->has_theme_icon(_class, SNAME("EditorIcons"))) {
+ _class = "TextFile";
+ }
+ Ref<Texture2D> icon = shader_list->get_theme_icon(_class, SNAME("EditorIcons"));
+
+ shader_list->add_item(text, icon);
+ shader_list->set_item_tooltip(shader_list->get_item_count() - 1, path);
+ }
+
+ if (shader_tabs->get_tab_count()) {
+ shader_list->select(shader_tabs->get_current_tab());
+ }
+
+ for (int i = 1; i < FILE_MAX; i++) {
+ file_menu->get_popup()->set_item_disabled(file_menu->get_popup()->get_item_index(i), edited_shaders.size() == 0);
+ }
+
+ _update_shader_list_status();
+}
+
+void ShaderEditorPlugin::_update_shader_list_status() {
+ for (int i = 0; i < shader_list->get_item_count(); i++) {
+ ShaderEditor *se = Object::cast_to<ShaderEditor>(shader_tabs->get_tab_control(i));
+ if (se) {
+ if (se->was_compilation_successful()) {
+ shader_list->set_item_tag_icon(i, Ref<Texture2D>());
+ } else {
+ shader_list->set_item_tag_icon(i, shader_list->get_theme_icon(SNAME("Error"), SNAME("EditorIcons")));
+ }
+ }
+ }
+}
+
void ShaderEditorPlugin::edit(Object *p_object) {
- Shader *s = Object::cast_to<Shader>(p_object);
- shader_editor->edit(s);
+ EditedShader es;
+
+ ShaderInclude *si = Object::cast_to<ShaderInclude>(p_object);
+ if (si != nullptr) {
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ if (edited_shaders[i].shader_inc.ptr() == si) {
+ shader_tabs->set_current_tab(i);
+ shader_list->select(i);
+ return;
+ }
+ }
+ es.shader_inc = Ref<ShaderInclude>(si);
+ es.shader_editor = memnew(ShaderEditor);
+ es.shader_editor->edit(si);
+ shader_tabs->add_child(es.shader_editor);
+ es.shader_editor->connect("validation_changed", callable_mp(this, &ShaderEditorPlugin::_update_shader_list));
+ } else {
+ Shader *s = Object::cast_to<Shader>(p_object);
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ if (edited_shaders[i].shader.ptr() == s) {
+ shader_tabs->set_current_tab(i);
+ shader_list->select(i);
+ return;
+ }
+ }
+ es.shader = Ref<Shader>(s);
+ Ref<VisualShader> vs = es.shader;
+ if (vs.is_valid()) {
+ es.visual_shader_editor = memnew(VisualShaderEditor);
+ shader_tabs->add_child(es.visual_shader_editor);
+ es.visual_shader_editor->edit(vs.ptr());
+ } else {
+ es.shader_editor = memnew(ShaderEditor);
+ shader_tabs->add_child(es.shader_editor);
+ es.shader_editor->edit(s);
+ es.shader_editor->connect("validation_changed", callable_mp(this, &ShaderEditorPlugin::_update_shader_list));
+ }
+ }
+
+ shader_tabs->set_current_tab(shader_tabs->get_tab_count() - 1);
+ edited_shaders.push_back(es);
+ _update_shader_list();
}
bool ShaderEditorPlugin::handles(Object *p_object) const {
- Shader *shader = Object::cast_to<Shader>(p_object);
- return shader != nullptr && shader->is_text_shader();
+ return Object::cast_to<Shader>(p_object) != nullptr || Object::cast_to<ShaderInclude>(p_object) != nullptr;
}
void ShaderEditorPlugin::make_visible(bool p_visible) {
if (p_visible) {
- button->show();
- EditorNode::get_singleton()->make_bottom_panel_item_visible(shader_editor);
+ EditorNode::get_singleton()->make_bottom_panel_item_visible(main_split);
+ }
+}
- } else {
- button->hide();
- if (shader_editor->is_visible_in_tree()) {
- EditorNode::get_singleton()->hide_bottom_panel();
+void ShaderEditorPlugin::selected_notify() {
+}
+
+ShaderEditor *ShaderEditorPlugin::get_shader_editor(const Ref<Shader> &p_for_shader) {
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ if (edited_shaders[i].shader == p_for_shader) {
+ return edited_shaders[i].shader_editor;
}
- shader_editor->apply_shaders();
}
+ return nullptr;
}
-void ShaderEditorPlugin::selected_notify() {
- shader_editor->ensure_select_current();
+VisualShaderEditor *ShaderEditorPlugin::get_visual_shader_editor(const Ref<Shader> &p_for_shader) {
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ if (edited_shaders[i].shader == p_for_shader) {
+ return edited_shaders[i].visual_shader_editor;
+ }
+ }
+ return nullptr;
}
void ShaderEditorPlugin::save_external_data() {
- shader_editor->save_external_data();
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ if (edited_shaders[i].shader_editor) {
+ edited_shaders[i].shader_editor->save_external_data();
+ }
+ }
+ _update_shader_list();
}
void ShaderEditorPlugin::apply_changes() {
- shader_editor->apply_shaders();
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ if (edited_shaders[i].shader_editor) {
+ edited_shaders[i].shader_editor->apply_shaders();
+ }
+ }
+}
+
+void ShaderEditorPlugin::_shader_selected(int p_index) {
+ if (edited_shaders[p_index].shader_editor) {
+ edited_shaders[p_index].shader_editor->validate_script();
+ }
+ shader_tabs->set_current_tab(p_index);
+}
+
+void ShaderEditorPlugin::_shader_list_clicked(int p_item, Vector2 p_local_mouse_pos, MouseButton p_mouse_button_index) {
+ if (p_mouse_button_index == MouseButton::MIDDLE) {
+ _close_shader(p_item);
+ }
+}
+
+void ShaderEditorPlugin::_close_shader(int p_index) {
+ int index = shader_tabs->get_current_tab();
+ ERR_FAIL_INDEX(index, shader_tabs->get_tab_count());
+ Control *c = shader_tabs->get_tab_control(index);
+ memdelete(c);
+ edited_shaders.remove_at(index);
+ _update_shader_list();
+ EditorNode::get_singleton()->get_undo_redo()->clear_history(); // To prevent undo on deleted graphs.
+}
+
+void ShaderEditorPlugin::_resource_saved(Object *obj) {
+ // May have been renamed on save.
+ for (uint32_t i = 0; i < edited_shaders.size(); i++) {
+ if (edited_shaders[i].shader.ptr() == obj) {
+ _update_shader_list();
+ return;
+ }
+ }
+}
+
+void ShaderEditorPlugin::_menu_item_pressed(int p_index) {
+ switch (p_index) {
+ case FILE_NEW: {
+ String base_path = FileSystemDock::get_singleton()->get_current_path().get_base_dir();
+ shader_create_dialog->config(base_path.plus_file("new_shader"), false, false, 0);
+ shader_create_dialog->popup_centered();
+ } break;
+ case FILE_NEW_INCLUDE: {
+ String base_path = FileSystemDock::get_singleton()->get_current_path().get_base_dir();
+ shader_create_dialog->config(base_path.plus_file("new_shader"), false, false, 2);
+ shader_create_dialog->popup_centered();
+ } break;
+ case FILE_OPEN: {
+ InspectorDock::get_singleton()->open_resource("Shader");
+ } break;
+ case FILE_OPEN_INCLUDE: {
+ InspectorDock::get_singleton()->open_resource("ShaderInclude");
+ } break;
+ case FILE_SAVE: {
+ int index = shader_tabs->get_current_tab();
+ ERR_FAIL_INDEX(index, shader_tabs->get_tab_count());
+ if (edited_shaders[index].shader.is_valid()) {
+ EditorNode::get_singleton()->save_resource(edited_shaders[index].shader);
+ } else {
+ EditorNode::get_singleton()->save_resource(edited_shaders[index].shader_inc);
+ }
+ } break;
+ case FILE_SAVE_AS: {
+ int index = shader_tabs->get_current_tab();
+ ERR_FAIL_INDEX(index, shader_tabs->get_tab_count());
+ String path;
+ if (edited_shaders[index].shader.is_valid()) {
+ path = edited_shaders[index].shader->get_path();
+ if (!path.is_resource_file()) {
+ path = "";
+ }
+ EditorNode::get_singleton()->save_resource_as(edited_shaders[index].shader, path);
+ } else {
+ path = edited_shaders[index].shader_inc->get_path();
+ if (!path.is_resource_file()) {
+ path = "";
+ }
+ EditorNode::get_singleton()->save_resource_as(edited_shaders[index].shader_inc, path);
+ }
+ } break;
+ case FILE_INSPECT: {
+ int index = shader_tabs->get_current_tab();
+ ERR_FAIL_INDEX(index, shader_tabs->get_tab_count());
+ if (edited_shaders[index].shader.is_valid()) {
+ EditorNode::get_singleton()->push_item(edited_shaders[index].shader.ptr());
+ } else {
+ EditorNode::get_singleton()->push_item(edited_shaders[index].shader_inc.ptr());
+ }
+ } break;
+ case FILE_CLOSE: {
+ _close_shader(shader_tabs->get_current_tab());
+ } break;
+ }
+}
+
+void ShaderEditorPlugin::_shader_created(Ref<Shader> p_shader) {
+ EditorNode::get_singleton()->push_item(p_shader.ptr());
+}
+
+void ShaderEditorPlugin::_shader_include_created(Ref<ShaderInclude> p_shader_inc) {
+ EditorNode::get_singleton()->push_item(p_shader_inc.ptr());
}
ShaderEditorPlugin::ShaderEditorPlugin() {
- shader_editor = memnew(ShaderEditor);
+ main_split = memnew(HSplitContainer);
+
+ VBoxContainer *vb = memnew(VBoxContainer);
+
+ HBoxContainer *file_hb = memnew(HBoxContainer);
+ vb->add_child(file_hb);
+ file_menu = memnew(MenuButton);
+ file_menu->set_text(TTR("File"));
+ file_menu->get_popup()->add_item(TTR("New Shader"), FILE_NEW);
+ file_menu->get_popup()->add_item(TTR("New Shader Include"), FILE_NEW_INCLUDE);
+ file_menu->get_popup()->add_separator();
+ file_menu->get_popup()->add_item(TTR("Load Shader File"), FILE_OPEN);
+ file_menu->get_popup()->add_item(TTR("Load Shader Include File"), FILE_OPEN_INCLUDE);
+ file_menu->get_popup()->add_item(TTR("Save File"), FILE_SAVE);
+ file_menu->get_popup()->add_item(TTR("Save File As"), FILE_SAVE_AS);
+ file_menu->get_popup()->add_separator();
+ file_menu->get_popup()->add_item(TTR("Open File in Inspector"), FILE_INSPECT);
+ file_menu->get_popup()->add_separator();
+ file_menu->get_popup()->add_item(TTR("Close File"), FILE_CLOSE);
+ file_menu->get_popup()->connect("id_pressed", callable_mp(this, &ShaderEditorPlugin::_menu_item_pressed));
+ file_hb->add_child(file_menu);
+
+ for (int i = 2; i < FILE_MAX; i++) {
+ file_menu->get_popup()->set_item_disabled(file_menu->get_popup()->get_item_index(i), true);
+ }
+
+ shader_list = memnew(ItemList);
+ shader_list->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ vb->add_child(shader_list);
+ shader_list->connect("item_selected", callable_mp(this, &ShaderEditorPlugin::_shader_selected));
+ shader_list->connect("item_clicked", callable_mp(this, &ShaderEditorPlugin::_shader_list_clicked));
+
+ main_split->add_child(vb);
+ vb->set_custom_minimum_size(Size2(200, 300) * EDSCALE);
+
+ shader_tabs = memnew(TabContainer);
+ shader_tabs->set_tabs_visible(false);
+ shader_tabs->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ main_split->add_child(shader_tabs);
+ Ref<StyleBoxEmpty> empty;
+ empty.instantiate();
+ shader_tabs->add_theme_style_override("panel", empty);
+
+ button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("Shader Editor"), main_split);
- shader_editor->set_custom_minimum_size(Size2(0, 300) * EDSCALE);
- button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("Shader"), shader_editor);
- button->hide();
+ // Defer connect because Editor class is not in the binding system yet.
+ EditorNode::get_singleton()->call_deferred("connect", "resource_saved", callable_mp(this, &ShaderEditorPlugin::_resource_saved), CONNECT_DEFERRED);
- _2d = false;
+ shader_create_dialog = memnew(ShaderCreateDialog);
+ vb->add_child(shader_create_dialog);
+ shader_create_dialog->connect("shader_created", callable_mp(this, &ShaderEditorPlugin::_shader_created));
+ shader_create_dialog->connect("shader_include_created", callable_mp(this, &ShaderEditorPlugin::_shader_include_created));
}
ShaderEditorPlugin::~ShaderEditorPlugin() {
diff --git a/editor/plugins/shader_editor_plugin.h b/editor/plugins/shader_editor_plugin.h
index bd0c2db824..0980cc4db2 100644
--- a/editor/plugins/shader_editor_plugin.h
+++ b/editor/plugins/shader_editor_plugin.h
@@ -40,8 +40,29 @@
#include "scene/gui/text_edit.h"
#include "scene/main/timer.h"
#include "scene/resources/shader.h"
+#include "scene/resources/shader_include.h"
#include "servers/rendering/shader_warnings.h"
+class ItemList;
+class VisualShaderEditor;
+class HSplitContainer;
+class ShaderCreateDialog;
+
+class GDShaderSyntaxHighlighter : public CodeHighlighter {
+ GDCLASS(GDShaderSyntaxHighlighter, CodeHighlighter)
+
+private:
+ Vector<Point2i> disabled_branch_regions;
+ Color disabled_branch_color;
+
+public:
+ virtual Dictionary _get_line_syntax_highlighting_impl(int p_line) override;
+
+ void add_disabled_branch_region(const Point2i &p_region);
+ void clear_disabled_branch_regions();
+ void set_disabled_branch_color(const Color &p_color);
+};
+
class ShaderTextEditor : public CodeTextEditor {
GDCLASS(ShaderTextEditor, CodeTextEditor);
@@ -51,15 +72,21 @@ class ShaderTextEditor : public CodeTextEditor {
_ALWAYS_INLINE_ bool operator()(const ShaderWarning &p_a, const ShaderWarning &p_b) const { return (p_a.get_line() < p_b.get_line()); }
};
- Ref<CodeHighlighter> syntax_highlighter;
+ Ref<GDShaderSyntaxHighlighter> syntax_highlighter;
RichTextLabel *warnings_panel = nullptr;
Ref<Shader> shader;
+ Ref<ShaderInclude> shader_inc;
List<ShaderWarning> warnings;
Error last_compile_result = Error::OK;
void _check_shader_mode();
void _update_warning_panel();
+ bool block_shader_changed = false;
+ void _shader_changed();
+
+ uint32_t dependencies_version = 0; // Incremented if deps changed
+
protected:
void _notification(int p_what);
static void _bind_methods();
@@ -68,13 +95,23 @@ protected:
virtual void _code_complete_script(const String &p_code, List<ScriptLanguage::CodeCompletionOption> *r_options) override;
public:
+ void set_block_shader_changed(bool p_block) { block_shader_changed = p_block; }
+ uint32_t get_dependencies_version() const { return dependencies_version; }
+
virtual void _validate_script() override;
void reload_text();
void set_warnings_panel(RichTextLabel *p_warnings_panel);
Ref<Shader> get_edited_shader() const;
+ Ref<ShaderInclude> get_edited_shader_include() const;
+
void set_edited_shader(const Ref<Shader> &p_shader);
+ void set_edited_shader(const Ref<Shader> &p_shader, const String &p_code);
+ void set_edited_shader_include(const Ref<ShaderInclude> &p_include);
+ void set_edited_shader_include(const Ref<ShaderInclude> &p_include, const String &p_code);
+ void set_edited_code(const String &p_code);
+
ShaderTextEditor();
};
@@ -121,38 +158,51 @@ class ShaderEditor : public PanelContainer {
ConfirmationDialog *disk_changed = nullptr;
ShaderTextEditor *shader_editor = nullptr;
+ bool compilation_success = true;
void _menu_option(int p_option);
mutable Ref<Shader> shader;
+ mutable Ref<ShaderInclude> shader_inc;
void _editor_settings_changed();
void _project_settings_changed();
void _check_for_external_edit();
void _reload_shader_from_disk();
+ void _reload_shader_include_from_disk();
+ void _reload();
void _show_warnings_panel(bool p_show);
void _warning_clicked(Variant p_line);
void _update_warnings(bool p_validate);
+ void _script_validated(bool p_valid) {
+ compilation_success = p_valid;
+ emit_signal(SNAME("validation_changed"));
+ }
+
+ uint32_t dependencies_version = 0xFFFFFFFF;
+
protected:
void _notification(int p_what);
static void _bind_methods();
void _make_context_menu(bool p_selection, Vector2 p_position);
- void _text_edit_gui_input(const Ref<InputEvent> &ev);
+ void _text_edit_gui_input(const Ref<InputEvent> &p_ev);
void _update_bookmark_list();
void _bookmark_item_pressed(int p_idx);
public:
+ bool was_compilation_successful() const { return compilation_success; }
void apply_shaders();
-
void ensure_select_current();
void edit(const Ref<Shader> &p_shader);
-
+ void edit(const Ref<ShaderInclude> &p_shader_inc);
void goto_line_selection(int p_line, int p_begin, int p_end);
+ void save_external_data(const String &p_str = "");
+ void validate_script();
+ bool is_unsaved() const;
virtual Size2 get_minimum_size() const override { return Size2(0, 200); }
- void save_external_data(const String &p_str = "");
ShaderEditor();
};
@@ -160,19 +210,55 @@ public:
class ShaderEditorPlugin : public EditorPlugin {
GDCLASS(ShaderEditorPlugin, EditorPlugin);
- bool _2d;
- ShaderEditor *shader_editor = nullptr;
+ struct EditedShader {
+ Ref<Shader> shader;
+ Ref<ShaderInclude> shader_inc;
+ ShaderEditor *shader_editor = nullptr;
+ VisualShaderEditor *visual_shader_editor = nullptr;
+ };
+
+ LocalVector<EditedShader> edited_shaders;
+
+ enum {
+ FILE_NEW,
+ FILE_NEW_INCLUDE,
+ FILE_OPEN,
+ FILE_OPEN_INCLUDE,
+ FILE_SAVE,
+ FILE_SAVE_AS,
+ FILE_INSPECT,
+ FILE_CLOSE,
+ FILE_MAX
+ };
+
+ HSplitContainer *main_split = nullptr;
+ ItemList *shader_list = nullptr;
+ TabContainer *shader_tabs = nullptr;
+
Button *button = nullptr;
+ MenuButton *file_menu = nullptr;
+
+ ShaderCreateDialog *shader_create_dialog = nullptr;
+
+ void _update_shader_list();
+ void _shader_selected(int p_index);
+ void _shader_list_clicked(int p_item, Vector2 p_local_mouse_pos, MouseButton p_mouse_button_index);
+ void _menu_item_pressed(int p_index);
+ void _resource_saved(Object *obj);
+ void _close_shader(int p_index);
+
+ void _shader_created(Ref<Shader> p_shader);
+ void _shader_include_created(Ref<ShaderInclude> p_shader_inc);
+ void _update_shader_list_status();
public:
- virtual String get_name() const override { return "Shader"; }
- bool has_main_screen() const override { return false; }
virtual void edit(Object *p_object) override;
virtual bool handles(Object *p_object) const override;
virtual void make_visible(bool p_visible) override;
virtual void selected_notify() override;
- ShaderEditor *get_shader_editor() const { return shader_editor; }
+ ShaderEditor *get_shader_editor(const Ref<Shader> &p_for_shader);
+ VisualShaderEditor *get_visual_shader_editor(const Ref<Shader> &p_for_shader);
virtual void save_external_data() override;
virtual void apply_changes() override;
@@ -181,4 +267,4 @@ public:
~ShaderEditorPlugin();
};
-#endif
+#endif // SHADER_EDITOR_PLUGIN_H
diff --git a/editor/plugins/shader_file_editor_plugin.cpp b/editor/plugins/shader_file_editor_plugin.cpp
index 4458555de2..4874944d33 100644
--- a/editor/plugins/shader_file_editor_plugin.cpp
+++ b/editor/plugins/shader_file_editor_plugin.cpp
@@ -37,7 +37,6 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
-#include "editor/property_editor.h"
#include "servers/display_server.h"
#include "servers/rendering/shader_types.h"
@@ -282,7 +281,7 @@ ShaderFileEditor::ShaderFileEditor() {
stage_hb->add_child(button);
stages[i] = button;
button->set_button_group(bg);
- button->connect("pressed", callable_mp(this, &ShaderFileEditor::_version_selected), varray(i));
+ button->connect("pressed", callable_mp(this, &ShaderFileEditor::_version_selected).bind(i));
}
error_text = memnew(RichTextLabel);
diff --git a/editor/plugins/skeleton_2d_editor_plugin.cpp b/editor/plugins/skeleton_2d_editor_plugin.cpp
index 5a1505c232..3dc068a72a 100644
--- a/editor/plugins/skeleton_2d_editor_plugin.cpp
+++ b/editor/plugins/skeleton_2d_editor_plugin.cpp
@@ -32,6 +32,7 @@
#include "canvas_item_editor_plugin.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/2d/mesh_instance_2d.h"
#include "scene/gui/box_container.h"
#include "thirdparty/misc/clipper.hpp"
@@ -59,7 +60,7 @@ void Skeleton2DEditor::_menu_option(int p_option) {
err_dialog->popup_centered();
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Rest Pose to Bones"));
for (int i = 0; i < node->get_bone_count(); i++) {
Bone2D *bone = node->get_bone(i);
@@ -75,7 +76,7 @@ void Skeleton2DEditor::_menu_option(int p_option) {
err_dialog->popup_centered();
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Create Rest Pose from Bones"));
for (int i = 0; i < node->get_bone_count(); i++) {
Bone2D *bone = node->get_bone(i);
diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp
index 8845fe9eca..1e4ef217f0 100644
--- a/editor/plugins/skeleton_3d_editor_plugin.cpp
+++ b/editor/plugins/skeleton_3d_editor_plugin.cpp
@@ -35,6 +35,7 @@
#include "editor/editor_node.h"
#include "editor/editor_properties.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/animation_player_editor_plugin.h"
#include "node_3d_editor_plugin.h"
#include "scene/3d/collision_shape_3d.h"
@@ -42,6 +43,7 @@
#include "scene/3d/mesh_instance_3d.h"
#include "scene/3d/physics_body_3d.h"
#include "scene/resources/capsule_shape_3d.h"
+#include "scene/resources/skeleton_profile.h"
#include "scene/resources/sphere_shape_3d.h"
#include "scene/resources/surface_tool.h"
@@ -156,7 +158,7 @@ void BoneTransformEditor::_property_keyed(const String &p_path, bool p_advance)
if (split.size() == 3 && split[0] == "bones") {
int bone_idx = split[1].to_int();
if (split[2] == "position") {
- te->insert_transform_key(skeleton, skeleton->get_bone_name(bone_idx), Animation::TYPE_POSITION_3D, skeleton->get(p_path));
+ te->insert_transform_key(skeleton, skeleton->get_bone_name(bone_idx), Animation::TYPE_POSITION_3D, (Vector3)skeleton->get(p_path) / skeleton->get_motion_scale());
}
if (split[2] == "rotation") {
te->insert_transform_key(skeleton, skeleton->get_bone_name(bone_idx), Animation::TYPE_ROTATION_3D, skeleton->get(p_path));
@@ -220,7 +222,7 @@ void Skeleton3DEditor::set_keyable(const bool p_keyable) {
};
void Skeleton3DEditor::set_bone_options_enabled(const bool p_bone_options_enabled) {
- skeleton_options->get_popup()->set_item_disabled(SKELETON_OPTION_INIT_SELECTED_POSES, !p_bone_options_enabled);
+ skeleton_options->get_popup()->set_item_disabled(SKELETON_OPTION_RESET_SELECTED_POSES, !p_bone_options_enabled);
skeleton_options->get_popup()->set_item_disabled(SKELETON_OPTION_SELECTED_POSES_TO_RESTS, !p_bone_options_enabled);
};
@@ -230,12 +232,12 @@ void Skeleton3DEditor::_on_click_skeleton_option(int p_skeleton_option) {
}
switch (p_skeleton_option) {
- case SKELETON_OPTION_INIT_ALL_POSES: {
- init_pose(true);
+ case SKELETON_OPTION_RESET_ALL_POSES: {
+ reset_pose(true);
break;
}
- case SKELETON_OPTION_INIT_SELECTED_POSES: {
- init_pose(false);
+ case SKELETON_OPTION_RESET_SELECTED_POSES: {
+ reset_pose(false);
break;
}
case SKELETON_OPTION_ALL_POSES_TO_RESTS: {
@@ -250,10 +252,14 @@ void Skeleton3DEditor::_on_click_skeleton_option(int p_skeleton_option) {
create_physical_skeleton();
break;
}
+ case SKELETON_OPTION_EXPORT_SKELETON_PROFILE: {
+ export_skeleton_profile();
+ break;
+ }
}
}
-void Skeleton3DEditor::init_pose(const bool p_all_bones) {
+void Skeleton3DEditor::reset_pose(const bool p_all_bones) {
if (!skeleton) {
return;
}
@@ -262,31 +268,25 @@ void Skeleton3DEditor::init_pose(const bool p_all_bones) {
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Bone Transform"), UndoRedo::MERGE_ENDS);
if (p_all_bones) {
for (int i = 0; i < bone_len; i++) {
- Transform3D rest = skeleton->get_bone_rest(i);
- ur->add_do_method(skeleton, "set_bone_pose_position", i, rest.origin);
- ur->add_do_method(skeleton, "set_bone_pose_rotation", i, rest.basis.get_rotation_quaternion());
- ur->add_do_method(skeleton, "set_bone_pose_scale", i, rest.basis.get_scale());
ur->add_undo_method(skeleton, "set_bone_pose_position", i, skeleton->get_bone_pose_position(i));
ur->add_undo_method(skeleton, "set_bone_pose_rotation", i, skeleton->get_bone_pose_rotation(i));
ur->add_undo_method(skeleton, "set_bone_pose_scale", i, skeleton->get_bone_pose_scale(i));
}
+ ur->add_do_method(skeleton, "reset_bone_poses");
} else {
// Todo: Do method with multiple bone selection.
if (selected_bone == -1) {
ur->commit_action();
return;
}
- Transform3D rest = skeleton->get_bone_rest(selected_bone);
- ur->add_do_method(skeleton, "set_bone_pose_position", selected_bone, rest.origin);
- ur->add_do_method(skeleton, "set_bone_pose_rotation", selected_bone, rest.basis.get_rotation_quaternion());
- ur->add_do_method(skeleton, "set_bone_pose_scale", selected_bone, rest.basis.get_scale());
ur->add_undo_method(skeleton, "set_bone_pose_position", selected_bone, skeleton->get_bone_pose_position(selected_bone));
ur->add_undo_method(skeleton, "set_bone_pose_rotation", selected_bone, skeleton->get_bone_pose_rotation(selected_bone));
ur->add_undo_method(skeleton, "set_bone_pose_scale", selected_bone, skeleton->get_bone_pose_scale(selected_bone));
+ ur->add_do_method(skeleton, "reset_bone_pose", selected_bone);
}
ur->commit_action();
}
@@ -314,7 +314,7 @@ void Skeleton3DEditor::insert_keys(const bool p_all_bones) {
}
if (pos_enabled && (p_all_bones || te->has_track(skeleton, name, Animation::TYPE_POSITION_3D))) {
- te->insert_transform_key(skeleton, name, Animation::TYPE_POSITION_3D, skeleton->get_bone_pose_position(i));
+ te->insert_transform_key(skeleton, name, Animation::TYPE_POSITION_3D, skeleton->get_bone_pose_position(i) / skeleton->get_motion_scale());
}
if (rot_enabled && (p_all_bones || te->has_track(skeleton, name, Animation::TYPE_ROTATION_3D))) {
te->insert_transform_key(skeleton, name, Animation::TYPE_ROTATION_3D, skeleton->get_bone_pose_rotation(i));
@@ -335,7 +335,7 @@ void Skeleton3DEditor::pose_to_rest(const bool p_all_bones) {
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Bone Rest"), UndoRedo::MERGE_ENDS);
if (p_all_bones) {
for (int i = 0; i < bone_len; i++) {
@@ -355,7 +355,7 @@ void Skeleton3DEditor::pose_to_rest(const bool p_all_bones) {
}
void Skeleton3DEditor::create_physical_skeleton() {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ERR_FAIL_COND(!get_tree());
Node *owner = get_tree()->get_edited_scene_root();
@@ -451,6 +451,73 @@ PhysicalBone3D *Skeleton3DEditor::create_physical_bone(int bone_id, int bone_chi
return physical_bone;
}
+void Skeleton3DEditor::export_skeleton_profile() {
+ file_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
+ file_dialog->set_title(TTR("Export Skeleton Profile As..."));
+
+ List<String> exts;
+ ResourceLoader::get_recognized_extensions_for_type("SkeletonProfile", &exts);
+ file_dialog->clear_filters();
+ for (const String &K : exts) {
+ file_dialog->add_filter("*." + K);
+ }
+
+ file_dialog->popup_file_dialog();
+}
+
+void Skeleton3DEditor::_file_selected(const String &p_file) {
+ // Export SkeletonProfile.
+ Ref<SkeletonProfile> sp(memnew(SkeletonProfile));
+
+ // Build SkeletonProfile.
+ sp->set_group_size(1);
+
+ Vector<Vector2> handle_positions;
+ Vector2 position_max;
+ Vector2 position_min;
+
+ int len = skeleton->get_bone_count();
+ sp->set_bone_size(len);
+ for (int i = 0; i < len; i++) {
+ sp->set_bone_name(i, skeleton->get_bone_name(i));
+ int parent = skeleton->get_bone_parent(i);
+ if (parent >= 0) {
+ sp->set_bone_parent(i, skeleton->get_bone_name(parent));
+ }
+ sp->set_reference_pose(i, skeleton->get_bone_rest(i));
+
+ Transform3D grest = skeleton->get_bone_global_rest(i);
+ handle_positions.append(Vector2(grest.origin.x, grest.origin.y));
+ if (i == 0) {
+ position_max = Vector2(grest.origin.x, grest.origin.y);
+ position_min = Vector2(grest.origin.x, grest.origin.y);
+ } else {
+ position_max.x = MAX(grest.origin.x, position_max.x);
+ position_max.y = MAX(grest.origin.y, position_max.y);
+ position_min.x = MIN(grest.origin.x, position_min.x);
+ position_min.y = MIN(grest.origin.y, position_min.y);
+ }
+ }
+
+ // Layout handles provisionaly.
+ Vector2 bound = Vector2(position_max.x - position_min.x, position_max.y - position_min.y);
+ Vector2 center = Vector2((position_max.x + position_min.x) * 0.5, (position_max.y + position_min.y) * 0.5);
+ float nrm = MAX(bound.x, bound.y);
+ if (nrm > 0) {
+ for (int i = 0; i < len; i++) {
+ handle_positions.write[i] = (handle_positions[i] - center) / nrm * 0.9;
+ sp->set_handle_offset(i, Vector2(0.5 + handle_positions[i].x, 0.5 - handle_positions[i].y));
+ }
+ }
+
+ Error err = ResourceSaver::save(sp, p_file);
+
+ if (err != OK) {
+ EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving file: %s"), p_file));
+ return;
+ }
+}
+
Variant Skeleton3DEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
TreeItem *selected = joint_tree->get_selected();
@@ -521,7 +588,7 @@ void Skeleton3DEditor::move_skeleton_bone(NodePath p_skeleton_path, int32_t p_se
Node *node = get_node_or_null(p_skeleton_path);
Skeleton3D *skeleton = Object::cast_to<Skeleton3D>(node);
ERR_FAIL_NULL(skeleton);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Bone Parentage"));
// If the target is a child of ourselves, we move only *us* and not our children.
if (skeleton->is_bone_parent_of(p_target_boneidx, p_selected_boneidx)) {
@@ -631,6 +698,11 @@ void Skeleton3DEditor::create_editors() {
Node3DEditor *ne = Node3DEditor::get_singleton();
AnimationTrackEditor *te = AnimationPlayerEditor::get_singleton()->get_track_editor();
+ // Create File dialog.
+ file_dialog = memnew(EditorFileDialog);
+ file_dialog->connect("file_selected", callable_mp(this, &Skeleton3DEditor::_file_selected));
+ add_child(file_dialog);
+
// Create Top Menu Bar.
separator = memnew(VSeparator);
ne->add_control_to_menu_panel(separator);
@@ -644,11 +716,12 @@ void Skeleton3DEditor::create_editors() {
// Skeleton options.
PopupMenu *p = skeleton_options->get_popup();
- p->add_shortcut(ED_SHORTCUT("skeleton_3d_editor/init_all_poses", TTR("Init all Poses")), SKELETON_OPTION_INIT_ALL_POSES);
- p->add_shortcut(ED_SHORTCUT("skeleton_3d_editor/init_selected_poses", TTR("Init selected Poses")), SKELETON_OPTION_INIT_SELECTED_POSES);
+ p->add_shortcut(ED_SHORTCUT("skeleton_3d_editor/reset_all_poses", TTR("Reset all bone Poses")), SKELETON_OPTION_RESET_ALL_POSES);
+ p->add_shortcut(ED_SHORTCUT("skeleton_3d_editor/reset_selected_poses", TTR("Reset selected Poses")), SKELETON_OPTION_RESET_SELECTED_POSES);
p->add_shortcut(ED_SHORTCUT("skeleton_3d_editor/all_poses_to_rests", TTR("Apply all poses to rests")), SKELETON_OPTION_ALL_POSES_TO_RESTS);
p->add_shortcut(ED_SHORTCUT("skeleton_3d_editor/selected_poses_to_rests", TTR("Apply selected poses to rests")), SKELETON_OPTION_SELECTED_POSES_TO_RESTS);
p->add_item(TTR("Create physical skeleton"), SKELETON_OPTION_CREATE_PHYSICAL_SKELETON);
+ p->add_item(TTR("Export skeleton profile"), SKELETON_OPTION_EXPORT_SKELETON_PROFILE);
p->connect("id_pressed", callable_mp(this, &Skeleton3DEditor::_on_click_skeleton_option));
set_bone_options_enabled(false);
@@ -704,7 +777,7 @@ void Skeleton3DEditor::create_editors() {
key_insert_button = memnew(Button);
key_insert_button->set_flat(true);
key_insert_button->set_focus_mode(FOCUS_NONE);
- key_insert_button->connect("pressed", callable_mp(this, &Skeleton3DEditor::insert_keys), varray(false));
+ key_insert_button->connect("pressed", callable_mp(this, &Skeleton3DEditor::insert_keys).bind(false));
key_insert_button->set_tooltip(TTR("Insert key of bone poses already exist track."));
key_insert_button->set_shortcut(ED_SHORTCUT("skeleton_3d_editor/insert_key_to_existing_tracks", TTR("Insert Key (Existing Tracks)"), Key::INSERT));
animation_hb->add_child(key_insert_button);
@@ -712,7 +785,7 @@ void Skeleton3DEditor::create_editors() {
key_insert_all_button = memnew(Button);
key_insert_all_button->set_flat(true);
key_insert_all_button->set_focus_mode(FOCUS_NONE);
- key_insert_all_button->connect("pressed", callable_mp(this, &Skeleton3DEditor::insert_keys), varray(true));
+ key_insert_all_button->connect("pressed", callable_mp(this, &Skeleton3DEditor::insert_keys).bind(true));
key_insert_all_button->set_tooltip(TTR("Insert key of all bone poses."));
key_insert_all_button->set_shortcut(ED_SHORTCUT("skeleton_3d_editor/insert_key_of_all_bones", TTR("Insert Key (All Bones)"), KeyModifierMask::CMD + Key::INSERT));
animation_hb->add_child(key_insert_all_button);
@@ -758,7 +831,7 @@ void Skeleton3DEditor::_notification(int p_what) {
key_scale_button->set_icon(get_theme_icon(SNAME("KeyScale"), SNAME("EditorIcons")));
key_insert_button->set_icon(get_theme_icon(SNAME("Key"), SNAME("EditorIcons")));
key_insert_all_button->set_icon(get_theme_icon(SNAME("NewKey"), SNAME("EditorIcons")));
- get_tree()->connect("node_removed", callable_mp(this, &Skeleton3DEditor::_node_removed), Vector<Variant>(), Object::CONNECT_ONESHOT);
+ get_tree()->connect("node_removed", callable_mp(this, &Skeleton3DEditor::_node_removed), Object::CONNECT_ONESHOT);
break;
}
case NOTIFICATION_ENTER_TREE: {
@@ -843,8 +916,8 @@ void fragment() {
)");
handle_material->set_shader(handle_shader);
Ref<Texture2D> handle = EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("EditorBoneHandle"), SNAME("EditorIcons"));
- handle_material->set_shader_param("point_size", handle->get_width());
- handle_material->set_shader_param("texture_albedo", handle);
+ handle_material->set_shader_uniform("point_size", handle->get_width());
+ handle_material->set_shader_uniform("texture_albedo", handle);
handles_mesh_instance = memnew(MeshInstance3D);
handles_mesh_instance->set_cast_shadows_setting(GeometryInstance3D::SHADOW_CASTING_SETTING_OFF);
@@ -1237,7 +1310,7 @@ void Skeleton3DGizmoPlugin::commit_subgizmos(const EditorNode3DGizmo *p_gizmo, c
Skeleton3DEditor *se = Skeleton3DEditor::get_singleton();
Node3DEditor *ne = Node3DEditor::get_singleton();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Bone Transform"));
if (ne->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT || ne->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE) {
for (int i = 0; i < p_ids.size(); i++) {
diff --git a/editor/plugins/skeleton_3d_editor_plugin.h b/editor/plugins/skeleton_3d_editor_plugin.h
index 8f03e7c8db..f51d4e60e8 100644
--- a/editor/plugins/skeleton_3d_editor_plugin.h
+++ b/editor/plugins/skeleton_3d_editor_plugin.h
@@ -40,6 +40,7 @@
#include "scene/resources/immediate_mesh.h"
class EditorInspectorPluginSkeleton;
+class EditorUndoRedoManager;
class Joint;
class PhysicalBone3D;
class Skeleton3DEditorPlugin;
@@ -63,7 +64,7 @@ class BoneTransformEditor : public VBoxContainer {
Skeleton3D *skeleton = nullptr;
// String property;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
bool toggle_enabled = false;
bool updating = false;
@@ -96,11 +97,12 @@ class Skeleton3DEditor : public VBoxContainer {
friend class Skeleton3DEditorPlugin;
enum SkeletonOption {
- SKELETON_OPTION_INIT_ALL_POSES,
- SKELETON_OPTION_INIT_SELECTED_POSES,
+ SKELETON_OPTION_RESET_ALL_POSES,
+ SKELETON_OPTION_RESET_SELECTED_POSES,
SKELETON_OPTION_ALL_POSES_TO_RESTS,
SKELETON_OPTION_SELECTED_POSES_TO_RESTS,
SKELETON_OPTION_CREATE_PHYSICAL_SKELETON,
+ SKELETON_OPTION_EXPORT_SKELETON_PROFILE,
};
struct BoneInfo {
@@ -147,7 +149,7 @@ class Skeleton3DEditor : public VBoxContainer {
void create_editors();
- void init_pose(const bool p_all_bones);
+ void reset_pose(const bool p_all_bones);
void pose_to_rest(const bool p_all_bones);
void insert_keys(const bool p_all_bones);
@@ -155,6 +157,8 @@ class Skeleton3DEditor : public VBoxContainer {
void create_physical_skeleton();
PhysicalBone3D *create_physical_bone(int bone_id, int bone_child_id, const Vector<BoneInfo> &bones_infos);
+ void export_skeleton_profile();
+
Variant get_drag_data_fw(const Point2 &p_point, Control *p_from);
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
diff --git a/editor/plugins/sprite_2d_editor_plugin.cpp b/editor/plugins/sprite_2d_editor_plugin.cpp
index 6a63875324..e45c907e86 100644
--- a/editor/plugins/sprite_2d_editor_plugin.cpp
+++ b/editor/plugins/sprite_2d_editor_plugin.cpp
@@ -34,6 +34,7 @@
#include "core/math/geometry_2d.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/scene_tree_dock.h"
#include "scene/2d/collision_polygon_2d.h"
#include "scene/2d/light_occluder_2d.h"
@@ -122,7 +123,7 @@ void Sprite2DEditor::_menu_option(int p_option) {
switch (p_option) {
case MENU_OPTION_CONVERT_TO_MESH_2D: {
- debug_uv_dialog->get_ok_button()->set_text(TTR("Create MeshInstance2D"));
+ debug_uv_dialog->set_ok_button_text(TTR("Create MeshInstance2D"));
debug_uv_dialog->set_title(TTR("MeshInstance2D Preview"));
_update_mesh_data();
@@ -131,7 +132,7 @@ void Sprite2DEditor::_menu_option(int p_option) {
} break;
case MENU_OPTION_CONVERT_TO_POLYGON_2D: {
- debug_uv_dialog->get_ok_button()->set_text(TTR("Create Polygon2D"));
+ debug_uv_dialog->set_ok_button_text(TTR("Create Polygon2D"));
debug_uv_dialog->set_title(TTR("Polygon2D Preview"));
_update_mesh_data();
@@ -139,7 +140,7 @@ void Sprite2DEditor::_menu_option(int p_option) {
debug_uv->update();
} break;
case MENU_OPTION_CREATE_COLLISION_POLY_2D: {
- debug_uv_dialog->get_ok_button()->set_text(TTR("Create CollisionPolygon2D"));
+ debug_uv_dialog->set_ok_button_text(TTR("Create CollisionPolygon2D"));
debug_uv_dialog->set_title(TTR("CollisionPolygon2D Preview"));
_update_mesh_data();
@@ -148,7 +149,7 @@ void Sprite2DEditor::_menu_option(int p_option) {
} break;
case MENU_OPTION_CREATE_LIGHT_OCCLUDER_2D: {
- debug_uv_dialog->get_ok_button()->set_text(TTR("Create LightOccluder2D"));
+ debug_uv_dialog->set_ok_button_text(TTR("Create LightOccluder2D"));
debug_uv_dialog->set_title(TTR("LightOccluder2D Preview"));
_update_mesh_data();
@@ -160,6 +161,11 @@ void Sprite2DEditor::_menu_option(int p_option) {
}
void Sprite2DEditor::_update_mesh_data() {
+ if (node->get_owner() != get_tree()->get_edited_scene_root()) {
+ err_dialog->set_text(TTR("Can't convert a Sprite2D from a foreign scene."));
+ err_dialog->popup_centered();
+ }
+
Ref<Texture2D> texture = node->get_texture();
if (texture.is_null()) {
err_dialog->set_text(TTR("Sprite2D is empty!"));
@@ -337,7 +343,7 @@ void Sprite2DEditor::_convert_to_mesh_2d_node() {
MeshInstance2D *mesh_instance = memnew(MeshInstance2D);
mesh_instance->set_mesh(mesh);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Convert to MeshInstance2D"));
ur->add_do_method(SceneTreeDock::get_singleton(), "replace_node", node, mesh_instance, true, false);
ur->add_do_reference(mesh_instance);
@@ -395,7 +401,7 @@ void Sprite2DEditor::_convert_to_polygon_2d_node() {
polygon_2d_instance->set_polygon(polygon);
polygon_2d_instance->set_polygons(polys);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Convert to Polygon2D"));
ur->add_do_method(SceneTreeDock::get_singleton(), "replace_node", node, polygon_2d_instance, true, false);
ur->add_do_reference(polygon_2d_instance);
@@ -417,7 +423,7 @@ void Sprite2DEditor::_create_collision_polygon_2d_node() {
CollisionPolygon2D *collision_polygon_2d_instance = memnew(CollisionPolygon2D);
collision_polygon_2d_instance->set_polygon(outline);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Create CollisionPolygon2D Sibling"));
ur->add_do_method(this, "_add_as_sibling_or_child", node, collision_polygon_2d_instance);
ur->add_do_reference(collision_polygon_2d_instance);
@@ -450,7 +456,7 @@ void Sprite2DEditor::_create_light_occluder_2d_node() {
LightOccluder2D *light_occluder_2d_instance = memnew(LightOccluder2D);
light_occluder_2d_instance->set_occluder_polygon(polygon);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Create LightOccluder2D Sibling"));
ur->add_do_method(this, "_add_as_sibling_or_child", node, light_occluder_2d_instance);
ur->add_do_reference(light_occluder_2d_instance);
@@ -546,7 +552,7 @@ Sprite2DEditor::Sprite2DEditor() {
debug_uv_dialog->connect("confirmed", callable_mp(this, &Sprite2DEditor::_create_node));
HBoxContainer *hb = memnew(HBoxContainer);
- hb->add_child(memnew(Label(TTR("Simplification: "))));
+ hb->add_child(memnew(Label(TTR("Simplification:"))));
simplification = memnew(SpinBox);
simplification->set_min(0.01);
simplification->set_max(10.00);
@@ -554,7 +560,7 @@ Sprite2DEditor::Sprite2DEditor() {
simplification->set_value(2);
hb->add_child(simplification);
hb->add_spacer();
- hb->add_child(memnew(Label(TTR("Shrink (Pixels): "))));
+ hb->add_child(memnew(Label(TTR("Shrink (Pixels):"))));
shrink_pixels = memnew(SpinBox);
shrink_pixels->set_min(0);
shrink_pixels->set_max(10);
@@ -562,7 +568,7 @@ Sprite2DEditor::Sprite2DEditor() {
shrink_pixels->set_value(0);
hb->add_child(shrink_pixels);
hb->add_spacer();
- hb->add_child(memnew(Label(TTR("Grow (Pixels): "))));
+ hb->add_child(memnew(Label(TTR("Grow (Pixels):"))));
grow_pixels = memnew(SpinBox);
grow_pixels->set_min(0);
grow_pixels->set_max(10);
diff --git a/editor/plugins/sprite_2d_editor_plugin.h b/editor/plugins/sprite_2d_editor_plugin.h
index 8e3dc19c7e..b87f108bd2 100644
--- a/editor/plugins/sprite_2d_editor_plugin.h
+++ b/editor/plugins/sprite_2d_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef SPRITE_EDITOR_PLUGIN_H
-#define SPRITE_EDITOR_PLUGIN_H
+#ifndef SPRITE_2D_EDITOR_PLUGIN_H
+#define SPRITE_2D_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/2d/sprite_2d.h"
@@ -111,4 +111,4 @@ public:
~Sprite2DEditorPlugin();
};
-#endif // SPRITE_EDITOR_PLUGIN_H
+#endif // SPRITE_2D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp
index 8a40ffbe38..205fed48b4 100644
--- a/editor/plugins/sprite_frames_editor_plugin.cpp
+++ b/editor/plugins/sprite_frames_editor_plugin.cpp
@@ -37,6 +37,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/scene_tree_dock.h"
#include "scene/3d/sprite_3d.h"
#include "scene/gui/center_container.h"
@@ -119,7 +120,7 @@ void SpriteFramesEditor::_sheet_preview_draw() {
if (frames_selected.size() == 0) {
split_sheet_dialog->get_ok_button()->set_disabled(true);
- split_sheet_dialog->get_ok_button()->set_text(TTR("No Frames Selected"));
+ split_sheet_dialog->set_ok_button_text(TTR("No Frames Selected"));
return;
}
@@ -140,7 +141,7 @@ void SpriteFramesEditor::_sheet_preview_draw() {
}
split_sheet_dialog->get_ok_button()->set_disabled(false);
- split_sheet_dialog->get_ok_button()->set_text(vformat(TTR("Add %d Frame(s)"), frames_selected.size()));
+ split_sheet_dialog->set_ok_button_text(vformat(TTR("Add %d Frame(s)"), frames_selected.size()));
}
void SpriteFramesEditor::_sheet_preview_input(const Ref<InputEvent> &p_event) {
@@ -423,6 +424,7 @@ void SpriteFramesEditor::_notification(int p_what) {
zoom_in->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons")));
new_anim->set_icon(get_theme_icon(SNAME("New"), SNAME("EditorIcons")));
remove_anim->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
+ anim_search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
split_sheet_zoom_out->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons")));
split_sheet_zoom_reset->set_icon(get_theme_icon(SNAME("ZoomReset"), SNAME("EditorIcons")));
split_sheet_zoom_in->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons")));
@@ -449,7 +451,7 @@ void SpriteFramesEditor::_file_load_request(const Vector<String> &p_path, int p_
dialog->set_title(TTR("Error!"));
//dialog->get_cancel()->set_text("Close");
- dialog->get_ok_button()->set_text(TTR("Close"));
+ dialog->set_ok_button_text(TTR("Close"));
dialog->popup_centered();
return; ///beh should show an error i guess
}
@@ -516,7 +518,7 @@ void SpriteFramesEditor::_paste_pressed() {
dialog->set_text(TTR("Resource clipboard is empty or not a texture!"));
dialog->set_title(TTR("Error!"));
//dialog->get_cancel()->set_text("Close");
- dialog->get_ok_button()->set_text(TTR("Close"));
+ dialog->set_ok_button_text(TTR("Close"));
dialog->popup_centered();
return; ///beh should show an error i guess
}
@@ -750,7 +752,7 @@ void SpriteFramesEditor::_animation_name_edited() {
undo_redo->add_do_method(this, "_update_library");
undo_redo->add_undo_method(this, "_update_library");
- edited_anim = new_name;
+ edited_anim = name;
undo_redo->commit_action();
}
@@ -816,6 +818,10 @@ void SpriteFramesEditor::_animation_remove_confirmed() {
undo_redo->commit_action();
}
+void SpriteFramesEditor::_animation_search_text_changed(const String &p_text) {
+ _update_library();
+}
+
void SpriteFramesEditor::_animation_loop_changed() {
if (updating) {
return;
@@ -900,14 +906,19 @@ void SpriteFramesEditor::_update_library(bool p_skip_selector) {
TreeItem *anim_root = animations->create_item();
List<StringName> anim_names;
-
frames->get_animation_list(&anim_names);
-
anim_names.sort_custom<StringName::AlphCompare>();
+ bool searching = anim_search_box->get_text().size();
+ String searched_string = searching ? anim_search_box->get_text().to_lower() : String();
+
for (const StringName &E : anim_names) {
String name = E;
+ if (searching && name.to_lower().find(searched_string) < 0) {
+ continue;
+ }
+
TreeItem *it = animations->create_item(anim_root);
it->set_metadata(0, name);
@@ -970,7 +981,6 @@ void SpriteFramesEditor::_update_library(bool p_skip_selector) {
anim_loop->set_pressed(frames->get_animation_loop(edited_anim));
updating = false;
- //player->add_resource("default",resource);
}
void SpriteFramesEditor::edit(SpriteFrames *p_frames) {
@@ -1001,6 +1011,10 @@ void SpriteFramesEditor::edit(SpriteFrames *p_frames) {
}
}
+void SpriteFramesEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
Variant SpriteFramesEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
if (!frames->has_animation(edited_anim)) {
return false;
@@ -1157,6 +1171,13 @@ SpriteFramesEditor::SpriteFramesEditor() {
hbc_animlist->add_child(remove_anim);
remove_anim->connect("pressed", callable_mp(this, &SpriteFramesEditor::_animation_remove));
+ anim_search_box = memnew(LineEdit);
+ hbc_animlist->add_child(anim_search_box);
+ anim_search_box->set_h_size_flags(SIZE_EXPAND_FILL);
+ anim_search_box->set_placeholder(TTR("Filter Animations"));
+ anim_search_box->set_clear_button_enabled(true);
+ anim_search_box->connect("text_changed", callable_mp(this, &SpriteFramesEditor::_animation_search_text_changed));
+
animations = memnew(Tree);
sub_vb->add_child(animations);
animations->set_v_size_flags(SIZE_EXPAND_FILL);
@@ -1290,7 +1311,7 @@ SpriteFramesEditor::SpriteFramesEditor() {
empty2->connect("pressed", callable_mp(this, &SpriteFramesEditor::_empty2_pressed));
move_up->connect("pressed", callable_mp(this, &SpriteFramesEditor::_up_pressed));
move_down->connect("pressed", callable_mp(this, &SpriteFramesEditor::_down_pressed));
- file->connect("files_selected", callable_mp(this, &SpriteFramesEditor::_file_load_request), make_binds(-1));
+ file->connect("files_selected", callable_mp(this, &SpriteFramesEditor::_file_load_request).bind(-1));
loading_scene = false;
sel = -1;
@@ -1317,7 +1338,7 @@ SpriteFramesEditor::SpriteFramesEditor() {
split_sheet_h->set_max(128);
split_sheet_h->set_step(1);
split_sheet_hb->add_child(split_sheet_h);
- split_sheet_h->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_FRAME_COUNT));
+ split_sheet_h->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_FRAME_COUNT));
split_sheet_hb->add_child(memnew(Label(TTR("Vertical:"))));
split_sheet_v = memnew(SpinBox);
@@ -1325,7 +1346,7 @@ SpriteFramesEditor::SpriteFramesEditor() {
split_sheet_v->set_max(128);
split_sheet_v->set_step(1);
split_sheet_hb->add_child(split_sheet_v);
- split_sheet_v->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_FRAME_COUNT));
+ split_sheet_v->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_FRAME_COUNT));
split_sheet_hb->add_child(memnew(VSeparator));
split_sheet_hb->add_child(memnew(Label(TTR("Size:"))));
@@ -1333,13 +1354,13 @@ SpriteFramesEditor::SpriteFramesEditor() {
split_sheet_size_x->set_min(1);
split_sheet_size_x->set_step(1);
split_sheet_size_x->set_suffix("px");
- split_sheet_size_x->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_SIZE));
+ split_sheet_size_x->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_SIZE));
split_sheet_hb->add_child(split_sheet_size_x);
split_sheet_size_y = memnew(SpinBox);
split_sheet_size_y->set_min(1);
split_sheet_size_y->set_step(1);
split_sheet_size_y->set_suffix("px");
- split_sheet_size_y->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_SIZE));
+ split_sheet_size_y->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_SIZE));
split_sheet_hb->add_child(split_sheet_size_y);
split_sheet_hb->add_child(memnew(VSeparator));
@@ -1348,13 +1369,13 @@ SpriteFramesEditor::SpriteFramesEditor() {
split_sheet_sep_x->set_min(0);
split_sheet_sep_x->set_step(1);
split_sheet_sep_x->set_suffix("px");
- split_sheet_sep_x->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_USE_CURRENT));
+ split_sheet_sep_x->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_USE_CURRENT));
split_sheet_hb->add_child(split_sheet_sep_x);
split_sheet_sep_y = memnew(SpinBox);
split_sheet_sep_y->set_min(0);
split_sheet_sep_y->set_step(1);
split_sheet_sep_y->set_suffix("px");
- split_sheet_sep_y->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_USE_CURRENT));
+ split_sheet_sep_y->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_USE_CURRENT));
split_sheet_hb->add_child(split_sheet_sep_y);
split_sheet_hb->add_child(memnew(VSeparator));
@@ -1363,13 +1384,13 @@ SpriteFramesEditor::SpriteFramesEditor() {
split_sheet_offset_x->set_min(0);
split_sheet_offset_x->set_step(1);
split_sheet_offset_x->set_suffix("px");
- split_sheet_offset_x->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_USE_CURRENT));
+ split_sheet_offset_x->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_USE_CURRENT));
split_sheet_hb->add_child(split_sheet_offset_x);
split_sheet_offset_y = memnew(SpinBox);
split_sheet_offset_y->set_min(0);
split_sheet_offset_y->set_step(1);
split_sheet_offset_y->set_suffix("px");
- split_sheet_offset_y->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed), varray(PARAM_USE_CURRENT));
+ split_sheet_offset_y->connect("value_changed", callable_mp(this, &SpriteFramesEditor::_sheet_spin_changed).bind(PARAM_USE_CURRENT));
split_sheet_hb->add_child(split_sheet_offset_y);
split_sheet_hb->add_spacer();
@@ -1448,10 +1469,14 @@ SpriteFramesEditor::SpriteFramesEditor() {
max_sheet_zoom = 16.0f * MAX(1.0f, EDSCALE);
min_sheet_zoom = 0.01f * MAX(1.0f, EDSCALE);
_zoom_reset();
+
+ // Ensure the anim search box is wide enough by default.
+ // Not by setting its minimum size so it can still be shrinked if desired.
+ set_split_offset(56 * EDSCALE);
}
void SpriteFramesEditorPlugin::edit(Object *p_object) {
- frames_editor->set_undo_redo(&get_undo_redo());
+ frames_editor->set_undo_redo(get_undo_redo());
SpriteFrames *s;
AnimatedSprite2D *animated_sprite = Object::cast_to<AnimatedSprite2D>(p_object);
diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h
index 3c8c5ef19d..f2530b732f 100644
--- a/editor/plugins/sprite_frames_editor_plugin.h
+++ b/editor/plugins/sprite_frames_editor_plugin.h
@@ -37,6 +37,7 @@
#include "scene/gui/check_button.h"
#include "scene/gui/dialogs.h"
#include "scene/gui/item_list.h"
+#include "scene/gui/line_edit.h"
#include "scene/gui/scroll_container.h"
#include "scene/gui/spin_box.h"
#include "scene/gui/split_container.h"
@@ -44,6 +45,7 @@
#include "scene/gui/tree.h"
class EditorFileDialog;
+class EditorUndoRedoManager;
class SpriteFramesEditor : public HSplitContainer {
GDCLASS(SpriteFramesEditor, HSplitContainer);
@@ -73,6 +75,7 @@ class SpriteFramesEditor : public HSplitContainer {
Button *new_anim = nullptr;
Button *remove_anim = nullptr;
+ LineEdit *anim_search_box = nullptr;
Tree *animations = nullptr;
SpinBox *anim_speed = nullptr;
@@ -137,6 +140,7 @@ class SpriteFramesEditor : public HSplitContainer {
void _animation_add();
void _animation_remove();
void _animation_remove_confirmed();
+ void _animation_search_text_changed(const String &p_text);
void _animation_loop_changed();
void _animation_fps_changed(double p_value);
@@ -148,7 +152,7 @@ class SpriteFramesEditor : public HSplitContainer {
bool updating;
bool updating_split_settings = false; // Skip SpinBox/Range callback when setting value by code.
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Variant get_drag_data_fw(const Point2 &p_point, Control *p_from);
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
@@ -173,7 +177,7 @@ protected:
static void _bind_methods();
public:
- void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; }
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void edit(SpriteFrames *p_frames);
SpriteFramesEditor();
diff --git a/editor/plugins/style_box_editor_plugin.cpp b/editor/plugins/style_box_editor_plugin.cpp
index 1281ce0cfd..d4baff34e2 100644
--- a/editor/plugins/style_box_editor_plugin.cpp
+++ b/editor/plugins/style_box_editor_plugin.cpp
@@ -132,7 +132,7 @@ StyleBoxPreview::StyleBoxPreview() {
preview->set_clip_contents(true);
preview->connect("draw", callable_mp(this, &StyleBoxPreview::_redraw));
checkerboard->add_child(preview);
- preview->set_anchors_and_offsets_preset(PRESET_WIDE);
+ preview->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
add_margin_child(TTR("Preview:"), checkerboard);
grid_preview = memnew(TextureButton);
diff --git a/editor/plugins/text_control_editor_plugin.cpp b/editor/plugins/text_control_editor_plugin.cpp
deleted file mode 100644
index 2a5faba4a2..0000000000
--- a/editor/plugins/text_control_editor_plugin.cpp
+++ /dev/null
@@ -1,660 +0,0 @@
-/*************************************************************************/
-/* text_control_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#include "text_control_editor_plugin.h"
-
-#include "editor/editor_node.h"
-#include "editor/editor_scale.h"
-#include "editor/multi_node_edit.h"
-
-void TextControlEditor::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_ENTER_TREE: {
- if (!EditorFileSystem::get_singleton()->is_connected("filesystem_changed", callable_mp(this, &TextControlEditor::_reload_fonts))) {
- EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &TextControlEditor::_reload_fonts), make_binds(""));
- }
- [[fallthrough]];
- }
- case NOTIFICATION_THEME_CHANGED: {
- clear_formatting->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
- } break;
-
- case NOTIFICATION_EXIT_TREE: {
- if (EditorFileSystem::get_singleton()->is_connected("filesystem_changed", callable_mp(this, &TextControlEditor::_reload_fonts))) {
- EditorFileSystem::get_singleton()->disconnect("filesystem_changed", callable_mp(this, &TextControlEditor::_reload_fonts));
- }
- } break;
- }
-}
-
-void TextControlEditor::_bind_methods() {
- ClassDB::bind_method(D_METHOD("_update_control"), &TextControlEditor::_update_control);
-}
-
-void TextControlEditor::_find_resources(EditorFileSystemDirectory *p_dir) {
- for (int i = 0; i < p_dir->get_subdir_count(); i++) {
- _find_resources(p_dir->get_subdir(i));
- }
-
- for (int i = 0; i < p_dir->get_file_count(); i++) {
- if (p_dir->get_file_type(i) == "FontData") {
- Ref<FontData> fd = ResourceLoader::load(p_dir->get_file_path(i));
- if (fd.is_valid()) {
- String name = fd->get_font_name();
- String sty = fd->get_font_style_name();
- if (sty.is_empty()) {
- sty = "Default";
- }
- fonts[name][sty] = p_dir->get_file_path(i);
- }
- }
- }
-}
-
-void TextControlEditor::_reload_fonts(const String &p_path) {
- fonts.clear();
- _find_resources(EditorFileSystem::get_singleton()->get_filesystem());
- _update_control();
-}
-
-void TextControlEditor::_update_fonts_menu() {
- font_list->clear();
- font_list->add_item(TTR("[Theme Default]"), FONT_INFO_THEME_DEFAULT);
- if (custom_font.is_valid()) {
- font_list->add_item(TTR("[Custom Font]"), FONT_INFO_USER_CUSTOM);
- }
-
- int id = FONT_INFO_ID;
- for (const KeyValue<String, HashMap<String, String>> &E : fonts) {
- font_list->add_item(E.key, id++);
- }
-
- if (font_list->get_item_count() > 1) {
- font_list->show();
- } else {
- font_list->hide();
- }
-}
-
-void TextControlEditor::_update_styles_menu() {
- font_style_list->clear();
- if ((font_list->get_selected_id() >= FONT_INFO_ID)) {
- const String &name = font_list->get_item_text(font_list->get_selected());
- for (KeyValue<String, String> &E : fonts[name]) {
- font_style_list->add_item(E.key);
- }
- } else if (font_list->get_selected() >= 0) {
- font_style_list->add_item("Default");
- }
-
- if (font_style_list->get_item_count() > 1) {
- font_style_list->show();
- } else {
- font_style_list->hide();
- }
-}
-
-void TextControlEditor::_update_control() {
- if (!edited_controls.is_empty()) {
- String font_selected;
- bool same_font = true;
- String style_selected;
- bool same_style = true;
- int font_size = 0;
- bool same_font_size = true;
- int outline_size = 0;
- bool same_outline_size = true;
- Color font_color = Color{ 1.0f, 1.0f, 1.0f };
- bool same_font_color = true;
- Color outline_color = Color{ 1.0f, 1.0f, 1.0f };
- bool same_outline_color = true;
-
- int count = edited_controls.size();
- for (int i = 0; i < count; ++i) {
- Control *edited_control = edited_controls[i];
-
- StringName edited_color;
- StringName edited_font;
- StringName edited_font_size;
-
- // Get override names.
- if (Object::cast_to<RichTextLabel>(edited_control)) {
- edited_color = SNAME("default_color");
- edited_font = SNAME("normal_font");
- edited_font_size = SNAME("normal_font_size");
- } else {
- edited_color = SNAME("font_color");
- edited_font = SNAME("font");
- edited_font_size = SNAME("font_size");
- }
-
- // Get font override.
- Ref<Font> font;
- if (edited_control->has_theme_font_override(edited_font)) {
- font = edited_control->get_theme_font(edited_font);
- }
-
- if (font.is_valid()) {
- if (font->get_data_count() != 1) {
- if (i > 0) {
- same_font = same_font && (custom_font == font);
- }
- custom_font = font;
-
- font_selected = TTR("[Custom Font]");
- same_style = false;
- } else {
- String name = font->get_data(0)->get_font_name();
- String style = font->get_data(0)->get_font_style_name();
- if (fonts.has(name) && fonts[name].has(style)) {
- if (i > 0) {
- same_font = same_font && (name == font_selected);
- same_style = same_style && (style == style_selected);
- }
- font_selected = name;
- style_selected = style;
- } else {
- if (i > 0) {
- same_font = same_font && (custom_font == font);
- }
- custom_font = font;
-
- font_selected = TTR("[Custom Font]");
- same_style = false;
- }
- }
- } else {
- if (i > 0) {
- same_font = same_font && (font_selected == TTR("[Theme Default]"));
- }
-
- font_selected = TTR("[Theme Default]");
- same_style = false;
- }
-
- int current_font_size = edited_control->get_theme_font_size(edited_font_size);
- int current_outline_size = edited_control->get_theme_constant(SNAME("outline_size"));
- Color current_font_color = edited_control->get_theme_color(edited_color);
- Color current_outline_color = edited_control->get_theme_color(SNAME("font_outline_color"));
- if (i > 0) {
- same_font_size = same_font_size && (font_size == current_font_size);
- same_outline_size = same_outline_size && (outline_size == current_outline_size);
- same_font_color = same_font_color && (font_color == current_font_color);
- same_outline_color = same_outline_color && (outline_color == current_outline_color);
- }
-
- font_size = current_font_size;
- outline_size = current_outline_size;
- font_color = current_font_color;
- outline_color = current_outline_color;
- }
- _update_fonts_menu();
- if (same_font) {
- for (int j = 0; j < font_list->get_item_count(); j++) {
- if (font_list->get_item_text(j) == font_selected) {
- font_list->select(j);
- break;
- }
- }
- } else {
- custom_font = Ref<Font>();
- font_list->select(-1);
- }
-
- _update_styles_menu();
- if (same_style) {
- for (int j = 0; j < font_style_list->get_item_count(); j++) {
- if (font_style_list->get_item_text(j) == style_selected) {
- font_style_list->select(j);
- break;
- }
- }
- } else {
- font_style_list->select(-1);
- }
-
- // Get other theme overrides.
- font_size_list->set_block_signals(true);
- if (same_font_size) {
- font_size_list->get_line_edit()->set_text(String::num_uint64(font_size));
- font_size_list->set_value(font_size);
- } else {
- font_size_list->get_line_edit()->set_text("");
- }
- font_size_list->set_block_signals(false);
-
- outline_size_list->set_block_signals(true);
- if (same_outline_size) {
- outline_size_list->get_line_edit()->set_text(String::num_uint64(outline_size));
- outline_size_list->set_value(outline_size);
- } else {
- outline_size_list->get_line_edit()->set_text("");
- }
- outline_size_list->set_block_signals(false);
-
- if (!same_font_color) {
- font_color = Color{ 1.0f, 1.0f, 1.0f };
- }
- font_color_picker->set_pick_color(font_color);
-
- if (!same_outline_color) {
- outline_color = Color{ 1.0f, 1.0f, 1.0f };
- }
- outline_color_picker->set_pick_color(outline_color);
- }
-}
-
-void TextControlEditor::_font_selected(int p_id) {
- _update_styles_menu();
- _set_font();
-}
-
-void TextControlEditor::_font_style_selected(int p_id) {
- _set_font();
-}
-
-void TextControlEditor::_set_font() {
- if (edited_controls.is_empty()) {
- return;
- }
-
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Set Font"));
-
- int count = edited_controls.size();
- for (int i = 0; i < count; ++i) {
- Control *edited_control = edited_controls[i];
-
- StringName edited_font;
- if (Object::cast_to<RichTextLabel>(edited_control)) {
- edited_font = SNAME("normal_font");
- } else {
- edited_font = SNAME("font");
- }
-
- if (font_list->get_selected_id() == FONT_INFO_THEME_DEFAULT) {
- // Remove font override.
- ur->add_do_method(edited_control, "remove_theme_font_override", edited_font);
- } else if (font_list->get_selected_id() == FONT_INFO_USER_CUSTOM) {
- // Restore "custom_font".
- ur->add_do_method(edited_control, "add_theme_font_override", edited_font, custom_font);
- } else if (font_list->get_selected() >= 0) {
- // Load new font resource using selected name and style.
- String name = font_list->get_item_text(font_list->get_selected());
- String style = font_style_list->get_item_text(font_style_list->get_selected());
- if (style.is_empty()) {
- style = "Default";
- }
- if (fonts.has(name)) {
- Ref<FontData> fd = ResourceLoader::load(fonts[name][style]);
- if (fd.is_valid()) {
- Ref<Font> font;
- font.instantiate();
- font->add_data(fd);
- ur->add_do_method(edited_control, "add_theme_font_override", edited_font, font);
- }
- }
- }
-
- if (edited_control->has_theme_font_override(edited_font)) {
- ur->add_undo_method(edited_control, "add_theme_font_override", edited_font, edited_control->get_theme_font(edited_font));
- } else {
- ur->add_undo_method(edited_control, "remove_theme_font_override", edited_font);
- }
- }
-
- ur->add_do_method(this, "_update_control");
- ur->add_undo_method(this, "_update_control");
-
- ur->commit_action();
-}
-
-void TextControlEditor::_font_size_selected(double p_size) {
- if (edited_controls.is_empty()) {
- return;
- }
-
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Set Font Size"));
-
- int count = edited_controls.size();
- for (int i = 0; i < count; ++i) {
- Control *edited_control = edited_controls[i];
-
- StringName edited_font_size;
- if (Object::cast_to<RichTextLabel>(edited_control)) {
- edited_font_size = SNAME("normal_font_size");
- } else {
- edited_font_size = SNAME("font_size");
- }
-
- ur->add_do_method(edited_control, "add_theme_font_size_override", edited_font_size, p_size);
- if (edited_control->has_theme_font_size_override(edited_font_size)) {
- ur->add_undo_method(edited_control, "add_theme_font_size_override", edited_font_size, edited_control->get_theme_font_size(edited_font_size));
- } else {
- ur->add_undo_method(edited_control, "remove_theme_font_size_override", edited_font_size);
- }
- }
-
- ur->add_do_method(this, "_update_control");
- ur->add_undo_method(this, "_update_control");
-
- ur->commit_action();
-}
-
-void TextControlEditor::_outline_size_selected(double p_size) {
- if (edited_controls.is_empty()) {
- return;
- }
-
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Set Font Outline Size"));
-
- int count = edited_controls.size();
- for (int i = 0; i < count; ++i) {
- Control *edited_control = edited_controls[i];
-
- ur->add_do_method(edited_control, "add_theme_constant_override", "outline_size", p_size);
- if (edited_control->has_theme_constant_override("outline_size")) {
- ur->add_undo_method(edited_control, "add_theme_constant_override", "outline_size", edited_control->get_theme_constant(SNAME("outline_size")));
- } else {
- ur->add_undo_method(edited_control, "remove_theme_constant_override", "outline_size");
- }
- }
-
- ur->add_do_method(this, "_update_control");
- ur->add_undo_method(this, "_update_control");
-
- ur->commit_action();
-}
-
-void TextControlEditor::_font_color_changed(const Color &p_color) {
- if (edited_controls.is_empty()) {
- return;
- }
-
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Set Font Color"), UndoRedo::MERGE_ENDS);
-
- int count = edited_controls.size();
- for (int i = 0; i < count; ++i) {
- Control *edited_control = edited_controls[i];
-
- StringName edited_color;
- if (Object::cast_to<RichTextLabel>(edited_control)) {
- edited_color = SNAME("default_color");
- } else {
- edited_color = SNAME("font_color");
- }
-
- ur->add_do_method(edited_control, "add_theme_color_override", edited_color, p_color);
- if (edited_control->has_theme_color_override(edited_color)) {
- ur->add_undo_method(edited_control, "add_theme_color_override", edited_color, edited_control->get_theme_color(edited_color));
- } else {
- ur->add_undo_method(edited_control, "remove_theme_color_override", edited_color);
- }
- }
-
- ur->add_do_method(this, "_update_control");
- ur->add_undo_method(this, "_update_control");
-
- ur->commit_action();
-}
-
-void TextControlEditor::_outline_color_changed(const Color &p_color) {
- if (edited_controls.is_empty()) {
- return;
- }
-
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Set Font Outline Color"), UndoRedo::MERGE_ENDS);
-
- int count = edited_controls.size();
- for (int i = 0; i < count; ++i) {
- Control *edited_control = edited_controls[i];
-
- ur->add_do_method(edited_control, "add_theme_color_override", "font_outline_color", p_color);
- if (edited_control->has_theme_color_override("font_outline_color")) {
- ur->add_undo_method(edited_control, "add_theme_color_override", "font_outline_color", edited_control->get_theme_color(SNAME("font_outline_color")));
- } else {
- ur->add_undo_method(edited_control, "remove_theme_color_override", "font_outline_color");
- }
- }
-
- ur->add_do_method(this, "_update_control");
- ur->add_undo_method(this, "_update_control");
-
- ur->commit_action();
-}
-
-void TextControlEditor::_clear_formatting() {
- if (edited_controls.is_empty()) {
- return;
- }
-
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Clear Control Formatting"));
-
- int count = edited_controls.size();
- for (int i = 0; i < count; ++i) {
- Control *edited_control = edited_controls[i];
-
- StringName edited_color;
- StringName edited_font;
- StringName edited_font_size;
-
- // Get override names.
- if (Object::cast_to<RichTextLabel>(edited_control)) {
- edited_color = SNAME("default_color");
- edited_font = SNAME("normal_font");
- edited_font_size = SNAME("normal_font_size");
- } else {
- edited_color = SNAME("font_color");
- edited_font = SNAME("font");
- edited_font_size = SNAME("font_size");
- }
-
- ur->add_do_method(edited_control, "begin_bulk_theme_override");
- ur->add_undo_method(edited_control, "begin_bulk_theme_override");
-
- ur->add_do_method(edited_control, "remove_theme_font_override", edited_font);
- if (edited_control->has_theme_font_override(edited_font)) {
- ur->add_undo_method(edited_control, "add_theme_font_override", edited_font, edited_control->get_theme_font(edited_font));
- }
-
- ur->add_do_method(edited_control, "remove_theme_font_size_override", edited_font_size);
- if (edited_control->has_theme_font_size_override(edited_font_size)) {
- ur->add_undo_method(edited_control, "add_theme_font_size_override", edited_font_size, edited_control->get_theme_font_size(edited_font_size));
- }
-
- ur->add_do_method(edited_control, "remove_theme_color_override", edited_color);
- if (edited_control->has_theme_color_override(edited_color)) {
- ur->add_undo_method(edited_control, "add_theme_color_override", edited_color, edited_control->get_theme_color(edited_color));
- }
-
- ur->add_do_method(edited_control, "remove_theme_color_override", "font_outline_color");
- if (edited_control->has_theme_color_override("font_outline_color")) {
- ur->add_undo_method(edited_control, "add_theme_color_override", "font_outline_color", edited_control->get_theme_color(SNAME("font_outline_color")));
- }
-
- ur->add_do_method(edited_control, "remove_theme_constant_override", "outline_size");
- if (edited_control->has_theme_constant_override("outline_size")) {
- ur->add_undo_method(edited_control, "add_theme_constant_override", "outline_size", edited_control->get_theme_constant(SNAME("outline_size")));
- }
-
- ur->add_do_method(edited_control, "end_bulk_theme_override");
- ur->add_undo_method(edited_control, "end_bulk_theme_override");
- }
-
- ur->add_do_method(this, "_update_control");
- ur->add_undo_method(this, "_update_control");
-
- ur->commit_action();
-}
-
-void TextControlEditor::edit(Object *p_object) {
- Control *ctrl = Object::cast_to<Control>(p_object);
- MultiNodeEdit *multi_node = Object::cast_to<MultiNodeEdit>(p_object);
-
- edited_controls.clear();
- custom_font = Ref<Font>();
- if (ctrl) {
- edited_controls.append(ctrl);
- _update_control();
- } else if (multi_node && handles(multi_node)) {
- int count = multi_node->get_node_count();
- Node *scene = EditorNode::get_singleton()->get_edited_scene();
-
- for (int i = 0; i < count; ++i) {
- Control *child = Object::cast_to<Control>(scene->get_node(multi_node->get_node(i)));
- edited_controls.append(child);
- }
- _update_control();
- }
-}
-
-bool TextControlEditor::handles(Object *p_object) const {
- Control *ctrl = Object::cast_to<Control>(p_object);
- MultiNodeEdit *multi_node = Object::cast_to<MultiNodeEdit>(p_object);
-
- if (!ctrl && !multi_node) {
- return false;
- } else if (ctrl) {
- bool valid = false;
- ctrl->get("text", &valid);
- return valid;
- } else {
- bool valid = true;
- int count = multi_node->get_node_count();
- Node *scene = EditorNode::get_singleton()->get_edited_scene();
-
- for (int i = 0; i < count; ++i) {
- bool temp_valid = false;
- Control *child = Object::cast_to<Control>(scene->get_node(multi_node->get_node(i)));
- if (child) {
- child->get("text", &temp_valid);
- }
- valid = valid && temp_valid;
-
- if (!valid) {
- break;
- }
- }
-
- return valid;
- }
-}
-
-TextControlEditor::TextControlEditor() {
- add_child(memnew(VSeparator));
-
- font_list = memnew(OptionButton);
- font_list->set_flat(true);
- font_list->set_tooltip(TTR("Font"));
- add_child(font_list);
- font_list->connect("item_selected", callable_mp(this, &TextControlEditor::_font_selected));
-
- font_style_list = memnew(OptionButton);
- font_style_list->set_flat(true);
- font_style_list->set_tooltip(TTR("Font style"));
- font_style_list->set_toggle_mode(true);
- add_child(font_style_list);
- font_style_list->connect("item_selected", callable_mp(this, &TextControlEditor::_font_style_selected));
-
- font_size_list = memnew(SpinBox);
- font_size_list->set_tooltip(TTR("Font Size"));
- font_size_list->get_line_edit()->add_theme_constant_override("minimum_character_width", 2);
- font_size_list->set_min(6);
- font_size_list->set_step(1);
- font_size_list->set_max(96);
- font_size_list->get_line_edit()->set_flat(true);
- add_child(font_size_list);
- font_size_list->connect("value_changed", callable_mp(this, &TextControlEditor::_font_size_selected));
-
- font_color_picker = memnew(ColorPickerButton);
- font_color_picker->set_custom_minimum_size(Size2(20, 0) * EDSCALE);
- font_color_picker->set_flat(true);
- font_color_picker->set_tooltip(TTR("Text Color"));
- add_child(font_color_picker);
- font_color_picker->connect("color_changed", callable_mp(this, &TextControlEditor::_font_color_changed));
-
- add_child(memnew(VSeparator));
-
- outline_size_list = memnew(SpinBox);
- outline_size_list->set_tooltip(TTR("Outline Size"));
- outline_size_list->get_line_edit()->add_theme_constant_override("minimum_character_width", 2);
- outline_size_list->set_min(0);
- outline_size_list->set_step(1);
- outline_size_list->set_max(96);
- outline_size_list->get_line_edit()->set_flat(true);
- add_child(outline_size_list);
- outline_size_list->connect("value_changed", callable_mp(this, &TextControlEditor::_outline_size_selected));
-
- outline_color_picker = memnew(ColorPickerButton);
- outline_color_picker->set_custom_minimum_size(Size2(20, 0) * EDSCALE);
- outline_color_picker->set_flat(true);
- outline_color_picker->set_tooltip(TTR("Outline Color"));
- add_child(outline_color_picker);
- outline_color_picker->connect("color_changed", callable_mp(this, &TextControlEditor::_outline_color_changed));
-
- add_child(memnew(VSeparator));
-
- clear_formatting = memnew(Button);
- clear_formatting->set_flat(true);
- clear_formatting->set_tooltip(TTR("Clear Formatting"));
- add_child(clear_formatting);
- clear_formatting->connect("pressed", callable_mp(this, &TextControlEditor::_clear_formatting));
-}
-
-/*************************************************************************/
-
-void TextControlEditorPlugin::edit(Object *p_object) {
- text_ctl_editor->edit(p_object);
-}
-
-bool TextControlEditorPlugin::handles(Object *p_object) const {
- return text_ctl_editor->handles(p_object);
-}
-
-void TextControlEditorPlugin::make_visible(bool p_visible) {
- if (p_visible) {
- text_ctl_editor->show();
- } else {
- text_ctl_editor->hide();
- text_ctl_editor->edit(nullptr);
- }
-}
-
-TextControlEditorPlugin::TextControlEditorPlugin() {
- text_ctl_editor = memnew(TextControlEditor);
- CanvasItemEditor::get_singleton()->add_control_to_menu_panel(text_ctl_editor);
-
- text_ctl_editor->hide();
-}
diff --git a/editor/plugins/text_control_editor_plugin.h b/editor/plugins/text_control_editor_plugin.h
deleted file mode 100644
index cf069338b6..0000000000
--- a/editor/plugins/text_control_editor_plugin.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*************************************************************************/
-/* text_control_editor_plugin.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#ifndef TEXT_CONTROL_EDITOR_PLUGIN_H
-#define TEXT_CONTROL_EDITOR_PLUGIN_H
-
-#include "canvas_item_editor_plugin.h"
-#include "editor/editor_file_system.h"
-#include "editor/editor_inspector.h"
-#include "editor/editor_plugin.h"
-#include "scene/gui/color_picker.h"
-#include "scene/gui/color_rect.h"
-#include "scene/gui/menu_button.h"
-#include "scene/gui/option_button.h"
-#include "scene/gui/popup_menu.h"
-
-/*************************************************************************/
-
-class TextControlEditor : public HBoxContainer {
- GDCLASS(TextControlEditor, HBoxContainer);
-
- enum FontInfoID {
- FONT_INFO_THEME_DEFAULT = 0,
- FONT_INFO_USER_CUSTOM = 1,
- FONT_INFO_ID = 100,
- };
-
- HashMap<String, HashMap<String, String>> fonts;
-
- OptionButton *font_list = nullptr;
- SpinBox *font_size_list = nullptr;
- OptionButton *font_style_list = nullptr;
- ColorPickerButton *font_color_picker = nullptr;
- SpinBox *outline_size_list = nullptr;
- ColorPickerButton *outline_color_picker = nullptr;
- Button *clear_formatting = nullptr;
-
- Vector<Control *> edited_controls;
- Ref<Font> custom_font;
-
-protected:
- void _notification(int p_what);
- static void _bind_methods();
-
- void _find_resources(EditorFileSystemDirectory *p_dir);
- void _reload_fonts(const String &p_path);
-
- void _update_fonts_menu();
- void _update_styles_menu();
- void _update_control();
-
- void _font_selected(int p_id);
- void _font_style_selected(int p_id);
- void _set_font();
-
- void _font_size_selected(double p_size);
- void _outline_size_selected(double p_size);
-
- void _font_color_changed(const Color &p_color);
- void _outline_color_changed(const Color &p_color);
-
- void _clear_formatting();
-
-public:
- void edit(Object *p_object);
- bool handles(Object *p_object) const;
-
- TextControlEditor();
-};
-
-/*************************************************************************/
-
-class TextControlEditorPlugin : public EditorPlugin {
- GDCLASS(TextControlEditorPlugin, EditorPlugin);
-
- TextControlEditor *text_ctl_editor = nullptr;
-
-public:
- virtual String get_name() const override { return "TextControlFontEditor"; }
- bool has_main_screen() const override { return false; }
- virtual void edit(Object *p_object) override;
- virtual bool handles(Object *p_object) const override;
- virtual void make_visible(bool p_visible) override;
-
- TextControlEditorPlugin();
-};
-
-#endif // TEXT_CONTROL_EDITOR_PLUGIN_H
diff --git a/editor/plugins/text_editor.cpp b/editor/plugins/text_editor.cpp
index 7ca65c073d..0900415b04 100644
--- a/editor/plugins/text_editor.cpp
+++ b/editor/plugins/text_editor.cpp
@@ -32,6 +32,7 @@
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
+#include "editor/editor_settings.h"
void TextEditor::add_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlighter) {
ERR_FAIL_COND(p_highlighter.is_null());
@@ -127,8 +128,8 @@ Control *TextEditor::get_base_editor() const {
return code_editor->get_text_editor();
}
-Array TextEditor::get_breakpoints() {
- return Array();
+PackedInt32Array TextEditor::get_breakpoints() {
+ return PackedInt32Array();
}
void TextEditor::reload_text() {
@@ -164,7 +165,7 @@ void TextEditor::_update_bookmark_list() {
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
- Array bookmark_list = code_editor->get_text_editor()->get_bookmarked_lines();
+ PackedInt32Array bookmark_list = code_editor->get_text_editor()->get_bookmarked_lines();
if (bookmark_list.size() == 0) {
return;
}
@@ -275,7 +276,7 @@ void TextEditor::update_settings() {
void TextEditor::set_tooltip_request_func(const Callable &p_toolip_callback) {
Variant args[1] = { this };
const Variant *argp[] = { &args[0] };
- code_editor->get_text_editor()->set_tooltip_request_func(p_toolip_callback.bind(argp, 1));
+ code_editor->get_text_editor()->set_tooltip_request_func(p_toolip_callback.bindp(argp, 1));
}
Control *TextEditor::get_edit_menu() {
@@ -524,7 +525,7 @@ TextEditor::TextEditor() {
code_editor->add_theme_constant_override("separation", 0);
code_editor->connect("load_theme_settings", callable_mp(this, &TextEditor::_load_theme_settings));
code_editor->connect("validate_script", callable_mp(this, &TextEditor::_validate_script));
- code_editor->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ code_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
code_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL);
code_editor->show_toggle_scripts_button();
diff --git a/editor/plugins/text_editor.h b/editor/plugins/text_editor.h
index 4f0121da52..15f7c45653 100644
--- a/editor/plugins/text_editor.h
+++ b/editor/plugins/text_editor.h
@@ -118,7 +118,7 @@ public:
virtual Variant get_edit_state() override;
virtual void set_edit_state(const Variant &p_state) override;
virtual Vector<String> get_functions() override;
- virtual Array get_breakpoints() override;
+ virtual PackedInt32Array get_breakpoints() override;
virtual void set_breakpoint(int p_line, bool p_enabled) override{};
virtual void clear_breakpoints() override{};
virtual void goto_line(int p_line, bool p_with_error = false) override;
diff --git a/editor/plugins/texture_3d_editor_plugin.cpp b/editor/plugins/texture_3d_editor_plugin.cpp
index 0fc7079a24..64cafa17f3 100644
--- a/editor/plugins/texture_3d_editor_plugin.cpp
+++ b/editor/plugins/texture_3d_editor_plugin.cpp
@@ -57,8 +57,8 @@ void Texture3DEditor::_texture_changed() {
}
void Texture3DEditor::_update_material() {
- material->set_shader_param("layer", (layer->get_value() + 0.5) / texture->get_depth());
- material->set_shader_param("tex", texture->get_rid());
+ material->set_shader_uniform("layer", (layer->get_value() + 0.5) / texture->get_depth());
+ material->set_shader_uniform("tex", texture->get_rid());
String format = Image::get_format_name(texture->get_format());
diff --git a/editor/plugins/texture_3d_editor_plugin.h b/editor/plugins/texture_3d_editor_plugin.h
index 2f7f6f83bb..357bdb0845 100644
--- a/editor/plugins/texture_3d_editor_plugin.h
+++ b/editor/plugins/texture_3d_editor_plugin.h
@@ -91,4 +91,4 @@ public:
Texture3DEditorPlugin();
};
-#endif // TEXTURE_EDITOR_PLUGIN_H
+#endif // TEXTURE_3D_EDITOR_PLUGIN_H
diff --git a/editor/plugins/texture_editor_plugin.cpp b/editor/plugins/texture_editor_plugin.cpp
index 15f03fd46d..be382759f5 100644
--- a/editor/plugins/texture_editor_plugin.cpp
+++ b/editor/plugins/texture_editor_plugin.cpp
@@ -59,7 +59,7 @@ void TexturePreview::_notification(int p_what) {
}
void TexturePreview::_update_metadata_label_text() {
- Ref<Texture2D> texture = texture_display->get_texture();
+ const Ref<Texture2D> texture = texture_display->get_texture();
String format;
if (Object::cast_to<ImageTexture>(*texture)) {
@@ -70,7 +70,49 @@ void TexturePreview::_update_metadata_label_text() {
format = texture->get_class();
}
- metadata_label->set_text(vformat(String::utf8("%s×%s %s"), itos(texture->get_width()), itos(texture->get_height()), format));
+ const Ref<Image> image = texture->get_image();
+ if (image.is_valid()) {
+ const int mipmaps = image->get_mipmap_count();
+ // Avoid signed integer overflow that could occur with huge texture sizes by casting everything to uint64_t.
+ uint64_t memory = uint64_t(image->get_width()) * uint64_t(image->get_height()) * uint64_t(Image::get_format_pixel_size(image->get_format()));
+ // Handle VRAM-compressed formats that are stored with 4 bpp.
+ memory >>= Image::get_format_pixel_rshift(image->get_format());
+
+ float mipmaps_multiplier = 1.0;
+ float mipmap_increase = 0.25;
+ for (int i = 0; i < mipmaps; i++) {
+ // Each mip adds 25% memory usage of the previous one.
+ // With a complete mipmap chain, memory usage increases by ~33%.
+ mipmaps_multiplier += mipmap_increase;
+ mipmap_increase *= 0.25;
+ }
+ memory *= mipmaps_multiplier;
+
+ if (mipmaps >= 1) {
+ metadata_label->set_text(
+ vformat(String::utf8("%d×%d %s\n") + TTR("%s Mipmaps") + "\n" + TTR("Memory: %s"),
+ texture->get_width(),
+ texture->get_height(),
+ format,
+ mipmaps,
+ String::humanize_size(memory)));
+ } else {
+ // "No Mipmaps" is easier to distinguish than "0 Mipmaps",
+ // especially since 0, 6, and 8 look quite close with the default code font.
+ metadata_label->set_text(
+ vformat(String::utf8("%d×%d %s\n") + TTR("No Mipmaps") + "\n" + TTR("Memory: %s"),
+ texture->get_width(),
+ texture->get_height(),
+ format,
+ String::humanize_size(memory)));
+ }
+ } else {
+ metadata_label->set_text(
+ vformat(String::utf8("%d×%d %s"),
+ texture->get_width(),
+ texture->get_height(),
+ format));
+ }
}
TexturePreview::TexturePreview(Ref<Texture2D> p_texture, bool p_show_metadata) {
@@ -82,7 +124,7 @@ TexturePreview::TexturePreview(Ref<Texture2D> p_texture, bool p_show_metadata) {
texture_display = memnew(TextureRect);
texture_display->set_texture(p_texture);
- texture_display->set_anchors_preset(TextureRect::PRESET_WIDE);
+ texture_display->set_anchors_preset(TextureRect::PRESET_FULL_RECT);
texture_display->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED);
texture_display->set_ignore_texture_size(true);
add_child(texture_display);
@@ -95,13 +137,11 @@ TexturePreview::TexturePreview(Ref<Texture2D> p_texture, bool p_show_metadata) {
// It's okay that these colors are static since the grid color is static too.
metadata_label->add_theme_color_override("font_color", Color::named("white"));
- metadata_label->add_theme_color_override("font_color_shadow", Color::named("black"));
+ metadata_label->add_theme_color_override("font_shadow_color", Color::named("black"));
- metadata_label->add_theme_font_size_override("font_size", 16 * EDSCALE);
+ metadata_label->add_theme_font_size_override("font_size", 14 * EDSCALE);
metadata_label->add_theme_color_override("font_outline_color", Color::named("black"));
- metadata_label->add_theme_constant_override("outline_size", 2 * EDSCALE);
-
- metadata_label->add_theme_constant_override("shadow_outline_size", 1);
+ metadata_label->add_theme_constant_override("outline_size", 8 * EDSCALE);
metadata_label->set_h_size_flags(Control::SIZE_SHRINK_END);
metadata_label->set_v_size_flags(Control::SIZE_SHRINK_END);
diff --git a/editor/plugins/texture_layered_editor_plugin.cpp b/editor/plugins/texture_layered_editor_plugin.cpp
index cb146fd342..2c6f70463d 100644
--- a/editor/plugins/texture_layered_editor_plugin.cpp
+++ b/editor/plugins/texture_layered_editor_plugin.cpp
@@ -68,9 +68,9 @@ void TextureLayeredEditor::_texture_changed() {
}
void TextureLayeredEditor::_update_material() {
- materials[0]->set_shader_param("layer", layer->get_value());
- materials[2]->set_shader_param("layer", layer->get_value());
- materials[texture->get_layered_type()]->set_shader_param("tex", texture->get_rid());
+ materials[0]->set_shader_uniform("layer", layer->get_value());
+ materials[2]->set_shader_uniform("layer", layer->get_value());
+ materials[texture->get_layered_type()]->set_shader_uniform("tex", texture->get_rid());
Vector3 v(1, 1, 1);
v.normalize();
@@ -79,10 +79,10 @@ void TextureLayeredEditor::_update_material() {
b.rotate(Vector3(1, 0, 0), x_rot);
b.rotate(Vector3(0, 1, 0), y_rot);
- materials[1]->set_shader_param("normal", v);
- materials[1]->set_shader_param("rot", b);
- materials[2]->set_shader_param("normal", v);
- materials[2]->set_shader_param("rot", b);
+ materials[1]->set_shader_uniform("normal", v);
+ materials[1]->set_shader_uniform("rot", b);
+ materials[2]->set_shader_uniform("normal", v);
+ materials[2]->set_shader_uniform("rot", b);
String format = Image::get_format_name(texture->get_format());
diff --git a/editor/plugins/texture_layered_editor_plugin.h b/editor/plugins/texture_layered_editor_plugin.h
index 830916e954..f49aa83eb2 100644
--- a/editor/plugins/texture_layered_editor_plugin.h
+++ b/editor/plugins/texture_layered_editor_plugin.h
@@ -93,4 +93,4 @@ public:
TextureLayeredEditorPlugin();
};
-#endif // TEXTURE_EDITOR_PLUGIN_H
+#endif // TEXTURE_LAYERED_EDITOR_PLUGIN_H
diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp
index 3f4f9a4f4d..772bae6544 100644
--- a/editor/plugins/texture_region_editor_plugin.cpp
+++ b/editor/plugins/texture_region_editor_plugin.cpp
@@ -35,7 +35,10 @@
#include "core/os/keyboard.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/check_box.h"
+#include "scene/gui/separator.h"
#include "scene/gui/view_panner.h"
#include "scene/resources/texture.h"
@@ -239,7 +242,7 @@ void TextureRegionEditor::_region_draw() {
hscroll->set_value((hscroll->get_min() + hscroll->get_max() - hscroll->get_page()) / 2);
vscroll->set_value((vscroll->get_min() + vscroll->get_max() - vscroll->get_page()) / 2);
// This ensures that the view is updated correctly.
- callable_bind(callable_mp(this, &TextureRegionEditor::_pan_callback), Vector2(1, 0)).call_deferred(nullptr, 0);
+ callable_mp(this, &TextureRegionEditor::_pan_callback).bind(Vector2(1, 0)).call_deferredp(nullptr, 0);
request_center = false;
}
@@ -989,7 +992,7 @@ Vector2 TextureRegionEditor::snap_point(Vector2 p_target) const {
}
TextureRegionEditor::TextureRegionEditor() {
- get_ok_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Close"));
VBoxContainer *vb = memnew(VBoxContainer);
add_child(vb);
node_sprite_2d = nullptr;
@@ -1153,7 +1156,7 @@ bool EditorInspectorPluginTextureRegion::parse_property(Object *p_object, const
if (((Object::cast_to<Sprite2D>(p_object) || Object::cast_to<Sprite3D>(p_object) || Object::cast_to<NinePatchRect>(p_object) || Object::cast_to<StyleBoxTexture>(p_object)) && p_path == "region_rect") || (Object::cast_to<AtlasTexture>(p_object) && p_path == "region")) {
Button *button = EditorInspector::create_inspector_action_button(TTR("Edit Region"));
button->set_icon(texture_region_editor->get_theme_icon(SNAME("RegionEdit"), SNAME("EditorIcons")));
- button->connect("pressed", callable_mp(this, &EditorInspectorPluginTextureRegion::_region_edit), varray(p_object));
+ button->connect("pressed", callable_mp(this, &EditorInspectorPluginTextureRegion::_region_edit).bind(p_object));
add_property_editor(p_path, button, true);
}
}
diff --git a/editor/plugins/texture_region_editor_plugin.h b/editor/plugins/texture_region_editor_plugin.h
index a18c87f153..e3bbaf49fc 100644
--- a/editor/plugins/texture_region_editor_plugin.h
+++ b/editor/plugins/texture_region_editor_plugin.h
@@ -40,6 +40,7 @@
#include "scene/resources/texture.h"
class ViewPanner;
+class EditorUndoRedoManager;
class TextureRegionEditor : public AcceptDialog {
GDCLASS(TextureRegionEditor, AcceptDialog);
@@ -68,7 +69,7 @@ class TextureRegionEditor : public AcceptDialog {
VScrollBar *vscroll = nullptr;
HScrollBar *hscroll = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Vector2 draw_ofs;
float draw_zoom = 0.0;
diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp
index 751751aaaa..af3959d47c 100644
--- a/editor/plugins/theme_editor_plugin.cpp
+++ b/editor/plugins/theme_editor_plugin.cpp
@@ -35,7 +35,9 @@
#include "editor/editor_node.h"
#include "editor/editor_resource_picker.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/progress_dialog.h"
+#include "scene/gui/color_picker.h"
void ThemeItemImportTree::_update_items_tree() {
import_items_tree->clear();
@@ -70,9 +72,17 @@ void ThemeItemImportTree::_update_items_tree() {
for (const StringName &E : types) {
String type_name = (String)E;
+ Ref<Texture2D> type_icon;
+ if (E == "") {
+ type_icon = get_theme_icon(SNAME("NodeDisabled"), SNAME("EditorIcons"));
+ } else {
+ type_icon = EditorNode::get_singleton()->get_class_icon(E, "NodeDisabled");
+ }
+
TreeItem *type_node = import_items_tree->create_item(root);
type_node->set_meta("_can_be_imported", false);
type_node->set_collapsed(true);
+ type_node->set_icon(0, type_icon);
type_node->set_text(0, type_name);
type_node->set_cell_mode(IMPORT_ITEM, TreeItem::CELL_MODE_CHECK);
type_node->set_checked(IMPORT_ITEM, false);
@@ -214,7 +224,7 @@ void ThemeItemImportTree::_update_items_tree() {
if (color_amount > 0) {
Array arr;
arr.push_back(color_amount);
- select_colors_label->set_text(TTRN("One color", "{num} colors", color_amount).format(arr, "{num}"));
+ select_colors_label->set_text(TTRN("1 color", "{num} colors", color_amount).format(arr, "{num}"));
select_all_colors_button->set_visible(true);
select_full_colors_button->set_visible(true);
deselect_all_colors_button->set_visible(true);
@@ -228,7 +238,7 @@ void ThemeItemImportTree::_update_items_tree() {
if (constant_amount > 0) {
Array arr;
arr.push_back(constant_amount);
- select_constants_label->set_text(TTRN("One constant", "{num} constants", constant_amount).format(arr, "{num}"));
+ select_constants_label->set_text(TTRN("1 constant", "{num} constants", constant_amount).format(arr, "{num}"));
select_all_constants_button->set_visible(true);
select_full_constants_button->set_visible(true);
deselect_all_constants_button->set_visible(true);
@@ -242,7 +252,7 @@ void ThemeItemImportTree::_update_items_tree() {
if (font_amount > 0) {
Array arr;
arr.push_back(font_amount);
- select_fonts_label->set_text(TTRN("One font", "{num} fonts", font_amount).format(arr, "{num}"));
+ select_fonts_label->set_text(TTRN("1 font", "{num} fonts", font_amount).format(arr, "{num}"));
select_all_fonts_button->set_visible(true);
select_full_fonts_button->set_visible(true);
deselect_all_fonts_button->set_visible(true);
@@ -256,7 +266,7 @@ void ThemeItemImportTree::_update_items_tree() {
if (font_size_amount > 0) {
Array arr;
arr.push_back(font_size_amount);
- select_font_sizes_label->set_text(TTRN("One font size", "{num} font sizes", font_size_amount).format(arr, "{num}"));
+ select_font_sizes_label->set_text(TTRN("1 font size", "{num} font sizes", font_size_amount).format(arr, "{num}"));
select_all_font_sizes_button->set_visible(true);
select_full_font_sizes_button->set_visible(true);
deselect_all_font_sizes_button->set_visible(true);
@@ -270,7 +280,7 @@ void ThemeItemImportTree::_update_items_tree() {
if (icon_amount > 0) {
Array arr;
arr.push_back(icon_amount);
- select_icons_label->set_text(TTRN("One icon", "{num} icons", icon_amount).format(arr, "{num}"));
+ select_icons_label->set_text(TTRN("1 icon", "{num} icons", icon_amount).format(arr, "{num}"));
select_all_icons_button->set_visible(true);
select_full_icons_button->set_visible(true);
deselect_all_icons_button->set_visible(true);
@@ -286,7 +296,7 @@ void ThemeItemImportTree::_update_items_tree() {
if (stylebox_amount > 0) {
Array arr;
arr.push_back(stylebox_amount);
- select_styleboxes_label->set_text(TTRN("One stylebox", "{num} styleboxes", stylebox_amount).format(arr, "{num}"));
+ select_styleboxes_label->set_text(TTRN("1 stylebox", "{num} styleboxes", stylebox_amount).format(arr, "{num}"));
select_all_styleboxes_button->set_visible(true);
select_full_styleboxes_button->set_visible(true);
deselect_all_styleboxes_button->set_visible(true);
@@ -787,7 +797,7 @@ void ThemeItemImportTree::_import_selected() {
ProgressDialog::get_singleton()->end_task("import_theme_items");
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Import Theme Items"));
ur->add_do_method(*edited_theme, "clear");
@@ -834,6 +844,8 @@ void ThemeItemImportTree::_notification(int p_what) {
select_icons_warning_icon->set_texture(get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons")));
select_icons_warning->add_theme_color_override("font_color", get_theme_color(SNAME("disabled_font_color"), SNAME("Editor")));
+ import_items_filter->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
+
// Bottom panel buttons.
import_collapse_types_button->set_icon(get_theme_icon(SNAME("CollapseTree"), SNAME("EditorIcons")));
import_expand_types_button->set_icon(get_theme_icon(SNAME("ExpandTree"), SNAME("EditorIcons")));
@@ -881,15 +893,10 @@ void ThemeItemImportTree::_bind_methods() {
}
ThemeItemImportTree::ThemeItemImportTree() {
- HBoxContainer *import_items_filter_hb = memnew(HBoxContainer);
- add_child(import_items_filter_hb);
- Label *import_items_filter_label = memnew(Label);
- import_items_filter_label->set_text(TTR("Filter:"));
- import_items_filter_hb->add_child(import_items_filter_label);
import_items_filter = memnew(LineEdit);
+ import_items_filter->set_placeholder(TTR("Filter Items"));
import_items_filter->set_clear_button_enabled(true);
- import_items_filter->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- import_items_filter_hb->add_child(import_items_filter);
+ add_child(import_items_filter);
import_items_filter->connect("text_changed", callable_mp(this, &ThemeItemImportTree::_filter_text_changed));
HBoxContainer *import_main_hb = memnew(HBoxContainer);
@@ -1098,15 +1105,15 @@ ThemeItemImportTree::ThemeItemImportTree() {
select_all_items_button->set_flat(true);
select_all_items_button->set_tooltip(select_all_items_tooltip);
button_set->add_child(select_all_items_button);
- select_all_items_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_select_all_data_type_pressed), varray(i));
+ select_all_items_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_select_all_data_type_pressed).bind(i));
select_full_items_button->set_flat(true);
select_full_items_button->set_tooltip(select_full_items_tooltip);
button_set->add_child(select_full_items_button);
- select_full_items_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_select_full_data_type_pressed), varray(i));
+ select_full_items_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_select_full_data_type_pressed).bind(i));
deselect_all_items_button->set_flat(true);
deselect_all_items_button->set_tooltip(deselect_all_items_tooltip);
button_set->add_child(deselect_all_items_button);
- deselect_all_items_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_deselect_all_data_type_pressed), varray(i));
+ deselect_all_items_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_deselect_all_data_type_pressed).bind(i));
total_selected_items_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT);
total_selected_items_label->hide();
@@ -1122,7 +1129,7 @@ ThemeItemImportTree::ThemeItemImportTree() {
select_icons_warning = memnew(Label);
select_icons_warning->set_text(TTR("Caution: Adding icon data may considerably increase the size of your Theme resource."));
- select_icons_warning->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ select_icons_warning->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
select_icons_warning->set_h_size_flags(Control::SIZE_EXPAND_FILL);
select_icons_warning_hb->add_child(select_icons_warning);
}
@@ -1137,12 +1144,12 @@ ThemeItemImportTree::ThemeItemImportTree() {
import_collapse_types_button->set_flat(true);
import_collapse_types_button->set_tooltip(TTR("Collapse types."));
import_buttons->add_child(import_collapse_types_button);
- import_collapse_types_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_toggle_type_items), varray(true));
+ import_collapse_types_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_toggle_type_items).bind(true));
import_expand_types_button = memnew(Button);
import_expand_types_button->set_flat(true);
import_expand_types_button->set_tooltip(TTR("Expand types."));
import_buttons->add_child(import_expand_types_button);
- import_expand_types_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_toggle_type_items), varray(false));
+ import_expand_types_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_toggle_type_items).bind(false));
import_buttons->add_child(memnew(VSeparator));
@@ -1173,6 +1180,8 @@ ThemeItemImportTree::ThemeItemImportTree() {
import_add_selected_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_import_selected));
}
+///////////////////////
+
void ThemeItemEditorDialog::ok_pressed() {
if (import_default_theme_items->has_selected_items() || import_editor_theme_items->has_selected_items() || import_other_theme_items->has_selected_items()) {
confirm_closing_dialog->set_text(TTR("Import Items tab has some items selected. Selection will be lost upon closing this window.\nClose anyway?"));
@@ -1486,7 +1495,7 @@ void ThemeItemEditorDialog::_item_tree_button_pressed(Object *p_item, int p_colu
String item_name = item->get_text(0);
int data_type = item->get_parent()->get_metadata(0);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Theme Item"));
ur->add_do_method(*edited_theme, "clear_theme_item", (Theme::DataType)data_type, item_name, edited_item_type);
ur->add_undo_method(*edited_theme, "set_theme_item", (Theme::DataType)data_type, item_name, edited_item_type, edited_theme->get_theme_item((Theme::DataType)data_type, item_name, edited_item_type));
@@ -1505,7 +1514,7 @@ void ThemeItemEditorDialog::_add_theme_type(const String &p_new_text) {
const String new_type = edit_add_type_value->get_text().strip_edges();
edit_add_type_value->clear();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Add Theme Type"));
ur->add_do_method(*edited_theme, "add_type", new_type);
@@ -1517,7 +1526,7 @@ void ThemeItemEditorDialog::_add_theme_type(const String &p_new_text) {
}
void ThemeItemEditorDialog::_add_theme_item(Theme::DataType p_data_type, String p_item_name, String p_item_type) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Create Theme Item"));
switch (p_data_type) {
@@ -1562,7 +1571,7 @@ void ThemeItemEditorDialog::_remove_theme_type(const String &p_theme_type) {
Ref<Theme> old_snapshot = edited_theme->duplicate();
Ref<Theme> new_snapshot = edited_theme->duplicate();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Theme Type"));
new_snapshot->remove_type(p_theme_type);
@@ -1585,7 +1594,7 @@ void ThemeItemEditorDialog::_remove_data_type_items(Theme::DataType p_data_type,
Ref<Theme> old_snapshot = edited_theme->duplicate();
Ref<Theme> new_snapshot = edited_theme->duplicate();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Data Type Items From Theme"));
new_snapshot->get_theme_item_list(p_data_type, p_item_type, &names);
@@ -1614,7 +1623,7 @@ void ThemeItemEditorDialog::_remove_class_items() {
Ref<Theme> old_snapshot = edited_theme->duplicate();
Ref<Theme> new_snapshot = edited_theme->duplicate();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Class Items From Theme"));
for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) {
@@ -1650,7 +1659,7 @@ void ThemeItemEditorDialog::_remove_custom_items() {
Ref<Theme> old_snapshot = edited_theme->duplicate();
Ref<Theme> new_snapshot = edited_theme->duplicate();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Custom Items From Theme"));
for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) {
@@ -1686,7 +1695,7 @@ void ThemeItemEditorDialog::_remove_all_items() {
Ref<Theme> old_snapshot = edited_theme->duplicate();
Ref<Theme> new_snapshot = edited_theme->duplicate();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove All Items From Theme"));
for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) {
@@ -1790,7 +1799,7 @@ void ThemeItemEditorDialog::_confirm_edit_theme_item() {
if (item_popup_mode == CREATE_THEME_ITEM) {
_add_theme_item(edit_item_data_type, theme_item_name->get_text(), edited_item_type);
} else if (item_popup_mode == RENAME_THEME_ITEM) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Rename Theme Item"));
ur->add_do_method(*edited_theme, "rename_theme_item", edit_item_data_type, edit_item_old_name, theme_item_name->get_text(), edited_item_type);
@@ -1870,10 +1879,9 @@ void ThemeItemEditorDialog::_notification(int p_what) {
edit_items_remove_custom->set_icon(get_theme_icon(SNAME("ThemeRemoveCustomItems"), SNAME("EditorIcons")));
edit_items_remove_all->set_icon(get_theme_icon(SNAME("ThemeRemoveAllItems"), SNAME("EditorIcons")));
- import_another_theme_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")));
+ edit_add_type_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- tc->add_theme_style_override("tab_selected", get_theme_stylebox(SNAME("tab_selected_odd"), SNAME("TabContainer")));
- tc->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel_odd"), SNAME("TabContainer")));
+ import_another_theme_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")));
} break;
}
}
@@ -1889,13 +1897,14 @@ void ThemeItemEditorDialog::set_edited_theme(const Ref<Theme> &p_theme) {
ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_editor) {
set_title(TTR("Manage Theme Items"));
- get_ok_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Close"));
set_hide_on_ok(false); // Closing may require a confirmation in some cases.
theme_type_editor = p_theme_type_editor;
tc = memnew(TabContainer);
add_child(tc);
+ tc->set_theme_type_variation("TabContainerOdd");
// Edit Items tab.
HSplitContainer *edit_dialog_hs = memnew(HSplitContainer);
@@ -1929,10 +1938,9 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito
edit_add_type_value->set_h_size_flags(Control::SIZE_EXPAND_FILL);
edit_add_type_value->connect("text_submitted", callable_mp(this, &ThemeItemEditorDialog::_add_theme_type));
edit_add_type_hb->add_child(edit_add_type_value);
- Button *edit_add_type_button = memnew(Button);
- edit_add_type_button->set_text(TTR("Add"));
+ edit_add_type_button = memnew(Button);
edit_add_type_hb->add_child(edit_add_type_button);
- edit_add_type_button->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_add_theme_type), varray(""));
+ edit_add_type_button->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_add_theme_type).bind(""));
VBoxContainer *edit_items_vb = memnew(VBoxContainer);
edit_items_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
@@ -1950,42 +1958,42 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito
edit_items_add_color->set_flat(true);
edit_items_add_color->set_disabled(true);
edit_items_toolbar->add_child(edit_items_add_color);
- edit_items_add_color->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog), varray(Theme::DATA_TYPE_COLOR));
+ edit_items_add_color->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog).bind(Theme::DATA_TYPE_COLOR));
edit_items_add_constant = memnew(Button);
edit_items_add_constant->set_tooltip(TTR("Add Constant Item"));
edit_items_add_constant->set_flat(true);
edit_items_add_constant->set_disabled(true);
edit_items_toolbar->add_child(edit_items_add_constant);
- edit_items_add_constant->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog), varray(Theme::DATA_TYPE_CONSTANT));
+ edit_items_add_constant->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog).bind(Theme::DATA_TYPE_CONSTANT));
edit_items_add_font = memnew(Button);
edit_items_add_font->set_tooltip(TTR("Add Font Item"));
edit_items_add_font->set_flat(true);
edit_items_add_font->set_disabled(true);
edit_items_toolbar->add_child(edit_items_add_font);
- edit_items_add_font->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog), varray(Theme::DATA_TYPE_FONT));
+ edit_items_add_font->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog).bind(Theme::DATA_TYPE_FONT));
edit_items_add_font_size = memnew(Button);
edit_items_add_font_size->set_tooltip(TTR("Add Font Size Item"));
edit_items_add_font_size->set_flat(true);
edit_items_add_font_size->set_disabled(true);
edit_items_toolbar->add_child(edit_items_add_font_size);
- edit_items_add_font_size->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog), varray(Theme::DATA_TYPE_FONT_SIZE));
+ edit_items_add_font_size->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog).bind(Theme::DATA_TYPE_FONT_SIZE));
edit_items_add_icon = memnew(Button);
edit_items_add_icon->set_tooltip(TTR("Add Icon Item"));
edit_items_add_icon->set_flat(true);
edit_items_add_icon->set_disabled(true);
edit_items_toolbar->add_child(edit_items_add_icon);
- edit_items_add_icon->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog), varray(Theme::DATA_TYPE_ICON));
+ edit_items_add_icon->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog).bind(Theme::DATA_TYPE_ICON));
edit_items_add_stylebox = memnew(Button);
edit_items_add_stylebox->set_tooltip(TTR("Add StyleBox Item"));
edit_items_add_stylebox->set_flat(true);
edit_items_add_stylebox->set_disabled(true);
edit_items_toolbar->add_child(edit_items_add_stylebox);
- edit_items_add_stylebox->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog), varray(Theme::DATA_TYPE_STYLEBOX));
+ edit_items_add_stylebox->connect("pressed", callable_mp(this, &ThemeItemEditorDialog::_open_add_theme_item_dialog).bind(Theme::DATA_TYPE_STYLEBOX));
edit_items_toolbar->add_child(memnew(VSeparator));
@@ -2022,11 +2030,11 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito
edit_items_tree->connect("button_clicked", callable_mp(this, &ThemeItemEditorDialog::_item_tree_button_pressed));
edit_items_message = memnew(Label);
- edit_items_message->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ edit_items_message->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
edit_items_message->set_mouse_filter(Control::MOUSE_FILTER_STOP);
edit_items_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
edit_items_message->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
- edit_items_message->set_autowrap_mode(Label::AUTOWRAP_WORD);
+ edit_items_message->set_autowrap_mode(TextServer::AUTOWRAP_WORD);
edit_items_tree->add_child(edit_items_message);
edit_theme_item_dialog = memnew(ConfirmationDialog);
@@ -2085,7 +2093,7 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito
List<String> ext;
ResourceLoader::get_recognized_extensions_for_type("Theme", &ext);
for (const String &E : ext) {
- import_another_theme_dialog->add_filter(vformat("*.%s; %s", E, TTR("Theme Resource")));
+ import_another_theme_dialog->add_filter("*." + E, TTR("Theme Resource"));
}
import_another_file_hb->add_child(import_another_theme_dialog);
import_another_theme_dialog->connect("file_selected", callable_mp(this, &ThemeItemEditorDialog::_select_another_theme_cbk));
@@ -2104,6 +2112,8 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito
confirm_closing_dialog->connect("confirmed", callable_mp(this, &ThemeItemEditorDialog::_close_dialog));
}
+///////////////////////
+
void ThemeTypeDialog::_dialog_about_to_show() {
add_type_filter->set_text("");
add_type_filter->grab_focus();
@@ -2242,6 +2252,8 @@ ThemeTypeDialog::ThemeTypeDialog() {
add_child(add_type_confirmation);
}
+///////////////////////
+
VBoxContainer *ThemeTypeEditor::_create_item_list(Theme::DataType p_data_type) {
VBoxContainer *items_tab = memnew(VBoxContainer);
items_tab->set_custom_minimum_size(Size2(0, 160) * EDSCALE);
@@ -2261,11 +2273,11 @@ VBoxContainer *ThemeTypeEditor::_create_item_list(Theme::DataType p_data_type) {
LineEdit *item_add_edit = memnew(LineEdit);
item_add_edit->set_h_size_flags(SIZE_EXPAND_FILL);
item_add_hb->add_child(item_add_edit);
- item_add_edit->connect("text_submitted", callable_mp(this, &ThemeTypeEditor::_item_add_lineedit_cbk), varray(p_data_type, item_add_edit));
+ item_add_edit->connect("text_submitted", callable_mp(this, &ThemeTypeEditor::_item_add_lineedit_cbk).bind(p_data_type, item_add_edit));
Button *item_add_button = memnew(Button);
item_add_button->set_text(TTR("Add"));
item_add_hb->add_child(item_add_button);
- item_add_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_add_cbk), varray(p_data_type, item_add_edit));
+ item_add_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_add_cbk).bind(p_data_type, item_add_edit));
return items_list;
}
@@ -2408,7 +2420,7 @@ HBoxContainer *ThemeTypeEditor::_create_property_control(Theme::DataType p_data_
item_name_edit->set_h_size_flags(SIZE_EXPAND_FILL);
item_name_edit->set_text(p_item_name);
item_name_container->add_child(item_name_edit);
- item_name_edit->connect("text_submitted", callable_mp(this, &ThemeTypeEditor::_item_rename_entered), varray(p_data_type, p_item_name, item_name_container));
+ item_name_edit->connect("text_submitted", callable_mp(this, &ThemeTypeEditor::_item_rename_entered).bind(p_data_type, p_item_name, item_name_container));
item_name_edit->hide();
Button *item_rename_button = memnew(Button);
@@ -2416,21 +2428,21 @@ HBoxContainer *ThemeTypeEditor::_create_property_control(Theme::DataType p_data_
item_rename_button->set_tooltip(TTR("Rename Item"));
item_rename_button->set_flat(true);
item_name_container->add_child(item_rename_button);
- item_rename_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_rename_cbk), varray(p_data_type, p_item_name, item_name_container));
+ item_rename_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_rename_cbk).bind(p_data_type, p_item_name, item_name_container));
Button *item_remove_button = memnew(Button);
item_remove_button->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
item_remove_button->set_tooltip(TTR("Remove Item"));
item_remove_button->set_flat(true);
item_name_container->add_child(item_remove_button);
- item_remove_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_remove_cbk), varray(p_data_type, p_item_name));
+ item_remove_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_remove_cbk).bind(p_data_type, p_item_name));
Button *item_rename_confirm_button = memnew(Button);
item_rename_confirm_button->set_icon(get_theme_icon(SNAME("ImportCheck"), SNAME("EditorIcons")));
item_rename_confirm_button->set_tooltip(TTR("Confirm Item Rename"));
item_rename_confirm_button->set_flat(true);
item_name_container->add_child(item_rename_confirm_button);
- item_rename_confirm_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_rename_confirmed), varray(p_data_type, p_item_name, item_name_container));
+ item_rename_confirm_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_rename_confirmed).bind(p_data_type, p_item_name, item_name_container));
item_rename_confirm_button->hide();
Button *item_rename_cancel_button = memnew(Button);
@@ -2438,7 +2450,7 @@ HBoxContainer *ThemeTypeEditor::_create_property_control(Theme::DataType p_data_
item_rename_cancel_button->set_tooltip(TTR("Cancel Item Rename"));
item_rename_cancel_button->set_flat(true);
item_name_container->add_child(item_rename_cancel_button);
- item_rename_cancel_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_rename_canceled), varray(p_data_type, p_item_name, item_name_container));
+ item_rename_cancel_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_rename_canceled).bind(p_data_type, p_item_name, item_name_container));
item_rename_cancel_button->hide();
} else {
item_name->add_theme_color_override("font_color", get_theme_color(SNAME("disabled_font_color"), SNAME("Editor")));
@@ -2448,7 +2460,7 @@ HBoxContainer *ThemeTypeEditor::_create_property_control(Theme::DataType p_data_
item_override_button->set_tooltip(TTR("Override Item"));
item_override_button->set_flat(true);
item_name_container->add_child(item_override_button);
- item_override_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_override_cbk), varray(p_data_type, p_item_name));
+ item_override_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_item_override_cbk).bind(p_data_type, p_item_name));
}
return item_control;
@@ -2481,7 +2493,8 @@ void ThemeTypeEditor::_update_type_items() {
if (E.value) {
item_editor->set_pick_color(edited_theme->get_color(E.key, edited_type));
- item_editor->connect("color_changed", callable_mp(this, &ThemeTypeEditor::_color_item_changed), varray(E.key));
+ item_editor->connect("color_changed", callable_mp(this, &ThemeTypeEditor::_color_item_changed).bind(E.key));
+ item_editor->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker).bind(item_editor->get_picker()));
} else {
item_editor->set_pick_color(Theme::get_default()->get_color(E.key, edited_type));
item_editor->set_disabled(true);
@@ -2514,7 +2527,7 @@ void ThemeTypeEditor::_update_type_items() {
if (E.value) {
item_editor->set_value(edited_theme->get_constant(E.key, edited_type));
- item_editor->connect("value_changed", callable_mp(this, &ThemeTypeEditor::_constant_item_changed), varray(E.key));
+ item_editor->connect("value_changed", callable_mp(this, &ThemeTypeEditor::_constant_item_changed).bind(E.key));
} else {
item_editor->set_value(Theme::get_default()->get_constant(E.key, edited_type));
item_editor->set_editable(false);
@@ -2548,7 +2561,7 @@ void ThemeTypeEditor::_update_type_items() {
item_editor->set_edited_resource(Ref<Resource>());
}
item_editor->connect("resource_selected", callable_mp(this, &ThemeTypeEditor::_edit_resource_item));
- item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_font_item_changed), varray(E.key));
+ item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_font_item_changed).bind(E.key));
} else {
if (Theme::get_default()->has_font(E.key, edited_type)) {
item_editor->set_edited_resource(Theme::get_default()->get_font(E.key, edited_type));
@@ -2585,7 +2598,7 @@ void ThemeTypeEditor::_update_type_items() {
if (E.value) {
item_editor->set_value(edited_theme->get_font_size(E.key, edited_type));
- item_editor->connect("value_changed", callable_mp(this, &ThemeTypeEditor::_font_size_item_changed), varray(E.key));
+ item_editor->connect("value_changed", callable_mp(this, &ThemeTypeEditor::_font_size_item_changed).bind(E.key));
} else {
item_editor->set_value(Theme::get_default()->get_font_size(E.key, edited_type));
item_editor->set_editable(false);
@@ -2619,7 +2632,7 @@ void ThemeTypeEditor::_update_type_items() {
item_editor->set_edited_resource(Ref<Resource>());
}
item_editor->connect("resource_selected", callable_mp(this, &ThemeTypeEditor::_edit_resource_item));
- item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_icon_item_changed), varray(E.key));
+ item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_icon_item_changed).bind(E.key));
} else {
if (Theme::get_default()->has_icon(E.key, edited_type)) {
item_editor->set_edited_resource(Theme::get_default()->get_icon(E.key, edited_type));
@@ -2666,7 +2679,7 @@ void ThemeTypeEditor::_update_type_items() {
item_editor->set_edited_resource(Ref<Resource>());
}
item_editor->connect("resource_selected", callable_mp(this, &ThemeTypeEditor::_edit_resource_item));
- item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_stylebox_item_changed), varray(leading_stylebox.item_name));
+ item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_stylebox_item_changed).bind(leading_stylebox.item_name));
stylebox_items_list->add_child(item_control);
stylebox_items_list->add_child(memnew(HSeparator));
@@ -2691,7 +2704,7 @@ void ThemeTypeEditor::_update_type_items() {
item_editor->set_edited_resource(Ref<Resource>());
}
item_editor->connect("resource_selected", callable_mp(this, &ThemeTypeEditor::_edit_resource_item));
- item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_stylebox_item_changed), varray(E.key));
+ item_editor->connect("resource_changed", callable_mp(this, &ThemeTypeEditor::_stylebox_item_changed).bind(E.key));
Button *pin_leader_button = memnew(Button);
pin_leader_button->set_flat(true);
@@ -2699,7 +2712,7 @@ void ThemeTypeEditor::_update_type_items() {
pin_leader_button->set_icon(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")));
pin_leader_button->set_tooltip(TTR("Pin this StyleBox as a main style. Editing its properties will update the same properties in all other StyleBoxes of this type."));
item_control->add_child(pin_leader_button);
- pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_on_pin_leader_button_pressed), varray(item_editor, E.key));
+ pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_on_pin_leader_button_pressed).bind(item_editor, E.key));
} else {
if (Theme::get_default()->has_stylebox(E.key, edited_type)) {
item_editor->set_edited_resource(Theme::get_default()->get_stylebox(E.key, edited_type));
@@ -2738,7 +2751,7 @@ void ThemeTypeEditor::_list_type_selected(int p_index) {
void ThemeTypeEditor::_add_type_button_cbk() {
add_type_mode = ADD_THEME_TYPE;
add_type_dialog->set_title(TTR("Add Item Type"));
- add_type_dialog->get_ok_button()->set_text(TTR("Add Type"));
+ add_type_dialog->set_ok_button_text(TTR("Add Type"));
add_type_dialog->set_include_own_types(false);
add_type_dialog->popup_centered(Size2(560, 420) * EDSCALE);
}
@@ -2812,7 +2825,7 @@ void ThemeTypeEditor::_add_default_type_items() {
updating = false;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Override All Default Theme Items"));
ur->add_do_method(*edited_theme, "merge_with", new_snapshot);
@@ -2832,7 +2845,7 @@ void ThemeTypeEditor::_item_add_cbk(int p_data_type, Control *p_control) {
}
String item_name = le->get_text().strip_edges();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Add Theme Item"));
switch (p_data_type) {
@@ -2877,7 +2890,7 @@ void ThemeTypeEditor::_item_add_lineedit_cbk(String p_value, int p_data_type, Co
}
void ThemeTypeEditor::_item_override_cbk(int p_data_type, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Override Theme Item"));
switch (p_data_type) {
@@ -2916,7 +2929,7 @@ void ThemeTypeEditor::_item_override_cbk(int p_data_type, String p_item_name) {
}
void ThemeTypeEditor::_item_remove_cbk(int p_data_type, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Remove Theme Item"));
switch (p_data_type) {
@@ -2936,10 +2949,6 @@ void ThemeTypeEditor::_item_remove_cbk(int p_data_type, String p_item_name) {
ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, Ref<Font>());
}
} break;
- case Theme::DATA_TYPE_FONT_SIZE: {
- ur->add_do_method(*edited_theme, "clear_font_size", p_item_name, edited_type);
- ur->add_undo_method(*edited_theme, "set_font_size", p_item_name, edited_type, edited_theme->get_font_size(p_item_name, edited_type));
- } break;
case Theme::DATA_TYPE_ICON: {
ur->add_do_method(*edited_theme, "clear_icon", p_item_name, edited_type);
if (edited_theme->has_icon(p_item_name, edited_type)) {
@@ -2994,7 +3003,7 @@ void ThemeTypeEditor::_item_rename_confirmed(int p_data_type, String p_item_name
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Rename Theme Item"));
switch (p_data_type) {
@@ -3050,7 +3059,7 @@ void ThemeTypeEditor::_item_rename_canceled(int p_data_type, String p_item_name,
}
void ThemeTypeEditor::_color_item_changed(Color p_value, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Color Item in Theme"), UndoRedo::MERGE_ENDS);
ur->add_do_method(*edited_theme, "set_color", p_item_name, edited_type, p_value);
ur->add_undo_method(*edited_theme, "set_color", p_item_name, edited_type, edited_theme->get_color(p_item_name, edited_type));
@@ -3058,7 +3067,7 @@ void ThemeTypeEditor::_color_item_changed(Color p_value, String p_item_name) {
}
void ThemeTypeEditor::_constant_item_changed(float p_value, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Constant Item in Theme"));
ur->add_do_method(*edited_theme, "set_constant", p_item_name, edited_type, p_value);
ur->add_undo_method(*edited_theme, "set_constant", p_item_name, edited_type, edited_theme->get_constant(p_item_name, edited_type));
@@ -3066,7 +3075,7 @@ void ThemeTypeEditor::_constant_item_changed(float p_value, String p_item_name)
}
void ThemeTypeEditor::_font_size_item_changed(float p_value, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Font Size Item in Theme"));
ur->add_do_method(*edited_theme, "set_font_size", p_item_name, edited_type, p_value);
ur->add_undo_method(*edited_theme, "set_font_size", p_item_name, edited_type, edited_theme->get_font_size(p_item_name, edited_type));
@@ -3078,7 +3087,7 @@ void ThemeTypeEditor::_edit_resource_item(Ref<Resource> p_resource, bool p_edit)
}
void ThemeTypeEditor::_font_item_changed(Ref<Font> p_value, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Font Item in Theme"));
ur->add_do_method(*edited_theme, "set_font", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<Font>());
@@ -3095,7 +3104,7 @@ void ThemeTypeEditor::_font_item_changed(Ref<Font> p_value, String p_item_name)
}
void ThemeTypeEditor::_icon_item_changed(Ref<Texture2D> p_value, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Icon Item in Theme"));
ur->add_do_method(*edited_theme, "set_icon", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<Texture2D>());
@@ -3112,7 +3121,7 @@ void ThemeTypeEditor::_icon_item_changed(Ref<Texture2D> p_value, String p_item_n
}
void ThemeTypeEditor::_stylebox_item_changed(Ref<StyleBox> p_value, String p_item_name) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Stylebox Item in Theme"));
ur->add_do_method(*edited_theme, "set_stylebox", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<StyleBox>());
@@ -3155,7 +3164,7 @@ void ThemeTypeEditor::_on_pin_leader_button_pressed(Control *p_editor, String p_
stylebox = Object::cast_to<EditorResourcePicker>(p_editor)->get_edited_resource();
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Pin Stylebox"));
ur->add_do_method(this, "_pin_leading_stylebox", p_item_name, stylebox);
@@ -3188,7 +3197,7 @@ void ThemeTypeEditor::_pin_leading_stylebox(String p_item_name, Ref<StyleBox> p_
}
void ThemeTypeEditor::_on_unpin_leader_button_pressed() {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Unpin Stylebox"));
ur->add_do_method(this, "_unpin_leading_stylebox");
ur->add_undo_method(this, "_pin_leading_stylebox", leading_stylebox.item_name, leading_stylebox.stylebox);
@@ -3257,7 +3266,7 @@ void ThemeTypeEditor::_update_stylebox_from_leading() {
}
void ThemeTypeEditor::_type_variation_changed(const String p_value) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Set Theme Type Variation"));
if (p_value.is_empty()) {
@@ -3278,7 +3287,7 @@ void ThemeTypeEditor::_type_variation_changed(const String p_value) {
void ThemeTypeEditor::_add_type_variation_cbk() {
add_type_mode = ADD_VARIATION_BASE;
add_type_dialog->set_title(TTR("Set Variation Base Type"));
- add_type_dialog->get_ok_button()->set_text(TTR("Set Base Type"));
+ add_type_dialog->set_ok_button_text(TTR("Set Base Type"));
add_type_dialog->set_include_own_types(true);
add_type_dialog->popup_centered(Size2(560, 420) * EDSCALE);
}
@@ -3305,9 +3314,6 @@ void ThemeTypeEditor::_notification(int p_what) {
data_type_tabs->set_tab_icon(5, get_theme_icon(SNAME("StyleBoxFlat"), SNAME("EditorIcons")));
data_type_tabs->set_tab_icon(6, get_theme_icon(SNAME("Tools"), SNAME("EditorIcons")));
- data_type_tabs->add_theme_style_override("tab_selected", get_theme_stylebox(SNAME("tab_selected_odd"), SNAME("TabContainer")));
- data_type_tabs->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel_odd"), SNAME("TabContainer")));
-
type_variation_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
} break;
}
@@ -3376,6 +3382,7 @@ ThemeTypeEditor::ThemeTypeEditor() {
theme_type_list = memnew(OptionButton);
theme_type_list->set_h_size_flags(SIZE_EXPAND_FILL);
+ theme_type_list->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
type_list_hb->add_child(theme_type_list);
theme_type_list->connect("item_selected", callable_mp(this, &ThemeTypeEditor::_list_type_selected));
@@ -3407,6 +3414,7 @@ ThemeTypeEditor::ThemeTypeEditor() {
main_vb->add_child(data_type_tabs);
data_type_tabs->set_v_size_flags(SIZE_EXPAND_FILL);
data_type_tabs->set_use_hidden_tabs_for_min_size(true);
+ data_type_tabs->set_theme_type_variation("TabContainerOdd");
color_items_list = _create_item_list(Theme::DATA_TYPE_COLOR);
constant_items_list = _create_item_list(Theme::DATA_TYPE_CONSTANT);
@@ -3450,7 +3458,7 @@ ThemeTypeEditor::ThemeTypeEditor() {
type_variation_locked = memnew(Label);
type_variation_vb->add_child(type_variation_locked);
type_variation_locked->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- type_variation_locked->set_autowrap_mode(Label::AUTOWRAP_WORD);
+ type_variation_locked->set_autowrap_mode(TextServer::AUTOWRAP_WORD);
type_variation_locked->set_text(TTR("A type associated with a built-in class cannot be marked as a variation of another type."));
type_variation_locked->hide();
@@ -3465,6 +3473,8 @@ ThemeTypeEditor::ThemeTypeEditor() {
add_child(update_debounce_timer);
}
+///////////////////////
+
void ThemeEditor::edit(const Ref<Theme> &p_theme) {
if (theme == p_theme) {
return;
@@ -3515,8 +3525,8 @@ void ThemeEditor::_preview_scene_dialog_cbk(const String &p_path) {
}
_add_preview_tab(preview_tab, p_path.get_file(), get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")));
- preview_tab->connect("scene_invalidated", callable_mp(this, &ThemeEditor::_remove_preview_tab_invalid), varray(preview_tab));
- preview_tab->connect("scene_reloaded", callable_mp(this, &ThemeEditor::_update_preview_tab), varray(preview_tab));
+ preview_tab->connect("scene_invalidated", callable_mp(this, &ThemeEditor::_remove_preview_tab_invalid).bind(preview_tab));
+ preview_tab->connect("scene_reloaded", callable_mp(this, &ThemeEditor::_update_preview_tab).bind(preview_tab));
}
void ThemeEditor::_add_preview_tab(ThemeEditorPreview *p_preview_tab, const String &p_preview_name, const Ref<Texture2D> &p_icon) {
@@ -3589,7 +3599,7 @@ void ThemeEditor::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: {
preview_tabs->add_theme_style_override("tab_selected", get_theme_stylebox(SNAME("ThemeEditorPreviewFG"), SNAME("EditorStyles")));
preview_tabs->add_theme_style_override("tab_unselected", get_theme_stylebox(SNAME("ThemeEditorPreviewBG"), SNAME("EditorStyles")));
- preview_tabs_content->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel_odd"), SNAME("TabContainer")));
+ preview_tabs_content->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("TabContainerOdd")));
add_preview_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
} break;
@@ -3610,13 +3620,13 @@ ThemeEditor::ThemeEditor() {
Button *theme_save_button = memnew(Button);
theme_save_button->set_text(TTR("Save"));
theme_save_button->set_flat(true);
- theme_save_button->connect("pressed", callable_mp(this, &ThemeEditor::_theme_save_button_cbk), varray(false));
+ theme_save_button->connect("pressed", callable_mp(this, &ThemeEditor::_theme_save_button_cbk).bind(false));
top_menu->add_child(theme_save_button);
Button *theme_save_as_button = memnew(Button);
theme_save_as_button->set_text(TTR("Save As..."));
theme_save_as_button->set_flat(true);
- theme_save_as_button->connect("pressed", callable_mp(this, &ThemeEditor::_theme_save_button_cbk), varray(true));
+ theme_save_as_button->connect("pressed", callable_mp(this, &ThemeEditor::_theme_save_button_cbk).bind(true));
top_menu->add_child(theme_save_as_button);
top_menu->add_child(memnew(VSeparator));
@@ -3674,7 +3684,7 @@ ThemeEditor::ThemeEditor() {
List<String> ext;
ResourceLoader::get_recognized_extensions_for_type("PackedScene", &ext);
for (const String &E : ext) {
- preview_scene_dialog->add_filter(vformat("*.%s; %s", E, TTR("Scene")));
+ preview_scene_dialog->add_filter("*." + E, TTR("Scene"));
}
main_hs->add_child(preview_scene_dialog);
preview_scene_dialog->connect("file_selected", callable_mp(this, &ThemeEditor::_preview_scene_dialog_cbk));
@@ -3683,6 +3693,8 @@ ThemeEditor::ThemeEditor() {
theme_type_editor->set_custom_minimum_size(Size2(280, 0) * EDSCALE);
}
+///////////////////////
+
void ThemeEditorPlugin::edit(Object *p_node) {
if (Object::cast_to<Theme>(p_node)) {
theme_editor->edit(Object::cast_to<Theme>(p_node));
@@ -3705,7 +3717,7 @@ bool ThemeEditorPlugin::handles(Object *p_node) const {
// If we are editing a theme already and this particular resource happens to belong to it,
// then we just keep editing it, despite not being able to directly handle it.
- // This only goes one layer deep, but if required this can be extended to support, say, FontData inside of Font.
+ // This only goes one layer deep, but if required this can be extended to support, say, Font inside of Font.
bool belongs_to_theme = false;
if (Object::cast_to<Font>(p_node)) {
diff --git a/editor/plugins/theme_editor_plugin.h b/editor/plugins/theme_editor_plugin.h
index 543113a5eb..9f89a047cb 100644
--- a/editor/plugins/theme_editor_plugin.h
+++ b/editor/plugins/theme_editor_plugin.h
@@ -198,6 +198,7 @@ class ThemeItemEditorDialog : public AcceptDialog {
Tree *edit_type_list = nullptr;
LineEdit *edit_add_type_value = nullptr;
+ Button *edit_add_type_button = nullptr;
String edited_item_type;
Button *edit_items_add_color = nullptr;
diff --git a/editor/plugins/theme_editor_preview.cpp b/editor/plugins/theme_editor_preview.cpp
index a6e34cf5e0..b5c6c6d651 100644
--- a/editor/plugins/theme_editor_preview.cpp
+++ b/editor/plugins/theme_editor_preview.cpp
@@ -36,6 +36,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
#include "scene/gui/button.h"
+#include "scene/gui/check_button.h"
#include "scene/gui/color_picker.h"
#include "scene/gui/progress_bar.h"
#include "scene/resources/packed_scene.h"
@@ -126,7 +127,7 @@ void ThemeEditorPreview::_draw_picker_overlay() {
}
Rect2 highlight_label_rect = highlight_rect;
- highlight_label_rect.size = theme_cache.preview_picker_font->get_string_size(highlight_name, theme_cache.font_size);
+ highlight_label_rect.size = theme_cache.preview_picker_font->get_string_size(highlight_name, HORIZONTAL_ALIGNMENT_LEFT, -1, theme_cache.font_size);
int margin_top = theme_cache.preview_picker_label->get_margin(SIDE_TOP);
int margin_left = theme_cache.preview_picker_label->get_margin(SIDE_LEFT);
@@ -246,7 +247,7 @@ ThemeEditorPreview::ThemeEditorPreview() {
preview_root->set_h_size_flags(SIZE_EXPAND_FILL);
preview_bg = memnew(ColorRect);
- preview_bg->set_anchors_and_offsets_preset(PRESET_WIDE);
+ preview_bg->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
preview_bg->set_color(GLOBAL_GET("rendering/environment/defaults/default_clear_color"));
preview_root->add_child(preview_bg);
diff --git a/editor/plugins/tiles/atlas_merging_dialog.cpp b/editor/plugins/tiles/atlas_merging_dialog.cpp
index e37878ff98..de4f3f7989 100644
--- a/editor/plugins/tiles/atlas_merging_dialog.cpp
+++ b/editor/plugins/tiles/atlas_merging_dialog.cpp
@@ -33,6 +33,7 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/control.h"
#include "scene/gui/split_container.h"
@@ -116,12 +117,8 @@ void AtlasMergingDialog::_generate_merged(Vector<Ref<TileSetAtlasSource>> p_atla
}
}
- Ref<ImageTexture> output_image_texture;
- output_image_texture.instantiate();
- output_image_texture->create_from_image(output_image);
-
merged->set_name(p_atlas_sources[0]->get_name());
- merged->set_texture(output_image_texture);
+ merged->set_texture(ImageTexture::create_from_image(output_image));
merged->set_texture_region_size(new_texture_region_size);
}
}
@@ -260,7 +257,7 @@ AtlasMergingDialog::AtlasMergingDialog() {
set_hide_on_ok(false);
// Ok buttons
- get_ok_button()->set_text(TTR("Merge (Keep original Atlases)"));
+ set_ok_button_text(TTR("Merge (Keep original Atlases)"));
get_ok_button()->set_disabled(true);
merge_button = add_button(TTR("Merge"), true, "merge");
merge_button->set_disabled(true);
diff --git a/editor/plugins/tiles/atlas_merging_dialog.h b/editor/plugins/tiles/atlas_merging_dialog.h
index c54e259594..c7e4635d16 100644
--- a/editor/plugins/tiles/atlas_merging_dialog.h
+++ b/editor/plugins/tiles/atlas_merging_dialog.h
@@ -38,6 +38,7 @@
#include "scene/resources/tile_set.h"
class EditorFileDialog;
+class EditorUndoRedoManager;
class AtlasMergingDialog : public ConfirmationDialog {
GDCLASS(AtlasMergingDialog, ConfirmationDialog);
@@ -49,7 +50,7 @@ private:
LocalVector<HashMap<Vector2i, Vector2i>> merged_mapping;
Ref<TileSet> tile_set;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
// Settings.
int next_line_after_column = 30;
diff --git a/editor/plugins/tiles/tile_atlas_view.cpp b/editor/plugins/tiles/tile_atlas_view.cpp
index 3073c8a7f2..f119ada810 100644
--- a/editor/plugins/tiles/tile_atlas_view.cpp
+++ b/editor/plugins/tiles/tile_atlas_view.cpp
@@ -544,7 +544,7 @@ TileAtlasView::TileAtlasView() {
Panel *panel = memnew(Panel);
panel->set_clip_contents(true);
panel->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
- panel->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ panel->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
panel->set_h_size_flags(SIZE_EXPAND_FILL);
panel->set_v_size_flags(SIZE_EXPAND_FILL);
add_child(panel);
@@ -613,32 +613,32 @@ TileAtlasView::TileAtlasView() {
background_left = memnew(Control);
background_left->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
- background_left->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ background_left->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
background_left->set_texture_repeat(TextureRepeat::TEXTURE_REPEAT_ENABLED);
background_left->connect("draw", callable_mp(this, &TileAtlasView::_draw_background_left));
base_tiles_root_control->add_child(background_left);
base_tiles_drawing_root = memnew(Control);
base_tiles_drawing_root->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
- base_tiles_drawing_root->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ base_tiles_drawing_root->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
base_tiles_drawing_root->set_texture_filter(TEXTURE_FILTER_NEAREST);
base_tiles_root_control->add_child(base_tiles_drawing_root);
base_tiles_draw = memnew(Control);
base_tiles_draw->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
- base_tiles_draw->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ base_tiles_draw->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
base_tiles_draw->connect("draw", callable_mp(this, &TileAtlasView::_draw_base_tiles));
base_tiles_drawing_root->add_child(base_tiles_draw);
base_tiles_texture_grid = memnew(Control);
base_tiles_texture_grid->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
- base_tiles_texture_grid->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ base_tiles_texture_grid->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
base_tiles_texture_grid->connect("draw", callable_mp(this, &TileAtlasView::_draw_base_tiles_texture_grid));
base_tiles_drawing_root->add_child(base_tiles_texture_grid);
base_tiles_shape_grid = memnew(Control);
base_tiles_shape_grid->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
- base_tiles_shape_grid->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ base_tiles_shape_grid->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
base_tiles_shape_grid->connect("draw", callable_mp(this, &TileAtlasView::_draw_base_tiles_shape_grid));
base_tiles_drawing_root->add_child(base_tiles_shape_grid);
diff --git a/editor/plugins/tiles/tile_atlas_view.h b/editor/plugins/tiles/tile_atlas_view.h
index ff46b7871f..196a642283 100644
--- a/editor/plugins/tiles/tile_atlas_view.h
+++ b/editor/plugins/tiles/tile_atlas_view.h
@@ -158,4 +158,4 @@ public:
TileAtlasView();
};
-#endif // TILE_ATLAS_VIEW
+#endif // TILE_ATLAS_VIEW_H
diff --git a/editor/plugins/tiles/tile_data_editors.cpp b/editor/plugins/tiles/tile_data_editors.cpp
index 244c718ebe..b44b6fcc53 100644
--- a/editor/plugins/tiles/tile_data_editors.cpp
+++ b/editor/plugins/tiles/tile_data_editors.cpp
@@ -38,6 +38,7 @@
#include "editor/editor_node.h"
#include "editor/editor_properties.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
void TileDataEditor::_tile_set_changed_plan_update() {
_tile_set_changed_update_needed = true;
@@ -218,7 +219,7 @@ void GenericTilePolygonEditor::_base_control_draw() {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
String text = multiple_polygon_mode ? vformat("%d:%d", tinted_polygon_index, tinted_point_index) : vformat("%d", tinted_point_index);
- Size2 text_size = font->get_string_size(text, font_size);
+ Size2 text_size = font->get_string_size(text, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
base_control->draw_string(font, xform.xform(polygons[tinted_polygon_index][tinted_point_index]) - text_size * 0.5, text, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5));
}
@@ -248,7 +249,14 @@ void GenericTilePolygonEditor::_zoom_changed() {
}
void GenericTilePolygonEditor::_advanced_menu_item_pressed(int p_item_pressed) {
- UndoRedo *undo_redo = use_undo_redo ? editor_undo_redo : memnew(UndoRedo);
+ Ref<EditorUndoRedoManager> undo_redo;
+ if (use_undo_redo) {
+ undo_redo = editor_undo_redo;
+ } else {
+ // This nice hack allows for discarding undo actions without making code too complex.
+ undo_redo.instantiate();
+ }
+
switch (p_item_pressed) {
case RESET_TO_DEFAULT_TILE: {
undo_redo->create_action(TTR("Reset Polygons"));
@@ -322,9 +330,6 @@ void GenericTilePolygonEditor::_advanced_menu_item_pressed(int p_item_pressed) {
default:
break;
}
- if (!use_undo_redo) {
- memdelete(undo_redo);
- }
}
void GenericTilePolygonEditor::_grab_polygon_point(Vector2 p_pos, const Transform2D &p_polygon_xform, int &r_polygon_index, int &r_point_index) {
@@ -409,7 +414,14 @@ void GenericTilePolygonEditor::_snap_to_half_pixel(Point2 &r_point) {
}
void GenericTilePolygonEditor::_base_control_gui_input(Ref<InputEvent> p_event) {
- UndoRedo *undo_redo = use_undo_redo ? editor_undo_redo : memnew(UndoRedo);
+ Ref<EditorUndoRedoManager> undo_redo;
+ if (use_undo_redo) {
+ undo_redo = editor_undo_redo;
+ } else {
+ // This nice hack allows for discarding undo actions without making code too complex.
+ undo_redo.instantiate();
+ }
+
real_t grab_threshold = EDITOR_GET("editors/polygon_editor/point_grab_radius");
hovered_polygon_index = -1;
@@ -600,10 +612,6 @@ void GenericTilePolygonEditor::_base_control_gui_input(Ref<InputEvent> p_event)
}
base_control->update();
-
- if (!use_undo_redo) {
- memdelete(undo_redo);
- }
}
void GenericTilePolygonEditor::set_use_undo_redo(bool p_use_undo_redo) {
@@ -776,13 +784,13 @@ GenericTilePolygonEditor::GenericTilePolygonEditor() {
button_advanced_menu = memnew(MenuButton);
button_advanced_menu->set_flat(true);
button_advanced_menu->set_toggle_mode(true);
- button_advanced_menu->get_popup()->add_item(TTR("Reset to default tile shape"), RESET_TO_DEFAULT_TILE);
- button_advanced_menu->get_popup()->add_item(TTR("Clear"), CLEAR_TILE);
+ button_advanced_menu->get_popup()->add_item(TTR("Reset to default tile shape"), RESET_TO_DEFAULT_TILE, Key::F);
+ button_advanced_menu->get_popup()->add_item(TTR("Clear"), CLEAR_TILE, Key::C);
button_advanced_menu->get_popup()->add_separator();
- button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateRight"), SNAME("EditorIcons")), TTR("Rotate Right"), ROTATE_RIGHT);
- button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateLeft"), SNAME("EditorIcons")), TTR("Rotate Left"), ROTATE_LEFT);
- button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorX"), SNAME("EditorIcons")), TTR("Flip Horizontally"), FLIP_HORIZONTALLY);
- button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorY"), SNAME("EditorIcons")), TTR("Flip Vertically"), FLIP_VERTICALLY);
+ button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateRight"), SNAME("EditorIcons")), TTR("Rotate Right"), ROTATE_RIGHT, Key::R);
+ button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateLeft"), SNAME("EditorIcons")), TTR("Rotate Left"), ROTATE_LEFT, Key::E);
+ button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorX"), SNAME("EditorIcons")), TTR("Flip Horizontally"), FLIP_HORIZONTALLY, Key::H);
+ button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorY"), SNAME("EditorIcons")), TTR("Flip Vertically"), FLIP_VERTICALLY, Key::V);
button_advanced_menu->get_popup()->connect("id_pressed", callable_mp(this, &GenericTilePolygonEditor::_advanced_menu_item_pressed));
button_advanced_menu->set_focus_mode(FOCUS_ALL);
toolbar->add_child(button_advanced_menu);
@@ -803,13 +811,13 @@ GenericTilePolygonEditor::GenericTilePolygonEditor() {
add_child(root);
panel = memnew(Panel);
- panel->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ panel->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
panel->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
root->add_child(panel);
base_control = memnew(Control);
base_control->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST);
- base_control->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ base_control->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
base_control->connect("draw", callable_mp(this, &GenericTilePolygonEditor::_base_control_draw));
base_control->connect("gui_input", callable_mp(this, &GenericTilePolygonEditor::_base_control_gui_input));
base_control->set_clip_contents(true);
@@ -1116,8 +1124,9 @@ void TileDataDefaultEditor::draw_over_tile(CanvasItem *p_canvas_item, Transform2
}
}
- Vector2 string_size = font->get_string_size(text, font_size);
- p_canvas_item->draw_string(font, p_transform.get_origin() + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1));
+ Vector2 string_size = font->get_string_size(text, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
+ p_canvas_item->draw_string_outline(font, p_transform.get_origin() + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, 1, Color(0, 0, 0, 1));
+ p_canvas_item->draw_string(font, p_transform.get_origin() + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color);
}
}
@@ -1147,7 +1156,7 @@ void TileDataDefaultEditor::setup_property_editor(Variant::Type p_type, String p
property_editor = EditorInspectorDefaultPlugin::get_editor_for_property(dummy_object, p_type, p_property, PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT);
property_editor->set_object_and_property(dummy_object, p_property);
if (p_label.is_empty()) {
- property_editor->set_label(p_property);
+ property_editor->set_label(EditorPropertyNameProcessor::get_singleton()->process_name(p_property, EditorPropertyNameProcessor::get_default_inspector_style()));
} else {
property_editor->set_label(p_label);
}
@@ -1173,6 +1182,7 @@ TileDataDefaultEditor::TileDataDefaultEditor() {
label = memnew(Label);
label->set_text(TTR("Painting:"));
+ label->set_theme_type_variation("HeaderSmall");
add_child(label);
toolbar->add_child(memnew(VSeparator));
@@ -1676,10 +1686,15 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
Vector<Color> color;
color.push_back(Color(1.0, 1.0, 1.0, 0.5));
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) {
+ p_canvas_item->draw_set_transform_matrix(p_transform * xform);
+ p_canvas_item->draw_polygon(polygon, color);
+ }
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) {
p_canvas_item->draw_set_transform_matrix(p_transform * xform);
p_canvas_item->draw_polygon(polygon, color);
@@ -1721,8 +1736,9 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
} else {
text = "-";
}
- Vector2 string_size = font->get_string_size(text, font_size);
- p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1));
+ Vector2 string_size = font->get_string_size(text, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
+ p_canvas_item->draw_string_outline(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, 1, Color(0, 0, 0, 1));
+ p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color);
}
}
}
@@ -1806,10 +1822,19 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords);
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ for (int j = 0; j < polygon.size(); j++) {
+ polygon.write[j] += position;
+ }
+ if (!Geometry2D::intersect_polygons(polygon, mouse_pos_rect_polygon).is_empty()) {
+ // Draw terrain.
+ p_canvas_item->draw_polygon(polygon, color);
+ }
+
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
for (int j = 0; j < polygon.size(); j++) {
polygon.write[j] += position;
}
@@ -1850,10 +1875,16 @@ void TileDataTerrainsEditor::forward_draw_over_alternatives(TileAtlasView *p_til
Vector<Color> color;
color.push_back(Color(1.0, 1.0, 1.0, 0.5));
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) {
+ p_canvas_item->draw_set_transform_matrix(p_transform * xform);
+ p_canvas_item->draw_polygon(polygon, color);
+ }
+
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) {
p_canvas_item->draw_set_transform_matrix(p_transform * xform);
p_canvas_item->draw_polygon(polygon, color);
@@ -1897,8 +1928,9 @@ void TileDataTerrainsEditor::forward_draw_over_alternatives(TileAtlasView *p_til
} else {
text = "-";
}
- Vector2 string_size = font->get_string_size(text, font_size);
- p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1));
+ Vector2 string_size = font->get_string_size(text, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
+ p_canvas_item->draw_string_outline(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, 1, Color(0, 0, 0, 1));
+ p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color);
}
}
}
@@ -1926,10 +1958,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
if (!drag_modified.has(cell)) {
Dictionary dict;
dict["terrain_set"] = tile_data->get_terrain_set();
+ dict["terrain"] = tile_data->get_terrain();
Array array;
for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(j);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -1958,10 +1991,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
if (!drag_modified.has(cell)) {
Dictionary dict;
dict["terrain_set"] = tile_data->get_terrain_set();
+ dict["terrain"] = tile_data->get_terrain();
Array array;
for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(j);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -1970,12 +2004,17 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
// Set the terrains bits.
Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords);
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
+
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(tile_data->get_terrain_set());
+ if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) {
+ tile_data->set_terrain(terrain);
+ }
for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(j);
- if (tile_data->is_valid_peering_bit_terrain(bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(tile_data->get_terrain_set(), bit);
+ if (tile_data->is_valid_terrain_peering_bit(bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(tile_data->get_terrain_set(), bit);
if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) {
- tile_data->set_peering_bit_terrain(bit, terrain);
+ tile_data->set_terrain_peering_bit(bit, terrain);
}
}
}
@@ -2000,12 +2039,17 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
dummy_object->set("terrain_set", terrain_set);
dummy_object->set("terrain", -1);
+
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
+ dummy_object->set("terrain", tile_data->get_terrain());
+ }
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
- dummy_object->set("terrain", tile_data->get_peering_bit_terrain(bit));
+ dummy_object->set("terrain", tile_data->get_terrain_peering_bit(bit));
}
}
}
@@ -2044,10 +2088,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
// Save the old terrain_set and terrains bits.
Dictionary dict;
dict["terrain_set"] = tile_data->get_terrain_set();
+ dict["terrain"] = tile_data->get_terrain();
Array array;
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -2085,10 +2130,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
// Save the old terrain_set and terrains bits.
Dictionary dict;
dict["terrain_set"] = tile_data->get_terrain_set();
+ dict["terrain"] = tile_data->get_terrain();
Array array;
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -2097,12 +2143,16 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords);
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
+ tile_data->set_terrain(terrain);
+ }
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
- tile_data->set_peering_bit_terrain(bit, terrain);
+ tile_data->set_terrain_peering_bit(bit, terrain);
}
}
}
@@ -2138,10 +2188,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(coords, 0);
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.alternative_tile), tile_data->get_terrain_set());
undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.alternative_tile), drag_painted_value);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.alternative_tile), tile_data->get_terrain());
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_data->is_valid_peering_bit_terrain(bit)) {
- undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_peering_bit_terrain(bit));
+ if (tile_data->is_valid_terrain_peering_bit(bit)) {
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_terrain_peering_bit(bit));
}
}
}
@@ -2154,10 +2205,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
Vector2i coords = E.key.get_atlas_coords();
undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), drag_painted_value);
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), dict["terrain_set"]);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]);
Array array = dict["terrain_peering_bits"];
for (int i = 0; i < array.size(); i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(dict["terrain_set"], bit)) {
+ if (tile_set->is_valid_terrain_peering_bit(dict["terrain_set"], bit)) {
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]);
}
}
@@ -2172,13 +2224,15 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
for (KeyValue<TileMapCell, Variant> &E : drag_modified) {
Dictionary dict = E.value;
Vector2i coords = E.key.get_atlas_coords();
+ undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), terrain);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]);
Array array = dict["terrain_peering_bits"];
for (int i = 0; i < array.size(); i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), terrain);
}
- if (tile_set->is_valid_peering_bit_terrain(dict["terrain_set"], bit)) {
+ if (tile_set->is_valid_terrain_peering_bit(dict["terrain_set"], bit)) {
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]);
}
}
@@ -2224,20 +2278,30 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
Vector2i coords = E.get_atlas_coords();
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(coords, 0);
+ Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords);
+ Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
+
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ for (int j = 0; j < polygon.size(); j++) {
+ polygon.write[j] += position;
+ }
+ if (!Geometry2D::intersect_polygons(polygon, mouse_pos_rect_polygon).is_empty()) {
+ // Draw terrain.
+ undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.alternative_tile), terrain);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.alternative_tile), tile_data->get_terrain());
+ }
+
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords);
- Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
-
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
for (int j = 0; j < polygon.size(); j++) {
polygon.write[j] += position;
}
if (!Geometry2D::intersect_polygons(polygon, mouse_pos_rect_polygon).is_empty()) {
// Draw bit.
undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), terrain);
- undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_peering_bit_terrain(bit));
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_terrain_peering_bit(bit));
}
}
}
@@ -2267,10 +2331,11 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
if (!drag_modified.has(cell)) {
Dictionary dict;
dict["terrain_set"] = tile_data->get_terrain_set();
+ dict["terrain"] = tile_data->get_terrain();
Array array;
for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(j);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -2300,10 +2365,11 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
if (!drag_modified.has(cell)) {
Dictionary dict;
dict["terrain_set"] = tile_data->get_terrain_set();
+ dict["terrain"] = tile_data->get_terrain();
Array array;
for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(j);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -2312,12 +2378,18 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
// Set the terrains bits.
Rect2i texture_region = p_tile_atlas_view->get_alternative_tile_rect(coords, alternative_tile);
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, alternative_tile);
+
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(tile_data->get_terrain_set());
+ if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) {
+ tile_data->set_terrain(terrain);
+ }
+
for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(j);
- if (tile_data->is_valid_peering_bit_terrain(bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(tile_data->get_terrain_set(), bit);
+ if (tile_data->is_valid_terrain_peering_bit(bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(tile_data->get_terrain_set(), bit);
if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) {
- tile_data->set_peering_bit_terrain(bit, terrain);
+ tile_data->set_terrain_peering_bit(bit, terrain);
}
}
}
@@ -2343,12 +2415,18 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, alternative_tile);
dummy_object->set("terrain_set", terrain_set);
dummy_object->set("terrain", -1);
+
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
+ dummy_object->set("terrain", tile_data->get_terrain());
+ }
+
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
- dummy_object->set("terrain", tile_data->get_peering_bit_terrain(bit));
+ dummy_object->set("terrain", tile_data->get_terrain_peering_bit(bit));
}
}
}
@@ -2380,7 +2458,7 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
Array array;
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -2405,10 +2483,11 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
// Save the old terrain_set and terrains bits.
Dictionary dict;
dict["terrain_set"] = tile_data->get_terrain_set();
+ dict["terrain"] = tile_data->get_terrain();
Array array;
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1);
+ array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1);
}
dict["terrain_peering_bits"] = array;
drag_modified[cell] = dict;
@@ -2416,12 +2495,17 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
// Set the terrain bit.
Rect2i texture_region = p_tile_atlas_view->get_alternative_tile_rect(coords, alternative_tile);
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, alternative_tile);
+
+ Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set);
+ if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
+ tile_data->set_terrain(terrain);
+ }
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit);
if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) {
- tile_data->set_peering_bit_terrain(bit, terrain);
+ tile_data->set_terrain_peering_bit(bit, terrain);
}
}
}
@@ -2437,6 +2521,7 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
Vector2i coords = E.key.get_atlas_coords();
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), dict["terrain_set"]);
undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), drag_painted_value);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]);
Array array = dict["terrain_peering_bits"];
for (int i = 0; i < array.size(); i++) {
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]);
@@ -2452,13 +2537,15 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi
for (KeyValue<TileMapCell, Variant> &E : drag_modified) {
Dictionary dict = E.value;
Vector2i coords = E.key.get_atlas_coords();
+ undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), terrain);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]);
Array array = dict["terrain_peering_bits"];
for (int i = 0; i < array.size(); i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), terrain);
}
- if (tile_set->is_valid_peering_bit_terrain(dict["terrain_set"], bit)) {
+ if (tile_set->is_valid_terrain_peering_bit(dict["terrain_set"], bit)) {
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]);
}
}
@@ -2491,7 +2578,8 @@ TileDataTerrainsEditor::TileDataTerrainsEditor() {
undo_redo = EditorNode::get_undo_redo();
label = memnew(Label);
- label->set_text("Painting:");
+ label->set_text(TTR("Painting:"));
+ label->set_theme_type_variation("HeaderSmall");
add_child(label);
// Toolbar
diff --git a/editor/plugins/tiles/tile_data_editors.h b/editor/plugins/tiles/tile_data_editors.h
index f9b8948d0a..c1560138b2 100644
--- a/editor/plugins/tiles/tile_data_editors.h
+++ b/editor/plugins/tiles/tile_data_editors.h
@@ -39,6 +39,8 @@
#include "scene/gui/control.h"
#include "scene/gui/label.h"
+class EditorUndoRedoManager;
+
class TileDataEditor : public VBoxContainer {
GDCLASS(TileDataEditor, VBoxContainer);
@@ -93,7 +95,7 @@ private:
bool multiple_polygon_mode = false;
bool use_undo_redo = true;
- UndoRedo *editor_undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> editor_undo_redo;
// UI
int hovered_polygon_index = -1;
@@ -214,7 +216,7 @@ private:
protected:
DummyObject *dummy_object = memnew(DummyObject);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
StringName type;
String property;
@@ -279,7 +281,7 @@ private:
virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) override;
protected:
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
virtual void _tile_set_changed() override;
@@ -314,7 +316,7 @@ class TileDataCollisionEditor : public TileDataDefaultEditor {
virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) override;
protected:
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
virtual void _tile_set_changed() override;
@@ -366,7 +368,7 @@ protected:
void _notification(int p_what);
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
public:
virtual Control *get_toolbar() override { return toolbar; };
@@ -399,7 +401,7 @@ private:
virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) override;
protected:
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
virtual void _tile_set_changed() override;
diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp
index 6c39244f80..3f355a1ed2 100644
--- a/editor/plugins/tiles/tile_map_editor.cpp
+++ b/editor/plugins/tiles/tile_map_editor.cpp
@@ -35,6 +35,7 @@
#include "editor/editor_node.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/plugins/canvas_item_editor_plugin.h"
#include "scene/2d/camera_2d.h"
@@ -884,6 +885,9 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over
if (atlas_source) {
// Get tile data.
TileData *tile_data = atlas_source->get_tile_data(E.value.get_atlas_coords(), E.value.alternative_tile);
+ if (!tile_data) {
+ continue;
+ }
// Compute the offset
Rect2i source_rect = atlas_source->get_tile_texture_region(E.value.get_atlas_coords());
@@ -2028,7 +2032,6 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() {
// --- Toolbar ---
toolbar = memnew(HBoxContainer);
- toolbar->set_h_size_flags(Control::SIZE_EXPAND_FILL);
HBoxContainer *tilemap_tiles_tools_buttons = memnew(HBoxContainer);
@@ -2196,7 +2199,7 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() {
sources_list->connect("item_selected", callable_mp(this, &TileMapEditorTilesPlugin::_update_fix_selected_and_hovered).unbind(1));
sources_list->connect("item_selected", callable_mp(this, &TileMapEditorTilesPlugin::_update_source_display).unbind(1));
sources_list->connect("item_selected", callable_mp(TilesEditorPlugin::get_singleton(), &TilesEditorPlugin::set_sources_lists_current));
- sources_list->connect("visibility_changed", callable_mp(TilesEditorPlugin::get_singleton(), &TilesEditorPlugin::synchronize_sources_list), varray(sources_list, source_sort_button));
+ sources_list->connect("visibility_changed", callable_mp(TilesEditorPlugin::get_singleton(), &TilesEditorPlugin::synchronize_sources_list).bind(sources_list, source_sort_button));
sources_list->add_user_signal(MethodInfo("sort_request"));
sources_list->connect("sort_request", callable_mp(this, &TileMapEditorTilesPlugin::_update_tile_set_sources_list));
split_container_left_side->add_child(sources_list);
@@ -2321,7 +2324,7 @@ Vector<TileMapEditorPlugin::TabData> TileMapEditorTerrainsPlugin::get_tabs() con
return tabs;
}
-HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const HashMap<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const {
+HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrain_path_or_connect(const Vector<Vector2i> &p_to_paint, int p_terrain_set, int p_terrain, bool p_connect) const {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
return HashMap<Vector2i, TileMapCell>();
@@ -2332,105 +2335,87 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const
return HashMap<Vector2i, TileMapCell>();
}
- HashMap<Vector2i, TileMapCell> output;
-
- // Add the constraints from the added tiles.
- RBSet<TileMap::TerrainConstraint> added_tiles_constraints_set;
- for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
- Vector2i coords = E_to_paint.key;
- TileSet::TerrainsPattern terrains_pattern = E_to_paint.value;
-
- RBSet<TileMap::TerrainConstraint> cell_constraints = tile_map->get_terrain_constraints_from_added_tile(coords, p_terrain_set, terrains_pattern);
- for (const TileMap::TerrainConstraint &E : cell_constraints) {
- added_tiles_constraints_set.insert(E);
- }
- }
-
- // Build the list of potential tiles to replace.
- RBSet<Vector2i> potential_to_replace;
- for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
- Vector2i coords = E_to_paint.key;
- for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
- if (tile_map->is_existing_neighbor(TileSet::CellNeighbor(i))) {
- Vector2i neighbor = tile_map->get_neighbor_cell(coords, TileSet::CellNeighbor(i));
- if (!p_to_paint.has(neighbor)) {
- potential_to_replace.insert(neighbor);
- }
- }
- }
+ HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_output;
+ if (p_connect) {
+ terrain_fill_output = tile_map->terrain_fill_connect(tile_map_layer, p_to_paint, p_terrain_set, p_terrain, false);
+ } else {
+ terrain_fill_output = tile_map->terrain_fill_path(tile_map_layer, p_to_paint, p_terrain_set, p_terrain, false);
}
- // Set of tiles to replace
- RBSet<Vector2i> to_replace;
-
- // Add the central tiles to the one to replace.
- for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
- to_replace.insert(E_to_paint.key);
+ // Make the painted path a set for faster lookups
+ HashSet<Vector2i> painted_set;
+ for (Vector2i coords : p_to_paint) {
+ painted_set.insert(coords);
}
- // Add the constraints from the surroundings of the modified areas.
- RBSet<TileMap::TerrainConstraint> removed_cells_constraints_set;
- bool to_replace_modified = true;
- while (to_replace_modified) {
- // Get the constraints from the removed cells.
- removed_cells_constraints_set = tile_map->get_terrain_constraints_from_removed_cells_list(tile_map_layer, to_replace, p_terrain_set, false);
-
- // Filter the sources to make sure they are in the potential_to_replace.
- RBMap<TileMap::TerrainConstraint, RBSet<Vector2i>> per_constraint_tiles;
- for (const TileMap::TerrainConstraint &E : removed_cells_constraints_set) {
- HashMap<Vector2i, TileSet::CellNeighbor> sources_of_constraint = E.get_overlapping_coords_and_peering_bits();
- for (const KeyValue<Vector2i, TileSet::CellNeighbor> &E_source_tile_of_constraint : sources_of_constraint) {
- if (potential_to_replace.has(E_source_tile_of_constraint.key)) {
- per_constraint_tiles[E].insert(E_source_tile_of_constraint.key);
- }
- }
- }
-
- to_replace_modified = false;
- for (const TileMap::TerrainConstraint &E : added_tiles_constraints_set) {
- TileMap::TerrainConstraint c = E;
- // Check if we have a conflict in constraints.
- if (removed_cells_constraints_set.has(c) && removed_cells_constraints_set.find(c)->get().get_terrain() != c.get_terrain()) {
- // If we do, we search for a neighbor to remove.
- if (per_constraint_tiles.has(c) && !per_constraint_tiles[c].is_empty()) {
- // Remove it.
- Vector2i to_add_to_remove = per_constraint_tiles[c].front()->get();
- potential_to_replace.erase(to_add_to_remove);
- to_replace.insert(to_add_to_remove);
- to_replace_modified = true;
- for (KeyValue<TileMap::TerrainConstraint, RBSet<Vector2i>> &E_source_tiles_of_constraint : per_constraint_tiles) {
- E_source_tiles_of_constraint.value.erase(to_add_to_remove);
+ HashMap<Vector2i, TileMapCell> output;
+ for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : terrain_fill_output) {
+ if (painted_set.has(E.key)) {
+ // Paint a random tile with the correct terrain for the painted path.
+ output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value);
+ } else {
+ // Avoids updating the painted path from the output if the new pattern is the same as before.
+ bool keep_old = false;
+ TileMapCell cell = tile_map->get_cell(tile_map_layer, E.key);
+ if (cell.source_id != TileSet::INVALID_SOURCE) {
+ TileSetSource *source = *tile_set->get_source(cell.source_id);
+ TileSetAtlasSource *atlas_source = Object::cast_to<TileSetAtlasSource>(source);
+ if (atlas_source) {
+ // Get tile data.
+ TileData *tile_data = atlas_source->get_tile_data(cell.get_atlas_coords(), cell.alternative_tile);
+ if (tile_data && tile_data->get_terrains_pattern() == E.value) {
+ keep_old = true;
}
- break;
}
}
+ if (!keep_old) {
+ output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value);
+ }
}
}
+ return output;
+}
- // Combine all constraints together.
- RBSet<TileMap::TerrainConstraint> constraints = removed_cells_constraints_set;
- for (const TileMap::TerrainConstraint &E : added_tiles_constraints_set) {
- constraints.insert(E);
+HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrain_pattern(const Vector<Vector2i> &p_to_paint, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const {
+ TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
+ if (!tile_map) {
+ return HashMap<Vector2i, TileMapCell>();
}
- // Remove the central tiles from the ones to replace.
- for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
- to_replace.erase(E_to_paint.key);
+ Ref<TileSet> tile_set = tile_map->get_tileset();
+ if (!tile_set.is_valid()) {
+ return HashMap<Vector2i, TileMapCell>();
}
- // Run WFC to fill the holes with the constraints.
- HashMap<Vector2i, TileSet::TerrainsPattern> wfc_output = tile_map->terrain_wave_function_collapse(to_replace, p_terrain_set, constraints);
+ HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_output = tile_map->terrain_fill_pattern(tile_map_layer, p_to_paint, p_terrain_set, p_terrains_pattern, false);
- // Actually paint the tiles.
- for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
- output[E_to_paint.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E_to_paint.value);
+ // Make the painted path a set for faster lookups
+ HashSet<Vector2i> painted_set;
+ for (Vector2i coords : p_to_paint) {
+ painted_set.insert(coords);
}
- // Use the WFC run for the output.
- for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : wfc_output) {
- output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value);
+ HashMap<Vector2i, TileMapCell> output;
+ for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : terrain_fill_output) {
+ if (painted_set.has(E.key)) {
+ // Paint a random tile with the correct terrain for the painted path.
+ output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value);
+ } else {
+ // Avoids updating the painted path from the output if the new pattern is the same as before.
+ TileMapCell cell = tile_map->get_cell(tile_map_layer, E.key);
+ if (cell.source_id != TileSet::INVALID_SOURCE) {
+ TileSetSource *source = *tile_set->get_source(cell.source_id);
+ TileSetAtlasSource *atlas_source = Object::cast_to<TileSetAtlasSource>(source);
+ if (atlas_source) {
+ // Get tile data.
+ TileData *tile_data = atlas_source->get_tile_data(cell.get_atlas_coords(), cell.alternative_tile);
+ if (tile_data && !(tile_data->get_terrains_pattern() == E.value)) {
+ output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value);
+ }
+ }
+ }
+ }
}
-
return output;
}
@@ -2445,19 +2430,21 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_line(Vector2i
return HashMap<Vector2i, TileMapCell>();
}
- TileSet::TerrainsPattern terrains_pattern;
- if (p_erase) {
- terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
- } else {
- terrains_pattern = selected_terrains_pattern;
- }
+ if (selected_type == SELECTED_TYPE_CONNECT) {
+ return _draw_terrain_path_or_connect(TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell), selected_terrain_set, selected_terrain, true);
+ } else if (selected_type == SELECTED_TYPE_PATH) {
+ return _draw_terrain_path_or_connect(TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell), selected_terrain_set, selected_terrain, false);
+ } else { // SELECTED_TYPE_PATTERN
+ TileSet::TerrainsPattern terrains_pattern;
+ if (p_erase) {
+ terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
+ } else {
+ terrains_pattern = selected_terrains_pattern;
+ }
- Vector<Vector2i> line = TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell);
- HashMap<Vector2i, TileSet::TerrainsPattern> to_draw;
- for (int i = 0; i < line.size(); i++) {
- to_draw[line[i]] = terrains_pattern;
+ Vector<Vector2i> line = TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell);
+ return _draw_terrain_pattern(line, selected_terrain_set, terrains_pattern);
}
- return _draw_terrains(to_draw, selected_terrain_set);
}
HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) {
@@ -2471,25 +2458,29 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i
return HashMap<Vector2i, TileMapCell>();
}
- TileSet::TerrainsPattern terrains_pattern;
- if (p_erase) {
- terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
- } else {
- terrains_pattern = selected_terrains_pattern;
- }
-
Rect2i rect;
rect.set_position(p_start_cell);
rect.set_end(p_end_cell);
rect = rect.abs();
- HashMap<Vector2i, TileSet::TerrainsPattern> to_draw;
+ Vector<Vector2i> to_draw;
for (int x = rect.position.x; x <= rect.get_end().x; x++) {
for (int y = rect.position.y; y <= rect.get_end().y; y++) {
- to_draw[Vector2i(x, y)] = terrains_pattern;
+ to_draw.append(Vector2i(x, y));
+ }
+ }
+
+ if (selected_type == SELECTED_TYPE_CONNECT || selected_type == SELECTED_TYPE_PATH) {
+ return _draw_terrain_path_or_connect(to_draw, selected_terrain_set, selected_terrain, true);
+ } else { // SELECTED_TYPE_PATTERN
+ TileSet::TerrainsPattern terrains_pattern;
+ if (p_erase) {
+ terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
+ } else {
+ terrains_pattern = selected_terrains_pattern;
}
+ return _draw_terrain_pattern(to_draw, selected_terrain_set, terrains_pattern);
}
- return _draw_terrains(to_draw, selected_terrain_set);
}
RBSet<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous) {
@@ -2614,20 +2605,23 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_bucket_fill(Ve
return HashMap<Vector2i, TileMapCell>();
}
- TileSet::TerrainsPattern terrains_pattern;
- if (p_erase) {
- terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
- } else {
- terrains_pattern = selected_terrains_pattern;
- }
-
RBSet<Vector2i> cells_to_draw = _get_cells_for_bucket_fill(p_coords, p_contiguous);
- HashMap<Vector2i, TileSet::TerrainsPattern> to_draw;
- for (const Vector2i &coords : cells_to_draw) {
- to_draw[coords] = terrains_pattern;
+ Vector<Vector2i> cells_to_draw_as_vector;
+ for (Vector2i cell : cells_to_draw) {
+ cells_to_draw_as_vector.append(cell);
}
- return _draw_terrains(to_draw, selected_terrain_set);
+ if (selected_type == SELECTED_TYPE_CONNECT || selected_type == SELECTED_TYPE_PATH) {
+ return _draw_terrain_path_or_connect(cells_to_draw_as_vector, selected_terrain_set, selected_terrain, true);
+ } else { // SELECTED_TYPE_PATTERN
+ TileSet::TerrainsPattern terrains_pattern;
+ if (p_erase) {
+ terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
+ } else {
+ terrains_pattern = selected_terrains_pattern;
+ }
+ return _draw_terrain_pattern(cells_to_draw_as_vector, selected_terrain_set, terrains_pattern);
+ }
}
void TileMapEditorTerrainsPlugin::_stop_dragging() {
@@ -2696,11 +2690,13 @@ void TileMapEditorTerrainsPlugin::_stop_dragging() {
if (tree_item) {
for (int i = 0; i < terrains_tile_list->get_item_count(); i++) {
Dictionary metadata_dict = terrains_tile_list->get_item_metadata(i);
- TileSet::TerrainsPattern in_meta_terrains_pattern(*tile_set, new_terrain_set);
- in_meta_terrains_pattern.set_terrains_from_array(metadata_dict["terrains_pattern"]);
- if (in_meta_terrains_pattern == terrains_pattern) {
- terrains_tile_list->select(i);
- break;
+ if (int(metadata_dict["type"]) == SELECTED_TYPE_PATTERN) {
+ TileSet::TerrainsPattern in_meta_terrains_pattern(*tile_set, new_terrain_set);
+ in_meta_terrains_pattern.from_array(metadata_dict["terrains_pattern"]);
+ if (in_meta_terrains_pattern == terrains_pattern) {
+ terrains_tile_list->select(i);
+ break;
+ }
}
}
} else {
@@ -2773,22 +2769,33 @@ void TileMapEditorTerrainsPlugin::_update_selection() {
}
// Get the selected terrain.
- selected_terrains_pattern = TileSet::TerrainsPattern();
selected_terrain_set = -1;
+ selected_terrains_pattern = TileSet::TerrainsPattern();
TreeItem *selected_tree_item = terrains_tree->get_selected();
if (selected_tree_item && selected_tree_item->get_metadata(0)) {
Dictionary metadata_dict = selected_tree_item->get_metadata(0);
// Selected terrain
selected_terrain_set = metadata_dict["terrain_set"];
+ selected_terrain = metadata_dict["terrain_id"];
- // Selected tile
+ // Selected mode/terrain pattern
if (erase_button->is_pressed()) {
+ selected_type = SELECTED_TYPE_PATTERN;
selected_terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
} else if (terrains_tile_list->is_anything_selected()) {
metadata_dict = terrains_tile_list->get_item_metadata(terrains_tile_list->get_selected_items()[0]);
- selected_terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
- selected_terrains_pattern.set_terrains_from_array(metadata_dict["terrains_pattern"]);
+ if (int(metadata_dict["type"]) == SELECTED_TYPE_CONNECT) {
+ selected_type = SELECTED_TYPE_CONNECT;
+ } else if (int(metadata_dict["type"]) == SELECTED_TYPE_PATH) {
+ selected_type = SELECTED_TYPE_PATH;
+ } else if (int(metadata_dict["type"]) == SELECTED_TYPE_PATTERN) {
+ selected_type = SELECTED_TYPE_PATTERN;
+ selected_terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set);
+ selected_terrains_pattern.from_array(metadata_dict["terrains_pattern"]);
+ } else {
+ ERR_FAIL();
+ }
}
}
}
@@ -2865,7 +2872,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent>
} else {
// Paint otherwise.
if (tool_buttons_group->get_pressed_button() == paint_tool_button && !Input::get_singleton()->is_key_pressed(Key::CTRL) && !Input::get_singleton()->is_key_pressed(Key::SHIFT)) {
- if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) {
+ if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) {
return true;
}
@@ -2880,21 +2887,21 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent>
tile_map->set_cell(tile_map_layer, E.key, E.value.source_id, E.value.get_atlas_coords(), E.value.alternative_tile);
}
} else if (tool_buttons_group->get_pressed_button() == line_tool_button || (tool_buttons_group->get_pressed_button() == paint_tool_button && Input::get_singleton()->is_key_pressed(Key::SHIFT) && !Input::get_singleton()->is_key_pressed(Key::CTRL))) {
- if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) {
+ if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) {
return true;
}
drag_type = DRAG_TYPE_LINE;
drag_start_mouse_pos = mpos;
drag_modified.clear();
} else if (tool_buttons_group->get_pressed_button() == rect_tool_button || (tool_buttons_group->get_pressed_button() == paint_tool_button && Input::get_singleton()->is_key_pressed(Key::SHIFT) && Input::get_singleton()->is_key_pressed(Key::CTRL))) {
- if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) {
+ if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) {
return true;
}
drag_type = DRAG_TYPE_RECT;
drag_start_mouse_pos = mpos;
drag_modified.clear();
} else if (tool_buttons_group->get_pressed_button() == bucket_tool_button) {
- if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) {
+ if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) {
return true;
}
drag_type = DRAG_TYPE_BUCKET;
@@ -3105,11 +3112,18 @@ void TileMapEditorTerrainsPlugin::_update_terrains_cache() {
cell.alternative_tile = alternative_id;
TileSet::TerrainsPattern terrains_pattern = tile_data->get_terrains_pattern();
+
+ // Terrain center bit
+ int terrain = terrains_pattern.get_terrain();
+ if (terrain >= 0 && terrain < (int)per_terrain_terrains_patterns[terrain_set].size()) {
+ per_terrain_terrains_patterns[terrain_set][terrain].insert(terrains_pattern);
+ }
+
// Terrain bits.
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) {
- int terrain = terrains_pattern.get_terrain(bit);
+ if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) {
+ terrain = terrains_pattern.get_terrain_peering_bit(bit);
if (terrain >= 0 && terrain < (int)per_terrain_terrains_patterns[terrain_set].size()) {
per_terrain_terrains_patterns[terrain_set][terrain].insert(terrains_pattern);
}
@@ -3191,6 +3205,19 @@ void TileMapEditorTerrainsPlugin::_update_tiles_list() {
ERR_FAIL_INDEX(selected_terrain_set, tile_set->get_terrain_sets_count());
ERR_FAIL_INDEX(selected_terrain_id, tile_set->get_terrains_count(selected_terrain_set));
+ // Add the two first generic modes
+ int item_index = terrains_tile_list->add_icon_item(main_vbox_container->get_theme_icon(SNAME("TerrainConnect"), SNAME("EditorIcons")));
+ terrains_tile_list->set_item_tooltip(item_index, TTR("Connect mode: paints a terrain, then connects it with the surrounding tiles with the same terrain."));
+ Dictionary list_metadata_dict;
+ list_metadata_dict["type"] = SELECTED_TYPE_CONNECT;
+ terrains_tile_list->set_item_metadata(item_index, list_metadata_dict);
+
+ item_index = terrains_tile_list->add_icon_item(main_vbox_container->get_theme_icon(SNAME("TerrainPath"), SNAME("EditorIcons")));
+ terrains_tile_list->set_item_tooltip(item_index, TTR("Path mode: paints a terrain, thens connects it to the previous tile painted within the same stroke."));
+ list_metadata_dict = Dictionary();
+ list_metadata_dict["type"] = SELECTED_TYPE_PATH;
+ terrains_tile_list->set_item_metadata(item_index, list_metadata_dict);
+
// Sort the items in a map by the number of corresponding terrains.
RBMap<int, RBSet<TileSet::TerrainsPattern>> sorted;
@@ -3200,7 +3227,7 @@ void TileMapEditorTerrainsPlugin::_update_tiles_list() {
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(selected_terrain_set, bit) && E.get_terrain(bit) == selected_terrain_id) {
+ if (tile_set->is_valid_terrain_peering_bit(selected_terrain_set, bit) && E.get_terrain_peering_bit(bit) == selected_terrain_id) {
count++;
}
}
@@ -3241,12 +3268,13 @@ void TileMapEditorTerrainsPlugin::_update_tiles_list() {
}
// Create the ItemList's item.
- int item_index = terrains_tile_list->add_item("");
+ item_index = terrains_tile_list->add_item("");
terrains_tile_list->set_item_icon(item_index, icon);
terrains_tile_list->set_item_icon_region(item_index, region);
terrains_tile_list->set_item_icon_transposed(item_index, transpose);
- Dictionary list_metadata_dict;
- list_metadata_dict["terrains_pattern"] = terrains_pattern.get_terrains_as_array();
+ list_metadata_dict = Dictionary();
+ list_metadata_dict["type"] = SELECTED_TYPE_PATTERN;
+ list_metadata_dict["terrains_pattern"] = terrains_pattern.as_array();
terrains_tile_list->set_item_metadata(item_index, list_metadata_dict);
}
}
@@ -3264,6 +3292,8 @@ void TileMapEditorTerrainsPlugin::_update_theme() {
picker_button->set_icon(main_vbox_container->get_theme_icon(SNAME("ColorPick"), SNAME("EditorIcons")));
erase_button->set_icon(main_vbox_container->get_theme_icon(SNAME("Eraser"), SNAME("EditorIcons")));
+
+ _update_tiles_list();
}
void TileMapEditorTerrainsPlugin::edit(ObjectID p_tile_map_id, int p_tile_map_layer) {
@@ -3303,7 +3333,7 @@ TileMapEditorTerrainsPlugin::TileMapEditorTerrainsPlugin() {
terrains_tile_list->set_h_size_flags(Control::SIZE_EXPAND_FILL);
terrains_tile_list->set_max_columns(0);
terrains_tile_list->set_same_column_width(true);
- terrains_tile_list->set_fixed_icon_size(Size2(30, 30) * EDSCALE);
+ terrains_tile_list->set_fixed_icon_size(Size2(32, 32) * EDSCALE);
terrains_tile_list->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST);
tilemap_tab_terrains->add_child(terrains_tile_list);
@@ -3396,7 +3426,7 @@ void TileMapEditor::_notification(int p_what) {
advanced_menu_button->set_icon(get_theme_icon(SNAME("Tools"), SNAME("EditorIcons")));
toggle_grid_button->set_icon(get_theme_icon(SNAME("Grid"), SNAME("EditorIcons")));
toggle_grid_button->set_pressed(EditorSettings::get_singleton()->get("editors/tiles_editor/display_grid"));
- toogle_highlight_selected_layer_button->set_icon(get_theme_icon(SNAME("TileMapHighlightSelected"), SNAME("EditorIcons")));
+ toggle_highlight_selected_layer_button->set_icon(get_theme_icon(SNAME("TileMapHighlightSelected"), SNAME("EditorIcons")));
} break;
case NOTIFICATION_INTERNAL_PROCESS: {
@@ -3428,66 +3458,16 @@ void TileMapEditor::_notification(int p_what) {
void TileMapEditor::_on_grid_toggled(bool p_pressed) {
EditorSettings::get_singleton()->set("editors/tiles_editor/display_grid", p_pressed);
+ CanvasItemEditor::get_singleton()->update_viewport();
}
-void TileMapEditor::_layers_selection_button_draw() {
- if (!has_theme_icon(SNAME("arrow"), SNAME("OptionButton"))) {
+void TileMapEditor::_layers_selection_item_selected(int p_index) {
+ TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
+ if (!tile_map || tile_map->get_layers_count() <= 0) {
return;
}
- RID ci = layers_selection_button->get_canvas_item();
- Ref<Texture2D> arrow = Control::get_theme_icon(SNAME("arrow"), SNAME("OptionButton"));
-
- Color clr = Color(1, 1, 1);
- if (get_theme_constant(SNAME("modulate_arrow"))) {
- switch (layers_selection_button->get_draw_mode()) {
- case BaseButton::DRAW_PRESSED:
- clr = get_theme_color(SNAME("font_pressed_color"));
- break;
- case BaseButton::DRAW_HOVER:
- clr = get_theme_color(SNAME("font_hover_color"));
- break;
- case BaseButton::DRAW_DISABLED:
- clr = get_theme_color(SNAME("font_disabled_color"));
- break;
- default:
- if (layers_selection_button->has_focus()) {
- clr = get_theme_color(SNAME("font_focus_color"));
- } else {
- clr = get_theme_color(SNAME("font_color"));
- }
- }
- }
-
- Size2 size = layers_selection_button->get_size();
-
- Point2 ofs;
- if (is_layout_rtl()) {
- ofs = Point2(get_theme_constant(SNAME("arrow_margin"), SNAME("OptionButton")), int(Math::abs((size.height - arrow->get_height()) / 2)));
- } else {
- ofs = Point2(size.width - arrow->get_width() - get_theme_constant(SNAME("arrow_margin"), SNAME("OptionButton")), int(Math::abs((size.height - arrow->get_height()) / 2)));
- }
- Rect2 dst_rect = Rect2(ofs, arrow->get_size());
- if (!layers_selection_button->is_pressed()) {
- dst_rect.size = -dst_rect.size;
- }
- arrow->draw_rect(ci, dst_rect, false, clr);
-}
-
-void TileMapEditor::_layers_selection_button_pressed() {
- if (!layers_selection_popup->is_visible()) {
- Size2 size = layers_selection_popup->get_contents_minimum_size();
- size.x = MAX(size.x, layers_selection_button->get_size().x);
- layers_selection_popup->set_position(layers_selection_button->get_screen_position() - Size2(0, size.y * get_global_transform().get_scale().y));
- layers_selection_popup->set_size(size);
- layers_selection_popup->popup();
- } else {
- layers_selection_popup->hide();
- }
-}
-
-void TileMapEditor::_layers_selection_id_pressed(int p_id) {
- tile_map_layer = p_id;
+ tile_map_layer = p_index;
_update_layers_selection();
}
@@ -3670,8 +3650,6 @@ void TileMapEditor::_layers_select_next_or_previous(bool p_next) {
}
void TileMapEditor::_update_layers_selection() {
- layers_selection_popup->clear();
-
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
return;
@@ -3698,39 +3676,30 @@ void TileMapEditor::_update_layers_selection() {
} else {
tile_map_layer = -1;
}
- tile_map->set_selected_layer(toogle_highlight_selected_layer_button->is_pressed() ? tile_map_layer : -1);
+ tile_map->set_selected_layer(toggle_highlight_selected_layer_button->is_pressed() ? tile_map_layer : -1);
- // Build the list of layers.
- for (int i = 0; i < tile_map->get_layers_count(); i++) {
- String name = tile_map->get_layer_name(i);
- layers_selection_popup->add_item(name.is_empty() ? vformat(TTR("Layer #%d"), i) : name, i);
- layers_selection_popup->set_item_as_radio_checkable(i, true);
- layers_selection_popup->set_item_disabled(i, !tile_map->is_layer_enabled(i));
- layers_selection_popup->set_item_checked(i, i == tile_map_layer);
- }
+ layers_selection_button->clear();
+ if (tile_map->get_layers_count() > 0) {
+ // Build the list of layers.
+ for (int i = 0; i < tile_map->get_layers_count(); i++) {
+ String name = tile_map->get_layer_name(i);
+ layers_selection_button->add_item(name.is_empty() ? vformat(TTR("Layer %d"), i) : name, i);
+ layers_selection_button->set_item_disabled(i, !tile_map->is_layer_enabled(i));
+ }
- // Update the button label.
- if (tile_map_layer >= 0) {
- layers_selection_button->set_text(layers_selection_popup->get_item_text(tile_map_layer));
+ layers_selection_button->set_disabled(false);
+ layers_selection_button->select(tile_map_layer);
} else {
- layers_selection_button->set_text(TTR("Select a layer"));
- }
-
- // Set button minimum width.
- Size2 min_button_size = Size2(layers_selection_popup->get_contents_minimum_size().x, 0);
- if (has_theme_icon(SNAME("arrow"), SNAME("OptionButton"))) {
- Ref<Texture2D> arrow = Control::get_theme_icon(SNAME("arrow"), SNAME("OptionButton"));
- min_button_size.x += arrow->get_size().x;
+ layers_selection_button->set_disabled(true);
+ layers_selection_button->set_text(TTR("No Layers"));
}
- layers_selection_button->set_custom_minimum_size(min_button_size);
- layers_selection_button->update();
tabs_plugins[tabs_bar->get_current_tab()]->edit(tile_map_id, tile_map_layer);
}
void TileMapEditor::_move_tile_map_array_element(Object *p_undo_redo, Object *p_edited, String p_array_prefix, int p_from_index, int p_to_pos) {
- UndoRedo *undo_redo = Object::cast_to<UndoRedo>(p_undo_redo);
- ERR_FAIL_COND(!undo_redo);
+ Ref<EditorUndoRedoManager> undo_redo = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
+ ERR_FAIL_COND(undo_redo.is_null());
TileMap *tile_map = Object::cast_to<TileMap>(p_edited);
if (!tile_map) {
@@ -4000,7 +3969,6 @@ TileMapEditor::TileMapEditor() {
// TabBar.
tabs_bar = memnew(TabBar);
- tabs_bar->set_tab_alignment(TabBar::ALIGNMENT_CENTER);
tabs_bar->set_clip_tabs(false);
for (int plugin_index = 0; plugin_index < tile_map_editor_plugins.size(); plugin_index++) {
Vector<TileMapEditorPlugin::TabData> tabs_vector = tile_map_editor_plugins[plugin_index]->get_tabs();
@@ -4029,31 +3997,23 @@ TileMapEditor::TileMapEditor() {
}
// Wide empty separation control.
- Control *h_empty_space = memnew(Control);
- h_empty_space->set_h_size_flags(SIZE_EXPAND_FILL);
- tile_map_toolbar->add_child(h_empty_space);
+ tile_map_toolbar->add_spacer();
// Layer selector.
- layers_selection_popup = memnew(PopupMenu);
- layers_selection_popup->connect("id_pressed", callable_mp(this, &TileMapEditor::_layers_selection_id_pressed));
- layers_selection_popup->set_flag(Window::FLAG_POPUP, false);
-
- layers_selection_button = memnew(Button);
- layers_selection_button->set_toggle_mode(true);
- layers_selection_button->connect("draw", callable_mp(this, &TileMapEditor::_layers_selection_button_draw));
- layers_selection_button->connect("pressed", callable_mp(this, &TileMapEditor::_layers_selection_button_pressed));
- layers_selection_button->connect("hidden", callable_mp((Window *)layers_selection_popup, &Popup::hide));
- layers_selection_button->set_tooltip(TTR("Tile Map Layer"));
- layers_selection_button->add_child(layers_selection_popup);
+ layers_selection_button = memnew(OptionButton);
+ layers_selection_button->set_custom_minimum_size(Size2(200, 0));
+ layers_selection_button->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
+ layers_selection_button->set_tooltip(TTR("TileMap Layers"));
+ layers_selection_button->connect("item_selected", callable_mp(this, &TileMapEditor::_layers_selection_item_selected));
tile_map_toolbar->add_child(layers_selection_button);
- toogle_highlight_selected_layer_button = memnew(Button);
- toogle_highlight_selected_layer_button->set_flat(true);
- toogle_highlight_selected_layer_button->set_toggle_mode(true);
- toogle_highlight_selected_layer_button->set_pressed(true);
- toogle_highlight_selected_layer_button->connect("pressed", callable_mp(this, &TileMapEditor::_update_layers_selection));
- toogle_highlight_selected_layer_button->set_tooltip(TTR("Highlight Selected TileMap Layer"));
- tile_map_toolbar->add_child(toogle_highlight_selected_layer_button);
+ toggle_highlight_selected_layer_button = memnew(Button);
+ toggle_highlight_selected_layer_button->set_flat(true);
+ toggle_highlight_selected_layer_button->set_toggle_mode(true);
+ toggle_highlight_selected_layer_button->set_pressed(true);
+ toggle_highlight_selected_layer_button->connect("pressed", callable_mp(this, &TileMapEditor::_update_layers_selection));
+ toggle_highlight_selected_layer_button->set_tooltip(TTR("Highlight Selected TileMap Layer"));
+ tile_map_toolbar->add_child(toggle_highlight_selected_layer_button);
tile_map_toolbar->add_child(memnew(VSeparator));
diff --git a/editor/plugins/tiles/tile_map_editor.h b/editor/plugins/tiles/tile_map_editor.h
index 7158ebff59..9a47d8bbc4 100644
--- a/editor/plugins/tiles/tile_map_editor.h
+++ b/editor/plugins/tiles/tile_map_editor.h
@@ -40,13 +40,14 @@
#include "scene/gui/check_box.h"
#include "scene/gui/item_list.h"
#include "scene/gui/menu_button.h"
+#include "scene/gui/option_button.h"
#include "scene/gui/separator.h"
#include "scene/gui/spin_box.h"
#include "scene/gui/split_container.h"
#include "scene/gui/tab_bar.h"
#include "scene/gui/tree.h"
-class UndoRedo;
+class EditorUndoRedoManager;
class TileMapEditorPlugin : public Object {
public:
@@ -69,7 +70,7 @@ class TileMapEditorTilesPlugin : public TileMapEditorPlugin {
GDCLASS(TileMapEditorTilesPlugin, TileMapEditorPlugin);
private:
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
ObjectID tile_map_id;
int tile_map_layer = -1;
virtual void edit(ObjectID p_tile_map_id, int p_tile_map_layer) override;
@@ -222,7 +223,7 @@ class TileMapEditorTerrainsPlugin : public TileMapEditorPlugin {
GDCLASS(TileMapEditorTerrainsPlugin, TileMapEditorPlugin);
private:
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
ObjectID tile_map_id;
int tile_map_layer = -1;
virtual void edit(ObjectID p_tile_map_id, int p_tile_map_layer) override;
@@ -268,14 +269,22 @@ private:
HashMap<Vector2i, TileMapCell> drag_modified;
// Painting
- HashMap<Vector2i, TileMapCell> _draw_terrains(const HashMap<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const;
+ HashMap<Vector2i, TileMapCell> _draw_terrain_path_or_connect(const Vector<Vector2i> &p_to_paint, int p_terrain_set, int p_terrain, bool p_connect) const;
+ HashMap<Vector2i, TileMapCell> _draw_terrain_pattern(const Vector<Vector2i> &p_to_paint, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const;
HashMap<Vector2i, TileMapCell> _draw_line(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
HashMap<Vector2i, TileMapCell> _draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
RBSet<Vector2i> _get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous);
HashMap<Vector2i, TileMapCell> _draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase);
void _stop_dragging();
+ enum SelectedType {
+ SELECTED_TYPE_CONNECT = 0,
+ SELECTED_TYPE_PATH,
+ SELECTED_TYPE_PATTERN,
+ };
+ SelectedType selected_type;
int selected_terrain_set = -1;
+ int selected_terrain = -1;
TileSet::TerrainsPattern selected_terrains_pattern;
void _update_selection();
@@ -308,7 +317,7 @@ class TileMapEditor : public VBoxContainer {
GDCLASS(TileMapEditor, VBoxContainer);
private:
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
bool tileset_changed_needs_update = false;
ObjectID tile_map_id;
int tile_map_layer = -1;
@@ -319,12 +328,9 @@ private:
// Toolbar.
HBoxContainer *tile_map_toolbar = nullptr;
- PopupMenu *layers_selection_popup = nullptr;
- Button *layers_selection_button = nullptr;
- Button *toogle_highlight_selected_layer_button = nullptr;
- void _layers_selection_button_draw();
- void _layers_selection_button_pressed();
- void _layers_selection_id_pressed(int p_id);
+ OptionButton *layers_selection_button = nullptr;
+ Button *toggle_highlight_selected_layer_button = nullptr;
+ void _layers_selection_item_selected(int p_index);
Button *toggle_grid_button = nullptr;
void _on_grid_toggled(bool p_pressed);
@@ -371,4 +377,4 @@ public:
static Vector<Vector2i> get_line(TileMap *p_tile_map, Vector2i p_from_cell, Vector2i p_to_cell);
};
-#endif // TILE_MAP_EDITOR_PLUGIN_H
+#endif // TILE_MAP_EDITOR_H
diff --git a/editor/plugins/tiles/tile_proxies_manager_dialog.cpp b/editor/plugins/tiles/tile_proxies_manager_dialog.cpp
index 3fe13fd341..9e4c29fa79 100644
--- a/editor/plugins/tiles/tile_proxies_manager_dialog.cpp
+++ b/editor/plugins/tiles/tile_proxies_manager_dialog.cpp
@@ -32,6 +32,7 @@
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
void TileProxiesManagerDialog::_right_clicked(int p_item, Vector2 p_local_mouse_pos, Object *p_item_list, MouseButton p_mouse_button_index) {
if (p_mouse_button_index != MouseButton::RIGHT) {
@@ -340,7 +341,7 @@ TileProxiesManagerDialog::TileProxiesManagerDialog() {
source_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL);
source_level_list->set_select_mode(ItemList::SELECT_MULTI);
source_level_list->set_allow_rmb_select(true);
- source_level_list->connect("item_clicked", callable_mp(this, &TileProxiesManagerDialog::_right_clicked), varray(source_level_list));
+ source_level_list->connect("item_clicked", callable_mp(this, &TileProxiesManagerDialog::_right_clicked).bind(source_level_list));
vbox_container->add_child(source_level_list);
Label *coords_level_label = memnew(Label);
@@ -351,7 +352,7 @@ TileProxiesManagerDialog::TileProxiesManagerDialog() {
coords_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL);
coords_level_list->set_select_mode(ItemList::SELECT_MULTI);
coords_level_list->set_allow_rmb_select(true);
- coords_level_list->connect("item_clicked", callable_mp(this, &TileProxiesManagerDialog::_right_clicked), varray(coords_level_list));
+ coords_level_list->connect("item_clicked", callable_mp(this, &TileProxiesManagerDialog::_right_clicked).bind(coords_level_list));
vbox_container->add_child(coords_level_list);
Label *alternative_level_label = memnew(Label);
@@ -362,7 +363,7 @@ TileProxiesManagerDialog::TileProxiesManagerDialog() {
alternative_level_list->set_v_size_flags(Control::SIZE_EXPAND_FILL);
alternative_level_list->set_select_mode(ItemList::SELECT_MULTI);
alternative_level_list->set_allow_rmb_select(true);
- alternative_level_list->connect("item_clicked", callable_mp(this, &TileProxiesManagerDialog::_right_clicked), varray(alternative_level_list));
+ alternative_level_list->connect("item_clicked", callable_mp(this, &TileProxiesManagerDialog::_right_clicked).bind(alternative_level_list));
vbox_container->add_child(alternative_level_list);
popup_menu = memnew(PopupMenu);
diff --git a/editor/plugins/tiles/tile_proxies_manager_dialog.h b/editor/plugins/tiles/tile_proxies_manager_dialog.h
index 44de708898..511e442a10 100644
--- a/editor/plugins/tiles/tile_proxies_manager_dialog.h
+++ b/editor/plugins/tiles/tile_proxies_manager_dialog.h
@@ -43,7 +43,7 @@ private:
int commited_actions_count = 0;
Ref<TileSet> tile_set;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
TileMapCell from;
TileMapCell to;
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
index b87aedcf60..09722d3d65 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
@@ -97,9 +97,9 @@ bool TileSetAtlasSourceEditor::TileSetAtlasSourceProxyObject::_get(const StringN
void TileSetAtlasSourceEditor::TileSetAtlasSourceProxyObject::_get_property_list(List<PropertyInfo> *p_list) const {
p_list->push_back(PropertyInfo(Variant::STRING, "name", PROPERTY_HINT_NONE, ""));
p_list->push_back(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"));
- p_list->push_back(PropertyInfo(Variant::VECTOR2I, "margins", PROPERTY_HINT_NONE, ""));
- p_list->push_back(PropertyInfo(Variant::VECTOR2I, "separation", PROPERTY_HINT_NONE, ""));
- p_list->push_back(PropertyInfo(Variant::VECTOR2I, "texture_region_size", PROPERTY_HINT_NONE, ""));
+ p_list->push_back(PropertyInfo(Variant::VECTOR2I, "margins", PROPERTY_HINT_NONE, "suffix:px"));
+ p_list->push_back(PropertyInfo(Variant::VECTOR2I, "separation", PROPERTY_HINT_NONE, "suffix:px"));
+ p_list->push_back(PropertyInfo(Variant::VECTOR2I, "texture_region_size", PROPERTY_HINT_NONE, "suffix:px"));
p_list->push_back(PropertyInfo(Variant::BOOL, "use_texture_padding", PROPERTY_HINT_NONE, ""));
}
@@ -401,15 +401,15 @@ void TileSetAtlasSourceEditor::AtlasTileProxyObject::_get_property_list(List<Pro
if (all_alternatve_id_zero) {
p_list->push_back(PropertyInfo(Variant::NIL, "Animation", PROPERTY_HINT_NONE, "animation_", PROPERTY_USAGE_GROUP));
p_list->push_back(PropertyInfo(Variant::INT, "animation_columns", PROPERTY_HINT_NONE, ""));
- p_list->push_back(PropertyInfo(Variant::VECTOR2I, "animation_separation", PROPERTY_HINT_NONE, ""));
+ p_list->push_back(PropertyInfo(Variant::VECTOR2I, "animation_separation", PROPERTY_HINT_NONE, "suffix:px"));
p_list->push_back(PropertyInfo(Variant::FLOAT, "animation_speed", PROPERTY_HINT_NONE, ""));
p_list->push_back(PropertyInfo(Variant::INT, "animation_frames_count", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_ARRAY, "Frames,animation_frame_"));
// Not optimal, but returns value for the first tile. This is similar to what MultiNodeEdit does.
if (tile_set_atlas_source->get_tile_animation_frames_count(tiles.front()->get().tile) == 1) {
- p_list->push_back(PropertyInfo(Variant::FLOAT, "animation_frame_0/duration", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_READ_ONLY));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, "animation_frame_0/duration", PROPERTY_HINT_NONE, "suffix:s", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_READ_ONLY));
} else {
for (int i = 0; i < tile_set_atlas_source->get_tile_animation_frames_count(tiles.front()->get().tile); i++) {
- p_list->push_back(PropertyInfo(Variant::FLOAT, vformat("animation_frame_%d/duration", i), PROPERTY_HINT_NONE, ""));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, vformat("animation_frame_%d/duration", i), PROPERTY_HINT_NONE, "suffix:s"));
}
}
}
@@ -735,15 +735,15 @@ void TileSetAtlasSourceEditor::_update_tile_data_editors() {
// --- Custom Data ---
ADD_TILE_DATA_EDITOR_GROUP("Custom Data");
for (int i = 0; i < tile_set->get_custom_data_layers_count(); i++) {
- if (tile_set->get_custom_data_name(i).is_empty()) {
+ if (tile_set->get_custom_data_layer_name(i).is_empty()) {
ADD_TILE_DATA_EDITOR(group, vformat("Custom Data %d", i), vformat("custom_data_%d", i));
} else {
- ADD_TILE_DATA_EDITOR(group, tile_set->get_custom_data_name(i), vformat("custom_data_%d", i));
+ ADD_TILE_DATA_EDITOR(group, tile_set->get_custom_data_layer_name(i), vformat("custom_data_%d", i));
}
if (!tile_data_editors.has(vformat("custom_data_%d", i))) {
TileDataDefaultEditor *tile_data_custom_data_editor = memnew(TileDataDefaultEditor());
tile_data_custom_data_editor->hide();
- tile_data_custom_data_editor->setup_property_editor(tile_set->get_custom_data_type(i), vformat("custom_data_%d", i), tile_set->get_custom_data_name(i));
+ tile_data_custom_data_editor->setup_property_editor(tile_set->get_custom_data_layer_type(i), vformat("custom_data_%d", i), tile_set->get_custom_data_layer_name(i));
tile_data_custom_data_editor->connect("needs_redraw", callable_mp((CanvasItem *)tile_atlas_control_unscaled, &Control::update));
tile_data_custom_data_editor->connect("needs_redraw", callable_mp((CanvasItem *)alternative_tiles_control_unscaled, &Control::update));
tile_data_editors[vformat("custom_data_%d", i)] = tile_data_custom_data_editor;
@@ -913,7 +913,7 @@ void TileSetAtlasSourceEditor::_update_atlas_view() {
button->add_theme_style_override("hover", memnew(StyleBoxEmpty));
button->add_theme_style_override("focus", memnew(StyleBoxEmpty));
button->add_theme_style_override("pressed", memnew(StyleBoxEmpty));
- button->connect("pressed", callable_mp(tile_set_atlas_source, &TileSetAtlasSource::create_alternative_tile), varray(tile_id, TileSetSource::INVALID_TILE_ALTERNATIVE));
+ button->connect("pressed", callable_mp(tile_set_atlas_source, &TileSetAtlasSource::create_alternative_tile).bind(tile_id, TileSetSource::INVALID_TILE_ALTERNATIVE));
button->set_rect(Rect2(Vector2(pos.x, pos.y + (y_increment - texture_region_base_size.y) / 2.0), Vector2(texture_region_base_size_min, texture_region_base_size_min)));
button->set_expand_icon(true);
@@ -1822,7 +1822,7 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_unscaled_draw() {
Vector2i position = texture_region.get_center() + tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
Transform2D xform = tile_atlas_control->get_parent_control()->get_transform();
- xform.translate(position);
+ xform.translate_local(position);
if (tools_button_group->get_pressed_button() == tool_select_button && selection.has({ coords, 0 })) {
continue;
@@ -1845,7 +1845,7 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_unscaled_draw() {
Vector2i position = texture_region.get_center() + tile_set_atlas_source->get_tile_effective_texture_offset(E.tile, 0);
Transform2D xform = tile_atlas_control->get_parent_control()->get_transform();
- xform.translate(position);
+ xform.translate_local(position);
TileMapCell cell;
cell.source_id = tile_set_atlas_source_id;
@@ -1886,6 +1886,12 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_gui_input(const Ref<In
tile_atlas_control_unscaled->update();
alternative_tiles_control->update();
alternative_tiles_control_unscaled->update();
+
+ if (drag_type == DRAG_TYPE_MAY_POPUP_MENU) {
+ if (Vector2(drag_start_mouse_pos).distance_to(tile_atlas_control->get_local_mouse_position()) > 5.0 * EDSCALE) {
+ drag_type = DRAG_TYPE_NONE;
+ }
+ }
}
Ref<InputEventMouseButton> mb = p_event;
@@ -1911,7 +1917,10 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_gui_input(const Ref<In
}
} else if (mb->get_button_index() == MouseButton::RIGHT) {
if (mb->is_pressed()) {
- // Right click pressed
+ drag_type = DRAG_TYPE_MAY_POPUP_MENU;
+ drag_start_mouse_pos = alternative_tiles_control->get_local_mouse_position();
+ } else if (drag_type == DRAG_TYPE_MAY_POPUP_MENU) {
+ // Right click released and wasn't dragged too far
Vector3 tile = tile_atlas_view->get_alternative_tile_at_pos(mouse_local_pos);
selection.clear();
@@ -1989,7 +1998,7 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_unscaled_draw() {
Vector2 position = rect.get_center();
Transform2D xform = alternative_tiles_control->get_parent_control()->get_transform();
- xform.translate(position);
+ xform.translate_local(position);
if (tools_button_group->get_pressed_button() == tool_select_button && selection.has({ coords, alternative_tile })) {
continue;
@@ -2013,7 +2022,7 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_unscaled_draw() {
Vector2 position = rect.get_center();
Transform2D xform = alternative_tiles_control->get_parent_control()->get_transform();
- xform.translate(position);
+ xform.translate_local(position);
TileMapCell cell;
cell.source_id = tile_set_atlas_source_id;
@@ -2049,14 +2058,16 @@ void TileSetAtlasSourceEditor::_atlas_source_proxy_object_changed(String p_what)
}
void TileSetAtlasSourceEditor::_undo_redo_inspector_callback(Object *p_undo_redo, Object *p_edited, String p_property, Variant p_new_value) {
- UndoRedo *undo_redo = Object::cast_to<UndoRedo>(p_undo_redo);
- ERR_FAIL_COND(!undo_redo);
+ Ref<EditorUndoRedoManager> undo_redo = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
+ ERR_FAIL_COND(!undo_redo.is_valid());
#define ADD_UNDO(obj, property) undo_redo->add_undo_property(obj, property, obj->get(property));
- undo_redo->start_force_keep_in_merge_ends();
AtlasTileProxyObject *tile_data_proxy = Object::cast_to<AtlasTileProxyObject>(p_edited);
if (tile_data_proxy) {
+ UndoRedo *internal_undo_redo = undo_redo->get_history_for_object(tile_data_proxy).undo_redo;
+ internal_undo_redo->start_force_keep_in_merge_ends();
+
Vector<String> components = String(p_property).split("/", true, 2);
if (components.size() == 2 && components[1] == "polygons_count") {
int layer_index = components[0].trim_prefix("physics_layer_").to_int();
@@ -2071,13 +2082,15 @@ void TileSetAtlasSourceEditor::_undo_redo_inspector_callback(Object *p_undo_redo
}
} else if (p_property == "terrain_set") {
int current_terrain_set = tile_data_proxy->get("terrain_set");
+ ADD_UNDO(tile_data_proxy, "terrain");
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(current_terrain_set, bit)) {
+ if (tile_set->is_valid_terrain_peering_bit(current_terrain_set, bit)) {
ADD_UNDO(tile_data_proxy, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]));
}
}
}
+ internal_undo_redo->end_force_keep_in_merge_ends();
}
TileSetAtlasSourceProxyObject *atlas_source_proxy = Object::cast_to<TileSetAtlasSourceProxyObject>(p_edited);
@@ -2085,6 +2098,9 @@ void TileSetAtlasSourceEditor::_undo_redo_inspector_callback(Object *p_undo_redo
TileSetAtlasSource *atlas_source = atlas_source_proxy->get_edited();
ERR_FAIL_COND(!atlas_source);
+ UndoRedo *internal_undo_redo = undo_redo->get_history_for_object(atlas_source).undo_redo;
+ internal_undo_redo->start_force_keep_in_merge_ends();
+
PackedVector2Array arr;
if (p_property == "texture") {
arr = atlas_source->get_tiles_to_be_removed_on_change(p_new_value, atlas_source->get_margins(), atlas_source->get_separation(), atlas_source->get_texture_region_size());
@@ -2111,8 +2127,8 @@ void TileSetAtlasSourceEditor::_undo_redo_inspector_callback(Object *p_undo_redo
}
}
}
+ internal_undo_redo->end_force_keep_in_merge_ends();
}
- undo_redo->end_force_keep_in_merge_ends();
#undef ADD_UNDO
}
@@ -2334,6 +2350,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
// Tile inspector.
tile_inspector_label = memnew(Label);
tile_inspector_label->set_text(TTR("Tile Properties:"));
+ tile_inspector_label->set_theme_type_variation("HeaderSmall");
middle_vbox_container->add_child(tile_inspector_label);
tile_proxy_object = memnew(AtlasTileProxyObject(this));
@@ -2349,7 +2366,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
tile_inspector_no_tile_selected_label = memnew(Label);
tile_inspector_no_tile_selected_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
- tile_inspector_no_tile_selected_label->set_text(TTR("No tile selected."));
+ tile_inspector_no_tile_selected_label->set_text(TTR("No tiles selected."));
middle_vbox_container->add_child(tile_inspector_no_tile_selected_label);
// Property values palette.
@@ -2357,6 +2374,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
tile_data_editors_label = memnew(Label);
tile_data_editors_label->set_text(TTR("Paint Properties:"));
+ tile_data_editors_label->set_theme_type_variation("HeaderSmall");
middle_vbox_container->add_child(tile_data_editors_label);
tile_data_editor_dropdown_button = memnew(Button);
@@ -2367,7 +2385,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
tile_data_editors_tree = memnew(Tree);
tile_data_editors_tree->set_hide_root(true);
- tile_data_editors_tree->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ tile_data_editors_tree->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
tile_data_editors_tree->set_h_scroll_enabled(false);
tile_data_editors_tree->set_v_scroll_enabled(false);
tile_data_editors_tree->connect("item_selected", callable_mp(this, &TileSetAtlasSourceEditor::_tile_data_editors_tree_selected));
@@ -2380,6 +2398,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
// Atlas source inspector.
atlas_source_inspector_label = memnew(Label);
atlas_source_inspector_label->set_text(TTR("Atlas Properties:"));
+ atlas_source_inspector_label->set_theme_type_variation("HeaderSmall");
middle_vbox_container->add_child(atlas_source_inspector_label);
atlas_source_proxy_object = memnew(TileSetAtlasSourceProxyObject());
@@ -2401,7 +2420,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
confirm_auto_create_tiles = memnew(AcceptDialog);
confirm_auto_create_tiles->set_title(TTR("Auto Create Tiles in Non-Transparent Texture Regions?"));
confirm_auto_create_tiles->set_text(TTR("The atlas's texture was modified.\nWould you like to automatically create tiles in the atlas?"));
- confirm_auto_create_tiles->get_ok_button()->set_text(TTR("Yes"));
+ confirm_auto_create_tiles->set_ok_button_text(TTR("Yes"));
confirm_auto_create_tiles->add_cancel_button()->set_text(TTR("No"));
confirm_auto_create_tiles->connect("confirmed", callable_mp(this, &TileSetAtlasSourceEditor::_auto_create_tiles));
add_child(confirm_auto_create_tiles);
@@ -2505,7 +2524,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
tile_atlas_view->add_control_over_atlas_tiles(tile_atlas_control);
tile_atlas_control_unscaled = memnew(Control);
- tile_atlas_control_unscaled->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ tile_atlas_control_unscaled->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
tile_atlas_control_unscaled->connect("draw", callable_mp(this, &TileSetAtlasSourceEditor::_tile_atlas_control_unscaled_draw));
tile_atlas_view->add_control_over_atlas_tiles(tile_atlas_control_unscaled, false);
tile_atlas_control_unscaled->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
@@ -2522,7 +2541,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
tile_atlas_view->add_control_over_alternative_tiles(alternative_tiles_control);
alternative_tiles_control_unscaled = memnew(Control);
- alternative_tiles_control_unscaled->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ alternative_tiles_control_unscaled->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
alternative_tiles_control_unscaled->connect("draw", callable_mp(this, &TileSetAtlasSourceEditor::_tile_alternatives_control_unscaled_draw));
tile_atlas_view->add_control_over_alternative_tiles(alternative_tiles_control_unscaled, false);
alternative_tiles_control_unscaled->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.h b/editor/plugins/tiles/tile_set_atlas_source_editor.h
index 738fe1044d..badb702e29 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.h
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.h
@@ -114,7 +114,7 @@ private:
TileSetAtlasSource *tile_set_atlas_source = nullptr;
int tile_set_atlas_source_id = TileSet::INVALID_SOURCE;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
bool tile_set_changed_needs_update = false;
diff --git a/editor/plugins/tiles/tile_set_editor.cpp b/editor/plugins/tiles/tile_set_editor.cpp
index fb4a563992..8d04dd3121 100644
--- a/editor/plugins/tiles/tile_set_editor.cpp
+++ b/editor/plugins/tiles/tile_set_editor.cpp
@@ -36,6 +36,7 @@
#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/box_container.h"
#include "scene/gui/control.h"
@@ -405,8 +406,8 @@ void TileSetEditor::_tab_changed(int p_tab_changed) {
}
void TileSetEditor::_move_tile_set_array_element(Object *p_undo_redo, Object *p_edited, String p_array_prefix, int p_from_index, int p_to_pos) {
- UndoRedo *undo_redo = Object::cast_to<UndoRedo>(p_undo_redo);
- ERR_FAIL_COND(!undo_redo);
+ Ref<EditorUndoRedoManager> undo_redo = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
+ ERR_FAIL_COND(undo_redo.is_null());
TileSet *tile_set = Object::cast_to<TileSet>(p_edited);
if (!tile_set) {
@@ -505,7 +506,7 @@ void TileSetEditor::_move_tile_set_array_element(Object *p_undo_redo, Object *p_
for (int terrain_set_index = begin; terrain_set_index < end; terrain_set_index++) {
for (int l = 0; l < TileSet::CELL_NEIGHBOR_MAX; l++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(l);
- if (tile_data->is_valid_peering_bit_terrain(bit)) {
+ if (tile_data->is_valid_terrain_peering_bit(bit)) {
ADD_UNDO(tile_data, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[l]));
}
}
@@ -513,7 +514,7 @@ void TileSetEditor::_move_tile_set_array_element(Object *p_undo_redo, Object *p_
} else if (components.size() >= 2 && components[0].begins_with("terrain_set_") && components[0].trim_prefix("terrain_set_").is_valid_int() && components[1] == "terrain_") {
for (int terrain_index = 0; terrain_index < TileSet::CELL_NEIGHBOR_MAX; terrain_index++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(terrain_index);
- if (tile_data->is_valid_peering_bit_terrain(bit)) {
+ if (tile_data->is_valid_terrain_peering_bit(bit)) {
ADD_UNDO(tile_data, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[terrain_index]));
}
}
@@ -586,8 +587,8 @@ void TileSetEditor::_move_tile_set_array_element(Object *p_undo_redo, Object *p_
}
void TileSetEditor::_undo_redo_inspector_callback(Object *p_undo_redo, Object *p_edited, String p_property, Variant p_new_value) {
- UndoRedo *undo_redo = Object::cast_to<UndoRedo>(p_undo_redo);
- ERR_FAIL_COND(!undo_redo);
+ Ref<EditorUndoRedoManager> undo_redo = Object::cast_to<EditorUndoRedoManager>(p_undo_redo);
+ ERR_FAIL_COND(undo_redo.is_null());
#define ADD_UNDO(obj, property) undo_redo->add_undo_property(obj, property, obj->get(property));
TileSet *tile_set = Object::cast_to<TileSet>(p_edited);
@@ -607,9 +608,10 @@ void TileSetEditor::_undo_redo_inspector_callback(Object *p_undo_redo, Object *p
if (components.size() == 2 && components[0].begins_with("terrain_set_") && components[0].trim_prefix("terrain_set_").is_valid_int() && components[1] == "mode") {
ADD_UNDO(tile_data, "terrain_set");
+ ADD_UNDO(tile_data, "terrain");
for (int l = 0; l < TileSet::CELL_NEIGHBOR_MAX; l++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(l);
- if (tile_data->is_valid_peering_bit_terrain(bit)) {
+ if (tile_data->is_valid_terrain_peering_bit(bit)) {
ADD_UNDO(tile_data, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[l]));
}
}
@@ -709,9 +711,9 @@ TileSetEditor::TileSetEditor() {
sources_list->set_v_size_flags(SIZE_EXPAND_FILL);
sources_list->connect("item_selected", callable_mp(this, &TileSetEditor::_source_selected));
sources_list->connect("item_selected", callable_mp(TilesEditorPlugin::get_singleton(), &TilesEditorPlugin::set_sources_lists_current));
- sources_list->connect("visibility_changed", callable_mp(TilesEditorPlugin::get_singleton(), &TilesEditorPlugin::synchronize_sources_list), varray(sources_list, source_sort_button));
+ sources_list->connect("visibility_changed", callable_mp(TilesEditorPlugin::get_singleton(), &TilesEditorPlugin::synchronize_sources_list).bind(sources_list, source_sort_button));
sources_list->add_user_signal(MethodInfo("sort_request"));
- sources_list->connect("sort_request", callable_mp(this, &TileSetEditor::_update_sources_list), varray(-1));
+ sources_list->connect("sort_request", callable_mp(this, &TileSetEditor::_update_sources_list).bind(-1));
sources_list->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST);
sources_list->set_drag_forwarding(this);
split_container_left_side->add_child(sources_list);
diff --git a/editor/plugins/tiles/tile_set_editor.h b/editor/plugins/tiles/tile_set_editor.h
index e633de37b0..3b9b80dac4 100644
--- a/editor/plugins/tiles/tile_set_editor.h
+++ b/editor/plugins/tiles/tile_set_editor.h
@@ -39,6 +39,8 @@
#include "tile_set_atlas_source_editor.h"
#include "tile_set_scenes_collection_source_editor.h"
+class EditorUndoRedoManager;
+
class TileSetEditor : public VBoxContainer {
GDCLASS(TileSetEditor, VBoxContainer);
@@ -58,7 +60,7 @@ private:
TileSetAtlasSourceEditor *tile_set_atlas_source_editor = nullptr;
TileSetScenesCollectionSourceEditor *tile_set_scenes_collection_source_editor = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void _drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
bool _can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
@@ -108,4 +110,4 @@ public:
~TileSetEditor();
};
-#endif // TILE_SET_EDITOR_PLUGIN_H
+#endif // TILE_SET_EDITOR_H
diff --git a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h
index 657bfca032..0284b45c0f 100644
--- a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h
+++ b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h
@@ -97,7 +97,7 @@ private:
TileSetScenesCollectionSource *tile_set_scenes_collection_source = nullptr;
int tile_set_source_id = -1;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
bool tile_set_scenes_collection_source_changed_needs_update = false;
@@ -142,4 +142,4 @@ public:
~TileSetScenesCollectionSourceEditor();
};
-#endif
+#endif // TILE_SET_SCENES_COLLECTION_SOURCE_EDITOR_H
diff --git a/editor/plugins/tiles/tiles_editor_plugin.cpp b/editor/plugins/tiles/tiles_editor_plugin.cpp
index 543304346e..b5134f6893 100644
--- a/editor/plugins/tiles/tiles_editor_plugin.cpp
+++ b/editor/plugins/tiles/tiles_editor_plugin.cpp
@@ -116,21 +116,18 @@ void TilesEditorPlugin::_thread() {
// Add the viewport at the last moment to avoid rendering too early.
EditorNode::get_singleton()->add_child(viewport);
- RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<TilesEditorPlugin *>(this), &TilesEditorPlugin::_preview_frame_started), Vector<Variant>(), Object::CONNECT_ONESHOT);
+ RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<TilesEditorPlugin *>(this), &TilesEditorPlugin::_preview_frame_started), Object::CONNECT_ONESHOT);
pattern_preview_done.wait();
Ref<Image> image = viewport->get_texture()->get_image();
- Ref<ImageTexture> image_texture;
- image_texture.instantiate();
- image_texture->create_from_image(image);
// Find the index for the given pattern. TODO: optimize.
- Variant args[] = { item.pattern, image_texture };
+ Variant args[] = { item.pattern, ImageTexture::create_from_image(image) };
const Variant *args_ptr[] = { &args[0], &args[1] };
Variant r;
Callable::CallError error;
- item.callback.call(args_ptr, 2, r, error);
+ item.callback.callp(args_ptr, 2, r, error);
viewport->queue_delete();
} else {
@@ -158,6 +155,9 @@ void TilesEditorPlugin::_update_editors() {
// Update the viewport.
CanvasItemEditor::get_singleton()->update_viewport();
+ // Make sure the tile set editor is visible if we have one assigned.
+ tileset_editor_button->set_visible(is_visible && tile_set.is_valid());
+
// Update visibility of bottom panel buttons.
if (tileset_editor_button->is_pressed() && !tile_set.is_valid()) {
if (tile_map) {
@@ -184,12 +184,14 @@ void TilesEditorPlugin::_notification(int p_what) {
}
void TilesEditorPlugin::make_visible(bool p_visible) {
- if (p_visible) {
+ is_visible = p_visible;
+
+ if (is_visible) {
// Disable and hide invalid editors.
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
tileset_editor_button->set_visible(tile_set.is_valid());
tilemap_editor_button->set_visible(tile_map);
- if (tile_map) {
+ if (tile_map && !is_editing_tile_set) {
EditorNode::get_singleton()->make_bottom_panel_item_visible(tilemap_editor);
} else {
EditorNode::get_singleton()->make_bottom_panel_item_visible(tileset_editor);
@@ -229,14 +231,14 @@ void TilesEditorPlugin::synchronize_sources_list(Object *p_current_list, Object
}
if (item_list->is_visible_in_tree()) {
+ // Make sure the selection is not overwritten after sorting.
+ int atlas_sources_lists_current_mem = atlas_sources_lists_current;
+ item_list->emit_signal(SNAME("sort_request"));
+ atlas_sources_lists_current = atlas_sources_lists_current_mem;
+
if (atlas_sources_lists_current < 0 || atlas_sources_lists_current >= item_list->get_item_count()) {
item_list->deselect_all();
} else {
- // Make sure the selection is not overwritten after sorting.
- int atlas_sources_lists_current_mem = atlas_sources_lists_current;
- item_list->emit_signal(SNAME("sort_request"));
- atlas_sources_lists_current = atlas_sources_lists_current_mem;
-
item_list->set_current(atlas_sources_lists_current);
item_list->ensure_current_is_visible();
item_list->emit_signal(SNAME("item_selected"), atlas_sources_lists_current);
@@ -348,6 +350,8 @@ void TilesEditorPlugin::edit(Object *p_object) {
// Update edited objects.
tile_set = Ref<TileSet>();
+ is_editing_tile_set = false;
+
if (p_object) {
if (p_object->is_class("TileMap")) {
tile_map_id = p_object->get_instance_id();
@@ -362,6 +366,7 @@ void TilesEditorPlugin::edit(Object *p_object) {
tile_map_id = ObjectID();
}
}
+ is_editing_tile_set = true;
EditorNode::get_singleton()->make_bottom_panel_item_visible(tileset_editor);
}
}
diff --git a/editor/plugins/tiles/tiles_editor_plugin.h b/editor/plugins/tiles/tiles_editor_plugin.h
index a22e782b34..b1fe6f8df6 100644
--- a/editor/plugins/tiles/tiles_editor_plugin.h
+++ b/editor/plugins/tiles/tiles_editor_plugin.h
@@ -53,9 +53,12 @@ public:
};
private:
+ bool is_visible = false;
+
bool tile_map_changed_needs_update = false;
ObjectID tile_map_id;
Ref<TileSet> tile_set;
+ bool is_editing_tile_set = false;
Button *tilemap_editor_button = nullptr;
TileMapEditor *tilemap_editor = nullptr;
diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp
index 443d5975cd..6db499f2c7 100644
--- a/editor/plugins/version_control_editor_plugin.cpp
+++ b/editor/plugins/version_control_editor_plugin.cpp
@@ -35,6 +35,8 @@
#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "scene/gui/separator.h"
VersionControlEditorPlugin *VersionControlEditorPlugin::singleton = nullptr;
@@ -240,7 +242,7 @@ void VersionControlEditorPlugin::_view_file_diff() {
}
void VersionControlEditorPlugin::_display_file_diff(String p_file_path) {
- Array diff_content = EditorVCSInterface::get_singleton()->get_file_diff(p_file_path);
+ TypedArray<Dictionary> diff_content = EditorVCSInterface::get_singleton()->get_file_diff(p_file_path);
diff_file_name->set_text(p_file_path);
diff --git a/editor/plugins/version_control_editor_plugin.h b/editor/plugins/version_control_editor_plugin.h
index 39a56de772..fa721268ba 100644
--- a/editor/plugins/version_control_editor_plugin.h
+++ b/editor/plugins/version_control_editor_plugin.h
@@ -148,4 +148,4 @@ public:
VARIANT_ENUM_CAST(VersionControlEditorPlugin::ChangeType);
-#endif // !VERSION_CONTROL_EDITOR_PLUGIN_H
+#endif // VERSION_CONTROL_EDITOR_PLUGIN_H
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index 6e13a31a1f..961f092650 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -40,9 +40,18 @@
#include "editor/editor_node.h"
#include "editor/editor_properties.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
+#include "editor/plugins/curve_editor_plugin.h"
+#include "editor/plugins/shader_editor_plugin.h"
#include "scene/animation/animation_player.h"
+#include "scene/gui/button.h"
+#include "scene/gui/code_edit.h"
+#include "scene/gui/graph_edit.h"
#include "scene/gui/menu_button.h"
#include "scene/gui/panel.h"
+#include "scene/gui/popup.h"
+#include "scene/gui/rich_text_label.h"
+#include "scene/gui/tree.h"
#include "scene/gui/view_panner.h"
#include "scene/main/window.h"
#include "scene/resources/visual_shader_nodes.h"
@@ -72,6 +81,10 @@ const int MAX_FLOAT_CONST_DEFS = sizeof(float_constant_defs) / sizeof(FloatConst
///////////////////
+void VisualShaderNodePlugin::set_editor(VisualShaderEditor *p_editor) {
+ vseditor = p_editor;
+}
+
Control *VisualShaderNodePlugin::create_editor(const Ref<Resource> &p_parent_resource, const Ref<VisualShaderNode> &p_node) {
Object *ret;
if (GDVIRTUAL_CALL(_create_editor, p_parent_resource, p_node, ret)) {
@@ -86,17 +99,6 @@ void VisualShaderNodePlugin::_bind_methods() {
///////////////////
-static Ref<StyleBoxEmpty> make_empty_stylebox(float p_margin_left = -1, float p_margin_top = -1, float p_margin_right = -1, float p_margin_bottom = -1) {
- Ref<StyleBoxEmpty> style(memnew(StyleBoxEmpty));
- style->set_default_margin(SIDE_LEFT, p_margin_left * EDSCALE);
- style->set_default_margin(SIDE_RIGHT, p_margin_right * EDSCALE);
- style->set_default_margin(SIDE_BOTTOM, p_margin_bottom * EDSCALE);
- style->set_default_margin(SIDE_TOP, p_margin_top * EDSCALE);
- return style;
-}
-
-///////////////////
-
VisualShaderGraphPlugin::VisualShaderGraphPlugin() {
}
@@ -115,6 +117,10 @@ void VisualShaderGraphPlugin::_bind_methods() {
ClassDB::bind_method("update_curve_xyz", &VisualShaderGraphPlugin::update_curve_xyz);
}
+void VisualShaderGraphPlugin::set_editor(VisualShaderEditor *p_editor) {
+ editor = p_editor;
+}
+
void VisualShaderGraphPlugin::register_shader(VisualShader *p_shader) {
visual_shader = Ref<VisualShader>(p_shader);
}
@@ -186,15 +192,11 @@ void VisualShaderGraphPlugin::set_input_port_default_value(VisualShader::Type p_
switch (p_value.get_type()) {
case Variant::COLOR: {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (!editor) {
- break;
- }
button->set_custom_minimum_size(Size2(30, 0) * EDSCALE);
Callable ce = callable_mp(editor, &VisualShaderEditor::_draw_color_over_button);
if (!button->is_connected("draw", ce)) {
- button->connect("draw", ce, varray(button, p_value));
+ button->connect("draw", ce.bind(button, p_value));
}
} break;
case Variant::BOOL: {
@@ -337,10 +339,6 @@ void VisualShaderGraphPlugin::register_uniform_name(int p_node_id, LineEdit *p_u
}
void VisualShaderGraphPlugin::update_theme() {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (!editor) {
- return;
- }
vector_expanded_color[0] = editor->get_theme_color(SNAME("axis_x_color"), SNAME("Editor")); // red
vector_expanded_color[1] = editor->get_theme_color(SNAME("axis_y_color"), SNAME("Editor")); // green
vector_expanded_color[2] = editor->get_theme_color(SNAME("axis_z_color"), SNAME("Editor")); // blue
@@ -351,10 +349,6 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
if (!visual_shader.is_valid() || p_type != visual_shader->get_shader_type()) {
return;
}
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (!editor) {
- return;
- }
GraphEdit *graph = editor->graph;
if (!graph) {
return;
@@ -367,8 +361,6 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
Control *offset;
- static Ref<StyleBoxEmpty> label_style = make_empty_stylebox(2, 1, 2, 1);
-
static const Color type_color[] = {
Color(0.38, 0.85, 0.96), // scalar (float)
Color(0.49, 0.78, 0.94), // scalar (int)
@@ -426,7 +418,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
size = resizable_node->get_size();
node->set_resizable(true);
- node->connect("resize_request", callable_mp(editor, &VisualShaderEditor::_node_resized), varray((int)p_type, p_id));
+ node->connect("resize_request", callable_mp(editor, &VisualShaderEditor::_node_resized).bind((int)p_type, p_id));
}
if (is_expression) {
expression = expression_node->get_expression();
@@ -438,10 +430,10 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
if (p_id >= 2) {
node->set_show_close_button(true);
- node->connect("close_request", callable_mp(editor, &VisualShaderEditor::_delete_node_request), varray(p_type, p_id), CONNECT_DEFERRED);
+ node->connect("close_request", callable_mp(editor, &VisualShaderEditor::_delete_node_request).bind(p_type, p_id), CONNECT_DEFERRED);
}
- node->connect("dragged", callable_mp(editor, &VisualShaderEditor::_node_dragged), varray(p_id));
+ node->connect("dragged", callable_mp(editor, &VisualShaderEditor::_node_dragged).bind(p_id));
Control *custom_editor = nullptr;
int port_offset = 1;
@@ -474,6 +466,12 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
node->set_custom_minimum_size(Size2(200 * EDSCALE, 0));
}
+ Ref<VisualShaderNodeUniformRef> uniform_ref = vsnode;
+ if (uniform_ref.is_valid()) {
+ uniform_ref->set_shader_rid(visual_shader->get_rid());
+ uniform_ref->update_uniform_type();
+ }
+
Ref<VisualShaderNodeUniform> uniform = vsnode;
HBoxContainer *hb = nullptr;
@@ -482,8 +480,8 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
register_uniform_name(p_id, uniform_name);
uniform_name->set_h_size_flags(Control::SIZE_EXPAND_FILL);
uniform_name->set_text(uniform->get_uniform_name());
- uniform_name->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_uniform_line_edit_changed), varray(p_id));
- uniform_name->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_uniform_line_edit_focus_out), varray(uniform_name, p_id));
+ uniform_name->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_uniform_line_edit_changed).bind(p_id));
+ uniform_name->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_uniform_line_edit_focus_out).bind(uniform_name, p_id));
if (vsnode->get_output_port_count() == 1 && vsnode->get_output_port_name(0) == "") {
hb = memnew(HBoxContainer);
@@ -523,7 +521,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
Callable ce = callable_mp(graph_plugin, &VisualShaderGraphPlugin::update_curve);
if (curve->get_texture().is_valid() && !curve->get_texture()->is_connected("changed", ce)) {
- curve->get_texture()->connect("changed", ce, varray(p_id));
+ curve->get_texture()->connect("changed", ce.bind(p_id));
}
CurveEditor *curve_editor = memnew(CurveEditor);
@@ -541,7 +539,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
Callable ce = callable_mp(graph_plugin, &VisualShaderGraphPlugin::update_curve_xyz);
if (curve_xyz->get_texture().is_valid() && !curve_xyz->get_texture()->is_connected("changed", ce)) {
- curve_xyz->get_texture()->connect("changed", ce, varray(p_id));
+ curve_xyz->get_texture()->connect("changed", ce.bind(p_id));
}
CurveEditor *curve_editor_x = memnew(CurveEditor);
@@ -604,14 +602,14 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
Button *add_input_btn = memnew(Button);
add_input_btn->set_text(TTR("Add Input"));
- add_input_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_add_input_port), varray(p_id, group_node->get_free_input_port_id(), VisualShaderNode::PORT_TYPE_VECTOR_3D, input_port_name), CONNECT_DEFERRED);
+ add_input_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_add_input_port).bind(p_id, group_node->get_free_input_port_id(), VisualShaderNode::PORT_TYPE_VECTOR_3D, input_port_name), CONNECT_DEFERRED);
hb2->add_child(add_input_btn);
hb2->add_spacer();
Button *add_output_btn = memnew(Button);
add_output_btn->set_text(TTR("Add Output"));
- add_output_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_add_output_port), varray(p_id, group_node->get_free_output_port_id(), VisualShaderNode::PORT_TYPE_VECTOR_3D, output_port_name), CONNECT_DEFERRED);
+ add_output_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_add_output_port).bind(p_id, group_node->get_free_output_port_id(), VisualShaderNode::PORT_TYPE_VECTOR_3D, output_port_name), CONNECT_DEFERRED);
hb2->add_child(add_output_btn);
node->add_child(hb2);
@@ -719,7 +717,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
Button *button = memnew(Button);
hb->add_child(button);
register_default_input_button(p_id, i, button);
- button->connect("pressed", callable_mp(editor, &VisualShaderEditor::_edit_port_default_input), varray(button, p_id, i));
+ button->connect("pressed", callable_mp(editor, &VisualShaderEditor::_edit_port_default_input).bind(button, p_id, i));
if (default_value.get_type() != Variant::NIL) { // only a label
set_input_port_default_value(p_type, p_id, i, default_value);
} else {
@@ -744,32 +742,32 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
type_box->add_item(TTR("Sampler"));
type_box->select(group_node->get_input_port_type(i));
type_box->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
- type_box->connect("item_selected", callable_mp(editor, &VisualShaderEditor::_change_input_port_type), varray(p_id, i), CONNECT_DEFERRED);
+ type_box->connect("item_selected", callable_mp(editor, &VisualShaderEditor::_change_input_port_type).bind(p_id, i), CONNECT_DEFERRED);
LineEdit *name_box = memnew(LineEdit);
hb->add_child(name_box);
name_box->set_custom_minimum_size(Size2(65 * EDSCALE, 0));
name_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
name_box->set_text(name_left);
- name_box->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_change_input_port_name), varray(name_box, p_id, i), CONNECT_DEFERRED);
- name_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_port_name_focus_out), varray(name_box, p_id, i, false), CONNECT_DEFERRED);
+ name_box->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_change_input_port_name).bind(name_box, p_id, i), CONNECT_DEFERRED);
+ name_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_port_name_focus_out).bind(name_box, p_id, i, false), CONNECT_DEFERRED);
Button *remove_btn = memnew(Button);
remove_btn->set_icon(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
remove_btn->set_tooltip(TTR("Remove") + " " + name_left);
- remove_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_remove_input_port), varray(p_id, i), CONNECT_DEFERRED);
+ remove_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_remove_input_port).bind(p_id, i), CONNECT_DEFERRED);
hb->add_child(remove_btn);
} else {
Label *label = memnew(Label);
label->set_text(name_left);
- label->add_theme_style_override("normal", label_style); //more compact
+ label->add_theme_style_override("normal", editor->get_theme_stylebox(SNAME("label_style"), SNAME("VShaderEditor"))); //more compact
hb->add_child(label);
if (vsnode->is_input_port_default(i, mode) && !port_left_used) {
Label *hint_label = memnew(Label);
hint_label->set_text(TTR("[default]"));
hint_label->add_theme_color_override("font_color", editor->get_theme_color(SNAME("font_readonly_color"), SNAME("TextEdit")));
- hint_label->add_theme_style_override("normal", label_style);
+ hint_label->add_theme_style_override("normal", editor->get_theme_stylebox(SNAME("label_style"), SNAME("VShaderEditor")));
hb->add_child(hint_label);
}
}
@@ -784,7 +782,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
Button *remove_btn = memnew(Button);
remove_btn->set_icon(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
remove_btn->set_tooltip(TTR("Remove") + " " + name_left);
- remove_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_remove_output_port), varray(p_id, i), CONNECT_DEFERRED);
+ remove_btn->connect("pressed", callable_mp(editor, &VisualShaderEditor::_remove_output_port).bind(p_id, i), CONNECT_DEFERRED);
hb->add_child(remove_btn);
LineEdit *name_box = memnew(LineEdit);
@@ -792,8 +790,8 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
name_box->set_custom_minimum_size(Size2(65 * EDSCALE, 0));
name_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
name_box->set_text(name_right);
- name_box->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_change_output_port_name), varray(name_box, p_id, i), CONNECT_DEFERRED);
- name_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_port_name_focus_out), varray(name_box, p_id, i, true), CONNECT_DEFERRED);
+ name_box->connect("text_submitted", callable_mp(editor, &VisualShaderEditor::_change_output_port_name).bind(name_box, p_id, i), CONNECT_DEFERRED);
+ name_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_port_name_focus_out).bind(name_box, p_id, i, true), CONNECT_DEFERRED);
OptionButton *type_box = memnew(OptionButton);
hb->add_child(type_box);
@@ -806,11 +804,11 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
type_box->add_item(TTR("Transform"));
type_box->select(group_node->get_output_port_type(i));
type_box->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
- type_box->connect("item_selected", callable_mp(editor, &VisualShaderEditor::_change_output_port_type), varray(p_id, i), CONNECT_DEFERRED);
+ type_box->connect("item_selected", callable_mp(editor, &VisualShaderEditor::_change_output_port_type).bind(p_id, i), CONNECT_DEFERRED);
} else {
Label *label = memnew(Label);
label->set_text(name_right);
- label->add_theme_style_override("normal", label_style); //more compact
+ label->add_theme_style_override("normal", editor->get_theme_stylebox(SNAME("label_style"), SNAME("VShaderEditor"))); //more compact
hb->add_child(label);
}
}
@@ -824,7 +822,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
expand->set_pressed_texture(editor->get_theme_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons")));
expand->set_v_size_flags(Control::SIZE_SHRINK_CENTER);
expand->set_pressed(vsnode->_is_output_port_expanded(i));
- expand->connect("pressed", callable_mp(editor, &VisualShaderEditor::_expand_output_port), varray(p_id, i, !vsnode->_is_output_port_expanded(i)), CONNECT_DEFERRED);
+ expand->connect("pressed", callable_mp(editor, &VisualShaderEditor::_expand_output_port).bind(p_id, i, !vsnode->_is_output_port_expanded(i)), CONNECT_DEFERRED);
hb->add_child(expand);
}
if (vsnode->has_output_port_preview(i) && port_right != VisualShaderNode::PORT_TYPE_TRANSFORM && port_right != VisualShaderNode::PORT_TYPE_SAMPLER) {
@@ -836,7 +834,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
register_output_port(p_id, j, preview);
- preview->connect("pressed", callable_mp(editor, &VisualShaderEditor::_preview_select_port), varray(p_id, j), CONNECT_DEFERRED);
+ preview->connect("pressed", callable_mp(editor, &VisualShaderEditor::_preview_select_port).bind(p_id, j), CONNECT_DEFERRED);
hb->add_child(preview);
}
}
@@ -1018,7 +1016,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
expression_box->set_context_menu_enabled(false);
expression_box->set_draw_line_numbers(true);
- expression_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_expression_focus_out), varray(expression_box, p_id));
+ expression_box->connect("focus_exited", callable_mp(editor, &VisualShaderEditor::_expression_focus_out).bind(expression_box, p_id));
}
if (is_comment) {
@@ -1035,10 +1033,6 @@ void VisualShaderGraphPlugin::remove_node(VisualShader::Type p_type, int p_id) {
}
void VisualShaderGraphPlugin::connect_nodes(VisualShader::Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (!editor) {
- return;
- }
GraphEdit *graph = editor->graph;
if (!graph) {
return;
@@ -1055,10 +1049,6 @@ void VisualShaderGraphPlugin::connect_nodes(VisualShader::Type p_type, int p_fro
}
void VisualShaderGraphPlugin::disconnect_nodes(VisualShader::Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (!editor) {
- return;
- }
GraphEdit *graph = editor->graph;
if (!graph) {
return;
@@ -1085,6 +1075,27 @@ VisualShaderGraphPlugin::~VisualShaderGraphPlugin() {
/////////////////
+void VisualShaderEditedProperty::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("set_edited_property", "value"), &VisualShaderEditedProperty::set_edited_property);
+ ClassDB::bind_method(D_METHOD("get_edited_property"), &VisualShaderEditedProperty::get_edited_property);
+
+ ADD_PROPERTY(PropertyInfo(Variant::NIL, "edited_property", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NIL_IS_VARIANT), "set_edited_property", "get_edited_property");
+}
+
+void VisualShaderEditedProperty::set_edited_property(Variant p_variant) {
+ edited_property = p_variant;
+}
+
+Variant VisualShaderEditedProperty::get_edited_property() const {
+ return edited_property;
+}
+
+/////////////////
+
+Vector2 VisualShaderEditor::selection_center;
+List<VisualShaderEditor::CopyItem> VisualShaderEditor::copy_items_buffer;
+List<VisualShader::Connection> VisualShaderEditor::copy_connections_buffer;
+
void VisualShaderEditor::edit(VisualShader *p_visual_shader) {
bool changed = false;
if (p_visual_shader) {
@@ -1102,27 +1113,6 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) {
if (!visual_shader->is_connected("changed", ce)) {
visual_shader->connect("changed", ce);
}
-#ifndef DISABLE_DEPRECATED
- Dictionary engine_version = Engine::get_singleton()->get_version_info();
- static Array components;
- if (components.is_empty()) {
- components.push_back("major");
- components.push_back("minor");
- }
- const Dictionary vs_version = visual_shader->get_engine_version();
- if (!vs_version.has_all(components)) {
- visual_shader->update_engine_version(engine_version);
- print_line(vformat(TTR("The shader (\"%s\") has been updated to correspond Godot %s.%s version."), visual_shader->get_path(), engine_version["major"], engine_version["minor"]));
- } else {
- for (int i = 0; i < components.size(); i++) {
- if (vs_version[components[i]] != engine_version[components[i]]) {
- visual_shader->update_engine_version(engine_version);
- print_line(vformat(TTR("The shader (\"%s\") has been updated to correspond Godot %s.%s version."), visual_shader->get_path(), engine_version["major"], engine_version["minor"]));
- break;
- }
- }
- }
-#endif
visual_shader->set_graph_offset(graph->get_scroll_ofs() / EDSCALE);
_set_mode(visual_shader->get_mode());
} else {
@@ -1623,7 +1613,7 @@ void VisualShaderEditor::_update_created_node(GraphNode *node) {
}
void VisualShaderEditor::_update_uniforms(bool p_update_refs) {
- VisualShaderNodeUniformRef::clear_uniforms();
+ VisualShaderNodeUniformRef::clear_uniforms(visual_shader->get_rid());
for (int t = 0; t < VisualShader::TYPE_MAX; t++) {
Vector<int> tnodes = visual_shader->get_node_list((VisualShader::Type)t);
@@ -1661,7 +1651,7 @@ void VisualShaderEditor::_update_uniforms(bool p_update_refs) {
} else {
uniform_type = VisualShaderNodeUniformRef::UniformType::UNIFORM_TYPE_SAMPLER;
}
- VisualShaderNodeUniformRef::add_uniform(uniform->get_uniform_name(), uniform_type);
+ VisualShaderNodeUniformRef::add_uniform(visual_shader->get_rid(), uniform->get_uniform_name(), uniform_type);
}
}
}
@@ -1745,6 +1735,8 @@ void VisualShaderEditor::_update_graph() {
float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity");
graph->set_minimap_opacity(graph_minimap_opacity);
+ float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature");
+ graph->set_connection_lines_curvature(graph_lines_curvature);
}
VisualShader::Type VisualShaderEditor::get_current_shader_type() const {
@@ -2307,10 +2299,8 @@ void VisualShaderEditor::_port_name_focus_out(Object *line_edit, int p_node_id,
}
}
-void VisualShaderEditor::_port_edited() {
+void VisualShaderEditor::_port_edited(const StringName &p_property, const Variant &p_value, const String &p_field, bool p_changing) {
VisualShader::Type type = get_current_shader_type();
-
- Variant value = property_editor->get_variant();
Ref<VisualShaderNode> vsn = visual_shader->get_node(type, editing_node);
ERR_FAIL_COND(!vsn.is_valid());
@@ -2318,30 +2308,51 @@ void VisualShaderEditor::_port_edited() {
Ref<VisualShaderNodeCustom> custom = Object::cast_to<VisualShaderNodeCustom>(vsn.ptr());
if (custom.is_valid()) {
- undo_redo->add_do_method(custom.ptr(), "_set_input_port_default_value", editing_port, value);
+ undo_redo->add_do_method(custom.ptr(), "_set_input_port_default_value", editing_port, p_value);
undo_redo->add_undo_method(custom.ptr(), "_set_input_port_default_value", editing_port, vsn->get_input_port_default_value(editing_port));
} else {
- undo_redo->add_do_method(vsn.ptr(), "set_input_port_default_value", editing_port, value);
+ undo_redo->add_do_method(vsn.ptr(), "set_input_port_default_value", editing_port, p_value);
undo_redo->add_undo_method(vsn.ptr(), "set_input_port_default_value", editing_port, vsn->get_input_port_default_value(editing_port));
}
- undo_redo->add_do_method(graph_plugin.ptr(), "set_input_port_default_value", type, editing_node, editing_port, value);
+ undo_redo->add_do_method(graph_plugin.ptr(), "set_input_port_default_value", type, editing_node, editing_port, p_value);
undo_redo->add_undo_method(graph_plugin.ptr(), "set_input_port_default_value", type, editing_node, editing_port, vsn->get_input_port_default_value(editing_port));
undo_redo->commit_action();
-
- property_editor->hide();
}
void VisualShaderEditor::_edit_port_default_input(Object *p_button, int p_node, int p_port) {
VisualShader::Type type = get_current_shader_type();
+ Ref<VisualShaderNode> vs_node = visual_shader->get_node(type, p_node);
+ Variant value = vs_node->get_input_port_default_value(p_port);
+
+ edited_property_holder->set_edited_property(value);
- Ref<VisualShaderNode> vsn = visual_shader->get_node(type, p_node);
+ if (property_editor) {
+ property_editor->disconnect("property_changed", callable_mp(this, &VisualShaderEditor::_port_edited));
+ property_editor_popup->remove_child(property_editor);
+ }
+
+ // TODO: Define these properties with actual PropertyInfo and feed it to the property editor widget.
+ property_editor = EditorInspector::instantiate_property_editor(edited_property_holder.ptr(), value.get_type(), "edited_property", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE);
+ if (property_editor) {
+ property_editor->set_object_and_property(edited_property_holder.ptr(), "edited_property");
+ property_editor->update_property();
+ property_editor->set_name_split_ratio(0);
+ property_editor_popup->add_child(property_editor);
+
+ property_editor->connect("property_changed", callable_mp(this, &VisualShaderEditor::_port_edited));
+
+ Button *button = Object::cast_to<Button>(p_button);
+ if (button) {
+ property_editor_popup->set_position(button->get_screen_position() + Vector2(0, button->get_size().height) * graph->get_zoom());
+ }
+ property_editor_popup->reset_size();
+ if (button) {
+ property_editor_popup->popup();
+ } else {
+ property_editor_popup->popup_centered_ratio();
+ }
+ }
- Button *button = Object::cast_to<Button>(p_button);
- ERR_FAIL_COND(!button);
- Variant value = vsn->get_input_port_default_value(p_port);
- property_editor->set_position(button->get_screen_position() + Vector2(0, button->get_size().height));
- property_editor->edit(nullptr, "", value.get_type(), value, 0, "");
- property_editor->popup();
editing_node = p_node;
editing_port = p_port;
}
@@ -2664,7 +2675,6 @@ void VisualShaderEditor::_add_node(int p_idx, const Vector<Variant> &p_ops, Stri
_setup_node(vsn, p_ops);
}
VisualShaderNodeUniformRef *uniform_ref = Object::cast_to<VisualShaderNodeUniformRef>(vsn);
-
if (uniform_ref && to_node != -1 && to_slot != -1) {
VisualShaderNode::PortType input_port_type = visual_shader->get_node(type, to_node)->get_input_port_type(to_slot);
bool success = false;
@@ -3671,6 +3681,9 @@ void VisualShaderEditor::_notification(int p_what) {
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
graph->get_panner()->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/sub_editors_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EditorSettings::get_singleton()->get("editors/panning/simple_panning")));
graph->set_warped_panning(bool(EditorSettings::get_singleton()->get("editors/panning/warped_mouse_panning")));
+ graph->set_minimap_opacity(EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity"));
+ graph->set_connection_lines_curvature(EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature"));
+ _update_graph();
} break;
case NOTIFICATION_ENTER_TREE: {
@@ -4051,7 +4064,7 @@ void VisualShaderEditor::_input_select_item(Ref<VisualShaderNodeInput> p_input,
bool type_changed = next_input_type != prev_input_type;
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Visual Shader Input Type Changed"));
undo_redo->add_do_method(p_input.ptr(), "set_input_name", p_name);
@@ -4120,7 +4133,7 @@ void VisualShaderEditor::_uniform_select_item(Ref<VisualShaderNodeUniformRef> p_
bool type_changed = p_uniform_ref->get_uniform_type_by_name(p_name) != p_uniform_ref->get_uniform_type_by_name(prev_name);
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("UniformRef Name Changed"));
undo_redo->add_do_method(p_uniform_ref.ptr(), "set_uniform_name", p_name);
@@ -4164,7 +4177,7 @@ void VisualShaderEditor::_varying_select_item(Ref<VisualShaderNodeVarying> p_var
bool is_getter = Ref<VisualShaderNodeVaryingGetter>(p_varying.ptr()).is_valid();
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Varying Name Changed"));
undo_redo->add_do_method(p_varying.ptr(), "set_varying_name", p_name);
@@ -4581,9 +4594,9 @@ void VisualShaderEditor::_preview_size_changed() {
preview_vbox->set_custom_minimum_size(preview_window->get_size());
}
-static ShaderLanguage::DataType _get_global_variable_type(const StringName &p_variable) {
- RS::GlobalVariableType gvt = RS::get_singleton()->global_variable_get_type(p_variable);
- return (ShaderLanguage::DataType)RS::global_variable_type_get_shader_datatype(gvt);
+static ShaderLanguage::DataType _get_global_shader_uniform_type(const StringName &p_variable) {
+ RS::GlobalShaderUniformType gvt = RS::get_singleton()->global_shader_uniform_get_type(p_variable);
+ return (ShaderLanguage::DataType)RS::global_shader_uniform_type_get_shader_datatype(gvt);
}
void VisualShaderEditor::_update_preview() {
@@ -4600,7 +4613,7 @@ void VisualShaderEditor::_update_preview() {
info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(visual_shader->get_mode()));
info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(visual_shader->get_mode()));
info.shader_types = ShaderTypes::get_singleton()->get_types();
- info.global_variable_type_func = _get_global_variable_type;
+ info.global_shader_uniform_type_func = _get_global_shader_uniform_type;
ShaderLanguage sl;
@@ -4660,10 +4673,7 @@ void VisualShaderEditor::_bind_methods() {
ClassDB::bind_method("_is_available", &VisualShaderEditor::_is_available);
}
-VisualShaderEditor *VisualShaderEditor::singleton = nullptr;
-
VisualShaderEditor::VisualShaderEditor() {
- singleton = this;
ShaderLanguage::get_keyword_list(&keyword_list);
graph = memnew(GraphEdit);
@@ -4675,6 +4685,8 @@ VisualShaderEditor::VisualShaderEditor() {
graph->set_drag_forwarding(this);
float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity");
graph->set_minimap_opacity(graph_minimap_opacity);
+ float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature");
+ graph->set_connection_lines_curvature(graph_lines_curvature);
graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_SCALAR);
graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_SCALAR_INT);
graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_BOOLEAN);
@@ -4685,13 +4697,13 @@ VisualShaderEditor::VisualShaderEditor() {
graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_SAMPLER);
//graph->add_valid_left_disconnect_type(0);
graph->set_v_size_flags(SIZE_EXPAND_FILL);
- graph->connect("connection_request", callable_mp(this, &VisualShaderEditor::_connection_request), varray(), CONNECT_DEFERRED);
- graph->connect("disconnection_request", callable_mp(this, &VisualShaderEditor::_disconnection_request), varray(), CONNECT_DEFERRED);
+ graph->connect("connection_request", callable_mp(this, &VisualShaderEditor::_connection_request), CONNECT_DEFERRED);
+ graph->connect("disconnection_request", callable_mp(this, &VisualShaderEditor::_disconnection_request), CONNECT_DEFERRED);
graph->connect("node_selected", callable_mp(this, &VisualShaderEditor::_node_selected));
graph->connect("scroll_offset_changed", callable_mp(this, &VisualShaderEditor::_scroll_changed));
graph->connect("duplicate_nodes_request", callable_mp(this, &VisualShaderEditor::_duplicate_nodes));
- graph->connect("copy_nodes_request", callable_mp(this, &VisualShaderEditor::_copy_nodes), varray(false));
- graph->connect("paste_nodes_request", callable_mp(this, &VisualShaderEditor::_paste_nodes), varray(false, Point2()));
+ graph->connect("copy_nodes_request", callable_mp(this, &VisualShaderEditor::_copy_nodes).bind(false));
+ graph->connect("paste_nodes_request", callable_mp(this, &VisualShaderEditor::_paste_nodes).bind(false, Point2()));
graph->connect("delete_nodes_request", callable_mp(this, &VisualShaderEditor::_delete_nodes_request));
graph->connect("gui_input", callable_mp(this, &VisualShaderEditor::_graph_gui_input));
graph->connect("connection_to_empty", callable_mp(this, &VisualShaderEditor::_connection_to_empty));
@@ -4794,7 +4806,7 @@ VisualShaderEditor::VisualShaderEditor() {
add_node->set_text(TTR("Add Node..."));
graph->get_zoom_hbox()->add_child(add_node);
graph->get_zoom_hbox()->move_child(add_node, 0);
- add_node->connect("pressed", callable_mp(this, &VisualShaderEditor::_show_members_dialog), varray(false, VisualShaderNode::PORT_TYPE_MAX, VisualShaderNode::PORT_TYPE_MAX));
+ add_node->connect("pressed", callable_mp(this, &VisualShaderEditor::_show_members_dialog).bind(false, VisualShaderNode::PORT_TYPE_MAX, VisualShaderNode::PORT_TYPE_MAX));
varying_button = memnew(Button);
varying_button->set_flat(true);
@@ -4844,7 +4856,7 @@ VisualShaderEditor::VisualShaderEditor() {
error_label = memnew(Label);
error_panel->add_child(error_label);
- error_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ error_label->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
///////////////////////////////////////
// POPUP MENU
@@ -4925,7 +4937,7 @@ VisualShaderEditor::VisualShaderEditor() {
members_dialog->set_title(TTR("Create Shader Node"));
members_dialog->set_exclusive(false);
members_dialog->add_child(members_vb);
- members_dialog->get_ok_button()->set_text(TTR("Create"));
+ members_dialog->set_ok_button_text(TTR("Create"));
members_dialog->get_ok_button()->connect("pressed", callable_mp(this, &VisualShaderEditor::_member_create));
members_dialog->get_ok_button()->set_disabled(true);
members_dialog->connect("cancelled", callable_mp(this, &VisualShaderEditor::_member_cancel));
@@ -4936,7 +4948,7 @@ VisualShaderEditor::VisualShaderEditor() {
add_varying_dialog = memnew(ConfirmationDialog);
add_varying_dialog->set_title(TTR("Create Shader Varying"));
add_varying_dialog->set_exclusive(false);
- add_varying_dialog->get_ok_button()->set_text(TTR("Create"));
+ add_varying_dialog->set_ok_button_text(TTR("Create"));
add_varying_dialog->get_ok_button()->connect("pressed", callable_mp(this, &VisualShaderEditor::_varying_create));
add_varying_dialog->get_ok_button()->set_disabled(true);
add_child(add_varying_dialog);
@@ -4980,7 +4992,7 @@ VisualShaderEditor::VisualShaderEditor() {
remove_varying_dialog = memnew(ConfirmationDialog);
remove_varying_dialog->set_title(TTR("Delete Shader Varying"));
remove_varying_dialog->set_exclusive(false);
- remove_varying_dialog->get_ok_button()->set_text(TTR("Delete"));
+ remove_varying_dialog->set_ok_button_text(TTR("Delete"));
remove_varying_dialog->get_ok_button()->connect("pressed", callable_mp(this, &VisualShaderEditor::_varying_deleted));
add_child(remove_varying_dialog);
@@ -5001,7 +5013,7 @@ VisualShaderEditor::VisualShaderEditor() {
}
alert = memnew(AcceptDialog);
- alert->get_label()->set_autowrap_mode(Label::AUTOWRAP_WORD);
+ alert->get_label()->set_autowrap_mode(TextServer::AUTOWRAP_WORD);
alert->get_label()->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
alert->get_label()->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
alert->get_label()->set_custom_minimum_size(Size2(400, 60) * EDSCALE);
@@ -5166,6 +5178,10 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("ViewIndex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_index", "VIEW_INDEX"), { "view_index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("ViewMonoLeft", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_mono_left", "VIEW_MONO_LEFT"), { "view_mono_left" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("ViewRight", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_right", "VIEW_RIGHT"), { "view_right" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("NodePositionWorld", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_world", "NODE_POSITION_WORLD"), { "node_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("CameraPositionWorld", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_position_world", "CAMERA_POSITION_WORLD"), { "camera_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("CameraDirectionWorld", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_direction_world", "CAMERA_DIRECTION_WORLD"), { "camera_direction_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("NodePositionView", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_view", "NODE_POSITION_VIEW"), { "node_position_view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("Binormal", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "binormal", "BINORMAL"), { "binormal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("Color", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
@@ -5181,6 +5197,10 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("ViewIndex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_index", "VIEW_INDEX"), { "view_index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("ViewMonoLeft", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_mono_left", "VIEW_MONO_LEFT"), { "view_mono_left" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("ViewRight", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_right", "VIEW_RIGHT"), { "view_right" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("NodePositionWorld", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_world", "NODE_POSITION_WORLD"), { "node_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("CameraPositionWorld", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_position_world", "CAMERA_POSITION_WORLD"), { "camera_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("CameraDirectionWorld", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_direction_world", "CAMERA_DIRECTION_WORLD"), { "camera_direction_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("NodePositionView", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_view", "NODE_POSITION_VIEW"), { "node_position_view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("Albedo", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "albedo", "ALBEDO"), { "albedo" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL));
add_options.push_back(AddOption("Attenuation", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "attenuation", "ATTENUATION"), { "attenuation" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL));
@@ -5325,7 +5345,7 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("Exp", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Base-e Exponential."), { VisualShaderNodeFloatFunc::FUNC_EXP }, VisualShaderNode::PORT_TYPE_SCALAR));
add_options.push_back(AddOption("Exp2", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Base-2 Exponential."), { VisualShaderNodeFloatFunc::FUNC_EXP2 }, VisualShaderNode::PORT_TYPE_SCALAR));
add_options.push_back(AddOption("Floor", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeFloatFunc::FUNC_FLOOR }, VisualShaderNode::PORT_TYPE_SCALAR));
- add_options.push_back(AddOption("Fract", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeFloatFunc::FUNC_FRAC }, VisualShaderNode::PORT_TYPE_SCALAR));
+ add_options.push_back(AddOption("Fract", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeFloatFunc::FUNC_FRACT }, VisualShaderNode::PORT_TYPE_SCALAR));
add_options.push_back(AddOption("InverseSqrt", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeFloatFunc::FUNC_INVERSE_SQRT }, VisualShaderNode::PORT_TYPE_SCALAR));
add_options.push_back(AddOption("Log", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Natural logarithm."), { VisualShaderNodeFloatFunc::FUNC_LOG }, VisualShaderNode::PORT_TYPE_SCALAR));
add_options.push_back(AddOption("Log2", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Base-2 logarithm."), { VisualShaderNodeFloatFunc::FUNC_LOG2 }, VisualShaderNode::PORT_TYPE_SCALAR));
@@ -5509,16 +5529,16 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("Floor", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("Floor", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
add_options.push_back(AddOption("Floor", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
- add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRAC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
- add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRAC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
- add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRAC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
+ add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
+ add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
+ add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
add_options.push_back(AddOption("Fresnel", "Vector", "Functions", "VisualShaderNodeFresnel", TTR("Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it)."), {}, VisualShaderNode::PORT_TYPE_SCALAR));
add_options.push_back(AddOption("InverseSqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("InverseSqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
add_options.push_back(AddOption("InverseSqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
- add_options.push_back(AddOption("Length", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_SCALAR));
- add_options.push_back(AddOption("Length", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_SCALAR));
- add_options.push_back(AddOption("Length", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_SCALAR));
+ add_options.push_back(AddOption("Length2D", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_SCALAR));
+ add_options.push_back(AddOption("Length3D", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_SCALAR));
+ add_options.push_back(AddOption("Length4D", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_SCALAR));
add_options.push_back(AddOption("Log", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("Log", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
add_options.push_back(AddOption("Log", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
@@ -5558,8 +5578,12 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("Reciprocal", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("Reciprocal", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
add_options.push_back(AddOption("Reciprocal", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
+ add_options.push_back(AddOption("Reflect", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("Reflect", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
+ add_options.push_back(AddOption("Reflect", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
+ add_options.push_back(AddOption("Refract", "Vector", "Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("Refract", "Vector", "Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D));
+ add_options.push_back(AddOption("Refract", "Vector", "Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D));
add_options.push_back(AddOption("Round", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D));
add_options.push_back(AddOption("Round", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D));
add_options.push_back(AddOption("Round", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D));
@@ -5645,65 +5669,27 @@ VisualShaderEditor::VisualShaderEditor() {
_update_options_menu();
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
Ref<VisualShaderNodePluginDefault> default_plugin;
default_plugin.instantiate();
+ default_plugin->set_editor(this);
add_plugin(default_plugin);
graph_plugin.instantiate();
+ graph_plugin->set_editor(this);
- property_editor = memnew(CustomPropertyEditor);
- add_child(property_editor);
+ property_editor_popup = memnew(PopupPanel);
+ property_editor_popup->set_min_size(Size2i(180, 0) * EDSCALE);
+ add_child(property_editor_popup);
- property_editor->connect("variant_changed", callable_mp(this, &VisualShaderEditor::_port_edited));
-}
-
-/////////////////
-
-void VisualShaderEditorPlugin::edit(Object *p_object) {
- visual_shader_editor->edit(Object::cast_to<VisualShader>(p_object));
-}
-
-bool VisualShaderEditorPlugin::handles(Object *p_object) const {
- return p_object->is_class("VisualShader");
-}
-
-void VisualShaderEditorPlugin::make_visible(bool p_visible) {
- if (p_visible) {
- //editor->hide_animation_player_editors();
- //editor->animation_panel_make_visible(true);
- button->show();
- EditorNode::get_singleton()->make_bottom_panel_item_visible(visual_shader_editor);
- visual_shader_editor->update_nodes();
- visual_shader_editor->set_process_input(true);
- //visual_shader_editor->set_process(true);
- } else {
- if (visual_shader_editor->is_visible_in_tree()) {
- EditorNode::get_singleton()->hide_bottom_panel();
- }
- button->hide();
- visual_shader_editor->set_process_input(false);
- //visual_shader_editor->set_process(false);
- }
+ edited_property_holder.instantiate();
}
-VisualShaderEditorPlugin::VisualShaderEditorPlugin() {
- visual_shader_editor = memnew(VisualShaderEditor);
- visual_shader_editor->set_custom_minimum_size(Size2(0, 300) * EDSCALE);
-
- button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("VisualShader"), visual_shader_editor);
- button->hide();
-}
-
-VisualShaderEditorPlugin::~VisualShaderEditorPlugin() {
-}
-
-////////////////
-
class VisualShaderNodePluginInputEditor : public OptionButton {
GDCLASS(VisualShaderNodePluginInputEditor, OptionButton);
+ VisualShaderEditor *editor = nullptr;
Ref<VisualShaderNodeInput> input;
public:
@@ -5716,13 +5702,11 @@ public:
}
void _item_selected(int p_item) {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (editor) {
- editor->call_deferred(SNAME("_input_select_item"), input, get_item_text(p_item));
- }
+ editor->call_deferred(SNAME("_input_select_item"), input, get_item_text(p_item));
}
- void setup(const Ref<VisualShaderNodeInput> &p_input) {
+ void setup(VisualShaderEditor *p_editor, const Ref<VisualShaderNodeInput> &p_input) {
+ editor = p_editor;
input = p_input;
Ref<Texture2D> type_icon[] = {
EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("float"), SNAME("EditorIcons")),
@@ -5755,6 +5739,7 @@ public:
class VisualShaderNodePluginVaryingEditor : public OptionButton {
GDCLASS(VisualShaderNodePluginVaryingEditor, OptionButton);
+ VisualShaderEditor *editor = nullptr;
Ref<VisualShaderNodeVarying> varying;
public:
@@ -5765,13 +5750,11 @@ public:
}
void _item_selected(int p_item) {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (editor) {
- editor->call_deferred(SNAME("_varying_select_item"), varying, get_item_text(p_item));
- }
+ editor->call_deferred(SNAME("_varying_select_item"), varying, get_item_text(p_item));
}
- void setup(const Ref<VisualShaderNodeVarying> &p_varying, VisualShader::Type p_type) {
+ void setup(VisualShaderEditor *p_editor, const Ref<VisualShaderNodeVarying> &p_varying, VisualShader::Type p_type) {
+ editor = p_editor;
varying = p_varying;
Ref<Texture2D> type_icon[] = {
@@ -5832,6 +5815,7 @@ public:
class VisualShaderNodePluginUniformRefEditor : public OptionButton {
GDCLASS(VisualShaderNodePluginUniformRefEditor, OptionButton);
+ VisualShaderEditor *editor = nullptr;
Ref<VisualShaderNodeUniformRef> uniform_ref;
public:
@@ -5844,13 +5828,11 @@ public:
}
void _item_selected(int p_item) {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (editor) {
- editor->call_deferred(SNAME("_uniform_select_item"), uniform_ref, get_item_text(p_item));
- }
+ editor->call_deferred(SNAME("_uniform_select_item"), uniform_ref, get_item_text(p_item));
}
- void setup(const Ref<VisualShaderNodeUniformRef> &p_uniform_ref) {
+ void setup(VisualShaderEditor *p_editor, const Ref<VisualShaderNodeUniformRef> &p_uniform_ref) {
+ editor = p_editor;
uniform_ref = p_uniform_ref;
Ref<Texture2D> type_icon[] = {
@@ -5884,6 +5866,7 @@ public:
class VisualShaderNodePluginDefaultEditor : public VBoxContainer {
GDCLASS(VisualShaderNodePluginDefaultEditor, VBoxContainer);
+ VisualShaderEditor *editor = nullptr;
Ref<Resource> parent_resource;
int node_id = 0;
VisualShader::Type shader_type;
@@ -5894,7 +5877,7 @@ public:
return;
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
updating = true;
undo_redo->create_action(TTR("Edit Visual Property:") + " " + p_property, UndoRedo::MERGE_ENDS);
@@ -5917,13 +5900,10 @@ public:
}
}
if (p_property != "constant") {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (editor) {
- VisualShaderGraphPlugin *graph_plugin = editor->get_graph_plugin();
- if (graph_plugin) {
- undo_redo->add_do_method(graph_plugin, "update_node_deferred", shader_type, node_id);
- undo_redo->add_undo_method(graph_plugin, "update_node_deferred", shader_type, node_id);
- }
+ VisualShaderGraphPlugin *graph_plugin = editor->get_graph_plugin();
+ if (graph_plugin) {
+ undo_redo->add_do_method(graph_plugin, "update_node_deferred", shader_type, node_id);
+ undo_redo->add_undo_method(graph_plugin, "update_node_deferred", shader_type, node_id);
}
}
undo_redo->commit_action();
@@ -5959,7 +5939,8 @@ public:
}
}
- void setup(Ref<Resource> p_parent_resource, Vector<EditorProperty *> p_properties, const Vector<StringName> &p_names, const HashMap<StringName, String> &p_overrided_names, Ref<VisualShaderNode> p_node) {
+ void setup(VisualShaderEditor *p_editor, Ref<Resource> p_parent_resource, Vector<EditorProperty *> p_properties, const Vector<StringName> &p_names, const HashMap<StringName, String> &p_overrided_names, Ref<VisualShaderNode> p_node) {
+ editor = p_editor;
parent_resource = p_parent_resource;
updating = false;
node = p_node;
@@ -6012,19 +5993,19 @@ Control *VisualShaderNodePluginDefault::create_editor(const Ref<Resource> &p_par
if (p_shader.is_valid() && (p_node->is_class("VisualShaderNodeVaryingGetter") || p_node->is_class("VisualShaderNodeVaryingSetter"))) {
VisualShaderNodePluginVaryingEditor *editor = memnew(VisualShaderNodePluginVaryingEditor);
- editor->setup(p_node, p_shader->get_shader_type());
+ editor->setup(vseditor, p_node, p_shader->get_shader_type());
return editor;
}
if (p_node->is_class("VisualShaderNodeUniformRef")) {
VisualShaderNodePluginUniformRefEditor *editor = memnew(VisualShaderNodePluginUniformRefEditor);
- editor->setup(p_node);
+ editor->setup(vseditor, p_node);
return editor;
}
if (p_node->is_class("VisualShaderNodeInput")) {
VisualShaderNodePluginInputEditor *editor = memnew(VisualShaderNodePluginInputEditor);
- editor->setup(p_node);
+ editor->setup(vseditor, p_node);
return editor;
}
@@ -6079,26 +6060,26 @@ Control *VisualShaderNodePluginDefault::create_editor(const Ref<Resource> &p_par
properties.push_back(pinfo[i].name);
}
VisualShaderNodePluginDefaultEditor *editor = memnew(VisualShaderNodePluginDefaultEditor);
- editor->setup(p_parent_resource, editors, properties, p_node->get_editable_properties_names(), p_node);
+ editor->setup(vseditor, p_parent_resource, editors, properties, p_node->get_editable_properties_names(), p_node);
return editor;
}
-void EditorPropertyShaderMode::_option_selected(int p_which) {
- VisualShaderEditor *editor = VisualShaderEditor::get_singleton();
- if (!editor) {
+void EditorPropertyVisualShaderMode::_option_selected(int p_which) {
+ Ref<VisualShader> visual_shader(Object::cast_to<VisualShader>(get_edited_object()));
+ if (visual_shader->get_mode() == p_which) {
return;
}
- //will not use this, instead will do all the logic setting manually
- //emit_signal(SNAME("property_changed"), get_edited_property(), p_which);
-
- Ref<VisualShader> visual_shader(Object::cast_to<VisualShader>(get_edited_object()));
-
- if (visual_shader->get_mode() == p_which) {
+ ShaderEditorPlugin *shader_editor = Object::cast_to<ShaderEditorPlugin>(EditorNode::get_singleton()->get_editor_data().get_editor("Shader"));
+ if (!shader_editor) {
+ return;
+ }
+ VisualShaderEditor *editor = shader_editor->get_visual_shader_editor(visual_shader);
+ if (!editor) {
return;
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Visual Shader Mode Changed"));
//do is easy
undo_redo->add_do_method(visual_shader.ptr(), "set_mode", p_which);
@@ -6169,42 +6150,42 @@ void EditorPropertyShaderMode::_option_selected(int p_which) {
undo_redo->commit_action();
}
-void EditorPropertyShaderMode::update_property() {
+void EditorPropertyVisualShaderMode::update_property() {
int which = get_edited_object()->get(get_edited_property());
options->select(which);
}
-void EditorPropertyShaderMode::setup(const Vector<String> &p_options) {
+void EditorPropertyVisualShaderMode::setup(const Vector<String> &p_options) {
for (int i = 0; i < p_options.size(); i++) {
options->add_item(p_options[i], i);
}
}
-void EditorPropertyShaderMode::set_option_button_clip(bool p_enable) {
+void EditorPropertyVisualShaderMode::set_option_button_clip(bool p_enable) {
options->set_clip_text(p_enable);
}
-void EditorPropertyShaderMode::_bind_methods() {
+void EditorPropertyVisualShaderMode::_bind_methods() {
}
-EditorPropertyShaderMode::EditorPropertyShaderMode() {
+EditorPropertyVisualShaderMode::EditorPropertyVisualShaderMode() {
options = memnew(OptionButton);
options->set_clip_text(true);
add_child(options);
add_focusable(options);
- options->connect("item_selected", callable_mp(this, &EditorPropertyShaderMode::_option_selected));
+ options->connect("item_selected", callable_mp(this, &EditorPropertyVisualShaderMode::_option_selected));
}
-bool EditorInspectorShaderModePlugin::can_handle(Object *p_object) {
+bool EditorInspectorVisualShaderModePlugin::can_handle(Object *p_object) {
return true; // Can handle everything.
}
-bool EditorInspectorShaderModePlugin::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
+bool EditorInspectorVisualShaderModePlugin::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
if (p_path == "mode" && p_object->is_class("VisualShader") && p_type == Variant::INT) {
- EditorPropertyShaderMode *editor = memnew(EditorPropertyShaderMode);
+ EditorPropertyVisualShaderMode *mode_editor = memnew(EditorPropertyVisualShaderMode);
Vector<String> options = p_hint_text.split(",");
- editor->setup(options);
- add_property_editor(p_path, editor);
+ mode_editor->setup(options);
+ add_property_editor(p_path, mode_editor);
return true;
}
@@ -6252,7 +6233,7 @@ void VisualShaderNodePortPreview::_shader_changed() {
}
if (src_mat && src_mat->get_shader().is_valid()) {
List<PropertyInfo> params;
- src_mat->get_shader()->get_param_list(&params);
+ src_mat->get_shader()->get_shader_uniform_list(&params);
for (const PropertyInfo &E : params) {
material->set(E.name, src_mat->get(E.name));
}
@@ -6273,7 +6254,7 @@ void VisualShaderNodePortPreview::setup(const Ref<VisualShader> &p_shader, Visua
}
Size2 VisualShaderNodePortPreview::get_minimum_size() const {
- int port_preview_size = EditorSettings::get_singleton()->get("editors/visual_editors/visualshader/port_preview_size");
+ int port_preview_size = EditorSettings::get_singleton()->get("editors/visual_editors/visual_shader/port_preview_size");
return Size2(port_preview_size, port_preview_size) * EDSCALE;
}
diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h
index 1b56892ebf..ede6513b83 100644
--- a/editor/plugins/visual_shader_editor_plugin.h
+++ b/editor/plugins/visual_shader_editor_plugin.h
@@ -32,25 +32,37 @@
#define VISUAL_SHADER_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
-#include "editor/plugins/curve_editor_plugin.h"
-#include "editor/property_editor.h"
-#include "scene/gui/button.h"
-#include "scene/gui/code_edit.h"
-#include "scene/gui/graph_edit.h"
-#include "scene/gui/popup.h"
-#include "scene/gui/rich_text_label.h"
-#include "scene/gui/tree.h"
+#include "editor/plugins/editor_resource_conversion_plugin.h"
#include "scene/resources/visual_shader.h"
+class Button;
+class CodeEdit;
+class CodeHighlighter;
+class CurveEditor;
+class GraphEdit;
+class GraphNode;
+class PopupMenu;
+class PopupPanel;
+class RichTextLabel;
+class TextEdit;
+class Tree;
+
+class VisualShaderEditor;
+class EditorUndoRedoManager;
+
class VisualShaderNodePlugin : public RefCounted {
GDCLASS(VisualShaderNodePlugin, RefCounted);
protected:
+ VisualShaderEditor *vseditor = nullptr;
+
+protected:
static void _bind_methods();
GDVIRTUAL2RC(Object *, _create_editor, Ref<Resource>, Ref<VisualShaderNode>)
public:
+ void set_editor(VisualShaderEditor *p_editor);
virtual Control *create_editor(const Ref<Resource> &p_parent_resource, const Ref<VisualShaderNode> &p_node);
};
@@ -58,6 +70,8 @@ class VisualShaderGraphPlugin : public RefCounted {
GDCLASS(VisualShaderGraphPlugin, RefCounted);
private:
+ VisualShaderEditor *editor = nullptr;
+
struct InputPort {
Button *default_input_button = nullptr;
};
@@ -91,6 +105,7 @@ protected:
static void _bind_methods();
public:
+ void set_editor(VisualShaderEditor *p_editor);
void register_shader(VisualShader *p_visual_shader);
void set_connections(const List<VisualShader::Connection> &p_connections);
void register_link(VisualShader::Type p_type, int p_id, VisualShaderNode *p_visual_node, GraphNode *p_graph_node);
@@ -128,13 +143,31 @@ public:
~VisualShaderGraphPlugin();
};
+class VisualShaderEditedProperty : public RefCounted {
+ GDCLASS(VisualShaderEditedProperty, RefCounted);
+
+private:
+ Variant edited_property;
+
+protected:
+ static void _bind_methods();
+
+public:
+ void set_edited_property(Variant p_variant);
+ Variant get_edited_property() const;
+
+ VisualShaderEditedProperty() {}
+};
+
class VisualShaderEditor : public VBoxContainer {
GDCLASS(VisualShaderEditor, VBoxContainer);
friend class VisualShaderGraphPlugin;
- CustomPropertyEditor *property_editor = nullptr;
+ PopupPanel *property_editor_popup = nullptr;
+ EditorProperty *property_editor = nullptr;
int editing_node = -1;
int editing_port = -1;
+ Ref<VisualShaderEditedProperty> edited_property_holder;
Ref<VisualShader> visual_shader;
GraphEdit *graph = nullptr;
@@ -160,7 +193,7 @@ class VisualShaderEditor : public VBoxContainer {
PanelContainer *error_panel = nullptr;
Label *error_label = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
Point2 saved_node_pos;
bool saved_node_pos_dirty = false;
@@ -324,8 +357,6 @@ class VisualShaderEditor : public VBoxContainer {
void _update_preview();
String _get_description(int p_idx);
- static VisualShaderEditor *singleton;
-
struct DragOp {
VisualShader::Type type = VisualShader::Type::TYPE_MAX;
int node = 0;
@@ -351,7 +382,7 @@ class VisualShaderEditor : public VBoxContainer {
void _node_changed(int p_id);
void _edit_port_default_input(Object *p_button, int p_node, int p_port);
- void _port_edited();
+ void _port_edited(const StringName &p_property, const Variant &p_value, const String &p_field, bool p_changing);
int to_node = -1;
int to_slot = -1;
@@ -403,9 +434,9 @@ class VisualShaderEditor : public VBoxContainer {
void _duplicate_nodes();
- Vector2 selection_center;
- List<CopyItem> copy_items_buffer;
- List<VisualShader::Connection> copy_connections_buffer;
+ static Vector2 selection_center;
+ static List<CopyItem> copy_items_buffer;
+ static List<VisualShader::Connection> copy_connections_buffer;
void _clear_copy_buffer();
void _copy_nodes(bool p_cut);
@@ -482,7 +513,6 @@ public:
void add_plugin(const Ref<VisualShaderNodePlugin> &p_plugin);
void remove_plugin(const Ref<VisualShaderNodePlugin> &p_plugin);
- static VisualShaderEditor *get_singleton() { return singleton; }
VisualShaderGraphPlugin *get_graph_plugin() { return graph_plugin.ptr(); }
void clear_custom_types();
@@ -493,23 +523,6 @@ public:
VisualShaderEditor();
};
-class VisualShaderEditorPlugin : public EditorPlugin {
- GDCLASS(VisualShaderEditorPlugin, EditorPlugin);
-
- VisualShaderEditor *visual_shader_editor = nullptr;
- Button *button = nullptr;
-
-public:
- virtual String get_name() const override { return "VisualShader"; }
- bool has_main_screen() const override { return false; }
- virtual void edit(Object *p_object) override;
- virtual bool handles(Object *p_object) const override;
- virtual void make_visible(bool p_visible) override;
-
- VisualShaderEditorPlugin();
- ~VisualShaderEditorPlugin();
-};
-
class VisualShaderNodePluginDefault : public VisualShaderNodePlugin {
GDCLASS(VisualShaderNodePluginDefault, VisualShaderNodePlugin);
@@ -517,8 +530,8 @@ public:
virtual Control *create_editor(const Ref<Resource> &p_parent_resource, const Ref<VisualShaderNode> &p_node) override;
};
-class EditorPropertyShaderMode : public EditorProperty {
- GDCLASS(EditorPropertyShaderMode, EditorProperty);
+class EditorPropertyVisualShaderMode : public EditorProperty {
+ GDCLASS(EditorPropertyVisualShaderMode, EditorProperty);
OptionButton *options = nullptr;
void _option_selected(int p_which);
@@ -530,11 +543,11 @@ public:
void setup(const Vector<String> &p_options);
virtual void update_property() override;
void set_option_button_clip(bool p_enable);
- EditorPropertyShaderMode();
+ EditorPropertyVisualShaderMode();
};
-class EditorInspectorShaderModePlugin : public EditorInspectorPlugin {
- GDCLASS(EditorInspectorShaderModePlugin, EditorInspectorPlugin);
+class EditorInspectorVisualShaderModePlugin : public EditorInspectorPlugin {
+ GDCLASS(EditorInspectorVisualShaderModePlugin, EditorInspectorPlugin);
public:
virtual bool can_handle(Object *p_object) override;
diff --git a/editor/plugins/voxel_gi_editor_plugin.cpp b/editor/plugins/voxel_gi_editor_plugin.cpp
index 6fc6c1ad39..e3b2be33df 100644
--- a/editor/plugins/voxel_gi_editor_plugin.cpp
+++ b/editor/plugins/voxel_gi_editor_plugin.cpp
@@ -139,7 +139,7 @@ void VoxelGIEditorPlugin::_voxel_gi_save_path_and_bake(const String &p_path) {
if (voxel_gi) {
voxel_gi->bake();
ERR_FAIL_COND(voxel_gi->get_probe_data().is_null());
- ResourceSaver::save(p_path, voxel_gi->get_probe_data(), ResourceSaver::FLAG_CHANGE_PATH);
+ ResourceSaver::save(voxel_gi->get_probe_data(), p_path, ResourceSaver::FLAG_CHANGE_PATH);
}
}
diff --git a/editor/plugins/voxel_gi_editor_plugin.h b/editor/plugins/voxel_gi_editor_plugin.h
index 621e98beef..43d6f71e26 100644
--- a/editor/plugins/voxel_gi_editor_plugin.h
+++ b/editor/plugins/voxel_gi_editor_plugin.h
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef VOXEL_GIEDITORPLUGIN_H
-#define VOXEL_GIEDITORPLUGIN_H
+#ifndef VOXEL_GI_EDITOR_PLUGIN_H
+#define VOXEL_GI_EDITOR_PLUGIN_H
#include "editor/editor_plugin.h"
#include "scene/3d/voxel_gi.h"
@@ -71,4 +71,4 @@ public:
~VoxelGIEditorPlugin();
};
-#endif // VOXEL_GIEDITORPLUGIN_H
+#endif // VOXEL_GI_EDITOR_PLUGIN_H
diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp
index ed13afc235..1c9afa8be8 100644
--- a/editor/progress_dialog.cpp
+++ b/editor/progress_dialog.cpp
@@ -50,7 +50,7 @@ void BackgroundProgress::_add_task(const String &p_task, const String &p_label,
Control *ec = memnew(Control);
ec->set_h_size_flags(SIZE_EXPAND_FILL);
ec->set_v_size_flags(SIZE_EXPAND_FILL);
- t.progress->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ t.progress->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
ec->add_child(t.progress);
ec->set_custom_minimum_size(Size2(80, 5) * EDSCALE);
t.hb->add_child(ec);
@@ -235,7 +235,7 @@ void ProgressDialog::_bind_methods() {
ProgressDialog::ProgressDialog() {
main = memnew(VBoxContainer);
add_child(main);
- main->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ main->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
set_exclusive(true);
last_progress_tick = 0;
singleton = this;
diff --git a/editor/project_converter_3_to_4.cpp b/editor/project_converter_3_to_4.cpp
new file mode 100644
index 0000000000..a302adc34e
--- /dev/null
+++ b/editor/project_converter_3_to_4.cpp
@@ -0,0 +1,3706 @@
+/*************************************************************************/
+/* project_converter_3_to_4.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "project_converter_3_to_4.h"
+
+#include "modules/modules_enabled.gen.h"
+
+const int ERROR_CODE = 77;
+
+#ifdef MODULE_REGEX_ENABLED
+
+#include "modules/regex/regex.h"
+
+#include "core/os/time.h"
+#include "core/templates/hash_map.h"
+#include "core/templates/list.h"
+
+const uint64_t CONVERSION_MAX_FILE_SIZE_MB = 4;
+const uint64_t CONVERSION_MAX_FILE_SIZE = 1024 * 1024 * CONVERSION_MAX_FILE_SIZE_MB;
+
+static const char *enum_renames[][2] = {
+ //// constants
+ { "TYPE_COLOR_ARRAY", "TYPE_PACKED_COLOR_ARRAY" },
+ { "TYPE_FLOAT64_ARRAY", "TYPE_PACKED_FLOAT64_ARRAY" },
+ { "TYPE_INT64_ARRAY", "TYPE_PACKED_INT64_ARRAY" },
+ { "TYPE_INT_ARRAY", "TYPE_PACKED_INT32_ARRAY" },
+ { "TYPE_QUAT", "TYPE_QUATERNION" },
+ { "TYPE_RAW_ARRAY", "TYPE_PACKED_BYTE_ARRAY" },
+ { "TYPE_REAL", "TYPE_FLOAT" },
+ { "TYPE_REAL_ARRAY", "TYPE_PACKED_FLOAT32_ARRAY" },
+ { "TYPE_STRING_ARRAY", "TYPE_PACKED_STRING_ARRAY" },
+ { "TYPE_TRANSFORM", "TYPE_TRANSFORM3D" },
+ { "TYPE_VECTOR2_ARRAY", "TYPE_PACKED_VECTOR2_ARRAY" },
+ { "TYPE_VECTOR3_ARRAY", "TYPE_PACKED_VECTOR3_ARRAY" },
+
+ // {"FLAG_MAX", "PARTICLE_FLAG_MAX"}, // CPUParticles2D - used in more classes
+ { "ALIGN_BEGIN", "ALIGNMENT_BEGIN" }, //AspectRatioContainer
+ { "ALIGN_CENTER", "ALIGNMENT_CENTER" }, //AspectRatioContainer
+ { "ALIGN_END", "ALIGNMENT_END" }, //AspectRatioContainer
+ { "ARRAY_COMPRESS_BASE", "ARRAY_COMPRESS_FLAGS_BASE" }, // Mesh
+ { "ARVR_AR", "XR_AR" }, // XRInterface
+ { "ARVR_EXCESSIVE_MOTION", "XR_EXCESSIVE_MOTION" }, // XRInterface
+ { "ARVR_EXTERNAL", "XR_EXTERNAL" }, // XRInterface
+ { "ARVR_INSUFFICIENT_FEATURES", "XR_INSUFFICIENT_FEATURES" }, // XRInterface
+ { "ARVR_MONO", "XR_MONO" }, // XRInterface
+ { "ARVR_NONE", "XR_NONE" }, // XRInterface
+ { "ARVR_NORMAL_TRACKING", "XR_NORMAL_TRACKING" }, // XRInterface
+ { "ARVR_NOT_TRACKING", "XR_NOT_TRACKING" }, // XRInterface
+ { "ARVR_STEREO", "XR_STEREO" }, // XRInterface
+ { "ARVR_UNKNOWN_TRACKING", "XR_UNKNOWN_TRACKING" }, // XRInterface
+ { "BAKE_ERROR_INVALID_MESH", "BAKE_ERROR_MESHES_INVALID" }, // LightmapGI
+ { "BODY_MODE_CHARACTER", "BODY_MODE_DYNAMIC" }, // PhysicsServer2D
+ { "BODY_MODE_DYNAMIC_LOCKED", "BODY_MODE_DYNAMIC_LINEAR" }, // PhysicsServer3D
+ { "BUTTON_LEFT", "MOUSE_BUTTON_LEFT" }, // Globals
+ { "BUTTON_MASK_LEFT", "MOUSE_BUTTON_MASK_LEFT" }, // Globals
+ { "BUTTON_MASK_MIDDLE", "MOUSE_BUTTON_MASK_MIDDLE" }, // Globals
+ { "BUTTON_MASK_RIGHT", "MOUSE_BUTTON_MASK_RIGHT" }, // Globals
+ { "BUTTON_MASK_XBUTTON1", "MOUSE_BUTTON_MASK_XBUTTON1" }, // Globals
+ { "BUTTON_MASK_XBUTTON2", "MOUSE_BUTTON_MASK_XBUTTON2" }, // Globals
+ { "BUTTON_MIDDLE", "MOUSE_BUTTON_MIDDLE" }, // Globals
+ { "BUTTON_RIGHT", "MOUSE_BUTTON_RIGHT" }, // Globals
+ { "BUTTON_WHEEL_DOWN", "MOUSE_BUTTON_WHEEL_DOWN" }, // Globals
+ { "BUTTON_WHEEL_LEFT", "MOUSE_BUTTON_WHEEL_LEFT" }, // Globals
+ { "BUTTON_WHEEL_RIGHT", "MOUSE_BUTTON_WHEEL_RIGHT" }, // Globals
+ { "BUTTON_WHEEL_UP", "MOUSE_BUTTON_WHEEL_UP" }, // Globals
+ { "BUTTON_XBUTTON1", "MOUSE_BUTTON_XBUTTON1" }, // Globals
+ { "BUTTON_XBUTTON2", "MOUSE_BUTTON_XBUTTON2" }, // Globals
+ { "CLEAR_MODE_ONLY_NEXT_FRAME", "CLEAR_MODE_ONCE" }, // SubViewport
+ { "COMPRESS_PVRTC4", "COMPRESS_PVRTC1_4" }, // Image
+ { "CUBEMAP_BACK", "CUBEMAP_LAYER_BACK" }, // RenderingServer
+ { "CUBEMAP_BOTTOM", "CUBEMAP_LAYER_BOTTOM" }, // RenderingServer
+ { "CUBEMAP_FRONT", "CUBEMAP_LAYER_FRONT" }, // RenderingServer
+ { "CUBEMAP_LEFT", "CUBEMAP_LAYER_LEFT" }, // RenderingServer
+ { "CUBEMAP_RIGHT", "CUBEMAP_LAYER_RIGHT" }, // RenderingServer
+ { "CUBEMAP_TOP", "CUBEMAP_LAYER_TOP" }, // RenderingServer
+ { "DAMPED_STRING_DAMPING", "DAMPED_SPRING_DAMPING" }, // PhysicsServer2D
+ { "DAMPED_STRING_REST_LENGTH", "DAMPED_SPRING_REST_LENGTH" }, // PhysicsServer2D
+ { "DAMPED_STRING_STIFFNESS", "DAMPED_SPRING_STIFFNESS" }, // PhysicsServer2D
+ { "FLAG_ALIGN_Y_TO_VELOCITY", "PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY" }, // CPUParticles2D
+ { "FLAG_DISABLE_Z", "PARTICLE_FLAG_DISABLE_Z" }, // CPUParticles2D
+ { "FLAG_ROTATE_Y", "PARTICLE_FLAG_ROTATE_Y" }, // CPUParticles2D
+ { "FLAG_USE_BAKED_LIGHT", "GI_MODE_BAKED" }, // GeometryInstance3D
+ { "FORMAT_PVRTC2", "FORMAT_PVRTC1_2" }, // Image
+ { "FORMAT_PVRTC2A", "FORMAT_PVRTC1_2A" }, // Image
+ { "FORMAT_PVRTC4", "FORMAT_PVRTC1_4" }, // Image
+ { "FORMAT_PVRTC4A", "FORMAT_PVRTC1_4A" }, // Image
+ { "FUNC_FRAC", "FUNC_FRACT" }, // VisualShaderNodeVectorFunc
+ { "INSTANCE_LIGHTMAP_CAPTURE", "INSTANCE_LIGHTMAP" }, // RenderingServer
+ { "JOINT_6DOF", "JOINT_TYPE_6DOF" }, // PhysicsServer3D
+ { "JOINT_CONE_TWIST", "JOINT_TYPE_CONE_TWIST" }, // PhysicsServer3D
+ { "JOINT_DAMPED_SPRING", "JOINT_TYPE_DAMPED_SPRING" }, // PhysicsServer2D
+ { "JOINT_GROOVE", "JOINT_TYPE_GROOVE" }, // PhysicsServer2D
+ { "JOINT_HINGE", "JOINT_TYPE_HINGE" }, // PhysicsServer3D
+ { "JOINT_PIN", "JOINT_TYPE_PIN" }, // PhysicsServer2D
+ { "JOINT_SLIDER", "JOINT_TYPE_SLIDER" }, // PhysicsServer3D
+ { "KEY_CONTROL", "KEY_CTRL" }, // Globals
+ { "LOOP_PING_PONG", "LOOP_PINGPONG" }, // AudioStreamWAV
+ { "MATH_RAND", "MATH_RANDF_RANGE" }, // VisualScriptBuiltinFunc
+ { "MATH_RANDOM", "MATH_RANDI_RANGE" }, // VisualScriptBuiltinFunc
+ { "MATH_STEPIFY", "MATH_STEP_DECIMALS" }, // VisualScriptBuiltinFunc
+ { "MODE_CHARACTER", "MODE_DYNAMIC_LOCKED" }, // RigidBody2D, RigidBody3D
+ { "MODE_KINEMATIC", "FREEZE_MODE_KINEMATIC" }, // RigidDynamicBody
+ { "MODE_OPEN_ANY", "FILE_MODE_OPEN_ANY" }, // FileDialog
+ { "MODE_OPEN_DIR", "FILE_MODE_OPEN_DIR" }, // FileDialog
+ { "MODE_OPEN_FILE", "FILE_MODE_OPEN_FILE" }, // FileDialog
+ { "MODE_OPEN_FILES", "FILE_MODE_OPEN_FILES" }, // FileDialog
+ { "MODE_RIGID", "MODE_DYNAMIC" }, // RigidBody2D, RigidBody3D
+ { "MODE_SAVE_FILE", "FILE_MODE_SAVE_FILE" }, // FileDialog
+ { "MODE_STATIC", "FREEZE_MODE_STATIC" }, // RigidDynamicBody
+ { "NOTIFICATION_APP_PAUSED", "NOTIFICATION_APPLICATION_PAUSED" }, // MainLoop
+ { "NOTIFICATION_APP_RESUMED", "NOTIFICATION_APPLICATION_RESUMED" }, // MainLoop
+ { "NOTIFICATION_PATH_CHANGED", "NOTIFICATION_PATH_RENAMED" }, //Node
+ { "NOTIFICATION_WM_FOCUS_IN", "NOTIFICATION_APPLICATION_FOCUS_IN" }, // MainLoop
+ { "NOTIFICATION_WM_FOCUS_OUT", "NOTIFICATION_APPLICATION_FOCUS_OUT" }, // MainLoop
+ { "NOTIFICATION_WM_UNFOCUS_REQUEST", "NOTIFICATION_WM_WINDOW_FOCUS_OUT" }, //Node
+ { "PAUSE_MODE_INHERIT", "PROCESS_MODE_INHERIT" }, // Node
+ { "PAUSE_MODE_PROCESS", "PROCESS_MODE_ALWAYS" }, // Node
+ { "PAUSE_MODE_STOP", "PROCESS_MODE_PAUSABLE" }, // Node
+ { "RENDER_DRAW_CALLS_IN_FRAME", "RENDER_TOTAL_DRAW_CALLS_IN_FRAME" }, // Performance
+ { "RENDER_OBJECTS_IN_FRAME", "RENDER_TOTAL_OBJECTS_IN_FRAME" }, // Performance
+ { "SIDE_BOTTOM", "MARGIN_BOTTOM" }, // Globals
+ { "SIDE_LEFT", "MARGIN_LEFT" }, // Globals
+ { "SIDE_RIGHT", "MARGIN_RIGHT" }, // Globals
+ { "SIDE_TOP", "MARGIN_TOP" }, // Globals
+ { "TEXTURE_TYPE_2D_ARRAY", "TEXTURE_LAYERED_2D_ARRAY" }, // RenderingServer
+ { "TEXTURE_TYPE_CUBEMAP", "TEXTURE_LAYERED_CUBEMAP_ARRAY" }, // RenderingServer
+ { "TRACKER_LEFT_HAND", "TRACKER_HAND_LEFT" }, // XRPositionalTracker
+ { "TRACKER_RIGHT_HAND", "TRACKER_HAND_RIGHT" }, // XRPositionalTracker
+ { "TYPE_NORMALMAP", "TYPE_NORMAL_MAP" }, // VisualShaderNodeCubemap
+
+ /// enums
+ { "AlignMode", "AlignmentMode" }, //AspectRatioContainer
+ { "AnimationProcessMode", "AnimationProcessCallback" }, // AnimationTree, AnimationPlayer
+ { "Camera2DProcessMode", "Camera2DProcessCallback" }, // Camera2D
+ { "CubeMapSide", "CubeMapLayer" }, // RenderingServer
+ { "DampedStringParam", "DampedSpringParam" }, // PhysicsServer2D
+ { "FFT_Size", "FFTSize" }, // AudioEffectPitchShift,AudioEffectSpectrumAnalyzer
+ { "PauseMode", "ProcessMode" }, // Node
+ { "TimerProcessMode", "TimerProcessCallback" }, // Timer
+ { "Tracking_status", "TrackingStatus" }, // XRInterface
+ { nullptr, nullptr },
+};
+
+static const char *gdscript_function_renames[][2] = {
+ // { "_set_name", "get_tracker_name"}, // XRPositionalTracker - CameraFeed use this
+ // { "_unhandled_input", "_unhandled_key_input"}, // BaseButton, ViewportContainer broke Node, FileDialog,SubViewportContainer
+ // { "create_gizmo", "_create_gizmo"}, // EditorNode3DGizmoPlugin - may be used
+ // { "get_dependencies", "_get_dependencies" }, // ResourceFormatLoader broke ResourceLoader
+ // { "get_extents", "get_size" }, // BoxShape, RectangleShape broke Decal, VoxelGI, GPUParticlesCollisionBox, GPUParticlesCollisionSDF, GPUParticlesCollisionHeightField, GPUParticlesAttractorBox, GPUParticlesAttractorVectorField, FogVolume
+ // { "get_h_offset", "get_drag_horizontal_offset"}, // Camera2D, broke PathFollow, Camera
+ // { "get_mode", "get_file_mode"}, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap
+ // { "get_motion", "get_travel"}, // PhysicsTestMotionResult2D broke ParalaxLayer
+ // { "get_name", "get_tracker_name"}, // XRPositionalTracker broke OS, Node
+ // { "get_network_connected_peers", "get_peers"}, // MultiplayerAPI broke SceneTree
+ // { "get_network_peer", "has_multiplayer_peer"}, // MultiplayerAPI broke SceneTree
+ // { "get_network_unique_id", "get_unique_id"}, // MultiplayerAPI broke SceneTree
+ // { "get_offset", "get_position_offset" }, // GraphNode broke Gradient
+ // { "get_peer_port", "get_peer" }, // ENetMultiplayerPeer broke WebSocketServer
+ // { "get_process_mode", "get_process_callback" }, // ClippedCamera3D broke Node, Sky
+ // { "get_render_info", "get_rendering_info" }, // RenderingServer broke Viewport
+ // { "get_type", "get_tracker_type"}, // XRPositionalTracker broke GLTFAccessor, GLTFLight
+ // { "get_v_offset", "get_drag_vertical_offset"}, // Camera2D, broke PathFollow, Camera
+ // { "has_network_peer", "has_multiplayer_peer"}, // MultiplayerAPI broke SceneTree
+ // { "instance", "instantiate" }, // PackedScene, ClassDB - Broke FileSystemDock signal and also tscn files - [instance=ExtResource( 17 )] - this is implemented as custom rule
+ // { "is_listening", "is_bound"}, // PacketPeerUDP broke TCPServer, UDPServer
+ // { "is_refusing_new_network_connections", "is_refusing_new_connections"}, // MultiplayerAPI broke SceneTree
+ // { "is_valid", "has_valid_event" }, // Shortcut broke e.g. Callable
+ // { "listen", "bound"}, // PacketPeerUDP broke TCPServer, UDPServer
+ // { "load", "_load"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D
+ // { "make_current", "set_current" }, // Camera2D broke Camera3D, Listener2D
+ // { "process", "_process" }, // AnimationNode - This word is commonly used
+ // { "save", "_save"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D
+ // { "set_autowrap", "set_autowrap_mode" }, // AcceptDialog broke Label - Cyclic Rename
+ // { "set_color", "surface_set_color"}, // ImmediateMesh broke Light2D, Theme, SurfaceTool
+ // { "set_event", "set_shortcut" }, // BaseButton - Cyclic Rename
+ // { "set_extents", "set_size"}, // BoxShape, RectangleShape broke ReflectionProbe
+ // { "set_flag", "set_particle_flag"}, // ParticlesMaterial broke Window, HingeJoint3D
+ // { "set_h_offset", "set_drag_horizontal_offset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D
+ // { "set_margin", "set_offset" }, // Control broke Shape3D, AtlasTexture
+ // { "set_mode", "set_mode_file_mode" }, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap
+ // { "set_normal", "surface_set_normal"}, // ImmediateGeometry broke SurfaceTool, WorldMarginShape2D
+ // { "set_process_mode", "set_process_callback" }, // AnimationTree broke Node, Tween, Sky
+ // { "set_refuse_new_network_connections", "set_refuse_new_connections"}, // MultiplayerAPI broke SceneTree
+ // { "set_uv", "surface_set_uv" }, // ImmediateMesh broke Polygon2D
+ // { "set_v_offset", "set_drag_vertical_offset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D
+ // {"get_points","get_points_id"},// Astar, broke Line2D, Convexpolygonshape
+ // {"get_v_scroll","get_v_scroll_bar"},//ItemList, broke TextView
+ { "_about_to_show", "_about_to_popup" }, // ColorPickerButton
+ { "_get_configuration_warning", "_get_configuration_warnings" }, // Node
+ { "_set_current", "set_current" }, // Camera2D
+ { "_set_editor_description", "set_editor_description" }, // Node
+ { "_toplevel_raise_self", "_top_level_raise_self" }, // CanvasItem
+ { "_update_wrap_at", "_update_wrap_at_column" }, // TextEdit
+ { "add_animation", "add_animation_library" }, // AnimationPlayer
+ { "add_cancel", "add_cancel_button" }, // AcceptDialog
+ { "add_central_force", "apply_central_force" }, //RigidDynamicBody2D
+ { "add_child_below_node", "add_sibling" }, // Node
+ { "add_color_override", "add_theme_color_override" }, // Control
+ { "add_constant_override", "add_theme_constant_override" }, // Control
+ { "add_font_override", "add_theme_font_override" }, // Control
+ { "add_force", "apply_force" }, //RigidDynamicBody2D
+ { "add_icon_override", "add_theme_icon_override" }, // Control
+ { "add_scene_import_plugin", "add_scene_format_importer_plugin" }, //EditorPlugin
+ { "add_stylebox_override", "add_theme_stylebox_override" }, // Control
+ { "add_torque", "apply_torque" }, //RigidDynamicBody2D
+ { "apply_changes", "_apply_changes" }, // EditorPlugin
+ { "bind_child_node_to_bone", "set_bone_children" }, // Skeleton3D
+ { "body_add_force", "body_apply_force" }, // PhysicsServer2D
+ { "body_add_torque", "body_apply_torque" }, // PhysicsServer2D
+ { "bumpmap_to_normalmap", "bump_map_to_normal_map" }, // Image
+ { "can_be_hidden", "_can_be_hidden" }, // EditorNode3DGizmoPlugin
+ { "can_drop_data_fw", "_can_drop_data_fw" }, // ScriptEditor
+ { "can_generate_small_preview", "_can_generate_small_preview" }, // EditorResourcePreviewGenerator
+ { "can_instance", "can_instantiate" }, // PackedScene, Script
+ { "canvas_light_set_scale", "canvas_light_set_texture_scale" }, // RenderingServer
+ { "center_viewport_to_cursor", "center_viewport_to_caret" }, // TextEdit
+ { "clip_polygons_2d", "clip_polygons" }, // Geometry2D
+ { "clip_polyline_with_polygon_2d", "clip_polyline_with_polygon" }, //Geometry2D
+ { "commit_handle", "_commit_handle" }, // EditorNode3DGizmo
+ { "convex_hull_2d", "convex_hull" }, // Geometry2D
+ { "create_gizmo", "_create_gizmo" }, // EditorNode3DGizmoPlugin
+ { "cursor_get_blink_speed", "get_caret_blink_speed" }, // TextEdit
+ { "cursor_get_column", "get_caret_column" }, // TextEdit
+ { "cursor_get_line", "get_caret_line" }, // TextEdit
+ { "cursor_set_blink_enabled", "set_caret_blink_enabled" }, // TextEdit
+ { "cursor_set_blink_speed", "set_caret_blink_speed" }, // TextEdit
+ { "cursor_set_column", "set_caret_column" }, // TextEdit
+ { "cursor_set_line", "set_caret_line" }, // TextEdit
+ { "damped_spring_joint_create", "joint_make_damped_spring" }, // PhysicsServer2D
+ { "damped_string_joint_get_param", "damped_spring_joint_get_param" }, // PhysicsServer2D
+ { "damped_string_joint_set_param", "damped_spring_joint_set_param" }, // PhysicsServer2D
+ { "dectime", "move_toward" }, // GDScript, Math functions
+ { "delete_char_at_cursor", "delete_char_at_caret" }, // LineEdit
+ { "deselect_items", "deselect_all" }, // FileDialog
+ { "disable_plugin", "_disable_plugin" }, // EditorPlugin
+ { "drop_data_fw", "_drop_data_fw" }, // ScriptEditor
+ { "exclude_polygons_2d", "exclude_polygons" }, // Geometry2D
+ { "find_node", "find_child" }, // Node
+ { "find_scancode_from_string", "find_keycode_from_string" }, // OS
+ { "forward_canvas_draw_over_viewport", "_forward_canvas_draw_over_viewport" }, // EditorPlugin
+ { "forward_canvas_force_draw_over_viewport", "_forward_canvas_force_draw_over_viewport" }, // EditorPlugin
+ { "forward_canvas_gui_input", "_forward_canvas_gui_input" }, // EditorPlugin
+ { "forward_spatial_draw_over_viewport", "_forward_3d_draw_over_viewport" }, // EditorPlugin
+ { "forward_spatial_force_draw_over_viewport", "_forward_3d_force_draw_over_viewport" }, // EditorPlugin
+ { "forward_spatial_gui_input", "_forward_3d_gui_input" }, // EditorPlugin
+ { "generate_from_path", "_generate_from_path" }, // EditorResourcePreviewGenerator
+ { "generate_small_preview_automatically", "_generate_small_preview_automatically" }, // EditorResourcePreviewGenerator
+ { "get_action_list", "action_get_events" }, // InputMap
+ { "get_alt", "is_alt_pressed" }, // InputEventWithModifiers
+ { "get_animation_process_mode", "get_process_callback" }, // AnimationPlayer
+ { "get_applied_force", "get_constant_force" }, //RigidDynamicBody2D
+ { "get_applied_torque", "get_constant_torque" }, //RigidDynamicBody2D
+ { "get_audio_bus", "get_audio_bus_name" }, // Area3D
+ { "get_bound_child_nodes_to_bone", "get_bone_children" }, // Skeleton3D
+ { "get_camera", "get_camera_3d" }, // Viewport -> this is also convertable to get_camera_2d, broke GLTFNode
+ { "get_cancel", "get_cancel_button" }, // ConfirmationDialog
+ { "get_caption", "_get_caption" }, // AnimationNode
+ { "get_cast_to", "get_target_position" }, // RayCast2D, RayCast3D
+ { "get_child_by_name", "_get_child_by_name" }, // AnimationNode
+ { "get_child_nodes", "_get_child_nodes" }, // AnimationNode
+ { "get_closest_point_to_segment_2d", "get_closest_point_to_segment" }, // Geometry2D
+ { "get_closest_point_to_segment_uncapped_2d", "get_closest_point_to_segment_uncapped" }, // Geometry2D
+ { "get_closest_points_between_segments_2d", "get_closest_point_to_segment" }, // Geometry2D
+ { "get_collision_layer_bit", "get_collision_layer_value" }, // CSGShape3D and a lot of others like GridMap
+ { "get_collision_mask_bit", "get_collision_mask_value" }, // CSGShape3D and a lot of others like GridMap
+ { "get_color_types", "get_color_type_list" }, // Theme
+ { "get_command", "is_command_pressed" }, // InputEventWithModifiers
+ { "get_constant_types", "get_constant_type_list" }, // Theme
+ { "get_control", "is_ctrl_pressed" }, // InputEventWithModifiers
+ { "get_cull_mask_bit", "get_cull_mask_value" }, // Camera3D
+ { "get_cursor_position", "get_caret_column" }, // LineEdit
+ { "get_d", "get_distance" }, // LineShape2D
+ { "get_drag_data", "_get_drag_data" }, // Control
+ { "get_drag_data_fw", "_get_drag_data_fw" }, // ScriptEditor
+ { "get_editor_description", "_get_editor_description" }, // Node
+ { "get_editor_viewport", "get_viewport" }, // EditorPlugin
+ { "get_enabled_focus_mode", "get_focus_mode" }, // BaseButton
+ { "get_endian_swap", "is_big_endian" }, // File
+ { "get_error_string", "get_error_message" }, // JSON
+ { "get_focus_neighbour", "get_focus_neighbor" }, // Control
+ { "get_font_types", "get_font_type_list" }, // Theme
+ { "get_frame_color", "get_color" }, // ColorRect
+ { "get_global_rate_scale", "get_playback_speed_scale" }, // AudioServer
+ { "get_gravity_distance_scale", "get_gravity_point_distance_scale" }, //Area2D
+ { "get_gravity_vector", "get_gravity_direction" }, //Area2D
+ { "get_h_scrollbar", "get_h_scroll_bar" }, //ScrollContainer
+ { "get_hand", "get_tracker_hand" }, // XRPositionalTracker
+ { "get_handle_name", "_get_handle_name" }, // EditorNode3DGizmo
+ { "get_handle_value", "_get_handle_value" }, // EditorNode3DGizmo
+ { "get_icon_align", "get_icon_alignment" }, // Button
+ { "get_icon_types", "get_icon_type_list" }, // Theme
+ { "get_idle_frames", "get_process_frames" }, // Engine
+ { "get_import_options", "_get_import_options" }, // EditorImportPlugin
+ { "get_import_order", "_get_import_order" }, // EditorImportPlugin
+ { "get_importer_name", "_get_importer_name" }, // EditorImportPlugin
+ { "get_interior_ambient", "get_ambient_color" }, // ReflectionProbe
+ { "get_interior_ambient_energy", "get_ambient_color_energy" }, // ReflectionProbe
+ { "get_iterations_per_second", "get_physics_ticks_per_second" }, // Engine
+ { "get_last_mouse_speed", "get_last_mouse_velocity" }, // Input
+ { "get_layer_mask_bit", "get_layer_mask_value" }, // VisualInstance3D
+ { "get_len", "get_length" }, // File
+ { "get_max_atlas_size", "get_max_texture_size" }, // LightmapGI
+ { "get_metakey", "is_meta_pressed" }, // InputEventWithModifiers
+ { "get_mid_height", "get_height" }, // CapsuleMesh
+ { "get_motion_remainder", "get_remainder" }, // PhysicsTestMotionResult2D
+ { "get_network_connected_peers", "get_peers" }, // Multiplayer API
+ { "get_network_master", "get_multiplayer_authority" }, // Node
+ { "get_network_peer", "get_multiplayer_peer" }, // Multiplayer API
+ { "get_network_unique_id", "get_unique_id" }, // Multiplayer API
+ { "get_ok", "get_ok_button" }, // AcceptDialog
+ { "get_option_visibility", "_get_option_visibility" }, // EditorImportPlugin
+ { "get_parameter_default_value", "_get_parameter_default_value" }, // AnimationNode
+ { "get_parameter_list", "_get_parameter_list" }, // AnimationNode
+ { "get_parent_spatial", "get_parent_node_3d" }, // Node3D
+ { "get_pause_mode", "get_process_mode" }, // Node
+ { "get_physical_scancode", "get_physical_keycode" }, // InputEventKey
+ { "get_physical_scancode_with_modifiers", "get_physical_keycode_with_modifiers" }, // InputEventKey
+ { "get_plugin_icon", "_get_plugin_icon" }, // EditorPlugin
+ { "get_plugin_name", "_get_plugin_name" }, // EditorPlugin
+ { "get_preset_count", "_get_preset_count" }, // EditorImportPlugin
+ { "get_preset_name", "_get_preset_name" }, // EditorImportPlugin
+ { "get_recognized_extensions", "_get_recognized_extensions" }, // ResourceFormatLoader, EditorImportPlugin broke ResourceSaver
+ { "get_render_info", "get_rendering_info" }, // RenderingServer
+ { "get_render_targetsize", "get_render_target_size" }, // XRInterface
+ { "get_resource_type", "_get_resource_type" }, // ResourceFormatLoader
+ { "get_result", "get_data" }, //JSON
+ { "get_rpc_sender_id", "get_remote_sender_id" }, // Multiplayer API
+ { "get_save_extension", "_get_save_extension" }, // EditorImportPlugin
+ { "get_scancode", "get_keycode" }, // InputEventKey
+ { "get_scancode_string", "get_keycode_string" }, // OS
+ { "get_scancode_with_modifiers", "get_keycode_with_modifiers" }, // InputEventKey
+ { "get_shift", "is_shift_pressed" }, // InputEventWithModifiers
+ { "get_size_override", "get_size_2d_override" }, // SubViewport
+ { "get_slide_count", "get_slide_collision_count" }, // CharacterBody2D, CharacterBody3D
+ { "get_slips_on_slope", "get_slide_on_slope" }, // SeparationRayShape2D, SeparationRayShape3D
+ { "get_space_override_mode", "get_gravity_space_override_mode" }, // Area2D
+ { "get_speed", "get_velocity" }, // InputEventMouseMotion
+ { "get_stylebox_types", "get_stylebox_type_list" }, // Theme
+ { "get_surface_material", "get_surface_override_material" }, // MeshInstance3D broke ImporterMesh
+ { "get_surface_material_count", "get_surface_override_material_count" }, // MeshInstance3D
+ { "get_tab_disabled", "is_tab_disabled" }, // Tab
+ { "get_tab_hidden", "is_tab_hidden" }, // Tab
+ { "get_text_align", "get_text_alignment" }, // Button
+ { "get_theme_item_types", "get_theme_item_type_list" }, // Theme
+ { "get_timer_process_mode", "get_timer_process_callback" }, // Timer
+ { "get_translation", "get_position" }, // Node3D broke GLTFNode which is used rarely
+ { "get_use_in_baked_light", "is_baking_navigation" }, // GridMap
+ { "get_used_cells_by_id", "get_used_cells" }, // TileMap
+ { "get_v_scrollbar", "get_v_scroll_bar" }, //ScrollContainer
+ { "get_visible_name", "_get_visible_name" }, // EditorImportPlugin
+ { "get_window_layout", "_get_window_layout" }, // EditorPlugin
+ { "get_word_under_cursor", "get_word_under_caret" }, // TextEdit
+ { "get_world", "get_world_3d" }, // Viewport, Spatial
+ { "get_zfar", "get_far" }, // Camera3D broke GLTFCamera
+ { "get_znear", "get_near" }, // Camera3D broke GLTFCamera
+ { "groove_joint_create", "joint_make_groove" }, // PhysicsServer2D
+ { "handle_menu_selected", "_handle_menu_selected" }, // EditorResourcePicker
+ { "handles_type", "_handles_type" }, // ResourceFormatLoader
+ { "has_color", "has_theme_color" }, // Control broke Theme
+ { "has_color_override", "has_theme_color_override" }, // Control broke Theme
+ { "has_constant", "has_theme_constant" }, // Control
+ { "has_constant_override", "has_theme_constant_override" }, // Control
+ { "has_filter", "_has_filter" }, // AnimationNode
+ { "has_font", "has_theme_font" }, // Control broke Theme
+ { "has_font_override", "has_theme_font_override" }, // Control
+ { "has_icon", "has_theme_icon" }, // Control broke Theme
+ { "has_icon_override", "has_theme_icon_override" }, // Control
+ { "has_main_screen", "_has_main_screen" }, // EditorPlugin
+ { "has_network_peer", "has_multiplayer_peer" }, // Multiplayer API
+ { "has_stylebox", "has_theme_stylebox" }, // Control broke Theme
+ { "has_stylebox_override", "has_theme_stylebox_override" }, // Control
+ { "http_escape", "uri_encode" }, // String
+ { "http_unescape", "uri_decode" }, // String
+ { "import_animation_from_other_importer", "_import_animation" }, //EditorSceneFormatImporter
+ { "import_scene_from_other_importer", "_import_scene" }, //EditorSceneFormatImporter
+ { "instance_set_surface_material", "instance_set_surface_override_material" }, // RenderingServer
+ { "intersect_polygons_2d", "intersect_polygons" }, // Geometry2D
+ { "intersect_polyline_with_polygon_2d", "intersect_polyline_with_polygon" }, // Geometry2D
+ { "is_a_parent_of", "is_ancestor_of" }, // Node
+ { "is_commiting_action", "is_committing_action" }, // UndoRedo
+ { "is_doubleclick", "is_double_click" }, // InputEventMouseButton
+ { "is_draw_red", "is_draw_warning" }, // EditorProperty
+ { "is_h_drag_enabled", "is_drag_horizontal_enabled" }, // Camera2D
+ { "is_handle_highlighted", "_is_handle_highlighted" }, // EditorNode3DGizmo, EditorNode3DGizmoPlugin
+ { "is_inverting_faces", "get_flip_faces" }, // CSGPrimitive3D
+ { "is_network_master", "is_multiplayer_authority" }, // Node
+ { "is_network_server", "is_server" }, // Multiplayer API
+ { "is_normalmap", "is_normal_map" }, // NoiseTexture
+ { "is_refusing_new_network_connections", "is_refusing_new_connections" }, // Multiplayer API
+ { "is_region", "is_region_enabled" }, // Sprite2D
+ { "is_scancode_unicode", "is_keycode_unicode" }, // OS
+ { "is_selectable_when_hidden", "_is_selectable_when_hidden" }, // EditorNode3DGizmoPlugin
+ { "is_set_as_toplevel", "is_set_as_top_level" }, // CanvasItem
+ { "is_shortcut", "matches_event" }, // Shortcut
+ { "is_size_override_stretch_enabled", "is_size_2d_override_stretch_enabled" }, // SubViewport
+ { "is_sort_enabled", "is_y_sort_enabled" }, // Node2D
+ { "is_static_body", "is_able_to_sleep" }, // PhysicalBone3D - TODO - not sure
+ { "is_v_drag_enabled", "is_drag_vertical_enabled" }, // Camera2D
+ { "joint_create_cone_twist", "joint_make_cone_twist" }, // PhysicsServer3D
+ { "joint_create_generic_6dof", "joint_make_generic_6dof" }, // PhysicsServer3D
+ { "joint_create_hinge", "joint_make_hinge" }, // PhysicsServer3D
+ { "joint_create_pin", "joint_make_pin" }, // PhysicsServer3D
+ { "joint_create_slider", "joint_make_slider" }, // PhysicsServer3D
+ { "line_intersects_line_2d", "line_intersects_line" }, // Geometry2D
+ { "load_from_globals", "load_from_project_settings" }, // InputMap
+ { "load_interactive", "load_threaded_request" }, // ResourceLoader - load_threaded_request is alternative, but is used differently
+ { "make_convex_from_brothers", "make_convex_from_siblings" }, // CollisionShape3D
+ { "make_visible", "_make_visible" }, // EditorPlugin
+ { "merge_polygons_2d", "merge_polygons" }, // Geometry2D
+ { "mesh_surface_get_format", "mesh_surface_get_format_attribute_stride" }, // RenderingServer
+ { "mesh_surface_update_region", "mesh_surface_update_attribute_region" }, // RenderingServer
+ { "move_to_bottom", "move_after" }, // Skeleton3D
+ { "move_to_top", "move_before" }, // Skeleton3D
+ { "multimesh_allocate", "multimesh_allocate_data" }, // RenderingServer
+ { "normalmap_to_xy", "normal_map_to_xy" }, // Image
+ { "offset_polygon_2d", "offset_polygon" }, // Geometry2D
+ { "offset_polyline_2d", "offset_polyline" }, // Geometry2D
+ { "percent_decode", "uri_decode" }, // String
+ { "percent_encode", "uri_encode" }, // String
+ { "pin_joint_create", "joint_make_pin" }, // PhysicsServer2D
+ { "popup_centered_minsize", "popup_centered_clamped" }, // Window
+ { "post_import", "_post_import" }, // EditorScenePostImport
+ { "print_stray_nodes", "print_orphan_nodes" }, // Node
+ { "property_list_changed_notify", "notify_property_list_changed" }, // Object
+ { "recognize", "_recognize" }, // ResourceFormatLoader
+ { "regen_normalmaps", "regen_normal_maps" }, // ArrayMesh
+ { "remove", "remove_at" }, // Array, broke Directory
+ { "remove_animation", "remove_animation_library" }, // AnimationPlayer
+ { "remove_color_override", "remove_theme_color_override" }, // Control
+ { "remove_constant_override", "remove_theme_constant_override" }, // Control
+ { "remove_font_override", "remove_theme_font_override" }, // Control
+ { "remove_icon_override", "remove_theme_icon_override" }, // Control
+ { "remove_scene_import_plugin", "remove_scene_format_importer_plugin" }, //EditorPlugin
+ { "remove_stylebox_override", "remove_theme_stylebox_override" }, // Control
+ { "rename_animation", "rename_animation_library" }, // AnimationPlayer
+ { "rename_dependencies", "_rename_dependencies" }, // ResourceFormatLoader
+ { "save_external_data", "_save_external_data" }, // EditorPlugin
+ { "segment_intersects_segment_2d", "segment_intersects_segment" }, // Geometry2D
+ { "set_adjustment_enable", "set_adjustment_enabled" }, // Environment
+ { "set_alt", "set_alt_pressed" }, // InputEventWithModifiers
+ { "set_anchor_and_margin", "set_anchor_and_offset" }, // Control
+ { "set_anchors_and_margins_preset", "set_anchors_and_offsets_preset" }, // Control
+ { "set_animation_process_mode", "set_process_callback" }, // AnimationPlayer
+ { "set_as_bulk_array", "set_buffer" }, // MultiMesh
+ { "set_as_normalmap", "set_as_normal_map" }, // NoiseTexture
+ { "set_as_toplevel", "set_as_top_level" }, // CanvasItem
+ { "set_audio_bus", "set_audio_bus_name" }, // Area3D
+ { "set_autowrap", "set_autowrap_mode" }, // Label broke AcceptDialog
+ { "set_cast_to", "set_target_position" }, // RayCast2D, RayCast3D
+ { "set_collision_layer_bit", "set_collision_layer_value" }, // CSGShape3D and a lot of others like GridMap
+ { "set_collision_mask_bit", "set_collision_mask_value" }, // CSGShape3D and a lot of others like GridMap
+ { "set_column_min_width", "set_column_custom_minimum_width" }, // Tree
+ { "set_command", "set_command_pressed" }, // InputEventWithModifiers
+ { "set_control", "set_ctrl_pressed" }, // InputEventWithModifiers
+ { "set_create_options", "_set_create_options" }, // EditorResourcePicker
+ { "set_cull_mask_bit", "set_cull_mask_value" }, // Camera3D
+ { "set_cursor_position", "set_caret_column" }, // LineEdit
+ { "set_d", "set_distance" }, // WorldMarginShape2D
+ { "set_doubleclick", "set_double_click" }, // InputEventMouseButton
+ { "set_draw_red", "set_draw_warning" }, // EditorProperty
+ { "set_enabled_focus_mode", "set_focus_mode" }, // BaseButton
+ { "set_endian_swap", "set_big_endian" }, // File
+ { "set_expand_to_text_length", "set_expand_to_text_length_enabled" }, // LineEdit
+ { "set_filename", "set_scene_file_path" }, // Node, WARNING, this may be used in a lot of other places
+ { "set_focus_neighbour", "set_focus_neighbor" }, // Control
+ { "set_frame_color", "set_color" }, // ColorRect
+ { "set_global_rate_scale", "set_playback_speed_scale" }, // AudioServer
+ { "set_gravity_distance_scale", "set_gravity_point_distance_scale" }, // Area2D
+ { "set_gravity_vector", "set_gravity_direction" }, // Area2D
+ { "set_h_drag_enabled", "set_drag_horizontal_enabled" }, // Camera2D
+ { "set_icon_align", "set_icon_alignment" }, // Button
+ { "set_interior_ambient", "set_ambient_color" }, // ReflectionProbe
+ { "set_interior_ambient_energy", "set_ambient_color_energy" }, // ReflectionProbe
+ { "set_invert_faces", "set_flip_faces" }, // CSGPrimitive3D
+ { "set_is_initialized", "_is_initialized" }, // XRInterface
+ { "set_is_primary", "set_primary" }, // XRInterface
+ { "set_iterations_per_second", "set_physics_ticks_per_second" }, // Engine
+ { "set_layer_mask_bit", "set_layer_mask_value" }, // VisualInstance3D
+ { "set_margins_preset", "set_offsets_preset" }, // Control
+ { "set_max_atlas_size", "set_max_texture_size" }, // LightmapGI
+ { "set_metakey", "set_meta_pressed" }, // InputEventWithModifiers
+ { "set_mid_height", "set_height" }, // CapsuleMesh
+ { "set_network_master", "set_multiplayer_authority" }, // Node
+ { "set_network_peer", "set_multiplayer_peer" }, // Multiplayer API
+ { "set_pause_mode", "set_process_mode" }, // Node
+ { "set_physical_scancode", "set_physical_keycode" }, // InputEventKey
+ { "set_refuse_new_network_connections", "set_refuse_new_connections" }, // Multiplayer API
+ { "set_region", "set_region_enabled" }, // Sprite2D, Sprite broke AtlasTexture
+ { "set_region_filter_clip", "set_region_filter_clip_enabled" }, // Sprite2D
+ { "set_rotate", "set_rotates" }, // PathFollow2D
+ { "set_scancode", "set_keycode" }, // InputEventKey
+ { "set_shader_param", "set_shader_uniform" }, // ShaderMaterial
+ { "set_shift", "set_shift_pressed" }, // InputEventWithModifiers
+ { "set_size_override", "set_size_2d_override" }, // SubViewport broke ImageTexture
+ { "set_size_override_stretch", "set_size_2d_override_stretch" }, // SubViewport
+ { "set_slips_on_slope", "set_slide_on_slope" }, // SeparationRayShape2D, SeparationRayShape3D
+ { "set_sort_enabled", "set_y_sort_enabled" }, // Node2D
+ { "set_space_override_mode", "set_gravity_space_override_mode" }, // Area2D
+ { "set_speed", "set_velocity" }, // InputEventMouseMotion
+ { "set_ssao_edge_sharpness", "set_ssao_sharpness" }, // Environment
+ { "set_surface_material", "set_surface_override_material" }, // MeshInstance3D broke ImporterMesh
+ { "set_tab_align", "set_tab_alignment" }, //TabContainer
+ { "set_tangent", "surface_set_tangent" }, // ImmediateGeometry broke SurfaceTool
+ { "set_text_align", "set_text_alignment" }, // Button
+ { "set_timer_process_mode", "set_timer_process_callback" }, // Timer
+ { "set_tonemap_auto_exposure", "set_tonemap_auto_exposure_enabled" }, // Environment
+ { "set_translation", "set_position" }, // Node3D - this broke GLTFNode which is used rarely
+ { "set_uv2", "surface_set_uv2" }, // ImmediateMesh broke Surffacetool
+ { "set_v_drag_enabled", "set_drag_vertical_enabled" }, // Camera2D
+ { "set_valign", "set_vertical_alignment" }, // Label
+ { "set_window_layout", "_set_window_layout" }, // EditorPlugin
+ { "set_zfar", "set_far" }, // Camera3D broke GLTFCamera
+ { "set_znear", "set_near" }, // Camera3D broke GLTFCamera
+ { "shortcut_match", "is_match" }, // InputEvent
+ { "skeleton_allocate", "skeleton_allocate_data" }, // RenderingServer
+ { "surface_update_region", "surface_update_attribute_region" }, // ArrayMesh
+ { "targeting_method", "tween_method" }, // Tween
+ { "targeting_property", "tween_property" }, // Tween
+ { "track_remove_key_at_position", "track_remove_key_at_time" }, // Animation
+ { "triangulate_delaunay_2d", "triangulate_delaunay" }, // Geometry2D
+ { "unbind_child_node_from_bone", "remove_bone_child" }, // Skeleton3D
+ { "unselect", "deselect" }, // ItemList
+ { "unselect_all", "deselect_all" }, // ItemList
+ { "update_configuration_warning", "update_configuration_warnings" }, // Node
+ { "update_gizmo", "update_gizmos" }, // Node3D
+ { "viewport_set_use_arvr", "viewport_set_use_xr" }, // RenderingServer
+ { "warp_mouse_position", "warp_mouse" }, // Input
+
+ // Builtin types
+ // { "empty", "is_empty" }, // Array - Used as custom rule // Be careful, this will be used everywhere
+ { "clamped", "clamp" }, // Vector2 // Be careful, this will be used everywhere
+ { "get_rotation_quat", "get_rotation_quaternion" }, // Basis
+ { "grow_margin", "grow_side" }, // Rect2
+ { "invert", "reverse" }, // Array - TODO check // Be careful, this will be used everywhere
+ { "is_abs_path", "is_absolute_path" }, // String
+ { "is_valid_integer", "is_valid_int" }, // String
+ { "linear_interpolate", "lerp" }, // Color
+ { "to_ascii", "to_ascii_buffer" }, // String
+ { "to_utf8", "to_utf8_buffer" }, // String
+ { "to_wchar", "to_utf32_buffer" }, // String // TODO - utf32 or utf16?
+
+ // Globals
+ { "rand_range", "randf_range" },
+ { "stepify", "snapped" },
+
+ { nullptr, nullptr },
+};
+
+// gdscript_function_renames clone with CamelCase
+static const char *csharp_function_renames[][2] = {
+ // { "_SetName", "GetTrackerName"}, // XRPositionalTracker - CameraFeed use this
+ // { "_UnhandledInput", "_UnhandledKeyInput"}, // BaseButton, ViewportContainer broke Node, FileDialog,SubViewportContainer
+ // { "CreateGizmo", "_CreateGizmo"}, // EditorNode3DGizmoPlugin - may be used
+ // { "GetDependencies", "_GetDependencies" }, // ResourceFormatLoader broke ResourceLoader
+ // { "GetExtents", "GetSize" }, // BoxShape, RectangleShape broke Decal, VoxelGI, GPUParticlesCollisionBox, GPUParticlesCollisionSDF, GPUParticlesCollisionHeightField, GPUParticlesAttractorBox, GPUParticlesAttractorVectorField, FogVolume
+ // { "GetHOffset", "GetDragHorizontalOffset"}, // Camera2D, broke PathFollow, Camera
+ // { "GetMode", "GetFileMode"}, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap
+ // { "GetMotion", "GetTravel"}, // PhysicsTestMotionResult2D broke ParalaxLayer
+ // { "GetName", "GetTrackerName"}, // XRPositionalTracker broke OS, Node
+ // { "GetNetworkConnectedPeers", "GetPeers"}, // MultiplayerAPI broke SceneTree
+ // { "GetNetworkPeer", "HasMultiplayerPeer"}, // MultiplayerAPI broke SceneTree
+ // { "GetNetworkUniqueId", "GetUniqueId"}, // MultiplayerAPI broke SceneTree
+ // { "GetOffset", "GetPositionOffset" }, // GraphNode broke Gradient
+ // { "GetPeerPort", "GetPeer" }, // ENetMultiplayerPeer broke WebSocketServer
+ // { "GetProcessMode", "GetProcessCallback" }, // ClippedCamera3D broke Node, Sky
+ // { "GetRenderInfo", "GetRenderingInfo" }, // RenderingServer broke Viewport
+ // { "GetType", "GetTrackerType"}, // XRPositionalTracker broke GLTFAccessor, GLTFLight
+ // { "GetVOffset", "GetDragVerticalOffset"}, // Camera2D, broke PathFollow, Camera
+ // { "HasNetworkPeer", "HasMultiplayerPeer"}, // MultiplayerAPI broke SceneTree
+ // { "Instance", "Instantiate" }, // PackedScene, ClassDB - Broke FileSystemDock signal and also tscn files - [instance=ExtResource( 17 )] - this is implemented as custom rule
+ // { "IsListening", "IsBound"}, // PacketPeerUDP broke TCPServer, UDPServer
+ // { "IsRefusingNewNetworkConnections", "IsRefusingNewConnections"}, // MultiplayerAPI broke SceneTree
+ // { "IsValid", "HasValidEvent" }, // Shortcut broke e.g. Callable
+ // { "Listen", "Bound"}, // PacketPeerUDP broke TCPServer, UDPServer
+ // { "Load", "_Load"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D
+ // { "MakeCurrent", "SetCurrent" }, // Camera2D broke Camera3D, Listener2D
+ // { "Process", "_Process" }, // AnimationNode - This word is commonly used
+ // { "Save", "_Save"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D
+ // { "SetAutowrap", "SetAutowrapMode" }, // AcceptDialog broke Label - Cyclic Rename
+ // { "SetColor", "SurfaceSetColor"}, // ImmediateMesh broke Light2D, Theme, SurfaceTool
+ // { "SetEvent", "SetShortcut" }, // BaseButton - Cyclic Rename
+ // { "SetExtents", "SetSize"}, // BoxShape, RectangleShape broke ReflectionProbe
+ // { "SetFlag", "SetParticleFlag"}, // ParticlesMaterial broke Window, HingeJoint3D
+ // { "SetHOffset", "SetDragHorizontalOffset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D
+ // { "SetMargin", "SetOffset" }, // Control broke Shape3D, AtlasTexture
+ // { "SetMode", "SetModeFileMode" }, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap
+ // { "SetNormal", "SurfaceSetNormal"}, // ImmediateGeometry broke SurfaceTool, WorldMarginShape2D
+ // { "SetProcessMode", "SetProcessCallback" }, // AnimationTree broke Node, Tween, Sky
+ // { "SetRefuseNewNetworkConnections", "SetRefuseNewConnections"}, // MultiplayerAPI broke SceneTree
+ // { "SetUv", "SurfaceSetUv" }, // ImmediateMesh broke Polygon2D
+ // { "SetVOffset", "SetDragVerticalOffset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D
+ // {"GetPoints","GetPointsId"},// Astar, broke Line2D, Convexpolygonshape
+ // {"GetVScroll","GetVScrollBar"},//ItemList, broke TextView
+ { "RenderingServer", "GetTabAlignment" }, // Tab
+ { "_AboutToShow", "_AboutToPopup" }, // ColorPickerButton
+ { "_GetConfigurationWarning", "_GetConfigurationWarnings" }, // Node
+ { "_SetCurrent", "SetCurrent" }, // Camera2D
+ { "_SetEditorDescription", "SetEditorDescription" }, // Node
+ { "_ToplevelRaiseSelf", "_TopLevelRaiseSelf" }, // CanvasItem
+ { "_UpdateWrapAt", "_UpdateWrapAtColumn" }, // TextEdit
+ { "AddAnimation", "AddAnimationLibrary" }, // AnimationPlayer
+ { "AddCancel", "AddCancelButton" }, // AcceptDialog
+ { "AddCentralForce", "AddConstantCentralForce" }, //RigidDynamicBody2D
+ { "AddChildBelowNode", "AddSibling" }, // Node
+ { "AddColorOverride", "AddThemeColorOverride" }, // Control
+ { "AddConstantOverride", "AddThemeConstantOverride" }, // Control
+ { "AddFontOverride", "AddThemeFontOverride" }, // Control
+ { "AddForce", "AddConstantForce" }, //RigidDynamicBody2D
+ { "AddIconOverride", "AddThemeIconOverride" }, // Control
+ { "AddSceneImportPlugin", "AddSceneFormatImporterPlugin" }, //EditorPlugin
+ { "AddStyleboxOverride", "AddThemeStyleboxOverride" }, // Control
+ { "AddTorque", "AddConstantTorque" }, //RigidDynamicBody2D
+ { "BindChildNodeToBone", "SetBoneChildren" }, // Skeleton3D
+ { "BumpmapToNormalmap", "BumpMapToNormalMap" }, // Image
+ { "CanBeHidden", "_CanBeHidden" }, // EditorNode3DGizmoPlugin
+ { "CanDropDataFw", "_CanDropDataFw" }, // ScriptEditor
+ { "CanGenerateSmallPreview", "_CanGenerateSmallPreview" }, // EditorResourcePreviewGenerator
+ { "CanInstance", "CanInstantiate" }, // PackedScene, Script
+ { "CanvasLightSetScale", "CanvasLightSetTextureScale" }, // RenderingServer
+ { "CenterViewportToCursor", "CenterViewportToCaret" }, // TextEdit
+ { "ClipPolygons2d", "ClipPolygons" }, // Geometry2D
+ { "ClipPolylineWithPolygon2d", "ClipPolylineWithPolygon" }, //Geometry2D
+ { "CommitHandle", "_CommitHandle" }, // EditorNode3DGizmo
+ { "ConvexHull2d", "ConvexHull" }, // Geometry2D
+ { "CursorGetBlinkSpeed", "GetCaretBlinkSpeed" }, // TextEdit
+ { "CursorGetColumn", "GetCaretColumn" }, // TextEdit
+ { "CursorGetLine", "GetCaretLine" }, // TextEdit
+ { "CursorSetBlinkEnabled", "SetCaretBlinkEnabled" }, // TextEdit
+ { "CursorSetBlinkSpeed", "SetCaretBlinkSpeed" }, // TextEdit
+ { "CursorSetColumn", "SetCaretColumn" }, // TextEdit
+ { "CursorSetLine", "SetCaretLine" }, // TextEdit
+ { "DampedSpringJointCreate", "JointMakeDampedSpring" }, // PhysicsServer2D
+ { "DampedStringJointGetParam", "DampedSpringJointGetParam" }, // PhysicsServer2D
+ { "DampedStringJointSetParam", "DampedSpringJointSetParam" }, // PhysicsServer2D
+ { "DeleteCharAtCursor", "DeleteCharAtCaret" }, // LineEdit
+ { "DeselectItems", "DeselectAll" }, // FileDialog
+ { "DropDataFw", "_DropDataFw" }, // ScriptEditor
+ { "ExcludePolygons2d", "ExcludePolygons" }, // Geometry2D
+ { "FindScancodeFromString", "FindKeycodeFromString" }, // OS
+ { "ForwardCanvasDrawOverViewport", "_ForwardCanvasDrawOverViewport" }, // EditorPlugin
+ { "ForwardCanvasForceDrawOverViewport", "_ForwardCanvasForceDrawOverViewport" }, // EditorPlugin
+ { "ForwardCanvasGuiInput", "_ForwardCanvasGuiInput" }, // EditorPlugin
+ { "ForwardSpatialDrawOverViewport", "_Forward3dDrawOverViewport" }, // EditorPlugin
+ { "ForwardSpatialForceDrawOverViewport", "_Forward3dForceDrawOverViewport" }, // EditorPlugin
+ { "ForwardSpatialGuiInput", "_Forward3dGuiInput" }, // EditorPlugin
+ { "GenerateFromPath", "_GenerateFromPath" }, // EditorResourcePreviewGenerator
+ { "GenerateSmallPreviewAutomatically", "_GenerateSmallPreviewAutomatically" }, // EditorResourcePreviewGenerator
+ { "GetActionList", "ActionGetEvents" }, // InputMap
+ { "GetAlt", "IsAltPressed" }, // InputEventWithModifiers
+ { "GetAnimationProcessMode", "GetProcessCallback" }, // AnimationPlayer
+ { "GetAppliedForce", "GetConstantForce" }, //RigidDynamicBody2D
+ { "GetAppliedTorque", "GetConstantTorque" }, //RigidDynamicBody2D
+ { "GetAudioBus", "GetAudioBusName" }, // Area3D
+ { "GetBoundChildNodesToBone", "GetBoneChildren" }, // Skeleton3D
+ { "GetCamera", "GetCamera3d" }, // Viewport -> this is also convertable to getCamera2d, broke GLTFNode
+ { "GetCancel", "GetCancelButton" }, // ConfirmationDialog
+ { "GetCaption", "_GetCaption" }, // AnimationNode
+ { "GetCastTo", "GetTargetPosition" }, // RayCast2D, RayCast3D
+ { "GetChildByName", "_GetChildByName" }, // AnimationNode
+ { "GetChildNodes", "_GetChildNodes" }, // AnimationNode
+ { "GetClosestPointToSegment2d", "GetClosestPointToSegment" }, // Geometry2D
+ { "GetClosestPointToSegmentUncapped2d", "GetClosestPointToSegmentUncapped" }, // Geometry2D
+ { "GetClosestPointsBetweenSegments2d", "GetClosestPointToSegment" }, // Geometry2D
+ { "GetCollisionLayerBit", "GetCollisionLayerValue" }, // CSGShape3D and a lot of others like GridMap
+ { "GetCollisionMaskBit", "GetCollisionMaskValue" }, // CSGShape3D and a lot of others like GridMap
+ { "GetColorTypes", "GetColorTypeList" }, // Theme
+ { "GetCommand", "IsCommandPressed" }, // InputEventWithModifiers
+ { "GetConstantTypes", "GetConstantTypeList" }, // Theme
+ { "GetControl", "IsCtrlPressed" }, // InputEventWithModifiers
+ { "GetCullMaskBit", "GetCullMaskValue" }, // Camera3D
+ { "GetCursorPosition", "GetCaretColumn" }, // LineEdit
+ { "GetD", "GetDistance" }, // LineShape2D
+ { "GetDragDataFw", "_GetDragDataFw" }, // ScriptEditor
+ { "GetEditorViewport", "GetViewport" }, // EditorPlugin
+ { "GetEnabledFocusMode", "GetFocusMode" }, // BaseButton
+ { "GetEndianSwap", "IsBigEndian" }, // File
+ { "GetErrorString", "GetErrorMessage" }, // JSON
+ { "GetFocusNeighbour", "GetFocusNeighbor" }, // Control
+ { "GetFontTypes", "GetFontTypeList" }, // Theme
+ { "GetFrameColor", "GetColor" }, // ColorRect
+ { "GetGlobalRateScale", "GetPlaybackSpeedScale" }, // AudioServer
+ { "GetGravityDistanceScale", "GetGravityPointDistanceScale" }, //Area2D
+ { "GetGravityVector", "GetGravityDirection" }, //Area2D
+ { "GetHScrollbar", "GetHScrollBar" }, //ScrollContainer
+ { "GetHand", "GetTrackerHand" }, // XRPositionalTracker
+ { "GetHandleName", "_GetHandleName" }, // EditorNode3DGizmo
+ { "GetHandleValue", "_GetHandleValue" }, // EditorNode3DGizmo
+ { "GetIconAlign", "GetIconAlignment" }, // Button
+ { "GetIconTypes", "GetIconTypeList" }, // Theme
+ { "GetIdleFrames", "GetProcessFrames" }, // Engine
+ { "GetImportOptions", "_GetImportOptions" }, // EditorImportPlugin
+ { "GetImportOrder", "_GetImportOrder" }, // EditorImportPlugin
+ { "GetImporterName", "_GetImporterName" }, // EditorImportPlugin
+ { "GetInteriorAmbient", "GetAmbientColor" }, // ReflectionProbe
+ { "GetInteriorAmbientEnergy", "GetAmbientColorEnergy" }, // ReflectionProbe
+ { "GetIterationsPerSecond", "GetPhysicsTicksPerSecond" }, // Engine
+ { "GetLastMouseSpeed", "GetLastMouseVelocity" }, // Input
+ { "GetLayerMaskBit", "GetLayerMaskValue" }, // VisualInstance3D
+ { "GetLen", "GetLength" }, // File
+ { "GetMaxAtlasSize", "GetMaxTextureSize" }, // LightmapGI
+ { "GetMetakey", "IsMetaPressed" }, // InputEventWithModifiers
+ { "GetMidHeight", "GetHeight" }, // CapsuleMesh
+ { "GetMotionRemainder", "GetRemainder" }, // PhysicsTestMotionResult2D
+ { "GetNetworkConnectedPeers", "GetPeers" }, // Multiplayer API
+ { "GetNetworkMaster", "GetMultiplayerAuthority" }, // Node
+ { "GetNetworkPeer", "GetMultiplayerPeer" }, // Multiplayer API
+ { "GetNetworkUniqueId", "GetUniqueId" }, // Multiplayer API
+ { "GetOk", "GetOkButton" }, // AcceptDialog
+ { "GetOptionVisibility", "_GetOptionVisibility" }, // EditorImportPlugin
+ { "GetParameterDefaultValue", "_GetParameterDefaultValue" }, // AnimationNode
+ { "GetParameterList", "_GetParameterList" }, // AnimationNode
+ { "GetParentSpatial", "GetParentNode3d" }, // Node3D
+ { "GetPhysicalScancode", "GetPhysicalKeycode" }, // InputEventKey
+ { "GetPhysicalScancodeWithModifiers", "GetPhysicalKeycodeWithModifiers" }, // InputEventKey
+ { "GetPluginIcon", "_GetPluginIcon" }, // EditorPlugin
+ { "GetPluginName", "_GetPluginName" }, // EditorPlugin
+ { "GetPresetCount", "_GetPresetCount" }, // EditorImportPlugin
+ { "GetPresetName", "_GetPresetName" }, // EditorImportPlugin
+ { "GetRecognizedExtensions", "_GetRecognizedExtensions" }, // ResourceFormatLoader, EditorImportPlugin broke ResourceSaver
+ { "GetRenderInfo", "GetRenderingInfo" }, // RenderingServer
+ { "GetRenderTargetsize", "GetRenderTargetSize" }, // XRInterface
+ { "GetResourceType", "_GetResourceType" }, // ResourceFormatLoader
+ { "GetResult", "GetData" }, //JSON
+ { "GetRpcSenderId", "GetRemoteSenderId" }, // Multiplayer API
+ { "GetSaveExtension", "_GetSaveExtension" }, // EditorImportPlugin
+ { "GetScancode", "GetKeycode" }, // InputEventKey
+ { "GetScancodeString", "GetKeycodeString" }, // OS
+ { "GetScancodeWithModifiers", "GetKeycodeWithModifiers" }, // InputEventKey
+ { "GetShift", "IsShiftPressed" }, // InputEventWithModifiers
+ { "GetSizeOverride", "GetSize2dOverride" }, // SubViewport
+ { "GetSlipsOnSlope", "GetSlideOnSlope" }, // SeparationRayShape2D, SeparationRayShape3D
+ { "GetSpaceOverrideMode", "GetGravitySpaceOverrideMode" }, // Area2D
+ { "GetSpeed", "GetVelocity" }, // InputEventMouseMotion
+ { "GetStyleboxTypes", "GetStyleboxTypeList" }, // Theme
+ { "GetSurfaceMaterial", "GetSurfaceOverrideMaterial" }, // MeshInstance3D broke ImporterMesh
+ { "GetSurfaceMaterialCount", "GetSurfaceOverrideMaterialCount" }, // MeshInstance3D
+ { "GetTabDisabled", "IsTabDisabled" }, // Tab
+ { "GetTabHidden", "IsTabHidden" }, // Tab
+ { "GetTextAlign", "GetTextAlignment" }, // Button
+ { "GetThemeItemTypes", "GetThemeItemTypeList" }, // Theme
+ { "GetTimerProcessMode", "GetTimerProcessCallback" }, // Timer
+ { "GetTranslation", "GetPosition" }, // Node3D broke GLTFNode which is used rarely
+ { "GetUseInBakedLight", "IsBakingNavigation" }, // GridMap
+ { "GetUsedCellsById", "GetUsedCells" }, // TileMap
+ { "GetVScrollbar", "GetVScrollBar" }, //ScrollContainer
+ { "GetVisibleName", "_GetVisibleName" }, // EditorImportPlugin
+ { "GetWindowLayout", "_GetWindowLayout" }, // EditorPlugin
+ { "GetWordUnderCursor", "GetWordUnderCaret" }, // TextEdit
+ { "GetWorld", "GetWorld3d" }, // Viewport, Spatial
+ { "GetZfar", "GetFar" }, // Camera3D broke GLTFCamera
+ { "GetZnear", "GetNear" }, // Camera3D broke GLTFCamera
+ { "GrooveJointCreate", "JointMakeGroove" }, // PhysicsServer2D
+ { "HandleMenuSelected", "_HandleMenuSelected" }, // EditorResourcePicker
+ { "HandlesType", "_HandlesType" }, // ResourceFormatLoader
+ { "HasColor", "HasThemeColor" }, // Control broke Theme
+ { "HasColorOverride", "HasThemeColorOverride" }, // Control broke Theme
+ { "HasConstant", "HasThemeConstant" }, // Control
+ { "HasConstantOverride", "HasThemeConstantOverride" }, // Control
+ { "HasFilter", "_HasFilter" }, // AnimationNode
+ { "HasFont", "HasThemeFont" }, // Control broke Theme
+ { "HasFontOverride", "HasThemeFontOverride" }, // Control
+ { "HasIcon", "HasThemeIcon" }, // Control broke Theme
+ { "HasIconOverride", "HasThemeIconOverride" }, // Control
+ { "HasMainScreen", "_HasMainScreen" }, // EditorPlugin
+ { "HasNetworkPeer", "HasMultiplayerPeer" }, // Multiplayer API
+ { "HasStylebox", "HasThemeStylebox" }, // Control broke Theme
+ { "HasStyleboxOverride", "HasThemeStyleboxOverride" }, // Control
+ { "HttpEscape", "UriEncode" }, // String
+ { "HttpUnescape", "UriDecode" }, // String
+ { "ImportAnimationFromOtherImporter", "_ImportAnimation" }, //EditorSceneFormatImporter
+ { "ImportSceneFromOtherImporter", "_ImportScene" }, //EditorSceneFormatImporter
+ { "InstanceSetSurfaceMaterial", "InstanceSetSurfaceOverrideMaterial" }, // RenderingServer
+ { "IntersectPolygons2d", "IntersectPolygons" }, // Geometry2D
+ { "IntersectPolylineWithPolygon2d", "IntersectPolylineWithPolygon" }, // Geometry2D
+ { "IsAParentOf", "IsAncestorOf" }, // Node
+ { "IsCommitingAction", "IsCommittingAction" }, // UndoRedo
+ { "IsDoubleclick", "IsDoubleClick" }, // InputEventMouseButton
+ { "IsHDragEnabled", "IsDragHorizontalEnabled" }, // Camera2D
+ { "IsHandleHighlighted", "_IsHandleHighlighted" }, // EditorNode3DGizmo, EditorNode3DGizmoPlugin
+ { "IsNetworkMaster", "IsMultiplayerAuthority" }, // Node
+ { "IsNetworkServer", "IsServer" }, // Multiplayer API
+ { "IsNormalmap", "IsNormalMap" }, // NoiseTexture
+ { "IsRefusingNewNetworkConnections", "IsRefusingNewConnections" }, // Multiplayer API
+ { "IsRegion", "IsRegionEnabled" }, // Sprite2D
+ { "IsScancodeUnicode", "IsKeycodeUnicode" }, // OS
+ { "IsSelectableWhenHidden", "_IsSelectableWhenHidden" }, // EditorNode3DGizmoPlugin
+ { "IsSetAsToplevel", "IsSetAsTopLevel" }, // CanvasItem
+ { "IsShortcut", "MatchesEvent" }, // Shortcut
+ { "IsSizeOverrideStretchEnabled", "IsSize2dOverrideStretchEnabled" }, // SubViewport
+ { "IsSortEnabled", "IsYSortEnabled" }, // Node2D
+ { "IsStaticBody", "IsAbleToSleep" }, // PhysicalBone3D - TODO - not sure
+ { "IsVDragEnabled", "IsDragVerticalEnabled" }, // Camera2D
+ { "JointCreateConeTwist", "JointMakeConeTwist" }, // PhysicsServer3D
+ { "JointCreateGeneric6dof", "JointMakeGeneric6dof" }, // PhysicsServer3D
+ { "JointCreateHinge", "JointMakeHinge" }, // PhysicsServer3D
+ { "JointCreatePin", "JointMakePin" }, // PhysicsServer3D
+ { "JointCreateSlider", "JointMakeSlider" }, // PhysicsServer3D
+ { "LineIntersectsLine2d", "LineIntersectsLine" }, // Geometry2D
+ { "LoadFromGlobals", "LoadFromProjectSettings" }, // InputMap
+ { "MakeConvexFromBrothers", "MakeConvexFromSiblings" }, // CollisionShape3D
+ { "MergePolygons2d", "MergePolygons" }, // Geometry2D
+ { "MeshSurfaceGetFormat", "MeshSurfaceGetFormatAttributeStride" }, // RenderingServer
+ { "MeshSurfaceUpdateRegion", "MeshSurfaceUpdateAttributeRegion" }, // RenderingServer
+ { "MoveToBottom", "MoveAfter" }, // Skeleton3D
+ { "MoveToTop", "MoveBefore" }, // Skeleton3D
+ { "MultimeshAllocate", "MultimeshAllocateData" }, // RenderingServer
+ { "NormalmapToXy", "NormalMapToXy" }, // Image
+ { "OffsetPolygon2d", "OffsetPolygon" }, // Geometry2D
+ { "OffsetPolyline2d", "OffsetPolyline" }, // Geometry2D
+ { "PercentDecode", "UriDecode" }, // String
+ { "PercentEncode", "UriEncode" }, // String
+ { "PinJointCreate", "JointMakePin" }, // PhysicsServer2D
+ { "PopupCenteredMinsize", "PopupCenteredClamped" }, // Window
+ { "PostImport", "_PostImport" }, // EditorScenePostImport
+ { "PrintStrayNodes", "PrintOrphanNodes" }, // Node
+ { "PropertyListChangedNotify", "NotifyPropertyListChanged" }, // Object
+ { "Recognize", "_Recognize" }, // ResourceFormatLoader
+ { "RegenNormalmaps", "RegenNormalMaps" }, // ArrayMesh
+ { "Remove", "RemoveAt" }, // Array, broke Directory
+ { "RemoveAnimation", "RemoveAnimationLibrary" }, // AnimationPlayer
+ { "RemoveColorOverride", "RemoveThemeColorOverride" }, // Control
+ { "RemoveConstantOverride", "RemoveThemeConstantOverride" }, // Control
+ { "RemoveFontOverride", "RemoveThemeFontOverride" }, // Control
+ { "RemoveSceneImportPlugin", "RemoveSceneFormatImporterPlugin" }, //EditorPlugin
+ { "RemoveStyleboxOverride", "RemoveThemeStyleboxOverride" }, // Control
+ { "RenameAnimation", "RenameAnimationLibrary" }, // AnimationPlayer
+ { "RenameDependencies", "_RenameDependencies" }, // ResourceFormatLoader
+ { "SaveExternalData", "_SaveExternalData" }, // EditorPlugin
+ { "SegmentIntersectsSegment2d", "SegmentIntersectsSegment" }, // Geometry2D
+ { "SetAdjustmentEnable", "SetAdjustmentEnabled" }, // Environment
+ { "SetAlt", "SetAltPressed" }, // InputEventWithModifiers
+ { "SetAnchorAndMargin", "SetAnchorAndOffset" }, // Control
+ { "SetAnchorsAndMarginsPreset", "SetAnchorsAndOffsetsPreset" }, // Control
+ { "SetAnimationProcessMode", "SetProcessCallback" }, // AnimationPlayer
+ { "SetAsBulkArray", "SetBuffer" }, // MultiMesh
+ { "SetAsNormalmap", "SetAsNormalMap" }, // NoiseTexture
+ { "SetAsToplevel", "SetAsTopLevel" }, // CanvasItem
+ { "SetAudioBus", "SetAudioBusName" }, // Area3D
+ { "SetAutowrap", "SetAutowrapMode" }, // Label broke AcceptDialog
+ { "SetCastTo", "SetTargetPosition" }, // RayCast2D, RayCast3D
+ { "SetCollisionLayerBit", "SetCollisionLayerValue" }, // CSGShape3D and a lot of others like GridMap
+ { "SetCollisionMaskBit", "SetCollisionMaskValue" }, // CSGShape3D and a lot of others like GridMap
+ { "SetColumnMinWidth", "SetColumnCustomMinimumWidth" }, // Tree
+ { "SetCommand", "SetCommandPressed" }, // InputEventWithModifiers
+ { "SetControl", "SetCtrlPressed" }, // InputEventWithModifiers
+ { "SetCreateOptions", "_SetCreateOptions" }, // EditorResourcePicker
+ { "SetCullMaskBit", "SetCullMaskValue" }, // Camera3D
+ { "SetCursorPosition", "SetCaretColumn" }, // LineEdit
+ { "SetD", "SetDistance" }, // WorldMarginShape2D
+ { "SetDoubleclick", "SetDoubleClick" }, // InputEventMouseButton
+ { "SetEnabledFocusMode", "SetFocusMode" }, // BaseButton
+ { "SetEndianSwap", "SetBigEndian" }, // File
+ { "SetExpandToTextLength", "SetExpandToTextLengthEnabled" }, // LineEdit
+ { "SetFocusNeighbour", "SetFocusNeighbor" }, // Control
+ { "SetFrameColor", "SetColor" }, // ColorRect
+ { "SetGlobalRateScale", "SetPlaybackSpeedScale" }, // AudioServer
+ { "SetGravityDistanceScale", "SetGravityPointDistanceScale" }, // Area2D
+ { "SetGravityVector", "SetGravityDirection" }, // Area2D
+ { "SetHDragEnabled", "SetDragHorizontalEnabled" }, // Camera2D
+ { "SetIconAlign", "SetIconAlignment" }, // Button
+ { "SetInteriorAmbient", "SetAmbientColor" }, // ReflectionProbe
+ { "SetInteriorAmbientEnergy", "SetAmbientColorEnergy" }, // ReflectionProbe
+ { "SetIsInitialized", "_IsInitialized" }, // XRInterface
+ { "SetIsPrimary", "SetPrimary" }, // XRInterface
+ { "SetIterationsPerSecond", "SetPhysicsTicksPerSecond" }, // Engine
+ { "SetLayerMaskBit", "SetLayerMaskValue" }, // VisualInstance3D
+ { "SetMarginsPreset", "SetOffsetsPreset" }, // Control
+ { "SetMaxAtlasSize", "SetMaxTextureSize" }, // LightmapGI
+ { "SetMetakey", "SetMetaPressed" }, // InputEventWithModifiers
+ { "SetMidHeight", "SetHeight" }, // CapsuleMesh
+ { "SetNetworkMaster", "SetMultiplayerAuthority" }, // Node
+ { "SetNetworkPeer", "SetMultiplayerPeer" }, // Multiplayer API
+ { "SetPhysicalScancode", "SetPhysicalKeycode" }, // InputEventKey
+ { "SetRefuseNewNetworkConnections", "SetRefuseNewConnections" }, // Multiplayer API
+ { "SetRegion", "SetRegionEnabled" }, // Sprite2D, Sprite broke AtlasTexture
+ { "SetRegionFilterClip", "SetRegionFilterClipEnabled" }, // Sprite2D
+ { "SetRotate", "SetRotates" }, // PathFollow2D
+ { "SetScancode", "SetKeycode" }, // InputEventKey
+ { "SetShift", "SetShiftPressed" }, // InputEventWithModifiers
+ { "SetSizeOverride", "SetSize2dOverride" }, // SubViewport broke ImageTexture
+ { "SetSizeOverrideStretch", "SetSize2dOverrideStretch" }, // SubViewport
+ { "SetSlipsOnSlope", "SetSlideOnSlope" }, // SeparationRayShape2D, SeparationRayShape3D
+ { "SetSortEnabled", "SetYSortEnabled" }, // Node2D
+ { "SetSpaceOverrideMode", "SetGravitySpaceOverrideMode" }, // Area2D
+ { "SetSpeed", "SetVelocity" }, // InputEventMouseMotion
+ { "SetSsaoEdgeSharpness", "SetSsaoSharpness" }, // Environment
+ { "SetSurfaceMaterial", "SetSurfaceOverrideMaterial" }, // MeshInstance3D broke ImporterMesh
+ { "SetTabAlign", "SetTabAlignment" }, //TabContainer
+ { "SetTangent", "SurfaceSetTangent" }, // ImmediateGeometry broke SurfaceTool
+ { "SetTextAlign", "SetTextAlignment" }, // Button
+ { "SetTimerProcessMode", "SetTimerProcessCallback" }, // Timer
+ { "SetTonemapAutoExposure", "SetTonemapAutoExposureEnabled" }, // Environment
+ { "SetTranslation", "SetPosition" }, // Node3D - this broke GLTFNode which is used rarely
+ { "SetUv2", "SurfaceSetUv2" }, // ImmediateMesh broke Surffacetool
+ { "SetVDragEnabled", "SetDragVerticalEnabled" }, // Camera2D
+ { "SetValign", "SetVerticalAlignment" }, // Label
+ { "SetWindowLayout", "_SetWindowLayout" }, // EditorPlugin
+ { "SetZfar", "SetFar" }, // Camera3D broke GLTFCamera
+ { "SetZnear", "SetNear" }, // Camera3D broke GLTFCamera
+ { "ShortcutMatch", "IsMatch" }, // InputEvent
+ { "SkeletonAllocate", "SkeletonAllocateData" }, // RenderingServer
+ { "SurfaceUpdateRegion", "SurfaceUpdateAttributeRegion" }, // ArrayMesh
+ { "TargetingMethod", "TweenMethod" }, // Tween
+ { "TargetingProperty", "TweenProperty" }, // Tween
+ { "TrackRemoveKeyAtPosition", "TrackRemoveKeyAtTime" }, // Animation
+ { "TriangulateDelaunay2d", "TriangulateDelaunay" }, // Geometry2D
+ { "UnbindChildNodeFromBone", "RemoveBoneChild" }, // Skeleton3D
+ { "Unselect", "Deselect" }, // ItemList
+ { "UnselectAll", "DeselectAll" }, // ItemList
+ { "UpdateConfigurationWarning", "UpdateConfigurationWarnings" }, // Node
+ { "UpdateGizmo", "UpdateGizmos" }, // Node3D
+ { "ViewportSetUseArvr", "ViewportSetUseXr" }, // RenderingServer
+ { "WarpMousePosition", "WarpMouse" }, // Input
+
+ // Builtin types
+ // { "Empty", "IsEmpty" }, // Array - Used as custom rule // Be careful, this will be used everywhere
+ { "Clamped", "Clamp" }, // Vector2 // Be careful, this will be used everywhere
+ { "GetRotationQuat", "GetRotationQuaternion" }, // Basis
+ { "GrowMargin", "GrowSide" }, // Rect2
+ { "Invert", "Reverse" }, // Array - TODO check // Be careful, this will be used everywhere
+ { "IsAbsPath", "IsAbsolutePath" }, // String
+ { "IsValidInteger", "IsValidInt" }, // String
+ { "LinearInterpolate", "Lerp" }, // Color
+ { "ToAscii", "ToAsciiBuffer" }, // String
+ { "ToUtf8", "ToUtf8Buffer" }, // String
+ { "ToWchar", "ToUtf32Buffer" }, // String // TODO - utf32 or utf16?
+
+ // Globals
+ { "RandRange", "RandfRange" },
+ { "Stepify", "Snapped" },
+
+ { nullptr, nullptr },
+};
+
+// Some needs to be disabled, because users can use this names as variables
+static const char *gdscript_properties_renames[][2] = {
+ // // { "d", "distance" }, //WorldMarginShape2D - TODO, looks that polish letters ą ę are treaten as space, not as letter, so `będą` are renamed to `będistanceą`
+ // // {"alt","alt_pressed"}, // This may broke a lot of comments and user variables
+ // // {"command","command_pressed"},// This may broke a lot of comments and user variables
+ // // {"control","ctrl_pressed"},// This may broke a lot of comments and user variables
+ // // {"extends","size"}, // BoxShape3D, LightmapGI broke ReflectionProbe
+ // // {"meta","meta_pressed"},// This may broke a lot of comments and user variables
+ // // {"pause_mode","process_mode"}, // Node - Cyclic rename, look for others
+ // // {"rotate","rotates"}, // PathFollow2D - probably function exists with same name
+ // // {"shift","shift_pressed"},// This may broke a lot of comments and user variables
+ // { "autowrap", "autowrap_mode" }, // Label
+ // { "cast_to", "target_position" }, // RayCast2D, RayCast3D
+ // { "doubleclick", "double_click" }, // InputEventMouseButton
+ // { "group", "button_group" }, // BaseButton
+ // { "process_mode", "process_callback" }, // AnimationTree, Camera2D
+ // { "scancode", "keycode" }, // InputEventKey
+ // { "toplevel", "top_level" }, // Node
+ // { "window_title", "title" }, // Window
+ // { "wrap_enabled", "wrap_mode" }, // TextEdit
+ // { "zfar", "far" }, // Camera3D
+ // { "znear", "near" }, // Camera3D
+ // { "filename", "scene_file_path" }, // Node
+ { "as_normalmap", "as_normal_map" }, // NoiseTexture
+ { "bbcode_text", "text" }, // RichTextLabel
+ { "caret_moving_by_right_click", "caret_move_on_right_click" }, // TextEdit
+ { "caret_position", "caret_column" }, // LineEdit
+ { "check_vadjust", "check_v_adjust" }, // Theme
+ { "close_h_ofs", "close_h_offset" }, // Theme
+ { "close_v_ofs", "close_v_offset" }, // Theme
+ { "commentfocus", "comment_focus" }, // Theme
+ { "drag_margin_bottom", "drag_bottom_margin" }, // Camera2D
+ { "drag_margin_h_enabled", "drag_horizontal_enabled" }, // Camera2D
+ { "drag_margin_left", "drag_left_margin" }, // Camera2D
+ { "drag_margin_right", "drag_right_margin" }, // Camera2D
+ { "drag_margin_top", "drag_top_margin" }, // Camera2D
+ { "drag_margin_v_enabled", "drag_vertical_enabled" }, // Camera2D
+ { "enabled_focus_mode", "focus_mode" }, // BaseButton - Removed
+ { "extra_spacing_bottom", "spacing_bottom" }, // Font
+ { "extra_spacing_top", "spacing_top" }, // Font
+ { "focus_neighbour_bottom", "focus_neighbor_bottom" }, // Control
+ { "focus_neighbour_left", "focus_neighbor_left" }, // Control
+ { "focus_neighbour_right", "focus_neighbor_right" }, // Control
+ { "focus_neighbour_top", "focus_neighbor_top" }, // Control
+ { "global_rate_scale", "playback_speed_scale" }, // AudioServer
+ { "gravity_distance_scale", "gravity_point_distance_scale" }, // Area2D
+ { "gravity_vec", "gravity_direction" }, // Area2D
+ { "hseparation", "h_separation" }, // Theme
+ { "iterations_per_second", "physics_ticks_per_second" }, // Engine
+ { "margin_bottom", "offset_bottom" }, // Control broke NinePatchRect, StyleBox
+ { "margin_left", "offset_left" }, // Control broke NinePatchRect, StyleBox
+ { "margin_right", "offset_right" }, // Control broke NinePatchRect, StyleBox
+ { "margin_top", "offset_top" }, // Control broke NinePatchRect, StyleBox
+ { "mid_height", "height" }, // CapsuleMesh
+ { "offset_h", "drag_horizontal_offset" }, // Camera2D
+ { "offset_v", "drag_vertical_offset" }, // Camera2D
+ { "ofs", "offset" }, // Theme
+ { "out_of_range_mode", "max_polyphony" }, // AudioStreamPlayer3D
+ { "pause_mode", "process_mode" }, // Node
+ { "physical_scancode", "physical_keycode" }, // InputEventKey
+ { "popup_exclusive", "exclusive" }, // Window
+ { "refuse_new_network_connections", "refuse_new_connections" }, // MultiplayerAPI
+ { "region_filter_clip", "region_filter_clip_enabled" }, // Sprite2D
+ { "selectedframe", "selected_frame" }, // Theme
+ { "size_override_stretch", "size_2d_override_stretch" }, // SubViewport
+ { "slips_on_slope", "slide_on_slope" }, // SeparationRayShape2D
+ { "ss_reflections_depth_tolerance", "ssr_depth_tolerance" }, // Environment
+ { "ss_reflections_enabled", "ssr_enabled" }, // Environment
+ { "ss_reflections_fade_in", "ssr_fade_in" }, // Environment
+ { "ss_reflections_fade_out", "ssr_fade_out" }, // Environment
+ { "ss_reflections_max_steps", "ssr_max_steps" }, // Environment
+ { "state_machine_selectedframe", "state_machine_selected_frame" }, // Theme
+ { "syntax_highlighting", "syntax_highlighter" }, // TextEdit
+ { "tab_align", "tab_alignment" }, // TabContainer
+ { "table_hseparation", "table_h_separation" }, // Theme
+ { "table_vseparation", "table_v_separation" }, // Theme
+ { "translation", "position" }, // Node3D - broke GLTFNode
+ { "vseparation", "v_separation" }, // Theme
+
+ { nullptr, nullptr },
+};
+
+// Some needs to be disabled, because users can use this names as variables
+static const char *csharp_properties_renames[][2] = {
+ // // { "D", "Distance" }, //WorldMarginShape2D - TODO, looks that polish letters ą ę are treaten as space, not as letter, so `będą` are renamed to `będistanceą`
+ // // {"Alt","AltPressed"}, // This may broke a lot of comments and user variables
+ // // {"Command","CommandPressed"},// This may broke a lot of comments and user variables
+ // // {"Control","CtrlPressed"},// This may broke a lot of comments and user variables
+ // // {"Extends","Size"}, // BoxShape3D, LightmapGI broke ReflectionProbe
+ // // {"Meta","MetaPressed"},// This may broke a lot of comments and user variables
+ // // {"PauseMode","ProcessMode"}, // Node - Cyclic rename, look for others
+ // // {"Rotate","Rotates"}, // PathFollow2D - probably function exists with same name
+ // // {"Shift","ShiftPressed"},// This may broke a lot of comments and user variables
+ // { "Autowrap", "AutowrapMode" }, // Label
+ // { "CastTo", "TargetPosition" }, // RayCast2D, RayCast3D
+ // { "Doubleclick", "DoubleClick" }, // InputEventMouseButton
+ // { "Group", "ButtonGroup" }, // BaseButton
+ // { "ProcessMode", "ProcessCallback" }, // AnimationTree, Camera2D
+ // { "Scancode", "Keycode" }, // InputEventKey
+ // { "Toplevel", "TopLevel" }, // Node
+ // { "WindowTitle", "Title" }, // Window
+ // { "WrapEnabled", "WrapMode" }, // TextEdit
+ // { "Zfar", "Far" }, // Camera3D
+ // { "Znear", "Near" }, // Camera3D
+ { "AsNormalmap", "AsNormalMap" }, // NoiseTexture
+ { "BbcodeText", "Text" }, // RichTextLabel
+ { "CaretMovingByRightClick", "CaretMoveOnRightClick" }, // TextEdit
+ { "CaretPosition", "CaretColumn" }, // LineEdit
+ { "CheckVadjust", "CheckVAdjust" }, // Theme
+ { "CloseHOfs", "CloseHOffset" }, // Theme
+ { "CloseVOfs", "CloseVOffset" }, // Theme
+ { "Commentfocus", "CommentFocus" }, // Theme
+ { "DragMarginBottom", "DragBottomMargin" }, // Camera2D
+ { "DragMarginHEnabled", "DragHorizontalEnabled" }, // Camera2D
+ { "DragMarginLeft", "DragLeftMargin" }, // Camera2D
+ { "DragMarginRight", "DragRightMargin" }, // Camera2D
+ { "DragMarginTop", "DragTopMargin" }, // Camera2D
+ { "DragMarginVEnabled", "DragVerticalEnabled" }, // Camera2D
+ { "EnabledFocusMode", "FocusMode" }, // BaseButton - Removed
+ { "ExtraSpacingBottom", "SpacingBottom" }, // Font
+ { "ExtraSpacingTop", "SpacingTop" }, // Font
+ { "FocusNeighbourBottom", "FocusNeighborBottom" }, // Control
+ { "FocusNeighbourLeft", "FocusNeighborLeft" }, // Control
+ { "FocusNeighbourRight", "FocusNeighborRight" }, // Control
+ { "FocusNeighbourTop", "FocusNeighborTop" }, // Control
+ { "GlobalRateScale", "PlaybackSpeedScale" }, // AudioServer
+ { "GravityDistanceScale", "GravityPointDistanceScale" }, // Area2D
+ { "GravityVec", "GravityDirection" }, // Area2D
+ { "Hseparation", "HSeparation" }, // Theme
+ { "IterationsPerSecond", "PhysicsTicksPerSecond" }, // Engine
+ { "MarginBottom", "OffsetBottom" }, // Control broke NinePatchRect, StyleBox
+ { "MarginLeft", "OffsetLeft" }, // Control broke NinePatchRect, StyleBox
+ { "MarginRight", "OffsetRight" }, // Control broke NinePatchRect, StyleBox
+ { "MarginTop", "OffsetTop" }, // Control broke NinePatchRect, StyleBox
+ { "MidHeight", "Height" }, // CapsuleMesh
+ { "OffsetH", "DragHorizontalOffset" }, // Camera2D
+ { "OffsetV", "DragVerticalOffset" }, // Camera2D
+ { "Ofs", "Offset" }, // Theme
+ { "OutOfRangeMode", "MaxPolyphony" }, // AudioStreamPlayer3D
+ { "PauseMode", "ProcessMode" }, // Node
+ { "PhysicalScancode", "PhysicalKeycode" }, // InputEventKey
+ { "PopupExclusive", "Exclusive" }, // Window
+ { "RefuseNewNetworkConnections", "RefuseNewConnections" }, // MultiplayerAPI
+ { "RegionFilterClip", "RegionFilterClipEnabled" }, // Sprite2D
+ { "Selectedframe", "SelectedFrame" }, // Theme
+ { "SizeOverrideStretch", "Size2dOverrideStretch" }, // SubViewport
+ { "SlipsOnSlope", "SlideOnSlope" }, // SeparationRayShape2D
+ { "SsReflectionsDepthTolerance", "SsrDepthTolerance" }, // Environment
+ { "SsReflectionsEnabled", "SsrEnabled" }, // Environment
+ { "SsReflectionsFadeIn", "SsrFadeIn" }, // Environment
+ { "SsReflectionsFadeOut", "SsrFadeOut" }, // Environment
+ { "SsReflectionsMaxSteps", "SsrMaxSteps" }, // Environment
+ { "StateMachineSelectedframe", "StateMachineSelectedFrame" }, // Theme
+ { "SyntaxHighlighting", "SyntaxHighlighter" }, // TextEdit
+ { "TabAlign", "TabAlignment" }, // TabContainer
+ { "TableHseparation", "TableHSeparation" }, // Theme
+ { "TableVseparation", "TableVSeparation" }, // Theme
+ { "Translation", "Position" }, // Node3D - broke GLTFNode
+ { "Vseparation", "VSeparation" }, // Theme
+
+ { nullptr, nullptr },
+};
+
+static const char *gdscript_signals_renames[][2] = {
+ // {"instantiate","instance"}, // FileSystemDock
+ // { "hide", "hidden" }, // CanvasItem - function with same name exists
+ // { "tween_all_completed","loop_finished"}, // Tween - TODO, not sure
+ // {"changed","settings_changed"}, // EditorSettings
+ { "about_to_show", "about_to_popup" }, // Popup
+ { "button_release", "button_released" }, // XRController3D
+ { "network_peer_connected", "peer_connected" }, // MultiplayerAPI
+ { "network_peer_disconnected", "peer_disconnected" }, // MultiplayerAPI
+ { "network_peer_packet", "peer_packet" }, // MultiplayerAPI
+ { "node_unselected", "node_deselected" }, // GraphEdit
+ { "offset_changed", "position_offset_changed" }, // GraphNode
+ { "settings_changed", "changed" }, // TileMap broke EditorSettings
+ { "skeleton_updated", "pose_updated" }, //
+ { "tab_close", "tab_closed" }, // TextEdit
+ { "tab_hover", "tab_hovered" }, // TextEdit
+ { "text_entered", "text_submitted" }, // LineEdit
+ { "tween_completed", "finished" }, // Tween
+ { "tween_step", "step_finished" }, // Tween
+
+ { nullptr, nullptr },
+};
+
+static const char *csharp_signals_renames[][2] = {
+ // {"Instantiate","Instance"}, // FileSystemDock
+ // { "Hide", "Hidden" }, // CanvasItem - function with same name exists
+ // { "TweenAllCompleted","LoopFinished"}, // Tween - TODO, not sure
+ // {"Changed","SettingsChanged"}, // EditorSettings
+ { "AboutToShow", "AboutToPopup" }, // Popup
+ { "ButtonRelease", "ButtonReleased" }, // XRController3D
+ { "NetworkPeerConnected", "PeerConnected" }, // MultiplayerAPI
+ { "NetworkPeerDisconnected", "PeerDisconnected" }, // MultiplayerAPI
+ { "NetworkPeerPacket", "PeerPacket" }, // MultiplayerAPI
+ { "NodeUnselected", "NodeDeselected" }, // GraphEdit
+ { "OffsetChanged", "PositionOffsetChanged" }, // GraphNode
+ { "SettingsChanged", "Changed" }, // TileMap broke EditorSettings
+ { "SkeletonUpdated", "PoseUpdated" }, //
+ { "TabClose", "TabClosed" }, // TextEdit
+ { "TabHover", "TabHovered" }, // TextEdit
+ { "TextEntered", "TextSubmitted" }, // LineEdit
+ { "TweenCompleted", "Finished" }, // Tween
+ { "TweenStep", "StepFinished" }, // Tween
+
+ { nullptr, nullptr },
+
+};
+
+static const char *project_settings_renames[][2] = {
+ { "audio/channel_disable_threshold_db", "audio/buses/channel_disable_threshold_db" },
+ { "audio/channel_disable_time", "audio/buses/channel_disable_time" },
+ { "audio/default_bus_layout", "audio/buses/default_bus_layout" },
+ { "audio/driver", "audio/driver/driver" },
+ { "audio/enable_audio_input", "audio/driver/enable_input" },
+ { "audio/mix_rate", "audio/driver/mix_rate" },
+ { "audio/output_latency", "audio/driver/output_latency" },
+ { "audio/output_latency.web", "audio/driver/output_latency.web" },
+ { "audio/video_delay_compensation_ms", "audio/video/video_delay_compensation_ms" },
+ { "display/window/vsync/use_vsync", "display/window/vsync/vsync_mode" },
+ { "editor/main_run_args", "editor/run/main_run_args" },
+ { "gui/common/swap_ok_cancel", "gui/common/swap_cancel_ok" },
+ { "network/limits/debugger_stdout/max_chars_per_second", "network/limits/debugger/max_chars_per_second" },
+ { "network/limits/debugger_stdout/max_errors_per_second", "network/limits/debugger/max_errors_per_second" },
+ { "network/limits/debugger_stdout/max_messages_per_frame", "network/limits/debugger/max_queued_messages" },
+ { "network/limits/debugger_stdout/max_warnings_per_second", "network/limits/debugger/max_warnings_per_second" },
+ { "network/ssl/certificates", "network/ssl/certificate_bundle_override" },
+ { "physics/2d/thread_model", "physics/2d/run_on_thread" }, // TODO not sure
+ { "rendering/environment/default_clear_color", "rendering/environment/defaults/default_clear_color" },
+ { "rendering/environment/default_environment", "rendering/environment/defaults/default_environment" },
+ { "rendering/quality/depth_prepass/disable_for_vendors", "rendering/driver/depth_prepass/disable_for_vendors" },
+ { "rendering/quality/depth_prepass/enable", "rendering/driver/depth_prepass/enable" },
+ { "rendering/quality/shading/force_blinn_over_ggx", "rendering/shading/overrides/force_blinn_over_ggx" },
+ { "rendering/quality/shading/force_blinn_over_ggx.mobile", "rendering/shading/overrides/force_blinn_over_ggx.mobile" },
+ { "rendering/quality/shading/force_lambert_over_burley", "rendering/shading/overrides/force_lambert_over_burley" },
+ { "rendering/quality/shading/force_lambert_over_burley.mobile", "rendering/shading/overrides/force_lambert_over_burley.mobile" },
+ { "rendering/quality/shading/force_vertex_shading", "rendering/shading/overrides/force_vertex_shading" },
+ { "rendering/quality/shading/force_vertex_shading.mobile", "rendering/shading/overrides/force_vertex_shading.mobile" },
+ { "rendering/quality/shadow_atlas/quadrant_0_subdiv", "rendering/shadows/shadow_atlas/quadrant_0_subdiv" },
+ { "rendering/quality/shadow_atlas/quadrant_1_subdiv", "rendering/shadows/shadow_atlas/quadrant_1_subdiv" },
+ { "rendering/quality/shadow_atlas/quadrant_2_subdiv", "rendering/shadows/shadow_atlas/quadrant_2_subdiv" },
+ { "rendering/quality/shadow_atlas/quadrant_3_subdiv", "rendering/shadows/shadow_atlas/quadrant_3_subdiv" },
+ { "rendering/quality/shadow_atlas/size", "rendering/shadows/shadow_atlas/size" },
+ { "rendering/quality/shadow_atlas/size.mobile", "rendering/shadows/shadow_atlas/size.mobile" },
+ { "rendering/vram_compression/import_bptc", "rendering/textures/vram_compression/import_bptc" },
+ { "rendering/vram_compression/import_etc", "rendering/textures/vram_compression/import_etc" },
+ { "rendering/vram_compression/import_etc2", "rendering/textures/vram_compression/import_etc2" },
+ { "rendering/vram_compression/import_pvrtc", "rendering/textures/vram_compression/import_pvrtc" },
+ { "rendering/vram_compression/import_s3tc", "rendering/textures/vram_compression/import_s3tc" },
+
+ { nullptr, nullptr },
+};
+
+static const char *builtin_types_renames[][2] = {
+ { "PoolByteArray", "PackedByteArray" },
+ { "PoolColorArray", "PackedColorArray" },
+ { "PoolIntArray", "PackedInt32Array" },
+ { "PoolRealArray", "PackedFloat32Array" },
+ { "PoolStringArray", "PackedStringArray" },
+ { "PoolVector2Array", "PackedVector2Array" },
+ { "PoolVector3Array", "PackedVector3Array" },
+ { "Quat", "Quaternion" },
+ { "Transform", "Transform3D" },
+
+ { nullptr, nullptr },
+};
+
+static const char *shaders_renames[][2] = {
+ { "ALPHA_SCISSOR", "ALPHA_SCISSOR_THRESHOLD" },
+ { "NORMALMAP", "NORMAL_MAP" },
+ { "NORMALMAP_DEPTH", "NORMAL_MAP_DEPTH" },
+ { "TRANSMISSION", "SSS_TRANSMITTANCE_COLOR" },
+ { nullptr, nullptr },
+};
+
+static const char *class_renames[][2] = {
+ // { "BulletPhysicsDirectBodyState", "BulletPhysicsDirectBodyState3D" }, // Class is not visible in ClassDB
+ // { "BulletPhysicsServer", "BulletPhysicsServer3D" }, // Class is not visible in ClassDB
+ // { "GDScriptFunctionState", "Node3D" }, // TODO - not sure to which should be changed
+ // { "GDScriptNativeClass", "Node3D" }, // TODO - not sure to which should be changed
+ // { "InputDefault",""}, // TODO ?
+ // { "Physics2DDirectBodyStateSW", "GodotPhysicsDirectBodyState2D" }, // Class is not visible in ClassDB
+ // { "Physics2DShapeQueryResult", "PhysicsShapeQueryResult2D" }, // Class is not visible in ClassDB
+ // { "PhysicsShapeQueryResult", "PhysicsShapeQueryResult3D" }, // Class is not visible in ClassDB
+ // { "NativeScript","NativeExtension"}, ??
+ { "ARVRAnchor", "XRAnchor3D" },
+ { "ARVRCamera", "XRCamera3D" },
+ { "ARVRController", "XRController3D" },
+ { "ARVRInterface", "XRInterface" },
+ { "ARVRInterfaceGDNative", "Node3D" },
+ { "ARVROrigin", "XROrigin3D" },
+ { "ARVRPositionalTracker", "XRPositionalTracker" },
+ { "ARVRServer", "XRServer" },
+ { "AStar", "AStar3D" },
+ { "AnimatedSprite", "AnimatedSprite2D" },
+ { "AnimationTreePlayer", "AnimationTree" },
+ { "Area", "Area3D" }, // Be careful, this will be used everywhere
+ { "AudioStreamOGGVorbis", "AudioStreamOggVorbis" },
+ { "AudioStreamRandomPitch", "AudioStreamRandomizer" },
+ { "AudioStreamSample", "AudioStreamWAV" },
+ { "BakedLightmap", "LightmapGI" },
+ { "BakedLightmapData", "LightmapGIData" },
+ { "BitmapFont", "FontFile" },
+ { "BoneAttachment", "BoneAttachment3D" },
+ { "BoxShape", "BoxShape3D" },
+ { "CPUParticles", "CPUParticles3D" },
+ { "CSGBox", "CSGBox3D" },
+ { "CSGCombiner", "CSGCombiner3D" },
+ { "CSGCylinder", "CSGCylinder3D" },
+ { "CSGMesh", "CSGMesh3D" },
+ { "CSGPolygon", "CSGPolygon3D" },
+ { "CSGPrimitive", "CSGPrimitive3D" },
+ { "CSGShape", "CSGShape3D" },
+ { "CSGSphere", "CSGSphere3D" },
+ { "CSGTorus", "CSGTorus3D" },
+ { "Camera", "Camera3D" }, // Be careful, this will be used everywhere
+ { "CapsuleShape", "CapsuleShape3D" },
+ { "ClippedCamera", "Camera3D" },
+ { "CollisionObject", "CollisionObject3D" },
+ { "CollisionPolygon", "CollisionPolygon3D" },
+ { "CollisionShape", "CollisionShape3D" },
+ { "ConcavePolygonShape", "ConcavePolygonShape3D" },
+ { "ConeTwistJoint", "ConeTwistJoint3D" },
+ { "ConvexPolygonShape", "ConvexPolygonShape3D" },
+ { "CubeMap", "Cubemap" },
+ { "CubeMesh", "BoxMesh" },
+ { "CylinderShape", "CylinderShape3D" },
+ { "DirectionalLight", "DirectionalLight3D" },
+ { "DynamicFont", "FontFile" },
+ { "DynamicFontData", "FontFile" },
+ { "EditorNavigationMeshGenerator", "NavigationMeshGenerator" },
+ { "EditorSceneImporter", "EditorSceneFormatImporter" },
+ { "EditorSceneImporterFBX", "EditorSceneFormatImporterFBX" },
+ { "EditorSceneImporterGLTF", "EditorSceneFormatImporterGLTF" },
+ { "EditorSpatialGizmo", "EditorNode3DGizmo" },
+ { "EditorSpatialGizmoPlugin", "EditorNode3DGizmoPlugin" },
+ { "ExternalTexture", "ImageTexture" },
+ { "FuncRef", "Callable" },
+ { "GIProbe", "VoxelGI" },
+ { "GIProbeData", "VoxelGIData" },
+ { "Generic6DOFJoint", "Generic6DOFJoint3D" },
+ { "Geometry", "Geometry2D" }, // Geometry class is split between Geometry2D and Geometry3D so we need to choose one
+ { "GeometryInstance", "GeometryInstance3D" },
+ { "GradientTexture", "GradientTexture2D" },
+ { "HeightMapShape", "HeightMapShape3D" },
+ { "HingeJoint", "HingeJoint3D" },
+ { "IP_Unix", "IPUnix" },
+ { "ImmediateGeometry", "ImmediateMesh" },
+ { "ImmediateGeometry3D", "ImmediateMesh" },
+ { "InterpolatedCamera", "Camera3D" },
+ { "InterpolatedCamera3D", "Camera3D" },
+ { "JSONParseResult", "JSON" },
+ { "Joint", "Joint3D" },
+ { "KinematicBody", "CharacterBody3D" },
+ { "KinematicBody2D", "CharacterBody2D" },
+ { "KinematicCollision", "KinematicCollision3D" },
+ { "LargeTexture", "ImageTexture" },
+ { "Light", "Light3D" },
+ { "Light2D", "PointLight2D" },
+ { "LineShape2D", "WorldBoundaryShape2D" },
+ { "Listener", "AudioListener3D" },
+ { "Listener2D", "AudioListener2D" },
+ { "MeshInstance", "MeshInstance3D" },
+ { "MultiMeshInstance", "MultiMeshInstance3D" },
+ { "MultiplayerPeerGDNative", "MultiplayerPeerExtension" },
+ { "Navigation", "Node3D" },
+ { "Navigation2D", "Node2D" },
+ { "Navigation2DServer", "NavigationServer2D" },
+ { "Navigation3D", "Node3D" },
+ { "NavigationAgent", "NavigationAgent3D" },
+ { "NavigationMeshInstance", "NavigationRegion3D" },
+ { "NavigationObstacle", "NavigationObstacle3D" },
+ { "NavigationPolygonInstance", "NavigationRegion2D" },
+ { "NavigationRegion", "NavigationRegion3D" },
+ { "NavigationServer", "NavigationServer3D" },
+ { "NetworkedMultiplayerENet", "ENetMultiplayerPeer" },
+ { "NetworkedMultiplayerPeer", "MultiplayerPeer" },
+ { "Occluder", "OccluderInstance3D" },
+ { "OmniLight", "OmniLight3D" },
+ { "PHashTranslation", "OptimizedTranslation" },
+ { "PacketPeerGDNative", "PacketPeerExtension" },
+ { "PanoramaSky", "Sky" },
+ { "Particles", "GPUParticles3D" }, // Be careful, this will be used everywhere
+ { "Particles2D", "GPUParticles2D" },
+ { "Path", "Path3D" }, // Be careful, this will be used everywhere
+ { "PathFollow", "PathFollow3D" },
+ { "PhysicalBone", "PhysicalBone3D" },
+ { "Physics2DDirectBodyState", "PhysicsDirectBodyState2D" },
+ { "Physics2DDirectSpaceState", "PhysicsDirectSpaceState2D" },
+ { "Physics2DServer", "PhysicsServer2D" },
+ { "Physics2DServerSW", "GodotPhysicsServer2D" },
+ { "Physics2DShapeQueryParameters", "PhysicsShapeQueryParameters2D" },
+ { "Physics2DTestMotionResult", "PhysicsTestMotionResult2D" },
+ { "PhysicsBody", "PhysicsBody3D" },
+ { "PhysicsDirectBodyState", "PhysicsDirectBodyState3D" },
+ { "PhysicsDirectSpaceState", "PhysicsDirectSpaceState3D" },
+ { "PhysicsServer", "PhysicsServer3D" },
+ { "PhysicsShapeQueryParameters", "PhysicsShapeQueryParameters3D" },
+ { "PhysicsTestMotionResult", "PhysicsTestMotionResult3D" },
+ { "PinJoint", "PinJoint3D" },
+ { "PlaneShape", "WorldBoundaryShape3D" },
+ { "PopupDialog", "Popup" },
+ { "ProceduralSky", "Sky" },
+ { "RayCast", "RayCast3D" },
+ { "RayShape", "SeparationRayShape3D" },
+ { "RayShape2D", "SeparationRayShape2D" },
+ { "Reference", "RefCounted" }, // Be careful, this will be used everywhere
+ { "RemoteTransform", "RemoteTransform3D" },
+ { "ResourceInteractiveLoader", "ResourceLoader" },
+ { "RigidBody", "RigidDynamicBody3D" },
+ { "RigidBody2D", "RigidDynamicBody2D" },
+ { "SceneTreeTween", "Tween" },
+ { "Shape", "Shape3D" }, // Be careful, this will be used everywhere
+ { "ShortCut", "Shortcut" },
+ { "Skeleton", "Skeleton3D" },
+ { "SkeletonIK", "SkeletonIK3D" },
+ { "SliderJoint", "SliderJoint3D" },
+ { "SoftBody", "SoftDynamicBody3D" },
+ { "Spatial", "Node3D" },
+ { "SpatialGizmo", "Node3DGizmo" },
+ { "SpatialMaterial", "StandardMaterial3D" },
+ { "SphereShape", "SphereShape3D" },
+ { "SpotLight", "SpotLight3D" },
+ { "SpringArm", "SpringArm3D" },
+ { "Sprite", "Sprite2D" },
+ { "StaticBody", "StaticBody3D" },
+ { "StreamCubemap", "CompressedCubemap" },
+ { "StreamCubemapArray", "CompressedCubemapArray" },
+ { "StreamPeerGDNative", "StreamPeerExtension" },
+ { "StreamTexture", "CompressedTexture2D" },
+ { "StreamTexture2D", "CompressedTexture2D" },
+ { "StreamTexture2DArray", "CompressedTexture2DArray" },
+ { "StreamTextureLayered", "CompressedTextureLayered" },
+ { "TCP_Server", "TCPServer" },
+ { "Tabs", "TabBar" }, // Be careful, this will be used everywhere
+ { "TextFile", "Node3D" },
+ { "Texture", "Texture2D" }, // May broke TextureRect
+ { "TextureArray", "Texture2DArray" },
+ { "TextureProgress", "TextureProgressBar" },
+ { "ToolButton", "Button" },
+ { "VehicleBody", "VehicleBody3D" },
+ { "VehicleWheel", "VehicleWheel3D" },
+ { "VideoPlayer", "VideoStreamPlayer" },
+ { "Viewport", "SubViewport" },
+ { "ViewportContainer", "SubViewportContainer" },
+ { "VisibilityEnabler", "VisibleOnScreenEnabler3D" },
+ { "VisibilityEnabler2D", "VisibleOnScreenEnabler2D" },
+ { "VisibilityNotifier", "VisibleOnScreenNotifier3D" },
+ { "VisibilityNotifier2D", "VisibleOnScreenNotifier2D" },
+ { "VisibilityNotifier3D", "VisibleOnScreenNotifier3D" },
+ { "VisualInstance", "VisualInstance3D" },
+ { "VisualServer", "RenderingServer" },
+ { "VisualShaderNodeCubeMap", "VisualShaderNodeCubemap" },
+ { "VisualShaderNodeCubeMapUniform", "VisualShaderNodeCubemapUniform" },
+ { "VisualShaderNodeScalarClamp", "VisualShaderNodeClamp" },
+ { "VisualShaderNodeScalarConstant", "VisualShaderNodeFloatConstant" },
+ { "VisualShaderNodeScalarFunc", "VisualShaderNodeFloatFunc" },
+ { "VisualShaderNodeScalarInterp", "VisualShaderNodeMix" },
+ { "VisualShaderNodeScalarOp", "VisualShaderNodeFloatOp" },
+ { "VisualShaderNodeScalarSmoothStep", "VisualShaderNodeSmoothStep" },
+ { "VisualShaderNodeScalarSwitch", "VisualShaderNodeSwitch" },
+ { "VisualShaderNodeScalarTransformMult", "VisualShaderNodeTransformOp" },
+ { "VisualShaderNodeScalarUniform", "VisualShaderNodeFloatUniform" },
+ { "VisualShaderNodeTransformMult", "VisualShaderNode" },
+ { "VisualShaderNodeVectorClamp", "VisualShaderNodeClamp" },
+ { "VisualShaderNodeVectorInterp", "VisualShaderNodeMix" },
+ { "VisualShaderNodeVectorScalarMix", "VisualShaderNodeMix" },
+ { "VisualShaderNodeVectorScalarSmoothStep", "VisualShaderNodeSmoothStep" },
+ { "VisualShaderNodeVectorScalarStep", "VisualShaderNodeStep" },
+ { "VisualShaderNodeVectorSmoothStep", "VisualShaderNodeSmoothStep" },
+ { "WebRTCDataChannelGDNative", "WebRTCDataChannelExtension" },
+ { "WebRTCMultiplayer", "WebRTCMultiplayerPeer" },
+ { "WebRTCPeerConnectionGDNative", "WebRTCPeerConnectionExtension" },
+ { "WindowDialog", "Window" },
+ { "World", "World3D" }, // Be careful, this will be used everywhere
+ { "XRAnchor", "XRAnchor3D" },
+ { "XRController", "XRController3D" },
+ { "XROrigin", "XROrigin3D" },
+ { "YSort", "Node2D" },
+
+ { "CullInstance", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x
+ { "RoomGroup", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x
+ { "Room", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x
+ { "RoomManager", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x
+ { "Portal", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x
+
+ { nullptr, nullptr },
+};
+
+// TODO - this colors needs to be validated(not all are valid)
+static const char *colors_renames[][2] = {
+ { "aliceblue", "ALICE_BLUE" },
+ { "antiquewhite", "ANTIQUE_WHITE" },
+ { "aqua", "AQUA" },
+ { "aquamarine", "AQUAMARINE" },
+ { "azure", "AZURE" },
+ { "beige", "BEIGE" },
+ { "bisque", "BISQUE" },
+ { "black", "BLACK" },
+ { "blanchedalmond", "BLANCHED_ALMOND" },
+ { "blue", "BLUE" },
+ { "blueviolet", "BLUE_VIOLET" },
+ { "brown", "BROWN" },
+ { "burlywood", "BURLYWOOD" },
+ { "cadetblue", "CADET_BLUE" },
+ { "chartreuse", "CHARTREUSE" },
+ { "chocolate", "CHOCOLATE" },
+ { "coral", "CORAL" },
+ { "cornflowerblue", "CORNFLOWER_BLUE" },
+ { "cornsilk", "CORNSILK" },
+ { "crimson", "CRIMSON" },
+ { "cyan", "CYAN" },
+ { "darkblue", "DARK_BLUE" },
+ { "darkcyan", "DARK_CYAN" },
+ { "darkgoldenrod", "DARK_GOLDENROD" },
+ { "darkgray", "DARK_GRAY" },
+ { "darkgreen", "DARK_GREEN" },
+ { "darkkhaki", "DARK_KHAKI" },
+ { "darkmagenta", "DARK_MAGENTA" },
+ { "darkolivegreen", "DARK_OLIVE_GREEN" },
+ { "darkorange", "DARK_ORANGE" },
+ { "darkorchid", "DARK_ORCHID" },
+ { "darkred", "DARK_RED" },
+ { "darksalmon", "DARK_SALMON" },
+ { "darkseagreen", "DARK_SEA_GREEN" },
+ { "darkslateblue", "DARK_SLATE_BLUE" },
+ { "darkslategray", "DARK_SLATE_GRAY" },
+ { "darkturquoise", "DARK_TURQUOISE" },
+ { "darkviolet", "DARK_VIOLET" },
+ { "deeppink", "DEEP_PINK" },
+ { "deepskyblue", "DEEP_SKY_BLUE" },
+ { "dimgray", "DIM_GRAY" },
+ { "dodgerblue", "DODGER_BLUE" },
+ { "firebrick", "FIREBRICK" },
+ { "floralwhite", "FLORAL_WHITE" },
+ { "forestgreen", "FOREST_GREEN" },
+ { "fuchsia", "FUCHSIA" },
+ { "gainsboro", "GAINSBORO" },
+ { "ghostwhite", "GHOST_WHITE" },
+ { "gold", "GOLD" },
+ { "goldenrod", "GOLDENROD" },
+ { "gray", "GRAY" },
+ { "green", "GREEN" },
+ { "greenyellow", "GREEN_YELLOW" },
+ { "honeydew", "HONEYDEW" },
+ { "hotpink", "HOT_PINK" },
+ { "indianred", "INDIAN_RED" },
+ { "indigo", "INDIGO" },
+ { "ivory", "IVORY" },
+ { "khaki", "KHAKI" },
+ { "lavender", "LAVENDER" },
+ { "lavenderblush", "LAVENDER_BLUSH" },
+ { "lawngreen", "LAWN_GREEN" },
+ { "lemonchiffon", "LEMON_CHIFFON" },
+ { "lightblue", "LIGHT_BLUE" },
+ { "lightcoral", "LIGHT_CORAL" },
+ { "lightcyan", "LIGHT_CYAN" },
+ { "lightgoldenrod", "LIGHT_GOLDENROD" },
+ { "lightgray", "LIGHT_GRAY" },
+ { "lightgreen", "LIGHT_GREEN" },
+ { "lightpink", "LIGHT_PINK" },
+ { "lightsalmon", "LIGHT_SALMON" },
+ { "lightseagreen", "LIGHT_SEA_GREEN" },
+ { "lightskyblue", "LIGHT_SKY_BLUE" },
+ { "lightslategray", "LIGHT_SLATE_GRAY" },
+ { "lightsteelblue", "LIGHT_STEEL_BLUE" },
+ { "lightyellow", "LIGHT_YELLOW" },
+ { "lime", "LIME" },
+ { "limegreen", "LIME_GREEN" },
+ { "linen", "LINEN" },
+ { "magenta", "MAGENTA" },
+ { "maroon", "MAROON" },
+ { "mediumaquamarine", "MEDIUM_AQUAMARINE" },
+ { "mediumblue", "MEDIUM_BLUE" },
+ { "mediumorchid", "MEDIUM_ORCHID" },
+ { "mediumpurple", "MEDIUM_PURPLE" },
+ { "mediumseagreen", "MEDIUM_SEA_GREEN" },
+ { "mediumslateblue", "MEDIUM_SLATE_BLUE" },
+ { "mediumspringgreen", "MEDIUM_SPRING_GREEN" },
+ { "mediumturquoise", "MEDIUM_TURQUOISE" },
+ { "mediumvioletred", "MEDIUM_VIOLET_RED" },
+ { "midnightblue", "MIDNIGHT_BLUE" },
+ { "mintcream", "MINT_CREAM" },
+ { "mistyrose", "MISTY_ROSE" },
+ { "moccasin", "MOCCASIN" },
+ { "navajowhite", "NAVAJO_WHITE" },
+ { "navyblue", "NAVY_BLUE" },
+ { "oldlace", "OLD_LACE" },
+ { "olive", "OLIVE" },
+ { "olivedrab", "OLIVE_DRAB" },
+ { "orange", "ORANGE" },
+ { "orangered", "ORANGE_RED" },
+ { "orchid", "ORCHID" },
+ { "palegoldenrod", "PALE_GOLDENROD" },
+ { "palegreen", "PALE_GREEN" },
+ { "paleturquoise", "PALE_TURQUOISE" },
+ { "palevioletred", "PALE_VIOLET_RED" },
+ { "papayawhip", "PAPAYA_WHIP" },
+ { "peachpuff", "PEACH_PUFF" },
+ { "peru", "PERU" },
+ { "pink", "PINK" },
+ { "plum", "PLUM" },
+ { "powderblue", "POWDER_BLUE" },
+ { "purple", "PURPLE" },
+ { "rebeccapurple", "REBECCA_PURPLE" },
+ { "red", "RED" },
+ { "rosybrown", "ROSY_BROWN" },
+ { "royalblue", "ROYAL_BLUE" },
+ { "saddlebrown", "SADDLE_BROWN" },
+ { "salmon", "SALMON" },
+ { "sandybrown", "SANDY_BROWN" },
+ { "seagreen", "SEA_GREEN" },
+ { "seashell", "SEASHELL" },
+ { "sienna", "SIENNA" },
+ { "silver", "SILVER" },
+ { "skyblue", "SKY_BLUE" },
+ { "slateblue", "SLATE_BLUE" },
+ { "slategray", "SLATE_GRAY" },
+ { "snow", "SNOW" },
+ { "springgreen", "SPRING_GREEN" },
+ { "steelblue", "STEEL_BLUE" },
+ { "tan", "TAN" },
+ { "teal", "TEAL" },
+ { "thistle", "THISTLE" },
+ { "tomato", "TOMATO" },
+ { "transparent", "TRANSPARENT" },
+ { "turquoise", "TURQUOISE" },
+ { "violet", "VIOLET" },
+ { "webgray", "WEB_GRAY" },
+ { "webgreen", "WEB_GREEN" },
+ { "webmaroon", "WEB_MAROON" },
+ { "webpurple", "WEB_PURPLE" },
+ { "wheat", "WHEAT" },
+ { "white", "WHITE" },
+ { "whitesmoke", "WHITE_SMOKE" },
+ { "yellow", "YELLOW" },
+ { "yellowgreen", "YELLOW_GREEN" },
+
+ { nullptr, nullptr },
+};
+
+class ProjectConverter3To4::RegExContainer {
+public:
+ RegEx reg_is_empty = RegEx("\\bempty\\(");
+ RegEx reg_super = RegEx("([\t ])\\.([a-zA-Z_])");
+ RegEx reg_json_to = RegEx("\\bto_json\\b");
+ RegEx reg_json_parse = RegEx("([\t ]{0,})([^\n]+)parse_json\\(([^\n]+)");
+ RegEx reg_json_non_new = RegEx("([\t ]{0,})([^\n]+)JSON\\.parse\\(([^\n]+)");
+ RegEx reg_export = RegEx("export\\(([a-zA-Z0-9_]+)\\)[ ]+var[ ]+([a-zA-Z0-9_]+)");
+ RegEx reg_export_advanced = RegEx("export\\(([^)^\n]+)\\)[ ]+var[ ]+([a-zA-Z0-9_]+)([^\n]+)");
+ RegEx reg_setget_setget = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+([a-zA-Z0-9_]+)[ \t]*,[ \t]*([a-zA-Z0-9_]+)");
+ RegEx reg_setget_set = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+([a-zA-Z0-9_]+)[ \t]*[,]*[^a-z^A-Z^0-9^_]*$");
+ RegEx reg_setget_get = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+,[ \t]*([a-zA-Z0-9_]+)[ \t]*$");
+ RegEx reg_join = RegEx("([\\(\\)a-zA-Z0-9_]+)\\.join\\(([^\n^\\)]+)\\)");
+ RegEx reg_mixed_tab_space = RegEx("([\t]+)([ ]+)");
+ RegEx reg_image_lock = RegEx("([a-zA-Z0-9_\\.]+)\\.lock\\(\\)");
+ RegEx reg_image_unlock = RegEx("([a-zA-Z0-9_\\.]+)\\.unlock\\(\\)");
+ RegEx reg_os_fullscreen = RegEx("OS.window_fullscreen[= ]+([^#^\n]+)");
+ RegEx reg_instantiate = RegEx("\\.instance\\(([^\\)]*)\\)");
+};
+
+// Function responsible for converting project
+int ProjectConverter3To4::convert() {
+ print_line("Starting conversion.");
+
+ RegExContainer reg_container = RegExContainer();
+
+ ERR_FAIL_COND_V_MSG(!test_array_names(), ERROR_CODE, "Cannot start converting due to problems with data in arrays.");
+ ERR_FAIL_COND_V_MSG(!test_conversion(reg_container), ERROR_CODE, "Cannot start converting due to problems with converting arrays.");
+
+ // Checking if folder contains valid Godot 3 project.
+ // Project cannot be converted 2 times
+ {
+ String conventer_text = "; Project was converted by built-in tool to Godot 4.0";
+
+ ERR_FAIL_COND_V_MSG(!FileAccess::exists("project.godot"), ERROR_CODE, "Current directory doesn't contains any Godot 3 project");
+
+ Error err = OK;
+ String project_godot_content = FileAccess::get_file_as_string("project.godot", &err);
+
+ ERR_FAIL_COND_V_MSG(err != OK, ERROR_CODE, "Failed to read content of \"project.godot\" file.");
+ ERR_FAIL_COND_V_MSG(project_godot_content.find(conventer_text) != -1, ERROR_CODE, "Project already was converted with this tool.");
+
+ Ref<FileAccess> file = FileAccess::open("project.godot", FileAccess::WRITE);
+ ERR_FAIL_COND_V_MSG(file.is_null(), ERROR_CODE, "Failed to open project.godot file.");
+
+ file->store_string(conventer_text + "\n" + project_godot_content);
+ }
+
+ Vector<String> collected_files = check_for_files();
+
+ uint32_t converted_files = 0;
+
+ // Check file by file
+ for (int i = 0; i < collected_files.size(); i++) {
+ String file_name = collected_files[i];
+ Error err = OK;
+ String file_content = FileAccess::get_file_as_string(file_name, &err);
+ ERR_CONTINUE_MSG(err != OK, "Failed to read content of \"" + file_name + "\".");
+ uint64_t hash_before = file_content.hash64();
+ uint64_t file_size = file_content.size();
+ print_line("Trying to convert\t" + itos(i + 1) + "/" + itos(collected_files.size()) + " file - \"" + file_name.trim_prefix("res://") + "\" with size - " + itos(file_size / 1024) + " KB");
+
+ Vector<String> reason;
+ bool is_ignored = false;
+ uint64_t start_time = Time::get_singleton()->get_ticks_msec();
+
+ if (file_name.ends_with(".shader")) {
+ DirAccess::remove_file_or_error(file_name.trim_prefix("res://"));
+ file_name = file_name.replace(".shader", ".gdshader");
+ }
+
+ if (file_size < CONVERSION_MAX_FILE_SIZE) {
+ // TSCN must be the same work exactly same as .gd file because it may contains builtin script
+ if (file_name.ends_with(".gd")) {
+ rename_classes(file_content); // Using only specialized function
+
+ rename_common(enum_renames, file_content);
+ rename_enums(file_content); // Require to additional rename
+
+ rename_common(gdscript_function_renames, file_content);
+ rename_gdscript_functions(file_content, reg_container, false); // Require to additional rename
+
+ rename_common(project_settings_renames, file_content);
+ rename_gdscript_keywords(file_content);
+ rename_common(gdscript_properties_renames, file_content);
+ rename_common(gdscript_signals_renames, file_content);
+ rename_common(shaders_renames, file_content);
+ rename_common(builtin_types_renames, file_content);
+
+ custom_rename(file_content, "\\.shader", ".gdshader");
+ } else if (file_name.ends_with(".tscn")) {
+ rename_classes(file_content); // Using only specialized function
+
+ rename_common(enum_renames, file_content);
+ rename_enums(file_content); // Require to additional rename
+
+ rename_common(gdscript_function_renames, file_content);
+ rename_gdscript_functions(file_content, reg_container, true); // Require to additional rename
+
+ rename_common(project_settings_renames, file_content);
+ rename_gdscript_keywords(file_content);
+ rename_common(gdscript_properties_renames, file_content);
+ rename_common(gdscript_signals_renames, file_content);
+ rename_common(shaders_renames, file_content);
+ rename_common(builtin_types_renames, file_content);
+
+ custom_rename(file_content, "\\.shader", ".gdshader");
+ } else if (file_name.ends_with(".cs")) { // TODO, C# should use different methods
+ rename_classes(file_content); // Using only specialized function
+ rename_common(csharp_function_renames, file_content);
+ rename_common(builtin_types_renames, file_content);
+ rename_common(csharp_properties_renames, file_content);
+ rename_common(csharp_signals_renames, file_content);
+ rename_csharp_functions(file_content);
+ rename_csharp_attributes(file_content);
+ custom_rename(file_content, "public class ", "public partial class ");
+ } else if (file_name.ends_with(".gdshader") || file_name.ends_with(".shader")) {
+ rename_common(shaders_renames, file_content);
+ } else if (file_name.ends_with("tres")) {
+ rename_classes(file_content); // Using only specialized function
+
+ rename_common(shaders_renames, file_content);
+ rename_common(builtin_types_renames, file_content);
+
+ custom_rename(file_content, "\\.shader", ".gdshader");
+ } else if (file_name.ends_with("project.godot")) {
+ rename_common(project_settings_renames, file_content);
+ rename_common(builtin_types_renames, file_content);
+ } else if (file_name.ends_with(".csproj")) {
+ // TODO
+ } else {
+ ERR_PRINT(file_name + " is not supported!");
+ continue;
+ }
+ } else {
+ reason.append(" ERROR: File has exceeded the maximum size allowed - " + itos(CONVERSION_MAX_FILE_SIZE_MB) + " MB");
+ is_ignored = true;
+ }
+
+ uint64_t end_time = Time::get_singleton()->get_ticks_msec();
+
+ if (!is_ignored) {
+ uint64_t hash_after = file_content.hash64();
+ // Don't need to save file without any changes
+ // Save if this is a shader, because it was renamed
+ if (hash_before != hash_after || file_name.ends_with(".gdshader")) {
+ converted_files++;
+
+ Ref<FileAccess> file = FileAccess::open(file_name, FileAccess::WRITE);
+ ERR_CONTINUE_MSG(file.is_null(), "Failed to open \"" + file_name + "\" to save data to file.");
+ file->store_string(file_content);
+ reason.append(" File was changed, conversion took " + itos(end_time - start_time) + " ms.");
+ } else {
+ reason.append(" File was not changed, checking took " + itos(end_time - start_time) + " ms.");
+ }
+ }
+ for (int k = 0; k < reason.size(); k++) {
+ print_line(reason[k]);
+ }
+ }
+
+ print_line("Conversion ended - all files(" + itos(collected_files.size()) + "), converted files(" + itos(converted_files) + "), not converted files(" + itos(collected_files.size() - converted_files) + ").");
+ return 0;
+};
+
+// Function responsible for validating project conversion.
+int ProjectConverter3To4::validate_conversion() {
+ print_line("Starting checking if project conversion can be done.");
+
+ RegExContainer reg_container = RegExContainer();
+
+ ERR_FAIL_COND_V_MSG(!test_array_names(), ERROR_CODE, "Cannot start converting due to problems with data in arrays.");
+ ERR_FAIL_COND_V_MSG(!test_conversion(reg_container), ERROR_CODE, "Cannot start converting due to problems with converting arrays.");
+
+ // Checking if folder contains valid Godot 3 project.
+ // Project cannot be converted 2 times
+ {
+ String conventer_text = "; Project was converted by built-in tool to Godot 4.0";
+
+ ERR_FAIL_COND_V_MSG(!FileAccess::exists("project.godot"), ERROR_CODE, "Current directory doesn't contains any Godot 3 project");
+
+ Error err = OK;
+ String project_godot_content = FileAccess::get_file_as_string("project.godot", &err);
+
+ ERR_FAIL_COND_V_MSG(err != OK, ERROR_CODE, "Failed to read content of \"project.godot\" file.");
+ ERR_FAIL_COND_V_MSG(project_godot_content.find(conventer_text) != -1, ERROR_CODE, "Project already was converted with this tool.");
+ }
+
+ Vector<String> collected_files = check_for_files();
+
+ uint32_t converted_files = 0;
+
+ // Check file by file
+ for (int i = 0; i < collected_files.size(); i++) {
+ String file_name = collected_files[i];
+ Vector<String> file_content;
+ uint64_t file_size = 0;
+ {
+ Ref<FileAccess> file = FileAccess::open(file_name, FileAccess::READ);
+ ERR_CONTINUE_MSG(file.is_null(), "Failed to read content of \"" + file_name + "\".");
+ while (!file->eof_reached()) {
+ String line = file->get_line();
+ file_size += line.size();
+ file_content.append(line);
+ }
+ }
+ print_line("Checking for conversion - " + itos(i + 1) + "/" + itos(collected_files.size()) + " file - \"" + file_name.trim_prefix("res://") + "\" with size - " + itos(file_size / 1024) + " KB");
+
+ Vector<String> changed_elements;
+ Vector<String> reason;
+ bool is_ignored = false;
+ uint64_t start_time = Time::get_singleton()->get_ticks_msec();
+
+ if (file_name.ends_with(".shader")) {
+ reason.append("\tFile extension will be renamed from `shader` to `gdshader`.");
+ }
+
+ if (file_size < CONVERSION_MAX_FILE_SIZE) {
+ if (file_name.ends_with(".gd")) {
+ changed_elements.append_array(check_for_rename_classes(file_content));
+
+ changed_elements.append_array(check_for_rename_common(enum_renames, file_content));
+ changed_elements.append_array(check_for_rename_enums(file_content));
+
+ changed_elements.append_array(check_for_rename_common(gdscript_function_renames, file_content));
+ changed_elements.append_array(check_for_rename_gdscript_functions(file_content, reg_container, false));
+
+ changed_elements.append_array(check_for_rename_common(project_settings_renames, file_content));
+ changed_elements.append_array(check_for_rename_gdscript_keywords(file_content));
+ changed_elements.append_array(check_for_rename_common(gdscript_properties_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(gdscript_signals_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(shaders_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content));
+
+ changed_elements.append_array(check_for_custom_rename(file_content, "\\.shader", ".gdshader"));
+ } else if (file_name.ends_with(".tscn")) {
+ changed_elements.append_array(check_for_rename_classes(file_content));
+
+ changed_elements.append_array(check_for_rename_common(enum_renames, file_content));
+ changed_elements.append_array(check_for_rename_enums(file_content));
+
+ changed_elements.append_array(check_for_rename_common(gdscript_function_renames, file_content));
+ changed_elements.append_array(check_for_rename_gdscript_functions(file_content, reg_container, true));
+
+ changed_elements.append_array(check_for_rename_common(project_settings_renames, file_content));
+ changed_elements.append_array(check_for_rename_gdscript_keywords(file_content));
+ changed_elements.append_array(check_for_rename_common(gdscript_properties_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(gdscript_signals_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(shaders_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content));
+
+ changed_elements.append_array(check_for_custom_rename(file_content, "\\.shader", ".gdshader"));
+ } else if (file_name.ends_with(".cs")) {
+ changed_elements.append_array(check_for_rename_common(class_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(csharp_function_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(csharp_properties_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(csharp_signals_renames, file_content));
+ changed_elements.append_array(check_for_rename_csharp_functions(file_content));
+ changed_elements.append_array(check_for_rename_csharp_attributes(file_content));
+ changed_elements.append_array(check_for_custom_rename(file_content, "public class ", "public partial class "));
+ } else if (file_name.ends_with(".gdshader") || file_name.ends_with(".shader")) {
+ changed_elements.append_array(check_for_rename_common(shaders_renames, file_content));
+ } else if (file_name.ends_with("tres")) {
+ changed_elements.append_array(check_for_rename_classes(file_content));
+
+ changed_elements.append_array(check_for_rename_common(shaders_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content));
+
+ changed_elements.append_array(check_for_custom_rename(file_content, "\\.shader", ".gdshader"));
+ } else if (file_name.ends_with("project.godot")) {
+ changed_elements.append_array(check_for_rename_common(project_settings_renames, file_content));
+ changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content));
+ } else if (file_name.ends_with(".csproj")) {
+ // TODO
+ } else {
+ ERR_PRINT(file_name + " is not supported!");
+ continue;
+ }
+ } else {
+ reason.append("\tERROR: File has exceeded the maximum size allowed - " + itos(CONVERSION_MAX_FILE_SIZE_MB) + " MB");
+ is_ignored = true;
+ }
+
+ uint64_t end_time = Time::get_singleton()->get_ticks_msec();
+ print_line(" Checking file took " + itos(end_time - start_time) + " ms.");
+
+ for (int k = 0; k < reason.size(); k++) {
+ print_line(reason[k]);
+ }
+
+ if (changed_elements.size() > 0 && !is_ignored) {
+ converted_files++;
+
+ for (int k = 0; k < changed_elements.size(); k++) {
+ print_line(String("\t\t") + changed_elements[k]);
+ }
+ }
+ }
+
+ print_line("Checking for valid conversion ended - all files(" + itos(collected_files.size()) + "), files which would be converted(" + itos(converted_files) + "), files which would not be converted(" + itos(collected_files.size() - converted_files) + ").");
+ return 0;
+}
+
+// Collect files which will be checked, it will not touch txt, mp4, wav etc. files
+Vector<String> ProjectConverter3To4::check_for_files() {
+ Vector<String> collected_files = Vector<String>();
+
+ Vector<String> directories_to_check = Vector<String>();
+ directories_to_check.push_back("res://");
+
+ core_bind::Directory dir = core_bind::Directory();
+ while (!directories_to_check.is_empty()) {
+ String path = directories_to_check.get(directories_to_check.size() - 1); // Is there any pop_back function?
+ directories_to_check.resize(directories_to_check.size() - 1); // Remove last element
+ if (dir.open(path) == OK) {
+ dir.set_include_hidden(true);
+ dir.list_dir_begin();
+ String current_dir = dir.get_current_dir();
+ String file_name = dir.get_next();
+
+ while (file_name != "") {
+ if (file_name == ".git" || file_name == ".import" || file_name == ".godot") {
+ file_name = dir.get_next();
+ continue;
+ }
+ if (dir.current_is_dir()) {
+ directories_to_check.append(current_dir.plus_file(file_name) + "/");
+ } else {
+ bool proper_extension = false;
+ if (file_name.ends_with(".gd") || file_name.ends_with(".shader") || file_name.ends_with(".tscn") || file_name.ends_with(".tres") || file_name.ends_with(".godot") || file_name.ends_with(".cs") || file_name.ends_with(".csproj"))
+ proper_extension = true;
+
+ if (proper_extension) {
+ collected_files.append(current_dir.plus_file(file_name));
+ }
+ }
+ file_name = dir.get_next();
+ }
+ } else {
+ print_verbose("Failed to open " + path);
+ }
+ }
+ return collected_files;
+}
+
+bool ProjectConverter3To4::test_conversion_single_additional(String name, String expected, void (ProjectConverter3To4::*func)(String &), String what) {
+ String got = name;
+ (this->*func)(got);
+ if (expected != got) {
+ ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got + "`");
+ return false;
+ }
+
+ return true;
+}
+
+bool ProjectConverter3To4::test_conversion_single_additional_builtin(String name, String expected, void (ProjectConverter3To4::*func)(String &, const RegExContainer &, bool), String what, const RegExContainer &reg_container, bool builtin_script) {
+ String got = name;
+ (this->*func)(got, reg_container, builtin_script);
+ if (expected != got) {
+ ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got + "`");
+ return false;
+ }
+
+ return true;
+}
+
+bool ProjectConverter3To4::test_conversion_single_normal(String name, String expected, const char *array[][2], String what) {
+ String got = name;
+ rename_common(array, got);
+ if (expected != got) {
+ ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got + "`");
+ return false;
+ }
+ return true;
+}
+
+// Validate if conversions are proper
+bool ProjectConverter3To4::test_conversion(const RegExContainer &reg_container) {
+ bool valid = true;
+
+ valid = valid & test_conversion_single_normal("Spatial", "Node3D", class_renames, "class");
+
+ valid = valid & test_conversion_single_normal("TYPE_REAL", "TYPE_FLOAT", enum_renames, "enum");
+
+ valid = valid & test_conversion_single_normal("can_instance", "can_instantiate", gdscript_function_renames, "gdscript function");
+
+ valid = valid & test_conversion_single_normal("CanInstance", "CanInstantiate", csharp_function_renames, "csharp function");
+
+ valid = valid & test_conversion_single_normal("translation", "position", gdscript_properties_renames, "gdscript property");
+
+ valid = valid & test_conversion_single_normal("Translation", "Position", csharp_properties_renames, "csharp property");
+
+ valid = valid & test_conversion_single_normal("NORMALMAP", "NORMAL_MAP", shaders_renames, "shader");
+
+ valid = valid & test_conversion_single_normal("text_entered", "text_submitted", gdscript_signals_renames, "gdscript signal");
+
+ valid = valid & test_conversion_single_normal("TextEntered", "TextSubmitted", csharp_signals_renames, "csharp signal");
+
+ valid = valid & test_conversion_single_normal("audio/channel_disable_threshold_db", "audio/buses/channel_disable_threshold_db", project_settings_renames, "project setting");
+
+ valid = valid & test_conversion_single_normal("Transform", "Transform3D", builtin_types_renames, "builtin type");
+
+ // Custom Renames
+
+ valid = valid & test_conversion_single_additional("(Connect(A,B,C,D,E,F,G) != OK):", "(Connect(A,new Callable(B,C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("(Disconnect(A,B,C) != OK):", "(Disconnect(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("(IsConnected(A,B,C) != OK):", "(IsConnected(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename");
+
+ valid = valid & test_conversion_single_additional("[Remote]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("[RemoteSync]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("[Sync]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("[Slave]", "[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("[Puppet]", "[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("[PuppetSync]", "[RPC(CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("[Master]", "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using Multiplayer.GetRemoteSenderId()\n[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+ valid = valid & test_conversion_single_additional("[MasterSync]", "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using Multiplayer.GetRemoteSenderId()\n[RPC(CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp");
+
+ valid = valid & test_conversion_single_additional_builtin("OS.window_fullscreen = Settings.fullscreen", "ProjectSettings.set(\"display/window/size/fullscreen\", Settings.fullscreen)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("OS.window_fullscreen = Settings.fullscreen", "ProjectSettings.set(\\\"display/window/size/fullscreen\\\", Settings.fullscreen)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, true);
+ valid = valid & test_conversion_single_additional_builtin("OS.get_window_safe_area()", "DisplayServer.get_display_safe_area()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("\tvar aa = roman(r.move_and_slide( a, b, c, d, e, f )) # Roman", "\tr.set_velocity(a)\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tr.move_and_slide()\n\tvar aa = roman(r.velocity) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\tvar aa = roman(r.move_and_slide_with_snap( a, g, b, c, d, e, f )) # Roman", "\tr.set_velocity(a)\n\t# TODOConverter40 looks that snap in Godot 4.0 is float, not vector like in Godot 3 - previous value `g`\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tr.move_and_slide()\n\tvar aa = roman(r.velocity) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("list_dir_begin( a , b )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("list_dir_begin( a )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("list_dir_begin( )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("sort_custom( a , b )", "sort_custom(Callable(a,b))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("func c(var a, var b)", "func c(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("draw_line(1, 2, 3, 4, 5)", "draw_line(1,2,3,4)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("\timage.lock()", "\tfalse # image.lock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\timage.unlock()", "\tfalse # image.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\troman.image.unlock()", "\tfalse # roman.image.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\tmtx.lock()", "\tmtx.lock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\tmutex.unlock()", "\tmutex.unlock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional("\nonready", "\n@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("onready", "@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional(" onready", " onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\nexport", "\n@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\texport", "\t@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\texport_dialog", "\texport_dialog", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("export", "@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional(" export", " export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("tool", "@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n tool", "\n tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\ntool", "\n\n@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\nremote func", "\n\n@rpc(any_peer) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\nremotesync func", "\n\n@rpc(any_peer, call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\nsync func", "\n\n@rpc(any_peer, call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\nslave func", "\n\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\npuppet func", "\n\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\npuppetsync func", "\n\n@rpc(call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\nmaster func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using get_multiplayer().get_remote_sender_id()\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+ valid = valid & test_conversion_single_additional("\n\nmastersync func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using get_multiplayer().get_remote_sender_id()\n@rpc(call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword");
+
+ valid = valid & test_conversion_single_additional_builtin("var size : Vector2 = Vector2() setget set_function , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function\n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("var size : Vector2 = Vector2() setget set_function , ", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("var size : Vector2 = Vector2() setget set_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("var size : Vector2 = Vector2() setget , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function \n set(mod_value):\n mod_value # TODOConverter40 Non existent set function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("get_node(@", "get_node(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("yield(this, \"timeout\")", "await this.timeout", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("yield(this, \\\"timeout\\\")", "await this.timeout", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, true);
+
+ valid = valid & test_conversion_single_additional_builtin(" Transform.xform(Vector3(a,b,c)) ", " Transform * Vector3(a,b,c) ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin(" Transform.xform_inv(Vector3(a,b,c)) ", " Vector3(a,b,c) * Transform ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("export(float) var lifetime = 3.0", "export var lifetime: float = 3.0", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("export(String, 'AnonymousPro', 'CourierPrime') var _font_name = 'AnonymousPro'", "export var _font_name = 'AnonymousPro' # (String, 'AnonymousPro', 'CourierPrime')", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); // TODO, this is only a workaround
+ valid = valid & test_conversion_single_additional_builtin("export(PackedScene) var mob_scene", "export var mob_scene: PackedScene", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("var d = parse_json(roman(sfs))", "var test_json_conv = JSON.new()\ntest_json_conv.parse(roman(sfs))\nvar d = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("to_json( AA ) szon", "JSON.new().stringify( AA ) szon", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("s to_json", "s JSON.new().stringify", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("AF to_json2", "AF to_json2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("var rr = JSON.parse(a)", "var test_json_conv = JSON.new()\ntest_json_conv.parse(a)\nvar rr = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("empty()", "is_empty()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin(".empty", ".empty", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin(").roman(", ").roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\t.roman(", "\tsuper.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin(" .roman(", " super.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin(".1", ".1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin(" .1", " .1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("'.'", "'.'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("'.a'", "'.a'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\t._input(_event)", "\tsuper._input(_event)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("(connect(A,B,C) != OK):", "(connect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(connect(A,B,C,D) != OK):", "(connect(A,Callable(B,C).bind(D)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(connect(A,B,C,[D]) != OK):", "(connect(A,Callable(B,C).bind(D)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(connect(A,B,C,[D,E]) != OK):", "(connect(A,Callable(B,C).bind(D,E)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(connect(A,B,C,[D,E],F) != OK):", "(connect(A,Callable(B,C).bind(D,E),F) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(connect(A,B,C,D,E) != OK):", "(connect(A,Callable(B,C).bind(D),E) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("(start(A,B) != OK):", "(start(Callable(A,B)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("func start(A,B):", "func start(A,B):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(start(A,B,C,D,E,F,G) != OK):", "(start(Callable(A,B).bind(C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("disconnect(A,B,C) != OK):", "disconnect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("is_connected(A,B,C) != OK):", "is_connected(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("is_connected(A,B,C))", "is_connected(A,Callable(B,C)))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("(tween_method(A,B,C,D,E).foo())", "(tween_method(Callable(A,B),C,D,E).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(tween_method(A,B,C,D,E,[F,G]).foo())", "(tween_method(Callable(A,B).bind(F,G),C,D,E).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(tween_callback(A,B).foo())", "(tween_callback(Callable(A,B)).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("(tween_callback(A,B,[C,D]).foo())", "(tween_callback(Callable(A,B).bind(C,D)).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("func _init(p_x:int)->void:", "func _init(p_x:int):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("q_PackedDataContainer._iter_init(variable1)", "q_PackedDataContainer._iter_init(variable1)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("assert(speed < 20, str(randi()%10))", "assert(speed < 20) #,str(randi()%10))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("assert(speed < 2)", "assert(speed < 2)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("assert(false, \"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", "assert(false) #,\"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("create_from_image(aa, bb)", "create_from_image(aa) #,bb", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("q_ImageTexture.create_from_image(variable1, variable2)", "q_ImageTexture.create_from_image(variable1) #,variable2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("set_cell_item(a, b, c, d ,e) # AA", "set_cell_item( Vector3(a,b,c) ,d,e) # AA", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("set_cell_item(a, b)", "set_cell_item(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("get_cell_item_orientation(a, b,c)", "get_cell_item_orientation(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("get_cell_item(a, b,c)", "get_cell_item(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("map_to_world(a, b,c)", "map_to_world(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("PackedStringArray(req_godot).join('.')", "'.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("=PackedStringArray(req_godot).join('.')", "='.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin(" aa", " aa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\taa", "\taa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("\t aa", "\taa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin(" \taa", " \taa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional_builtin("apply_force(position, impulse)", "apply_force(impulse, position)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+ valid = valid & test_conversion_single_additional_builtin("apply_impulse(position, impulse)", "apply_impulse(impulse, position)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false);
+
+ valid = valid & test_conversion_single_additional("AAA Color.white AF", "AAA Color.WHITE AF", &ProjectConverter3To4::rename_enums, "custom rename");
+
+ // Custom rule conversion
+ {
+ String from = "instance";
+ String to = "instantiate";
+ String name = "AA.instance()";
+ String got = "AA.instance()";
+ String expected = "AA.instantiate()";
+ custom_rename(got, from, to);
+ if (got != expected) {
+ ERR_PRINT("Failed to convert custom rename `" + name + "` to `" + expected + "`, got instead `" + got + "`");
+ }
+ valid = valid & (got == expected);
+ }
+
+ // get_object_of_execution
+ {
+ { String base = "var roman = kieliszek.";
+ String expected = "kieliszek.";
+ String got = get_object_of_execution(base);
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+{
+ String base = "r.";
+ String expected = "r.";
+ String got = get_object_of_execution(base);
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+{
+ String base = "mortadela(";
+ String expected = "";
+ String got = get_object_of_execution(base);
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+{
+ String base = "var node = $world/ukraine/lviv.";
+ String expected = "$world/ukraine/lviv.";
+ String got = get_object_of_execution(base);
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+}
+// get_starting_space
+{
+ String base = "\t\t\t var roman = kieliszek.";
+ String expected = "\t\t\t";
+ String got = get_starting_space(base);
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from get_starting_space `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+// Parse Arguments
+{
+ String line = "( )";
+ Vector<String> got_vector = parse_arguments(line);
+ String got = "";
+ String expected = "";
+ for (String &part : got_vector) {
+ got += part + "|||";
+ }
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+{
+ String line = "(a , b , c)";
+ Vector<String> got_vector = parse_arguments(line);
+ String got = "";
+ String expected = "a|||b|||c|||";
+ for (String &part : got_vector) {
+ got += part + "|||";
+ }
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+{
+ String line = "(a , \"b,\" , c)";
+ Vector<String> got_vector = parse_arguments(line);
+ String got = "";
+ String expected = "a|||\"b,\"|||c|||";
+ for (String &part : got_vector) {
+ got += part + "|||";
+ }
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+{
+ String line = "(a , \"(,),,,,\" , c)";
+ Vector<String> got_vector = parse_arguments(line);
+ String got = "";
+ String expected = "a|||\"(,),,,,\"|||c|||";
+ for (String &part : got_vector) {
+ got += part + "|||";
+ }
+ if (got != expected) {
+ ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")");
+ }
+ valid = valid & (got == expected);
+}
+
+return valid;
+}
+
+// Validate in all arrays if names don't do cyclic renames `Node` -> `Node2D` | `Node2D` -> `2DNode`
+bool ProjectConverter3To4::test_array_names() {
+ bool valid = true;
+ Vector<String> names = Vector<String>();
+
+ // Validate if all classes are valid
+ {
+ int current_index = 0;
+ while (class_renames[current_index][0]) {
+ const String old_class = class_renames[current_index][0];
+ const String new_class = class_renames[current_index][1];
+
+ // Light2D, Texture, Viewport are special classes(probably virtual ones)
+ if (ClassDB::class_exists(StringName(old_class)) && old_class != "Light2D" && old_class != "Texture" && old_class != "Viewport") {
+ ERR_PRINT(String("Class `") + old_class + "` exists in Godot 4.0, so cannot be renamed to something else.");
+ valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI
+ }
+
+ // Callable is special class, to which normal classes may be renamed
+ if (!ClassDB::class_exists(StringName(new_class)) && new_class != "Callable") {
+ ERR_PRINT(String("Class `") + new_class + "` doesn't exists in Godot 4.0, so cannot be used in conversion.");
+ valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI
+ }
+ current_index++;
+ }
+ }
+
+ // // TODO To be able to fully work, it needs https://github.com/godotengine/godot/pull/49053
+ // // TODO this needs to be changed to hashset when available https://github.com/godotengine/godot-proposals/issues/867, to speedup searchng
+ // {
+ // OrderedHashMap<String, bool> all_functions;
+
+ // List<StringName> classes_list;
+ // ClassDB::get_class_list(&classes_list);
+ // for (StringName &name_of_class : classes_list) {
+ // List<MethodInfo> method_list;
+ // ClassDB::get_method_list(name_of_class, &method_list, true);
+ // for (MethodInfo &function_data : method_list) {
+ // if (!all_functions.has(function_data.name)) {
+ // all_functions.insert(function_data.name, false);
+ // }
+ // }
+ // }
+
+ // for (int type = Variant::Type::NIL + 1; type < Variant::Type::VARIANT_MAX; type++) {
+ // List<MethodInfo> method_list;
+ // Variant::get_method_list_by_type(&method_list, Variant::Type(type));
+ // for (MethodInfo &function_data : method_list) {
+ // if (!all_functions.has(function_data.name)) {
+ // all_functions.insert(function_data.name, false);
+ // }
+ // }
+ // }
+
+ // int current_element = 0;
+ // while (gdscript_function_renames[current_element][0] != nullptr) {
+ // if (!all_functions.has(gdscript_function_renames[current_element][1])) {
+ // ERR_PRINT(String("Missing gdscript function in pair (") + gdscript_function_renames[current_element][0] + " - ===> " + gdscript_function_renames[current_element][1] + " <===)");
+ // valid = false;
+ // }
+ // // // DEBUG, disable below after tests
+ // // if (all_functions.has(gdscript_function_renames[current_element][0])) {
+ // // String used_in_classes = "";
+ // //
+ // // for (StringName &name_of_class : classes_list) {
+ // // List<MethodInfo> method_list;
+ // // ClassDB::get_method_list(name_of_class, &method_list, true);
+ // // for (MethodInfo &function_data : method_list) {
+ // // if (function_data.name == gdscript_function_renames[current_element][0]) {
+ // // used_in_classes += String(name_of_class) + ", ";
+ // // }
+ // // }
+ // // }
+ // // for (int type = Variant::Type::NIL + 1; type < Variant::Type::VARIANT_MAX; type++) {
+ // // List<MethodInfo> method_list;
+ // // Variant::get_method_list_by_type(&method_list, Variant::Type(type));
+ // // for (MethodInfo &function_data : method_list) {
+ // // if (function_data.name == gdscript_function_renames[current_element][0]) {
+ // // used_in_classes += Variant::get_type_name(Variant::Type(type)) + ", ";
+ // // }
+ // // }
+ // // }
+ // // used_in_classes = used_in_classes.trim_suffix(", ");
+ // //
+ // // WARN_PRINT(String("Godot contains function which will be renamed in pair ( ===> ") + gdscript_function_renames[current_element][0] + " <=== - " + gdscript_function_renames[current_element][1] + ") in class " + used_in_classes + " - check for possible invalid rule.");
+ // // }
+ // current_element++;
+ // }
+ // }
+
+ valid = valid & test_single_array(enum_renames);
+ valid = valid & test_single_array(class_renames, true);
+ valid = valid & test_single_array(gdscript_function_renames, true);
+ valid = valid & test_single_array(csharp_function_renames, true);
+ valid = valid & test_single_array(gdscript_properties_renames);
+ valid = valid & test_single_array(csharp_properties_renames);
+ valid = valid & test_single_array(shaders_renames);
+ valid = valid & test_single_array(gdscript_signals_renames);
+ valid = valid & test_single_array(project_settings_renames);
+ valid = valid & test_single_array(builtin_types_renames);
+ valid = valid & test_single_array(colors_renames);
+
+ return valid;
+}
+
+// Validate in one array if names don't do cyclic renames `Node` -> `Node2D` | `Node2D` -> `2DNode`
+// Also checks if in name contains spaces at the end or beginning
+bool ProjectConverter3To4::test_single_array(const char *array[][2], bool ignore_second_check) {
+ bool valid = true;
+ int current_index = 0;
+ Vector<String> names = Vector<String>();
+
+ while (array[current_index][0]) {
+ if (String(array[current_index][0]).begins_with(" ") || String(array[current_index][0]).ends_with(" ")) {
+ {
+ ERR_PRINT(String("Entry \"") + array[current_index][0] + "\" ends or stars with space.");
+ valid = false;
+ }
+ }
+ if (names.has(array[current_index][0])) {
+ ERR_PRINT(String("Found duplicated things, pair ( -> ") + array[current_index][0] + " , " + array[current_index][1] + ")");
+ valid = false;
+ }
+ names.append(array[current_index][0]);
+
+ if (String(array[current_index][1]).begins_with(" ") || String(array[current_index][1]).ends_with(" ")) {
+ {
+ ERR_PRINT(String("Entry \"") + array[current_index][1] + "\" ends or stars with space.");
+ valid = false;
+ }
+ }
+ if (names.has(array[current_index][1])) {
+ ERR_PRINT(String("Found duplicated things, pair (") + array[current_index][0] + " , ->" + array[current_index][1] + ")");
+ valid = false;
+ }
+ if (!ignore_second_check) {
+ names.append(array[current_index][1]);
+ }
+ current_index++;
+ }
+ return valid;
+};
+
+// Returns arguments from given function execution, this cannot be really done as regex
+// `abc(d,e(f,g),h)` -> [d], [e(f,g)], [h]
+Vector<String> ProjectConverter3To4::parse_arguments(const String &line) {
+ Vector<String> parts;
+ int string_size = line.length();
+ int current_index = 0;
+ int start_part = 0; // Index of beginning of start par
+ int parts_counter = 0;
+ char32_t previous_character = '\0';
+ bool is_inside_string = false; // if true, it ignore this 3 characters ( , ) inside string
+
+ if (line.count("(") != line.count(")")) {
+ ERR_PRINT("Bug: substring should have equal number of open and close parenthess - `" + line + "`");
+ return parts;
+ }
+
+ while (current_index < string_size) {
+ char32_t character = line.get(current_index);
+ switch (character) {
+ case '(': {
+ parts_counter++;
+ if (parts_counter == 1 && !is_inside_string) {
+ start_part = current_index;
+ }
+ break;
+ };
+ case ')': {
+ parts_counter--;
+ if (parts_counter == 0 && !is_inside_string) {
+ parts.append(line.substr(start_part + 1, current_index - start_part - 1));
+ start_part = current_index;
+ }
+ break;
+ };
+ case '[': {
+ parts_counter++;
+ if (parts_counter == 1 && !is_inside_string) {
+ start_part = current_index;
+ }
+ break;
+ };
+ case ']': {
+ parts_counter--;
+ if (parts_counter == 0 && !is_inside_string) {
+ parts.append(line.substr(start_part, current_index - start_part));
+ start_part = current_index;
+ }
+ break;
+ };
+ case ',': {
+ if (parts_counter == 1 && !is_inside_string) {
+ parts.append(line.substr(start_part + 1, current_index - start_part - 1));
+ start_part = current_index;
+ }
+ break;
+ };
+ case '"': {
+ if (previous_character != '\\')
+ is_inside_string = !is_inside_string;
+ }
+ }
+ current_index++;
+ previous_character = character;
+ }
+
+ Vector<String> clean_parts;
+ for (String &part : parts) {
+ part = part.strip_edges();
+ if (!part.is_empty()) {
+ clean_parts.append(part);
+ }
+ }
+
+ return clean_parts;
+}
+
+// Finds latest parenthess owned by function
+// `function(abc(a,b),DD)):` finds this parenthess `function(abc(a,b),DD => ) <= ):`
+int ProjectConverter3To4::get_end_parenthess(const String &line) const {
+ int current_index = 0;
+ int current_state = 0;
+ while (line.length() > current_index) {
+ char32_t character = line.get(current_index);
+ if (character == '(') {
+ current_state++;
+ }
+ if (character == ')') {
+ current_state--;
+ if (current_state == 0) {
+ return current_index;
+ }
+ }
+ current_index++;
+ }
+ return -1;
+}
+
+// Connects arguments from vector to one string
+// Needed when after processing e.g. 2 arguments, later arguments are not changed in any way
+String ProjectConverter3To4::connect_arguments(const Vector<String> &arguments, int from, int to) const {
+ if (to == -1) {
+ to = arguments.size();
+ }
+
+ String value;
+ if (arguments.size() > 0 && from != 0 && from < to) {
+ value = ",";
+ }
+
+ for (int i = from; i < to; i++) {
+ value += arguments[i];
+ if (i != to - 1) {
+ value += ',';
+ }
+ }
+ return value;
+}
+
+// Return spaces or tabs which starts line e.g. `\t\tmove_this` will return `\t\t`
+String ProjectConverter3To4::get_starting_space(const String &line) const {
+ String empty_space;
+ int current_character = 0;
+
+ if (line.is_empty()) {
+ return empty_space;
+ }
+
+ if (line[0] == ' ') {
+ while (current_character < line.size()) {
+ if (line[current_character] == ' ') {
+ empty_space += ' ';
+ current_character++;
+ } else {
+ break;
+ }
+ }
+ }
+ if (line[0] == '\t') {
+ while (current_character < line.size()) {
+ if (line[current_character] == '\t') {
+ empty_space += '\t';
+ current_character++;
+ } else {
+ break;
+ }
+ }
+ }
+ return empty_space;
+}
+
+// Return object which execute specific function
+// e.g. in `var roman = kieliszek.funkcja()` to this function is passed everything before function which we want to check
+// so it is `var roman = kieliszek.` and this function return `kieliszek.`
+String ProjectConverter3To4::get_object_of_execution(const String &line) const {
+ int end = line.size() - 1; // Last one is \0
+ int variable_start = end - 1;
+ int start = end - 1;
+
+ bool is_possibly_nodepath = false;
+ bool is_valid_nodepath = false;
+
+ while (start >= 0) {
+ char32_t character = line[start];
+ bool is_variable_char = (character >= 'A' && character <= 'Z') || (character >= 'a' && character <= 'z') || character == '.' || character == '_';
+ bool is_nodepath_start = character == '$';
+ bool is_nodepath_sep = character == '/';
+ if (is_variable_char || is_nodepath_start || is_nodepath_sep) {
+ if (start == 0) {
+ break;
+ } else if (is_nodepath_sep) {
+ // Freeze variable_start, try to fetch more chars since this might be node path literal
+ is_possibly_nodepath = true;
+ } else if (is_nodepath_start) {
+ // Found $, this is a node path literal
+ is_valid_nodepath = true;
+ break;
+ }
+ if (!is_possibly_nodepath) {
+ variable_start--;
+ }
+ start--;
+ continue;
+ } else {
+ // Abandon all hope, this is neither a variable nor a node path literal
+ variable_start++; // Found invalid character, needs to be ignored
+ break;
+ }
+ }
+ if (is_valid_nodepath) {
+ variable_start = start;
+ }
+ return line.substr(variable_start, (end - variable_start));
+}
+
+void ProjectConverter3To4::rename_enums(String &file_content) {
+ int current_index = 0;
+
+ // Rename colors
+ if (file_content.find("Color.") != -1) {
+ while (colors_renames[current_index][0]) {
+ RegEx reg = RegEx(String("\\bColor.") + colors_renames[current_index][0] + "\\b");
+ CRASH_COND(!reg.is_valid());
+ file_content = reg.sub(file_content, String("Color.") + colors_renames[current_index][1], true);
+ current_index++;
+ }
+ }
+};
+
+Vector<String> ProjectConverter3To4::check_for_rename_enums(Vector<String> &file_content) {
+ int current_index = 0;
+
+ Vector<String> found_things;
+
+ // Rename colors
+ if (file_content.find("Color.") != -1) {
+ while (colors_renames[current_index][0]) {
+ RegEx reg = RegEx(String("\\bColor.") + colors_renames[current_index][0] + "\\b");
+ CRASH_COND(!reg.is_valid());
+
+ int current_line = 1;
+ for (String &line : file_content) {
+ TypedArray<RegExMatch> reg_match = reg.search_all(line);
+ if (reg_match.size() > 0) {
+ found_things.append(line_formatter(current_line, colors_renames[current_index][0], colors_renames[current_index][1], line));
+ }
+ current_line++;
+ }
+ current_index++;
+ }
+ }
+
+ return found_things;
+}
+
+void ProjectConverter3To4::rename_classes(String &file_content) {
+ int current_index = 0;
+
+ // TODO Maybe it is better way to not rename gd, tscn and other files which are named as classes
+ while (class_renames[current_index][0]) {
+ // Begin renaming workaround `Resource.gd` -> `RefCounter.gd`
+ RegEx reg_before = RegEx(String("\\b") + class_renames[current_index][0] + ".tscn\\b");
+ CRASH_COND(!reg_before.is_valid());
+ file_content = reg_before.sub(file_content, "TEMP_RENAMED_CLASS.tscn", true);
+ RegEx reg_before2 = RegEx(String("\\b") + class_renames[current_index][0] + ".gd\\b");
+ CRASH_COND(!reg_before2.is_valid());
+ file_content = reg_before2.sub(file_content, "TEMP_RENAMED_CLASS.gd", true);
+ RegEx reg_before3 = RegEx(String("\\b") + class_renames[current_index][0] + ".shader\\b");
+ CRASH_COND(!reg_before3.is_valid());
+ file_content = reg_before3.sub(file_content, "TEMP_RENAMED_CLASS.gd", true);
+ // End
+
+ RegEx reg = RegEx(String("\\b") + class_renames[current_index][0] + "\\b");
+ CRASH_COND(!reg.is_valid());
+ file_content = reg.sub(file_content, class_renames[current_index][1], true);
+
+ // Begin renaming workaround `Resource.gd` -> `RefCounter.gd`
+ RegEx reg_after = RegEx("\\bTEMP_RENAMED_CLASS.tscn\\b");
+ CRASH_COND(!reg_after.is_valid());
+ file_content = reg_after.sub(file_content, String(class_renames[current_index][0]) + ".tscn", true);
+ RegEx reg_after2 = RegEx("\\bTEMP_RENAMED_CLASS.gd\\b");
+ CRASH_COND(!reg_after2.is_valid());
+ file_content = reg_after2.sub(file_content, String(class_renames[current_index][0]) + ".gd", true);
+ RegEx reg_after3 = RegEx("\\bTEMP_RENAMED_CLASS.gd\\b");
+ CRASH_COND(!reg_after3.is_valid());
+ file_content = reg_after3.sub(file_content, String(class_renames[current_index][0]) + ".shader", true);
+ // End
+
+ current_index++;
+ }
+
+ // OS.get_ticks_msec -> Time.get_ticks_msec
+ RegEx reg_time1 = RegEx("OS.get_ticks_msec");
+ CRASH_COND(!reg_time1.is_valid());
+ file_content = reg_time1.sub(file_content, "Time.get_ticks_msec", true);
+ RegEx reg_time2 = RegEx("OS.get_ticks_usec");
+ CRASH_COND(!reg_time2.is_valid());
+ file_content = reg_time2.sub(file_content, "Time.get_ticks_usec", true);
+};
+
+Vector<String> ProjectConverter3To4::check_for_rename_classes(Vector<String> &file_content) {
+ int current_index = 0;
+
+ Vector<String> found_things;
+
+ while (class_renames[current_index][0]) {
+ RegEx reg_before = RegEx(String("\\b") + class_renames[current_index][0] + ".tscn\\b");
+ CRASH_COND(!reg_before.is_valid());
+ RegEx reg_before2 = RegEx(String("\\b") + class_renames[current_index][0] + ".gd\\b");
+ CRASH_COND(!reg_before2.is_valid());
+
+ RegEx reg = RegEx(String("\\b") + class_renames[current_index][0] + "\\b");
+ CRASH_COND(!reg.is_valid());
+
+ int current_line = 1;
+ for (String &line : file_content) {
+ line = reg_before.sub(line, "TEMP_RENAMED_CLASS.tscn", true);
+ line = reg_before2.sub(line, "TEMP_RENAMED_CLASS.gd", true);
+
+ TypedArray<RegExMatch> reg_match = reg.search_all(line);
+ if (reg_match.size() > 0) {
+ found_things.append(line_formatter(current_line, class_renames[current_index][0], class_renames[current_index][1], line));
+ }
+ current_line++;
+ }
+ current_index++;
+ }
+
+ // TODO OS -> TIME
+ int current_line = 1;
+ RegEx reg_time1 = RegEx("OS.get_ticks_msec");
+ CRASH_COND(!reg_time1.is_valid());
+ RegEx reg_time2 = RegEx("OS.get_ticks_usec");
+ CRASH_COND(!reg_time2.is_valid());
+ for (String &line : file_content) {
+ String old = line;
+
+ line = reg_time1.sub(line, "Time.get_ticks_msec", true);
+ line = reg_time2.sub(line, "Time.get_ticks_usec", true);
+
+ if (old != line) {
+ found_things.append(simple_line_formatter(current_line, old, line));
+ }
+ current_line++;
+ }
+ return found_things;
+}
+
+void ProjectConverter3To4::rename_gdscript_functions(String &file_content, const RegExContainer &reg_container, bool builtin) {
+ Vector<String> lines = file_content.split("\n");
+
+ for (String &line : lines) {
+ process_gdscript_line(line, reg_container, builtin);
+ }
+
+ // Collect vector to string
+ file_content = "";
+ for (int i = 0; i < lines.size(); i++) {
+ file_content += lines[i];
+
+ if (i != lines.size() - 1) {
+ file_content += "\n";
+ }
+ }
+};
+
+Vector<String> ProjectConverter3To4::check_for_rename_gdscript_functions(Vector<String> &file_content, const RegExContainer &reg_container, bool builtin) {
+ int current_line = 1;
+
+ Vector<String> found_things;
+
+ for (String &line : file_content) {
+ String old_line = line;
+ process_gdscript_line(line, reg_container, builtin);
+ if (old_line != line) {
+ found_things.append(simple_line_formatter(current_line, old_line, line));
+ }
+ }
+
+ return found_things;
+}
+void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContainer &reg_container, bool builtin) {
+ if (line.find("mtx") == -1 && line.find("mutex") == -1 && line.find("Mutex") == -1) {
+ line = reg_container.reg_image_lock.sub(line, "false # $1.lock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true);
+ line = reg_container.reg_image_unlock.sub(line, "false # $1.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true);
+ }
+
+ // Mixed use of spaces and tabs - tabs as first - TODO, this probably is problem problem, but not sure
+ line = reg_container.reg_mixed_tab_space.sub(line, "$1", true);
+
+ // PackedStringArray(req_godot).join('.') -> '.'.join(PackedStringArray(req_godot)) PoolStringArray
+ line = reg_container.reg_join.sub(line, "$2.join($1)", true);
+
+ // -- empty() -> is_empty() Pool*Array
+ line = reg_container.reg_is_empty.sub(line, "is_empty(", true);
+
+ // -- \t.func() -> \tsuper.func() Object
+ line = reg_container.reg_super.sub(line, "$1super.$2", true); // TODO, not sure if possible, but for now this brake String text e.g. "Choosen .gitignore" -> "Choosen super.gitignore"
+
+ // -- JSON.parse(a) -> JSON.new().parse(a) etc. JSON
+ line = reg_container.reg_json_non_new.sub(line, "$1var test_json_conv = JSON.new()\n$1test_json_conv.parse($3\n$1$2test_json_conv.get_data()", true);
+
+ // -- to_json(a) -> JSON.new().stringify(a) Object
+ line = reg_container.reg_json_to.sub(line, "JSON.new().stringify", true);
+
+ // -- parse_json(a) -> JSON.get_data() etc. Object
+ line = reg_container.reg_json_parse.sub(line, "$1var test_json_conv = JSON.new()\n$1test_json_conv.parse($3\n$1$2test_json_conv.get_data()", true);
+
+ // -- get_node(@ -> get_node( Node
+ line = line.replace("get_node(@", "get_node(");
+
+ // export(float) var lifetime = 3.0 -> export var lifetime: float = 3.0 GDScript
+ line = reg_container.reg_export.sub(line, "export var $2: $1");
+
+ // export(String, 'AnonymousPro', 'CourierPrime') var _font_name = 'AnonymousPro' -> export var _font_name = 'AnonymousPro' #(String, 'AnonymousPro', 'CourierPrime') GDScript
+ line = reg_container.reg_export_advanced.sub(line, "export var $2$3 # ($1)");
+
+ // Setget Setget
+ line = reg_container.reg_setget_setget.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Copy here content of $4\n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Copy here content of $3", true);
+
+ // Setget set
+ line = reg_container.reg_setget_set.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Non existent get function \n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Copy here content of $3", true);
+
+ // Setget get
+ line = reg_container.reg_setget_get.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Copy here content of $3 \n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Non existent set function", true);
+
+ // OS.window_fullscreen = true -> ProjectSettings.set("display/window/size/fullscreen",true)
+ if (builtin) {
+ line = reg_container.reg_os_fullscreen.sub(line, "ProjectSettings.set(\\\"display/window/size/fullscreen\\\", $1)", true);
+ } else {
+ line = reg_container.reg_os_fullscreen.sub(line, "ProjectSettings.set(\"display/window/size/fullscreen\", $1)", true);
+ }
+
+ // Instantiate
+ line = reg_container.reg_instantiate.sub(line, ".instantiate($1)", true);
+
+ // -- r.move_and_slide( a, b, c, d, e ) -> r.set_velocity(a) ... r.move_and_slide() KinematicBody
+ if (line.find("move_and_slide(") != -1) {
+ int start = line.find("move_and_slide(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ String base_obj = get_object_of_execution(line.substr(0, start));
+ String starting_space = get_starting_space(line);
+
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() >= 1) {
+ String line_new;
+
+ // motion_velocity
+ line_new += starting_space + base_obj + "set_velocity(" + parts[0] + ")\n";
+
+ // up_direction
+ if (parts.size() >= 2) {
+ line_new += starting_space + base_obj + "set_up_direction(" + parts[1] + ")\n";
+ }
+
+ // stop_on_slope
+ if (parts.size() >= 3) {
+ line_new += starting_space + base_obj + "set_floor_stop_on_slope_enabled(" + parts[2] + ")\n";
+ }
+
+ // max_slides
+ if (parts.size() >= 4) {
+ line_new += starting_space + base_obj + "set_max_slides(" + parts[3] + ")\n";
+ }
+
+ // floor_max_angle
+ if (parts.size() >= 5) {
+ line_new += starting_space + base_obj + "set_floor_max_angle(" + parts[4] + ")\n";
+ }
+
+ // infiinite_interia
+ if (parts.size() >= 6) {
+ line_new += starting_space + "# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `" + parts[5] + "`\n";
+ }
+
+ line_new += starting_space + base_obj + "move_and_slide()\n";
+ line = line_new + line.substr(0, start) + "velocity" + line.substr(end + start);
+ }
+ }
+ }
+
+ // -- r.move_and_slide_with_snap( a, b, c, d, e ) -> r.set_velocity(a) ... r.move_and_slide() KinematicBody
+ if (line.find("move_and_slide_with_snap(") != -1) {
+ int start = line.find("move_and_slide_with_snap(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ String base_obj = get_object_of_execution(line.substr(0, start));
+ String starting_space = get_starting_space(line);
+
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() >= 1) {
+ String line_new;
+
+ // motion_velocity
+ line_new += starting_space + base_obj + "set_velocity(" + parts[0] + ")\n";
+
+ // snap
+ if (parts.size() >= 2) {
+ line_new += starting_space + "# TODOConverter40 looks that snap in Godot 4.0 is float, not vector like in Godot 3 - previous value `" + parts[1] + "`\n";
+ }
+
+ // up_direction
+ if (parts.size() >= 3) {
+ line_new += starting_space + base_obj + "set_up_direction(" + parts[2] + ")\n";
+ }
+
+ // stop_on_slope
+ if (parts.size() >= 4) {
+ line_new += starting_space + base_obj + "set_floor_stop_on_slope_enabled(" + parts[3] + ")\n";
+ }
+
+ // max_slides
+ if (parts.size() >= 5) {
+ line_new += starting_space + base_obj + "set_max_slides(" + parts[4] + ")\n";
+ }
+
+ // floor_max_angle
+ if (parts.size() >= 6) {
+ line_new += starting_space + base_obj + "set_floor_max_angle(" + parts[5] + ")\n";
+ }
+
+ // infiinite_interia
+ if (parts.size() >= 7) {
+ line_new += starting_space + "# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `" + parts[6] + "`\n";
+ }
+
+ line_new += starting_space + base_obj + "move_and_slide()\n";
+ line = line_new + line.substr(0, start) + "velocity" + line.substr(end + start); // move_and_slide used to return velocity
+ }
+ }
+ }
+
+ // -- sort_custom( a , b ) -> sort_custom(Callable( a , b )) Object
+ if (line.find("sort_custom(") != -1) {
+ int start = line.find("sort_custom(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ line = line.substr(0, start) + "sort_custom(Callable(" + parts[0] + "," + parts[1] + "))" + line.substr(end + start);
+ }
+ }
+ }
+
+ // -- list_dir_begin( ) -> list_dir_begin() Object
+ if (line.find("list_dir_begin(") != -1) {
+ int start = line.find("list_dir_begin(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ line = line.substr(0, start) + "list_dir_begin() " + line.substr(end + start) + "# TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547";
+ }
+ }
+
+ // -- draw_line(1,2,3,4,5) -> draw_line(1,2,3,4) CanvasItem
+ if (line.find("draw_line(") != -1) {
+ int start = line.find("draw_line(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 5) {
+ line = line.substr(0, start) + "draw_line(" + parts[0] + "," + parts[1] + "," + parts[2] + "," + parts[3] + ")" + line.substr(end + start);
+ }
+ }
+ }
+
+ // -- func c(var a, var b) -> func c(a, b)
+ if (line.find("func ") != -1 && line.find("var ") != -1) {
+ int start = line.find("func ");
+ start = line.substr(start).find("(") + start;
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+
+ String start_string = line.substr(0, start) + "(";
+ for (int i = 0; i < parts.size(); i++) {
+ start_string += parts[i].strip_edges().trim_prefix("var ");
+ if (i != parts.size() - 1) {
+ start_string += ", ";
+ }
+ }
+ line = start_string + ")" + line.substr(end + start);
+ }
+ }
+
+ // -- yield(this, \"timeout\") -> await this.timeout GDScript
+ if (line.find("yield(") != -1) {
+ int start = line.find("yield(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ if (builtin) {
+ line = line.substr(0, start) + "await " + parts[0] + "." + parts[1].replace("\\\"", "").replace("\\'", "").replace(" ", "") + line.substr(end + start);
+ } else {
+ line = line.substr(0, start) + "await " + parts[0] + "." + parts[1].replace("\"", "").replace("\'", "").replace(" ", "") + line.substr(end + start);
+ }
+ }
+ }
+ }
+
+ // -- parse_json( AA ) -> TODO Object
+ if (line.find("parse_json(") != -1) {
+ int start = line.find("parse_json(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ line = line.substr(0, start) + "JSON.new().stringify(" + connect_arguments(parts, 0) + ")" + line.substr(end + start);
+ }
+ }
+
+ // -- .xform(Vector3(a,b,c)) -> * Vector3(a,b,c) Transform
+ if (line.find(".xform(") != -1) {
+ int start = line.find(".xform(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 1) {
+ line = line.substr(0, start) + " * " + parts[0] + line.substr(end + start);
+ }
+ }
+ }
+
+ // -- .xform_inv(Vector3(a,b,c)) -> * Vector3(a,b,c) Transform
+ if (line.find(".xform_inv(") != -1) {
+ int start = line.find(".xform_inv(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ String object_exec = get_object_of_execution(line.substr(0, start));
+ if (line.find(object_exec + ".xform") != -1) {
+ int start2 = line.find(object_exec + ".xform");
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 1) {
+ line = line.substr(0, start2) + parts[0] + " * " + object_exec + line.substr(end + start);
+ }
+ }
+ }
+ }
+
+ // -- "(connect(A,B,C,D,E) != OK):", "(connect(A,Callable(B,C).bind(D),E) Object
+ if (line.find("connect(") != -1) {
+ int start = line.find("connect(");
+ // Protection from disconnect
+ if (start == 0 || line.get(start - 1) != 's') {
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "connect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ } else if (parts.size() >= 4) {
+ line = line.substr(0, start) + "connect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + ").bind(" + parts[3].lstrip("[").rstrip("]") + ")" + connect_arguments(parts, 4) + ")" + line.substr(end + start);
+ }
+ }
+ }
+ }
+ // -- disconnect(a,b,c) -> disconnect(a,Callable(b,c)) Object
+ if (line.find("disconnect(") != -1) {
+ int start = line.find("disconnect(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "disconnect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ }
+ }
+ }
+ // -- is_connected(a,b,c) -> is_connected(a,Callable(b,c)) Object
+ if (line.find("is_connected(") != -1) {
+ int start = line.find("is_connected(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "is_connected(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ }
+ }
+ }
+ // -- "(tween_method(A,B,C,D,E) != OK):", "(tween_method(Callable(A,B),C,D,E) Object
+ // -- "(tween_method(A,B,C,D,E,[F,G]) != OK):", "(tween_method(Callable(A,B).bind(F,G),C,D,E) Object
+ if (line.find("tween_method(") != -1) {
+ int start = line.find("tween_method(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 5) {
+ line = line.substr(0, start) + "tween_method(Callable(" + parts[0] + "," + parts[1] + ")," + parts[2] + "," + parts[3] + "," + parts[4] + ")" + line.substr(end + start);
+ } else if (parts.size() >= 6) {
+ line = line.substr(0, start) + "tween_method(Callable(" + parts[0] + "," + parts[1] + ").bind(" + connect_arguments(parts, 5).substr(1).lstrip("[").rstrip("]") + ")," + parts[2] + "," + parts[3] + "," + parts[4] + ")" + line.substr(end + start);
+ }
+ }
+ }
+ // -- "(tween_callback(A,B,[C,D]) != OK):", "(connect(Callable(A,B).bind(C,D)) Object
+ if (line.find("tween_callback(") != -1) {
+ int start = line.find("tween_callback(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ line = line.substr(0, start) + "tween_callback(Callable(" + parts[0] + "," + parts[1] + "))" + line.substr(end + start);
+ } else if (parts.size() >= 3) {
+ line = line.substr(0, start) + "tween_callback(Callable(" + parts[0] + "," + parts[1] + ").bind(" + connect_arguments(parts, 2).substr(1).lstrip("[").rstrip("]") + "))" + line.substr(end + start);
+ }
+ }
+ }
+ // -- start(a,b) -> start(Callable(a,b)) Thread
+ // -- start(a,b,c,d) -> start(Callable(a,b).bind(c),d) Thread
+ if (line.find("start(") != -1) {
+ int start = line.find("start(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ // Protection from 'func start'
+ if (!line.begins_with("func ")) {
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ line = line.substr(0, start) + "start(Callable(" + parts[0] + "," + parts[1] + "))" + line.substr(end + start);
+ } else if (parts.size() >= 3) {
+ line = line.substr(0, start) + "start(Callable(" + parts[0] + "," + parts[1] + ").bind(" + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start);
+ }
+ }
+ }
+ }
+ // -- func _init(p_x:int)->void: -> func _init(p_x:int): Object # https://github.com/godotengine/godot/issues/50589
+ if (line.find(" _init(") != -1) {
+ int start = line.find(" _init(");
+ int end = line.rfind(":") + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ line = line.substr(0, start) + " _init(" + connect_arguments(parts, 0) + "):" + line.substr(end + start);
+ }
+ }
+ // assert(speed < 20, str(randi()%10)) -> assert(speed < 20) #,str(randi()%10)) GDScript - GDScript bug constant message
+ if (line.find("assert(") != -1) {
+ int start = line.find("assert(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ line = line.substr(0, start) + "assert(" + parts[0] + ") " + line.substr(end + start) + "#," + parts[1] + ")";
+ }
+ }
+ }
+ // create_from_image(aa, bb) -> create_from_image(aa) #, bb ImageTexture
+ if (line.find("create_from_image(") != -1) {
+ int start = line.find("create_from_image(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ line = line.substr(0, start) + "create_from_image(" + parts[0] + ") " + "#," + parts[1] + line.substr(end + start);
+ }
+ }
+ }
+ // set_cell_item(a, b, c, d ,e) -> set_cell_item(Vector3(a, b, c), d ,e)
+ if (line.find("set_cell_item(") != -1) {
+ int start = line.find("set_cell_item(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() > 2) {
+ line = line.substr(0, start) + "set_cell_item( Vector3(" + parts[0] + "," + parts[1] + "," + parts[2] + ") " + connect_arguments(parts, 3) + ")" + line.substr(end + start);
+ }
+ }
+ }
+ // get_cell_item(a, b, c) -> get_cell_item(Vector3i(a, b, c))
+ if (line.find("get_cell_item(") != -1) {
+ int start = line.find("get_cell_item(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "get_cell_item(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ }
+ }
+ }
+ // get_cell_item_orientation(a, b, c) -> get_cell_item_orientation(Vector3i(a, b, c))
+ if (line.find("get_cell_item_orientation(") != -1) {
+ int start = line.find("get_cell_item_orientation(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "get_cell_item_orientation(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ }
+ }
+ }
+ // apply_impulse(A, B) -> apply_impulse(B, A)
+ if (line.find("apply_impulse(") != -1) {
+ int start = line.find("apply_impulse(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ line = line.substr(0, start) + "apply_impulse(" + parts[1] + ", " + parts[0] + ")" + line.substr(end + start);
+ }
+ }
+ }
+ // apply_force(A, B) -> apply_force(B, A)
+ if (line.find("apply_force(") != -1) {
+ int start = line.find("apply_force(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 2) {
+ line = line.substr(0, start) + "apply_force(" + parts[1] + ", " + parts[0] + ")" + line.substr(end + start);
+ }
+ }
+ }
+ // map_to_world(a, b, c) -> map_to_world(Vector3i(a, b, c))
+ if (line.find("map_to_world(") != -1) {
+ int start = line.find("map_to_world(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "map_to_world(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ }
+ }
+ }
+ // OS.get_window_safe_area() -> DisplayServer.get_display_safe_area()
+ if (line.find("OS.get_window_safe_area(") != -1) {
+ int start = line.find("OS.get_window_safe_area(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 0) {
+ line = line.substr(0, start) + "DisplayServer.get_display_safe_area()" + line.substr(end + start);
+ }
+ }
+ }
+}
+
+void ProjectConverter3To4::process_csharp_line(String &line) {
+ // TODO maybe this can be changed to normal rule
+ line = line.replace("OS.GetWindowSafeArea()", "DisplayServer.ScreenGetUsableRect()");
+
+ // -- Connect(,,,things) -> Connect(,Callable(,),things) Object
+ if (line.find("Connect(") != -1) {
+ int start = line.find("Connect(");
+ // Protection from disconnect
+ if (start == 0 || line.get(start - 1) != 's') {
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() >= 3) {
+ line = line.substr(0, start) + "Connect(" + parts[0] + ",new Callable(" + parts[1] + "," + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start);
+ }
+ }
+ }
+ }
+ // -- Disconnect(a,b,c) -> Disconnect(a,Callable(b,c)) Object
+ if (line.find("Disconnect(") != -1) {
+ int start = line.find("Disconnect(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "Disconnect(" + parts[0] + ",new Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ }
+ }
+ }
+ // -- IsConnected(a,b,c) -> IsConnected(a,Callable(b,c)) Object
+ if (line.find("IsConnected(") != -1) {
+ int start = line.find("IsConnected(");
+ int end = get_end_parenthess(line.substr(start)) + 1;
+ if (end > -1) {
+ Vector<String> parts = parse_arguments(line.substr(start, end));
+ if (parts.size() == 3) {
+ line = line.substr(0, start) + "IsConnected(" + parts[0] + ",new Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start);
+ }
+ }
+ }
+}
+
+void ProjectConverter3To4::rename_csharp_functions(String &file_content) {
+ Vector<String> lines = file_content.split("\n");
+
+ for (String &line : lines) {
+ process_csharp_line(line);
+ }
+
+ // Collect vector to string
+ file_content = "";
+ for (int i = 0; i < lines.size(); i++) {
+ file_content += lines[i];
+
+ if (i != lines.size() - 1) {
+ file_content += "\n";
+ }
+ }
+};
+
+// This is almost 1:1 copy of function which rename gdscript functions
+Vector<String> ProjectConverter3To4::check_for_rename_csharp_functions(Vector<String> &file_content) {
+ int current_line = 1;
+
+ Vector<String> found_things;
+
+ for (String &line : file_content) {
+ String old_line = line;
+ process_csharp_line(line);
+ if (old_line != line) {
+ found_things.append(simple_line_formatter(current_line, old_line, line));
+ }
+ }
+
+ return found_things;
+}
+
+void ProjectConverter3To4::rename_csharp_attributes(String &file_content) {
+ // -- [Remote] -> [RPC(MultiplayerAPI.RPCMode.AnyPeer)]
+ {
+ RegEx reg_remote = RegEx("\\[Remote(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!reg_remote.is_valid());
+ file_content = reg_remote.sub(file_content, "[RPC(MultiplayerAPI.RPCMode.AnyPeer)]", true);
+ }
+ // -- [RemoteSync] -> [RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]
+ {
+ RegEx reg_remotesync = RegEx("\\[(Remote)?Sync(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!reg_remotesync.is_valid());
+ file_content = reg_remotesync.sub(file_content, "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", true);
+ }
+ // -- [Puppet] -> [RPC]
+ {
+ RegEx reg_puppet = RegEx("\\[(Puppet|Slave)(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!reg_puppet.is_valid());
+ file_content = reg_puppet.sub(file_content, "[RPC]", true);
+ }
+ // -- [PuppetSync] -> [RPC(CallLocal = true)]
+ {
+ RegEx reg_puppetsync = RegEx("\\[PuppetSync(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!reg_puppetsync.is_valid());
+ file_content = reg_puppetsync.sub(file_content, "[RPC(CallLocal = true)]", true);
+ }
+ String error_message = "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using Multiplayer.GetRemoteSenderId()\n";
+ // -- [Master] -> [RPC]
+ {
+ RegEx reg_remote = RegEx("\\[Master(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!reg_remote.is_valid());
+ file_content = reg_remote.sub(file_content, error_message + "[RPC]", true);
+ }
+ // -- [MasterSync] -> [RPC(CallLocal = true)]
+ {
+ RegEx reg_remote = RegEx("\\[MasterSync(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!reg_remote.is_valid());
+ file_content = reg_remote.sub(file_content, error_message + "[RPC(CallLocal = true)]", true);
+ }
+}
+
+Vector<String> ProjectConverter3To4::check_for_rename_csharp_attributes(Vector<String> &file_content) {
+ int current_line = 1;
+
+ Vector<String> found_things;
+
+ for (String &line : file_content) {
+ String old;
+ old = line;
+ {
+ RegEx regex = RegEx("\\[Remote(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "[RPC(MultiplayerAPI.RPCMode.AnyPeer)]", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "[Remote]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer)]", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("\\[(Remote)?Sync(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "[RemoteSync]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("\\[Puppet(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "[RPC]", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "[Puppet]", "[RPC]", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("\\[(Puppet|Slave)Sync(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "[RPC(CallLocal = true)]", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "[PuppetSync]", "[RPC(CallLocal = true)]", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("\\[Master(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "[RPC]", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "[Master]", "[RPC]", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("\\[MasterSync(Attribute)?(\\(\\))?\\]");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "[RPC(CallLocal = true)]", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "[MasterSync]", "[RPC(CallLocal = true)]", line));
+ }
+
+ current_line++;
+ }
+
+ return found_things;
+}
+
+void ProjectConverter3To4::rename_gdscript_keywords(String &file_content) {
+ {
+ RegEx reg_first = RegEx("([\n]+)tool");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@tool", true);
+ RegEx reg_second = RegEx("^tool");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@tool", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n\t]+)export\\b");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@export", true);
+ RegEx reg_second = RegEx("^export");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@export", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)onready");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@onready", true);
+ RegEx reg_second = RegEx("^onready");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@onready", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)remote func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@rpc(any_peer) func", true);
+ RegEx reg_second = RegEx("^remote func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@rpc(any_peer) func", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)remotesync func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@rpc(any_peer, call_local) func", true);
+ RegEx reg_second = RegEx("^remotesync func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@rpc(any_peer, call_local) func", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)sync func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@rpc(any_peer, call_local) func", true);
+ RegEx reg_second = RegEx("^sync func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@rpc(any_peer, call_local) func", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)slave func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@rpc func", true);
+ RegEx reg_second = RegEx("^slave func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@rpc func", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)puppet func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@rpc func", true);
+ RegEx reg_second = RegEx("^puppet func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@rpc func", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)puppetsync func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1@rpc(call_local) func", true);
+ RegEx reg_second = RegEx("^puppetsync func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, "@rpc(call_local) func", true);
+ }
+ String error_message = "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using get_multiplayer().get_remote_sender_id()\n";
+ {
+ RegEx reg_first = RegEx("([\n]+)master func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1" + error_message + "@rpc func", true);
+ RegEx reg_second = RegEx("^master func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, error_message + "@rpc func", true);
+ }
+ {
+ RegEx reg_first = RegEx("([\n]+)mastersync func");
+ CRASH_COND(!reg_first.is_valid());
+ file_content = reg_first.sub(file_content, "$1" + error_message + "@rpc(call_local) func", true);
+ RegEx reg_second = RegEx("^mastersync func");
+ CRASH_COND(!reg_second.is_valid());
+ file_content = reg_second.sub(file_content, error_message + "@rpc(call_local) func", true);
+ }
+}
+
+Vector<String> ProjectConverter3To4::check_for_rename_gdscript_keywords(Vector<String> &file_content) {
+ Vector<String> found_things;
+
+ int current_line = 1;
+
+ for (String &line : file_content) {
+ String old;
+ old = line;
+ {
+ RegEx reg_first = RegEx("^tool");
+ CRASH_COND(!reg_first.is_valid());
+ line = reg_first.sub(line, "@tool", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "tool", "@tool", line));
+ }
+ old = line;
+ {
+ RegEx reg_first = RegEx("([\t]+)export\\b");
+ CRASH_COND(!reg_first.is_valid());
+ line = reg_first.sub(line, "$1@export", true);
+ RegEx reg_second = RegEx("^export");
+ CRASH_COND(!reg_second.is_valid());
+ line = reg_second.sub(line, "@export", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "export", "@export", line));
+ }
+ old = line;
+ {
+ RegEx reg_first = RegEx("^onready");
+ CRASH_COND(!reg_first.is_valid());
+ line = reg_first.sub(line, "@onready", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "onready", "@onready", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^remote func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc(any_peer) func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "remote func", "@rpc(any_peer) func", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^remotesync func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc(any_peer, call_local)) func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "remotesync func", "@rpc(any_peer, call_local)) func", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^sync func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc(any_peer, call_local)) func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "sync func", "@rpc(any_peer, call_local)) func", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^slave func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "slave func", "@rpc func", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^puppet func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "puppet func", "@rpc func", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^puppetsync func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc(call_local) func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "puppetsync func", "@rpc(call_local) func", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^master func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "master func", "@rpc func", line));
+ }
+ old = line;
+ {
+ RegEx regex = RegEx("^mastersync func");
+ CRASH_COND(!regex.is_valid());
+ line = regex.sub(line, "@rpc(call_local) func", true);
+ }
+ if (old != line) {
+ found_things.append(line_formatter(current_line, "mastersync func", "@rpc(call_local) func", line));
+ }
+ old = line;
+
+ current_line++;
+ }
+
+ return found_things;
+}
+
+void ProjectConverter3To4::custom_rename(String &file_content, String from, String to) {
+ RegEx reg = RegEx(String("\\b") + from + "\\b");
+ CRASH_COND(!reg.is_valid());
+ file_content = reg.sub(file_content, to, true);
+};
+
+Vector<String> ProjectConverter3To4::check_for_custom_rename(Vector<String> &file_content, String from, String to) {
+ Vector<String> found_things;
+
+ RegEx reg = RegEx(String("\\b") + from + "\\b");
+ CRASH_COND(!reg.is_valid());
+
+ int current_line = 1;
+ for (String &line : file_content) {
+ TypedArray<RegExMatch> reg_match = reg.search_all(line);
+ if (reg_match.size() > 0) {
+ found_things.append(line_formatter(current_line, from.replace("\\.", "."), to, line)); // Without replacing it will print "\.shader" instead ".shader"
+ }
+ current_line++;
+ }
+ return found_things;
+}
+
+void ProjectConverter3To4::rename_common(const char *array[][2], String &file_content) {
+ int current_index = 0;
+ while (array[current_index][0]) {
+ RegEx reg = RegEx(String("\\b") + array[current_index][0] + "\\b");
+ CRASH_COND(!reg.is_valid());
+ file_content = reg.sub(file_content, array[current_index][1], true);
+ current_index++;
+ }
+}
+
+// Common renaming,
+Vector<String> ProjectConverter3To4::check_for_rename_common(const char *array[][2], Vector<String> &file_content) {
+ int current_index = 0;
+
+ Vector<String> found_things;
+
+ while (array[current_index][0]) {
+ RegEx reg = RegEx(String("\\b") + array[current_index][0] + "\\b");
+ CRASH_COND(!reg.is_valid());
+
+ int current_line = 1;
+ for (String &line : file_content) {
+ TypedArray<RegExMatch> reg_match = reg.search_all(line);
+ if (reg_match.size() > 0) {
+ found_things.append(line_formatter(current_line, array[current_index][0], array[current_index][1], line));
+ }
+ current_line++;
+ }
+ current_index++;
+ }
+ return found_things;
+}
+
+// Formats data to print them into user console when trying to convert data
+String ProjectConverter3To4::line_formatter(int current_line, String from, String to, String line) {
+ if (from.size() > 200) {
+ from = from.substr(0, 197) + "...";
+ }
+ if (to.size() > 200) {
+ to = to.substr(0, 197) + "...";
+ }
+ if (line.size() > 400) {
+ line = line.substr(0, 397) + "...";
+ }
+ return String("Line (") + itos(current_line) + ") " + from.replace("\r", "").replace("\n", "") + " -> " + to.replace("\r", "").replace("\n", "") + " - LINE \"\"\" " + line.replace("\r", "").replace("\n", "").strip_edges() + " \"\"\"";
+}
+
+String ProjectConverter3To4::simple_line_formatter(int current_line, String old_line, String line) {
+ if (old_line.size() > 1000) {
+ old_line = old_line.substr(0, 997) + "...";
+ }
+ if (line.size() > 1000) {
+ line = line.substr(0, 997) + "...";
+ }
+ return String("Line (") + itos(current_line) + ") - FULL LINES - \"\"\"" + old_line.replace("\r", "").replace("\n", "").strip_edges() + "\"\"\" =====> \"\"\" " + line.replace("\r", "").replace("\n", "").strip_edges() + " \"\"\"";
+}
+
+#else // No regex.
+
+int ProjectConverter3To4::convert() {
+ ERR_FAIL_V_MSG(ERROR_CODE, "Can't run converter for Godot 3.x projects as RegEx module is disabled.");
+}
+
+int ProjectConverter3To4::validate_conversion() {
+ ERR_FAIL_V_MSG(ERROR_CODE, "Can't validate conversion for Godot 3.x projects as RegEx module is disabled.");
+}
+
+#endif // MODULE_REGEX_ENABLED
diff --git a/editor/project_converter_3_to_4.h b/editor/project_converter_3_to_4.h
new file mode 100644
index 0000000000..8526e2ceb9
--- /dev/null
+++ b/editor/project_converter_3_to_4.h
@@ -0,0 +1,93 @@
+/*************************************************************************/
+/* project_converter_3_to_4.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef PROJECT_CONVERTER_3_TO_4_H
+#define PROJECT_CONVERTER_3_TO_4_H
+
+#include "core/core_bind.h"
+#include "core/io/file_access.h"
+#include "core/object/ref_counted.h"
+#include "core/string/ustring.h"
+
+class ProjectConverter3To4 {
+public:
+ class RegExContainer;
+
+private:
+ void rename_enums(String &file_content);
+ Vector<String> check_for_rename_enums(Vector<String> &file_content);
+
+ void rename_classes(String &file_content);
+ Vector<String> check_for_rename_classes(Vector<String> &file_content);
+
+ void rename_gdscript_functions(String &file_content, const RegExContainer &reg_container, bool builtin);
+ Vector<String> check_for_rename_gdscript_functions(Vector<String> &file_content, const RegExContainer &reg_container, bool builtin);
+ void process_gdscript_line(String &line, const RegExContainer &reg_container, bool builtin);
+
+ void rename_csharp_functions(String &file_content);
+ Vector<String> check_for_rename_csharp_functions(Vector<String> &file_content);
+ void process_csharp_line(String &line);
+
+ void rename_csharp_attributes(String &file_content);
+ Vector<String> check_for_rename_csharp_attributes(Vector<String> &file_content);
+
+ void rename_gdscript_keywords(String &file_content);
+ Vector<String> check_for_rename_gdscript_keywords(Vector<String> &file_content);
+
+ void custom_rename(String &file_content, String from, String to);
+ Vector<String> check_for_custom_rename(Vector<String> &file_content, String from, String to);
+
+ void rename_common(const char *array[][2], String &file_content);
+ Vector<String> check_for_rename_common(const char *array[][2], Vector<String> &file_content);
+
+ Vector<String> check_for_files();
+
+ Vector<String> parse_arguments(const String &line);
+ int get_end_parenthess(const String &line) const;
+ String connect_arguments(const Vector<String> &line, int from, int to = -1) const;
+ String get_starting_space(const String &line) const;
+ String get_object_of_execution(const String &line) const;
+
+ String line_formatter(int current_line, String from, String to, String line);
+ String simple_line_formatter(int current_line, String old_line, String line);
+
+ bool test_single_array(const char *array[][2], bool ignore_second_check = false);
+ bool test_conversion_single_additional(String name, String expected, void (ProjectConverter3To4::*func)(String &), String what);
+ bool test_conversion_single_additional_builtin(String name, String expected, void (ProjectConverter3To4::*func)(String &, const RegExContainer &, bool), String what, const RegExContainer &reg_container, bool builtin);
+ bool test_conversion_single_normal(String name, String expected, const char *array[][2], String what);
+ bool test_array_names();
+ bool test_conversion(const RegExContainer &reg_container);
+
+public:
+ int validate_conversion();
+ int convert();
+};
+
+#endif // PROJECT_CONVERTER_3_TO_4_H
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index a56b6ec9d4..46eb7ac17c 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -42,10 +42,12 @@
#include "core/string/translation.h"
#include "core/version.h"
#include "editor/editor_file_dialog.h"
+#include "editor/editor_paths.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
#include "editor/editor_themes.h"
#include "editor/editor_vcs_interface.h"
+#include "main/main.h"
#include "scene/gui/center_container.h"
#include "scene/gui/line_edit.h"
#include "scene/gui/margin_container.h"
@@ -57,10 +59,6 @@
#include "servers/navigation_server_3d.h"
#include "servers/physics_server_2d.h"
-static inline String get_project_key_from_path(const String &dir) {
- return dir.replace("/", "::");
-}
-
class ProjectDialog : public ConfirmationDialog {
GDCLASS(ProjectDialog, ConfirmationDialog);
@@ -362,8 +360,8 @@ private:
if (mode == MODE_IMPORT) {
fdialog->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
fdialog->clear_filters();
- fdialog->add_filter(vformat("project.godot ; %s %s", VERSION_NAME, TTR("Project")));
- fdialog->add_filter("*.zip ; " + TTR("ZIP File"));
+ fdialog->add_filter("project.godot", vformat("%s %s", VERSION_NAME, TTR("Project")));
+ fdialog->add_filter("*.zip", TTR("ZIP File"));
} else {
fdialog->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_DIR);
}
@@ -491,7 +489,7 @@ private:
if (ProjectSettings::get_singleton()->save_custom(dir.plus_file("project.godot"), initial_settings, Vector<String>(), false) != OK) {
set_message(TTR("Couldn't create project.godot in project path."), MESSAGE_ERROR);
} else {
- ResourceSaver::save(dir.plus_file("icon.png"), create_unscaled_default_project_icon());
+ ResourceSaver::save(create_unscaled_default_project_icon(), dir.plus_file("icon.png"));
EditorVCSInterface::create_vcs_metadata_files(EditorVCSInterface::VCSMetadata(vcs_metadata_selection->get_selected()), dir);
}
} else if (mode == MODE_INSTALL) {
@@ -600,9 +598,6 @@ private:
if (dir.ends_with("/")) {
dir = dir.substr(0, dir.length() - 1);
}
- String proj = get_project_key_from_path(dir);
- EditorSettings::get_singleton()->set("projects/" + proj, dir);
- EditorSettings::get_singleton()->save();
hide();
emit_signal(SNAME("project_created"), dir);
@@ -646,14 +641,6 @@ private:
protected:
static void _bind_methods() {
- ClassDB::bind_method("_browse_path", &ProjectDialog::_browse_path);
- ClassDB::bind_method("_create_folder", &ProjectDialog::_create_folder);
- ClassDB::bind_method("_text_changed", &ProjectDialog::_text_changed);
- ClassDB::bind_method("_path_text_changed", &ProjectDialog::_path_text_changed);
- ClassDB::bind_method("_path_selected", &ProjectDialog::_path_selected);
- ClassDB::bind_method("_file_selected", &ProjectDialog::_file_selected);
- ClassDB::bind_method("_install_path_selected", &ProjectDialog::_install_path_selected);
- ClassDB::bind_method("_browse_install_path", &ProjectDialog::_browse_install_path);
ADD_SIGNAL(MethodInfo("project_created"));
ADD_SIGNAL(MethodInfo("projects_updated"));
}
@@ -681,7 +668,7 @@ public:
install_browse->hide();
set_title(TTR("Rename Project"));
- get_ok_button()->set_text(TTR("Rename"));
+ set_ok_button_text(TTR("Rename"));
name_container->show();
status_rect->hide();
msg->hide();
@@ -735,7 +722,7 @@ public:
if (mode == MODE_IMPORT) {
set_title(TTR("Import Existing Project"));
- get_ok_button()->set_text(TTR("Import & Edit"));
+ set_ok_button_text(TTR("Import & Edit"));
name_container->hide();
install_path_container->hide();
rasterizer_container->hide();
@@ -744,7 +731,7 @@ public:
} else if (mode == MODE_NEW) {
set_title(TTR("Create New Project"));
- get_ok_button()->set_text(TTR("Create & Edit"));
+ set_ok_button_text(TTR("Create & Edit"));
name_container->show();
install_path_container->hide();
rasterizer_container->show();
@@ -754,7 +741,7 @@ public:
} else if (mode == MODE_INSTALL) {
set_title(TTR("Install Project:") + " " + zip_title);
- get_ok_button()->set_text(TTR("Install & Edit"));
+ set_ok_button_text(TTR("Install & Edit"));
project_name->set_text(zip_title);
name_container->show();
install_path_container->hide();
@@ -997,7 +984,6 @@ public:
// Can often be passed by copy
struct Item {
- String project_key;
String project_name;
String description;
String path;
@@ -1014,8 +1000,7 @@ public:
Item() {}
- Item(const String &p_project,
- const String &p_name,
+ Item(const String &p_name,
const String &p_description,
const String &p_path,
const String &p_icon,
@@ -1026,7 +1011,6 @@ public:
bool p_grayed,
bool p_missing,
int p_version) {
- project_key = p_project;
project_name = p_name;
description = p_description;
path = p_path;
@@ -1042,7 +1026,7 @@ public:
}
_FORCE_INLINE_ bool operator==(const Item &l) const {
- return project_key == l.project_key;
+ return path == l.path;
}
};
@@ -1055,6 +1039,7 @@ public:
void _global_menu_open_project(const Variant &p_tag);
void update_dock_menu();
+ void migrate_config();
void load_projects();
void set_search_term(String p_search_term);
void set_order_option(int p_option);
@@ -1070,6 +1055,8 @@ public:
bool is_any_project_missing() const;
void erase_missing_projects();
int refresh_project(const String &dir_path);
+ void add_project(const String &dir_path, bool favorite);
+ void save_config();
private:
static void _bind_methods();
@@ -1090,12 +1077,15 @@ private:
String _search_term;
FilterOption _order_option;
- HashSet<String> _selected_project_keys;
+ HashSet<String> _selected_project_paths;
String _last_clicked; // Project key
VBoxContainer *_scroll_children;
int _icon_load_index;
Vector<Item> _projects;
+
+ ConfigFile _config;
+ String _config_path;
};
struct ProjectListComparator {
@@ -1111,7 +1101,7 @@ struct ProjectListComparator {
}
switch (order_option) {
case PATH:
- return a.project_key < b.project_key;
+ return a.path < b.path;
case EDIT_DATE:
return a.last_edited > b.last_edited;
default:
@@ -1128,6 +1118,7 @@ ProjectList::ProjectList() {
_icon_load_index = 0;
project_opening_initiated = false;
+ _config_path = EditorPaths::get_singleton()->get_data_dir().plus_file("projects.cfg");
}
ProjectList::~ProjectList() {
@@ -1167,23 +1158,26 @@ void ProjectList::load_project_icon(int p_index) {
Error err = img->load(item.icon.replace_first("res://", item.path + "/"));
if (err == OK) {
img->resize(default_icon->get_width(), default_icon->get_height(), Image::INTERPOLATE_LANCZOS);
- Ref<ImageTexture> it = memnew(ImageTexture);
- it->create_from_image(img);
- icon = it;
+ icon = ImageTexture::create_from_image(img);
}
}
if (icon.is_null()) {
icon = default_icon;
}
+ // The default project icon is 128×128 to look crisp on hiDPI displays,
+ // but we want the actual displayed size to be 64×64 on loDPI displays.
+ item.control->icon->set_ignore_texture_size(true);
+ item.control->icon->set_custom_minimum_size(Size2(64, 64) * EDSCALE);
+ item.control->icon->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED);
+
item.control->icon->set_texture(icon);
item.control->icon_needs_reload = false;
}
// Load project data from p_property_key and return it in a ProjectList::Item. p_favorite is passed directly into the Item.
-ProjectList::Item ProjectList::load_project_data(const String &p_property_key, bool p_favorite) {
- String path = EditorSettings::get_singleton()->get(p_property_key);
- String conf = path.plus_file("project.godot");
+ProjectList::Item ProjectList::load_project_data(const String &p_path, bool p_favorite) {
+ String conf = p_path.plus_file("project.godot");
bool grayed = false;
bool missing = false;
@@ -1219,7 +1213,7 @@ ProjectList::Item ProjectList::load_project_data(const String &p_property_key, b
// when editing a project (but not when running it).
last_edited = FileAccess::get_modified_time(conf);
- String fscache = path.plus_file(".fscache");
+ String fscache = p_path.plus_file(".fscache");
if (FileAccess::exists(fscache)) {
uint64_t cache_modified = FileAccess::get_modified_time(fscache);
if (cache_modified > last_edited) {
@@ -1232,9 +1226,38 @@ ProjectList::Item ProjectList::load_project_data(const String &p_property_key, b
print_line("Project is missing: " + conf);
}
- const String project_key = p_property_key.get_slice("/", 1);
+ return Item(project_name, description, p_path, icon, main_scene, unsupported_features, last_edited, p_favorite, grayed, missing, config_version);
+}
+
+void ProjectList::migrate_config() {
+ // Proposal #1637 moved the project list from editor settings to a separate config file
+ // If the new config file doesn't exist, populate it from EditorSettings
+ if (FileAccess::exists(_config_path)) {
+ return;
+ }
+ print_line("Migrating legacy project list");
+
+ List<PropertyInfo> properties;
+ EditorSettings::get_singleton()->get_property_list(&properties);
+
+ for (const PropertyInfo &E : properties) {
+ // This is actually something like "projects/C:::Documents::Godot::Projects::MyGame"
+ String property_key = E.name;
+ if (!property_key.begins_with("projects/")) {
+ continue;
+ }
+
+ String path = EditorSettings::get_singleton()->get(property_key);
+ String favoriteKey = "favorite_projects/" + property_key.get_slice("/", 1);
+ bool favorite = EditorSettings::get_singleton()->has_setting(favoriteKey);
+ add_project(path, favorite);
+ if (favorite) {
+ EditorSettings::get_singleton()->erase(favoriteKey);
+ }
+ EditorSettings::get_singleton()->erase(property_key);
+ }
- return Item(project_key, project_name, description, path, icon, main_scene, unsupported_features, last_edited, p_favorite, grayed, missing, config_version);
+ save_config();
}
void ProjectList::load_projects() {
@@ -1249,37 +1272,15 @@ void ProjectList::load_projects() {
}
_projects.clear();
_last_clicked = "";
- _selected_project_keys.clear();
+ _selected_project_paths.clear();
- // Load data
- // TODO Would be nice to change how projects and favourites are stored... it complicates things a bit.
- // Use a dictionary associating project path to metadata (like is_favorite).
+ List<String> sections;
+ _config.load(_config_path);
+ _config.get_sections(&sections);
- List<PropertyInfo> properties;
- EditorSettings::get_singleton()->get_property_list(&properties);
-
- HashSet<String> favorites;
- // Find favourites...
- for (const PropertyInfo &E : properties) {
- String property_key = E.name;
- if (property_key.begins_with("favorite_projects/")) {
- favorites.insert(property_key);
- }
- }
-
- for (const PropertyInfo &E : properties) {
- // This is actually something like "projects/C:::Documents::Godot::Projects::MyGame"
- String property_key = E.name;
- if (!property_key.begins_with("projects/")) {
- continue;
- }
-
- String project_key = property_key.get_slice("/", 1);
- bool favorite = favorites.has("favorite_projects/" + project_key);
-
- Item item = load_project_data(property_key, favorite);
-
- _projects.push_back(item);
+ for (const String &path : sections) {
+ bool favorite = _config.get_value(path, "favorite", false);
+ _projects.push_back(load_project_data(path, favorite));
}
// Create controls
@@ -1350,8 +1351,8 @@ void ProjectList::create_project_item_control(int p_index) {
Color font_color = get_theme_color(SNAME("font_color"), SNAME("Tree"));
ProjectListItemControl *hb = memnew(ProjectListItemControl);
- hb->connect("draw", callable_mp(this, &ProjectList::_panel_draw), varray(hb));
- hb->connect("gui_input", callable_mp(this, &ProjectList::_panel_input), varray(hb));
+ hb->connect("draw", callable_mp(this, &ProjectList::_panel_draw).bind(hb));
+ hb->connect("gui_input", callable_mp(this, &ProjectList::_panel_input).bind(hb));
hb->add_theme_constant_override("separation", 10 * EDSCALE);
hb->set_tooltip(item.description);
@@ -1362,7 +1363,7 @@ void ProjectList::create_project_item_control(int p_index) {
favorite->set_normal_texture(favorite_icon);
// This makes the project's "hover" style display correctly when hovering the favorite icon.
favorite->set_mouse_filter(MOUSE_FILTER_PASS);
- favorite->connect("pressed", callable_mp(this, &ProjectList::_favorite_pressed), varray(hb));
+ favorite->connect("pressed", callable_mp(this, &ProjectList::_favorite_pressed).bind(hb));
favorite_box->add_child(favorite);
favorite_box->set_alignment(BoxContainer::ALIGNMENT_CENTER);
hb->add_child(favorite_box);
@@ -1435,7 +1436,7 @@ void ProjectList::create_project_item_control(int p_index) {
path_hb->add_child(show);
if (!item.missing) {
- show->connect("pressed", callable_mp(this, &ProjectList::_show_project), varray(item.path));
+ show->connect("pressed", callable_mp(this, &ProjectList::_show_project).bind(item.path));
show->set_tooltip(TTR("Show in File Manager"));
} else {
show->set_tooltip(TTR("Error: Project is missing on the filesystem."));
@@ -1506,19 +1507,19 @@ void ProjectList::sort_projects() {
const HashSet<String> &ProjectList::get_selected_project_keys() const {
// Faster if that's all you need
- return _selected_project_keys;
+ return _selected_project_paths;
}
Vector<ProjectList::Item> ProjectList::get_selected_projects() const {
Vector<Item> items;
- if (_selected_project_keys.size() == 0) {
+ if (_selected_project_paths.size() == 0) {
return items;
}
- items.resize(_selected_project_keys.size());
+ items.resize(_selected_project_paths.size());
int j = 0;
for (int i = 0; i < _projects.size(); ++i) {
const Item &item = _projects[i];
- if (_selected_project_keys.has(item.project_key)) {
+ if (_selected_project_paths.has(item.path)) {
items.write[j++] = item;
}
}
@@ -1532,41 +1533,40 @@ void ProjectList::ensure_project_visible(int p_index) {
}
int ProjectList::get_single_selected_index() const {
- if (_selected_project_keys.size() == 0) {
+ if (_selected_project_paths.size() == 0) {
// Default selection
return 0;
}
String key;
- if (_selected_project_keys.size() == 1) {
+ if (_selected_project_paths.size() == 1) {
// Only one selected
- key = *_selected_project_keys.begin();
+ key = *_selected_project_paths.begin();
} else {
// Multiple selected, consider the last clicked one as "main"
key = _last_clicked;
}
for (int i = 0; i < _projects.size(); ++i) {
- if (_projects[i].project_key == key) {
+ if (_projects[i].path == key) {
return i;
}
}
return 0;
}
-void ProjectList::remove_project(int p_index, bool p_update_settings) {
+void ProjectList::remove_project(int p_index, bool p_update_config) {
const Item item = _projects[p_index]; // Take a copy
- _selected_project_keys.erase(item.project_key);
+ _selected_project_paths.erase(item.path);
- if (_last_clicked == item.project_key) {
+ if (_last_clicked == item.path) {
_last_clicked = "";
}
memdelete(item.control);
_projects.remove_at(p_index);
- if (p_update_settings) {
- EditorSettings::get_singleton()->erase("projects/" + item.project_key);
- EditorSettings::get_singleton()->erase("favorite_projects/" + item.project_key);
+ if (p_update_config) {
+ _config.erase_section(item.path);
// Not actually saving the file, in case you are doing more changes to settings
}
@@ -1604,41 +1604,19 @@ void ProjectList::erase_missing_projects() {
}
print_line("Removed " + itos(deleted_count) + " projects from the list, remaining " + itos(remaining_count) + " projects");
-
- EditorSettings::get_singleton()->save();
+ save_config();
}
int ProjectList::refresh_project(const String &dir_path) {
- // Reads editor settings and reloads information about a specific project.
+ // Reloads information about a specific project.
// If it wasn't loaded and should be in the list, it is added (i.e new project).
// If it isn't in the list anymore, it is removed.
// If it is in the list but doesn't exist anymore, it is marked as missing.
- String project_key = get_project_key_from_path(dir_path);
+ bool should_be_in_list = _config.has_section(dir_path);
+ bool is_favourite = _config.get_value(dir_path, "favorite", false);
- // Read project manager settings
- bool is_favourite = false;
- bool should_be_in_list = false;
- String property_key = "projects/" + project_key;
- {
- List<PropertyInfo> properties;
- EditorSettings::get_singleton()->get_property_list(&properties);
- String favorite_property_key = "favorite_projects/" + project_key;
-
- bool found = false;
- for (const PropertyInfo &E : properties) {
- String prop = E.name;
- if (!found && prop == property_key) {
- found = true;
- } else if (!is_favourite && prop == favorite_property_key) {
- is_favourite = true;
- }
- }
-
- should_be_in_list = found;
- }
-
- bool was_selected = _selected_project_keys.has(project_key);
+ bool was_selected = _selected_project_paths.has(dir_path);
// Remove item in any case
for (int i = 0; i < _projects.size(); ++i) {
@@ -1653,7 +1631,7 @@ int ProjectList::refresh_project(const String &dir_path) {
if (should_be_in_list) {
// Recreate it with updated info
- Item item = load_project_data(property_key, is_favourite);
+ Item item = load_project_data(dir_path, is_favourite);
_projects.push_back(item);
create_project_item_control(_projects.size() - 1);
@@ -1661,7 +1639,7 @@ int ProjectList::refresh_project(const String &dir_path) {
sort_projects();
for (int i = 0; i < _projects.size(); ++i) {
- if (_projects[i].project_key == project_key) {
+ if (_projects[i].path == dir_path) {
if (was_selected) {
select_project(i);
ensure_project_visible(i);
@@ -1677,13 +1655,23 @@ int ProjectList::refresh_project(const String &dir_path) {
return index;
}
+void ProjectList::add_project(const String &dir_path, bool favorite) {
+ if (!_config.has_section(dir_path)) {
+ _config.set_value(dir_path, "favorite", favorite);
+ }
+}
+
+void ProjectList::save_config() {
+ _config.save(_config_path);
+}
+
int ProjectList::get_project_count() const {
return _projects.size();
}
void ProjectList::select_project(int p_index) {
Vector<Item> previous_selected_items = get_selected_projects();
- _selected_project_keys.clear();
+ _selected_project_paths.clear();
for (int i = 0; i < previous_selected_items.size(); ++i) {
previous_selected_items[i].control->update();
@@ -1705,7 +1693,7 @@ void ProjectList::select_first_visible_project() {
if (!found) {
// Deselect all projects if there are no visible projects in the list.
- _selected_project_keys.clear();
+ _selected_project_paths.clear();
}
}
@@ -1727,24 +1715,23 @@ void ProjectList::select_range(int p_begin, int p_end) {
void ProjectList::toggle_select(int p_index) {
Item &item = _projects.write[p_index];
- if (_selected_project_keys.has(item.project_key)) {
- _selected_project_keys.erase(item.project_key);
+ if (_selected_project_paths.has(item.path)) {
+ _selected_project_paths.erase(item.path);
} else {
- _selected_project_keys.insert(item.project_key);
+ _selected_project_paths.insert(item.path);
}
item.control->update();
}
void ProjectList::erase_selected_projects(bool p_delete_project_contents) {
- if (_selected_project_keys.size() == 0) {
+ if (_selected_project_paths.size() == 0) {
return;
}
for (int i = 0; i < _projects.size(); ++i) {
Item &item = _projects.write[i];
- if (_selected_project_keys.has(item.project_key) && item.control->is_visible()) {
- EditorSettings::get_singleton()->erase("projects/" + item.project_key);
- EditorSettings::get_singleton()->erase("favorite_projects/" + item.project_key);
+ if (_selected_project_paths.has(item.path) && item.control->is_visible()) {
+ _config.erase_section(item.path);
if (p_delete_project_contents) {
OS::get_singleton()->move_to_trash(item.path);
@@ -1756,9 +1743,8 @@ void ProjectList::erase_selected_projects(bool p_delete_project_contents) {
}
}
- EditorSettings::get_singleton()->save();
-
- _selected_project_keys.clear();
+ save_config();
+ _selected_project_paths.clear();
_last_clicked = "";
update_dock_menu();
@@ -1774,9 +1760,9 @@ void ProjectList::_panel_draw(Node *p_hb) {
hb->draw_line(Point2(0, hb->get_size().y + 1), Point2(hb->get_size().x, hb->get_size().y + 1), get_theme_color(SNAME("guide_color"), SNAME("Tree")));
}
- String key = _projects[p_hb->get_index()].project_key;
+ String key = _projects[p_hb->get_index()].path;
- if (_selected_project_keys.has(key)) {
+ if (_selected_project_paths.has(key)) {
hb->draw_style_box(get_theme_stylebox(SNAME("selected"), SNAME("Tree")), Rect2(Point2(), hb->get_size()));
}
}
@@ -1788,11 +1774,11 @@ void ProjectList::_panel_input(const Ref<InputEvent> &p_ev, Node *p_hb) {
const Item &clicked_project = _projects[clicked_index];
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT) {
- if (mb->is_shift_pressed() && _selected_project_keys.size() > 0 && !_last_clicked.is_empty() && clicked_project.project_key != _last_clicked) {
+ if (mb->is_shift_pressed() && _selected_project_paths.size() > 0 && !_last_clicked.is_empty() && clicked_project.path != _last_clicked) {
int anchor_index = -1;
for (int i = 0; i < _projects.size(); ++i) {
const Item &p = _projects[i];
- if (p.project_key == _last_clicked) {
+ if (p.path == _last_clicked) {
anchor_index = p.control->get_index();
break;
}
@@ -1804,7 +1790,7 @@ void ProjectList::_panel_input(const Ref<InputEvent> &p_ev, Node *p_hb) {
toggle_select(clicked_index);
} else {
- _last_clicked = clicked_project.project_key;
+ _last_clicked = clicked_project.path;
select_project(clicked_index);
}
@@ -1826,12 +1812,8 @@ void ProjectList::_favorite_pressed(Node *p_hb) {
item.favorite = !item.favorite;
- if (item.favorite) {
- EditorSettings::get_singleton()->set("favorite_projects/" + item.project_key, item.path);
- } else {
- EditorSettings::get_singleton()->erase("favorite_projects/" + item.project_key);
- }
- EditorSettings::get_singleton()->save();
+ _config.set_value(item.path, "favorite", item.favorite);
+ save_config();
_projects.write[index] = item;
@@ -1841,7 +1823,7 @@ void ProjectList::_favorite_pressed(Node *p_hb) {
if (item.favorite) {
for (int i = 0; i < _projects.size(); ++i) {
- if (_projects[i].project_key == item.project_key) {
+ if (_projects[i].path == item.path) {
ensure_project_visible(i);
break;
}
@@ -1877,6 +1859,15 @@ void ProjectManager::_notification(int p_what) {
search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
search_box->set_clear_button_enabled(true);
+ create_btn->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
+ import_btn->set_icon(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")));
+ scan_btn->set_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
+ open_btn->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")));
+ run_btn->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons")));
+ rename_btn->set_icon(get_theme_icon(SNAME("Rename"), SNAME("EditorIcons")));
+ erase_btn->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
+ erase_missing_btn->set_icon(get_theme_icon(SNAME("Clear"), SNAME("EditorIcons")));
+
Engine::get_singleton()->set_editor_hint(false);
} break;
@@ -1886,7 +1877,6 @@ void ProjectManager::_notification(int p_what) {
}
if (asset_library) {
real_t size = get_size().x / EDSCALE;
- asset_library->set_columns(size < 1000 ? 1 : 2);
// Adjust names of tabs to fit the new size.
if (size < 650) {
local_projects_hb->set_name(TTR("Local"));
@@ -1992,7 +1982,7 @@ void ProjectManager::shortcut_input(const Ref<InputEvent> &p_ev) {
// Pressing Command + Q quits the Project Manager
// This is handled by the platform implementation on macOS,
// so only define the shortcut on other platforms
-#ifndef OSX_ENABLED
+#ifndef MACOS_ENABLED
if (k->get_keycode_with_modifiers() == (KeyModifierMask::CMD | Key::Q)) {
_dim_window();
get_tree()->quit();
@@ -2091,6 +2081,8 @@ void ProjectManager::_on_projects_updated() {
}
void ProjectManager::_on_project_created(const String &dir) {
+ _project_list->add_project(dir, false);
+ _project_list->save_config();
search_box->clear();
int i = _project_list->refresh_project(dir);
_project_list->select_project(i);
@@ -2111,9 +2103,7 @@ void ProjectManager::_open_selected_projects() {
const HashSet<String> &selected_list = _project_list->get_selected_project_keys();
- for (const String &E : selected_list) {
- const String &selected = E;
- String path = EditorSettings::get_singleton()->get("projects/" + selected);
+ for (const String &path : selected_list) {
String conf = path.plus_file("project.godot");
if (!FileAccess::exists(conf)) {
@@ -2122,31 +2112,19 @@ void ProjectManager::_open_selected_projects() {
return;
}
- print_line("Editing project: " + path + " (" + selected + ")");
+ print_line("Editing project: " + path);
List<String> args;
+ for (const String &a : Main::get_forwardable_cli_arguments(Main::CLI_SCOPE_TOOL)) {
+ args.push_back(a);
+ }
+
args.push_back("--path");
args.push_back(path);
args.push_back("--editor");
- if (OS::get_singleton()->is_stdout_debug_enabled()) {
- args.push_back("--debug");
- }
-
- if (OS::get_singleton()->is_stdout_verbose()) {
- args.push_back("--verbose");
- }
-
- if (OS::get_singleton()->is_disable_crash_handler()) {
- args.push_back("--disable-crash-handler");
- }
-
- if (OS::get_singleton()->is_single_window()) {
- args.push_back("--single-window");
- }
-
Error err = OS::get_singleton()->create_instance(args);
ERR_FAIL_COND(err);
}
@@ -2246,8 +2224,7 @@ void ProjectManager::_run_project_confirm() {
continue;
}
- const String &selected = selected_list[i].project_key;
- String path = EditorSettings::get_singleton()->get("projects/" + selected);
+ const String &path = selected_list[i].path;
// `.substr(6)` on `ProjectSettings::get_singleton()->get_imported_files_path()` strips away the leading "res://".
if (!DirAccess::exists(path.plus_file(ProjectSettings::get_singleton()->get_imported_files_path().substr(6)))) {
@@ -2256,17 +2233,17 @@ void ProjectManager::_run_project_confirm() {
continue;
}
- print_line("Running project: " + path + " (" + selected + ")");
+ print_line("Running project: " + path);
List<String> args;
+ for (const String &a : Main::get_forwardable_cli_arguments(Main::CLI_SCOPE_PROJECT)) {
+ args.push_back(a);
+ }
+
args.push_back("--path");
args.push_back(path);
- if (OS::get_singleton()->is_disable_crash_handler()) {
- args.push_back("--disable-crash-handler");
- }
-
Error err = OS::get_singleton()->create_instance(args);
ERR_FAIL_COND(err);
}
@@ -2287,7 +2264,7 @@ void ProjectManager::_run_project() {
}
}
-void ProjectManager::_scan_dir(const String &path, List<String> *r_projects) {
+void ProjectManager::_scan_dir(const String &path) {
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
Error error = da->change_dir(path);
ERR_FAIL_COND_MSG(error != OK, "Could not scan directory at: " + path);
@@ -2295,26 +2272,18 @@ void ProjectManager::_scan_dir(const String &path, List<String> *r_projects) {
String n = da->get_next();
while (!n.is_empty()) {
if (da->current_is_dir() && !n.begins_with(".")) {
- _scan_dir(da->get_current_dir().plus_file(n), r_projects);
+ _scan_dir(da->get_current_dir().plus_file(n));
} else if (n == "project.godot") {
- r_projects->push_back(da->get_current_dir());
+ _project_list->add_project(da->get_current_dir(), false);
}
n = da->get_next();
}
da->list_dir_end();
}
-
void ProjectManager::_scan_begin(const String &p_base) {
print_line("Scanning projects at: " + p_base);
- List<String> projects;
- _scan_dir(p_base, &projects);
- print_line("Found " + itos(projects.size()) + " projects.");
-
- for (const String &E : projects) {
- String proj = get_project_key_from_path(E);
- EditorSettings::get_singleton()->set("projects/" + proj, E);
- }
- EditorSettings::get_singleton()->save();
+ _scan_dir(p_base);
+ _project_list->save_config();
_load_recent_projects();
}
@@ -2340,9 +2309,7 @@ void ProjectManager::_rename_project() {
}
for (const String &E : selected_list) {
- const String &selected = E;
- String path = EditorSettings::get_singleton()->get("projects/" + selected);
- npdialog->set_project_path(path);
+ npdialog->set_project_path(E);
npdialog->set_mode(ProjectDialog::MODE_RENAME);
npdialog->show_dialog();
}
@@ -2445,7 +2412,7 @@ void ProjectManager::_files_dropped(PackedStringArray p_files) {
}
if (confirm) {
multi_scan_ask->get_ok_button()->disconnect("pressed", callable_mp(this, &ProjectManager::_scan_multiple_folders));
- multi_scan_ask->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_scan_multiple_folders), varray(folders));
+ multi_scan_ask->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_scan_multiple_folders).bind(folders));
multi_scan_ask->set_text(
vformat(TTR("Are you sure to scan %s folders for existing Godot projects?\nThis could take a while."), folders.size()));
multi_scan_ask->popup_centered();
@@ -2556,19 +2523,19 @@ ProjectManager::ProjectManager() {
EditorFileDialog::set_default_show_hidden_files(EditorSettings::get_singleton()->get("filesystem/file_dialog/show_hidden_files"));
- set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
set_theme(create_custom_theme());
- set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
Panel *panel = memnew(Panel);
add_child(panel);
- panel->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ panel->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles")));
VBoxContainer *vb = memnew(VBoxContainer);
panel->add_child(vb);
- vb->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 8 * EDSCALE);
+ vb->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, 8 * EDSCALE);
Control *center_box = memnew(Control);
center_box->set_v_size_flags(Control::SIZE_EXPAND_FILL);
@@ -2576,7 +2543,7 @@ ProjectManager::ProjectManager() {
tabs = memnew(TabContainer);
center_box->add_child(tabs);
- tabs->set_anchors_and_offsets_preset(Control::PRESET_WIDE);
+ tabs->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
tabs->connect("tab_changed", callable_mp(this, &ProjectManager::_on_tab_changed));
local_projects_hb = memnew(HBoxContainer);
@@ -2594,7 +2561,7 @@ ProjectManager::ProjectManager() {
search_tree_vb->add_child(hb);
search_box = memnew(LineEdit);
- search_box->set_placeholder(TTR("Filter projects"));
+ search_box->set_placeholder(TTR("Filter Projects"));
search_box->set_tooltip(TTR("This field filters projects by name and last path component.\nTo filter projects by name and full path, the query must contain at least one `/` character."));
search_box->connect("text_changed", callable_mp(this, &ProjectManager::_on_search_term_changed));
search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
@@ -2644,40 +2611,48 @@ ProjectManager::ProjectManager() {
tree_vb->set_custom_minimum_size(Size2(120, 120));
local_projects_hb->add_child(tree_vb);
- Button *create = memnew(Button);
- create->set_text(TTR("New Project"));
- create->set_shortcut(ED_SHORTCUT("project_manager/new_project", TTR("New Project"), KeyModifierMask::CMD | Key::N));
- create->connect("pressed", callable_mp(this, &ProjectManager::_new_project));
- tree_vb->add_child(create);
-
- Button *import = memnew(Button);
- import->set_text(TTR("Import"));
- import->set_shortcut(ED_SHORTCUT("project_manager/import_project", TTR("Import Project"), KeyModifierMask::CMD | Key::I));
- import->connect("pressed", callable_mp(this, &ProjectManager::_import_project));
- tree_vb->add_child(import);
-
- Button *scan = memnew(Button);
- scan->set_text(TTR("Scan"));
- scan->set_shortcut(ED_SHORTCUT("project_manager/scan_projects", TTR("Scan Projects"), KeyModifierMask::CMD | Key::S));
- scan->connect("pressed", callable_mp(this, &ProjectManager::_scan_projects));
- tree_vb->add_child(scan);
+ const int btn_h_separation = int(6 * EDSCALE);
+
+ create_btn = memnew(Button);
+ create_btn->set_text(TTR("New Project"));
+ create_btn->add_theme_constant_override("h_separation", btn_h_separation);
+ create_btn->set_shortcut(ED_SHORTCUT("project_manager/new_project", TTR("New Project"), KeyModifierMask::CMD | Key::N));
+ create_btn->connect("pressed", callable_mp(this, &ProjectManager::_new_project));
+ tree_vb->add_child(create_btn);
+
+ import_btn = memnew(Button);
+ import_btn->set_text(TTR("Import"));
+ import_btn->add_theme_constant_override("h_separation", btn_h_separation);
+ import_btn->set_shortcut(ED_SHORTCUT("project_manager/import_project", TTR("Import Project"), KeyModifierMask::CMD | Key::I));
+ import_btn->connect("pressed", callable_mp(this, &ProjectManager::_import_project));
+ tree_vb->add_child(import_btn);
+
+ scan_btn = memnew(Button);
+ scan_btn->set_text(TTR("Scan"));
+ scan_btn->add_theme_constant_override("h_separation", btn_h_separation);
+ scan_btn->set_shortcut(ED_SHORTCUT("project_manager/scan_projects", TTR("Scan Projects"), KeyModifierMask::CMD | Key::S));
+ scan_btn->connect("pressed", callable_mp(this, &ProjectManager::_scan_projects));
+ tree_vb->add_child(scan_btn);
tree_vb->add_child(memnew(HSeparator));
open_btn = memnew(Button);
open_btn->set_text(TTR("Edit"));
+ open_btn->add_theme_constant_override("h_separation", btn_h_separation);
open_btn->set_shortcut(ED_SHORTCUT("project_manager/edit_project", TTR("Edit Project"), KeyModifierMask::CMD | Key::E));
open_btn->connect("pressed", callable_mp(this, &ProjectManager::_open_selected_projects_ask));
tree_vb->add_child(open_btn);
run_btn = memnew(Button);
run_btn->set_text(TTR("Run"));
+ run_btn->add_theme_constant_override("h_separation", btn_h_separation);
run_btn->set_shortcut(ED_SHORTCUT("project_manager/run_project", TTR("Run Project"), KeyModifierMask::CMD | Key::R));
run_btn->connect("pressed", callable_mp(this, &ProjectManager::_run_project));
tree_vb->add_child(run_btn);
rename_btn = memnew(Button);
rename_btn->set_text(TTR("Rename"));
+ rename_btn->add_theme_constant_override("h_separation", btn_h_separation);
// The F2 shortcut isn't overridden with Enter on macOS as Enter is already used to edit a project.
rename_btn->set_shortcut(ED_SHORTCUT("project_manager/rename_project", TTR("Rename Project"), Key::F2));
rename_btn->connect("pressed", callable_mp(this, &ProjectManager::_rename_project));
@@ -2685,12 +2660,14 @@ ProjectManager::ProjectManager() {
erase_btn = memnew(Button);
erase_btn->set_text(TTR("Remove"));
+ erase_btn->add_theme_constant_override("h_separation", btn_h_separation);
erase_btn->set_shortcut(ED_SHORTCUT("project_manager/remove_project", TTR("Remove Project"), Key::KEY_DELETE));
erase_btn->connect("pressed", callable_mp(this, &ProjectManager::_erase_project));
tree_vb->add_child(erase_btn);
erase_missing_btn = memnew(Button);
erase_missing_btn->set_text(TTR("Remove Missing"));
+ erase_missing_btn->add_theme_constant_override("h_separation", btn_h_separation);
erase_missing_btn->connect("pressed", callable_mp(this, &ProjectManager::_erase_missing_projects));
tree_vb->add_child(erase_missing_btn);
@@ -2773,25 +2750,21 @@ ProjectManager::ProjectManager() {
center_box->add_child(settings_hb);
}
- // Asset Library can't work on Web editor for now as most assets are sourced
- // directly from GitHub which does not set CORS.
-#ifndef JAVASCRIPT_ENABLED
- if (StreamPeerSSL::is_available()) {
+ if (AssetLibraryEditorPlugin::is_available()) {
asset_library = memnew(EditorAssetLibrary(true));
asset_library->set_name(TTR("Asset Library Projects"));
tabs->add_child(asset_library);
asset_library->connect("install_asset", callable_mp(this, &ProjectManager::_install_project));
} else {
- WARN_PRINT("Asset Library not available, as it requires SSL to work.");
+ print_verbose("Asset Library not available (due to using Web editor, or SSL support disabled).");
}
-#endif
{
// Dialogs
language_restart_ask = memnew(ConfirmationDialog);
- language_restart_ask->get_ok_button()->set_text(TTR("Restart Now"));
+ language_restart_ask->set_ok_button_text(TTR("Restart Now"));
language_restart_ask->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_restart_confirm));
- language_restart_ask->get_cancel_button()->set_text(TTR("Continue"));
+ language_restart_ask->set_cancel_button_text(TTR("Continue"));
add_child(language_restart_ask);
scan_dir = memnew(EditorFileDialog);
@@ -2804,12 +2777,12 @@ ProjectManager::ProjectManager() {
scan_dir->connect("dir_selected", callable_mp(this, &ProjectManager::_scan_begin));
erase_missing_ask = memnew(ConfirmationDialog);
- erase_missing_ask->get_ok_button()->set_text(TTR("Remove All"));
+ erase_missing_ask->set_ok_button_text(TTR("Remove All"));
erase_missing_ask->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_erase_missing_projects_confirm));
add_child(erase_missing_ask);
erase_ask = memnew(ConfirmationDialog);
- erase_ask->get_ok_button()->set_text(TTR("Remove"));
+ erase_ask->set_ok_button_text(TTR("Remove"));
erase_ask->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_erase_project_confirm));
add_child(erase_ask);
@@ -2824,17 +2797,17 @@ ProjectManager::ProjectManager() {
erase_ask_vb->add_child(delete_project_contents);
multi_open_ask = memnew(ConfirmationDialog);
- multi_open_ask->get_ok_button()->set_text(TTR("Edit"));
+ multi_open_ask->set_ok_button_text(TTR("Edit"));
multi_open_ask->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_open_selected_projects));
add_child(multi_open_ask);
multi_run_ask = memnew(ConfirmationDialog);
- multi_run_ask->get_ok_button()->set_text(TTR("Run"));
+ multi_run_ask->set_ok_button_text(TTR("Run"));
multi_run_ask->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_run_project_confirm));
add_child(multi_run_ask);
multi_scan_ask = memnew(ConfirmationDialog);
- multi_scan_ask->get_ok_button()->set_text(TTR("Scan"));
+ multi_scan_ask->set_ok_button_text(TTR("Scan"));
add_child(multi_scan_ask);
ask_update_settings = memnew(ConfirmationDialog);
@@ -2856,7 +2829,7 @@ ProjectManager::ProjectManager() {
if (asset_library) {
open_templates = memnew(ConfirmationDialog);
open_templates->set_text(TTR("You currently don't have any projects.\nWould you like to explore official example projects in the Asset Library?"));
- open_templates->get_ok_button()->set_text(TTR("Open Asset Library"));
+ open_templates->set_ok_button_text(TTR("Open Asset Library"));
open_templates->connect("confirmed", callable_mp(this, &ProjectManager::_open_asset_library));
add_child(open_templates);
}
@@ -2867,6 +2840,7 @@ ProjectManager::ProjectManager() {
_build_icon_type_cache(get_theme());
}
+ _project_list->migrate_config();
_load_recent_projects();
Ref<DirAccess> dir_access = DirAccess::create(DirAccess::AccessType::ACCESS_FILESYSTEM);
diff --git a/editor/project_manager.h b/editor/project_manager.h
index 2ffe293f3b..10bf25c048 100644
--- a/editor/project_manager.h
+++ b/editor/project_manager.h
@@ -63,8 +63,11 @@ class ProjectManager : public Control {
Label *loading_label = nullptr;
OptionButton *filter_option = nullptr;
- Button *run_btn = nullptr;
+ Button *create_btn = nullptr;
+ Button *import_btn = nullptr;
+ Button *scan_btn = nullptr;
Button *open_btn = nullptr;
+ Button *run_btn = nullptr;
Button *rename_btn = nullptr;
Button *erase_btn = nullptr;
Button *erase_missing_btn = nullptr;
@@ -122,7 +125,7 @@ class ProjectManager : public Control {
void _on_projects_updated();
void _scan_multiple_folders(PackedStringArray p_files);
void _scan_begin(const String &p_base);
- void _scan_dir(const String &path, List<String> *r_projects);
+ void _scan_dir(const String &path);
void _install_project(const String &p_zip_path, const String &p_title);
diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp
index 14a0427e18..581315d512 100644
--- a/editor/project_settings_editor.cpp
+++ b/editor/project_settings_editor.cpp
@@ -31,13 +31,19 @@
#include "project_settings_editor.h"
#include "core/config/project_settings.h"
-#include "editor/editor_export.h"
#include "editor/editor_log.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_settings.h"
+#include "editor/editor_undo_redo_manager.h"
+#include "servers/movie_writer/movie_writer.h"
ProjectSettingsEditor *ProjectSettingsEditor::singleton = nullptr;
+void ProjectSettingsEditor::connect_filesystem_dock_signals(FileSystemDock *p_fs_dock) {
+ localization_editor->connect_filesystem_dock_signals(p_fs_dock);
+}
+
void ProjectSettingsEditor::popup_project_settings() {
// Restore valid window bounds or pop up at default size.
Rect2 saved_size = EditorSettings::get_singleton()->get_project_metadata("dialog_bounds", "project_settings", Rect2());
@@ -74,8 +80,13 @@ void ProjectSettingsEditor::_setting_edited(const String &p_name) {
queue_save();
}
+void ProjectSettingsEditor::_update_advanced(bool p_is_advanced) {
+ custom_properties->set_visible(p_is_advanced);
+}
+
void ProjectSettingsEditor::_advanced_toggled(bool p_button_pressed) {
EditorSettings::get_singleton()->set_project_metadata("project_settings", "advanced_mode", p_button_pressed);
+ _update_advanced(p_button_pressed);
general_settings_inspector->set_restrict_to_basic_settings(!p_button_pressed);
}
@@ -261,6 +272,7 @@ void ProjectSettingsEditor::_add_feature_overrides() {
presets.insert("standalone");
presets.insert("32");
presets.insert("64");
+ presets.insert("movie");
EditorExport *ee = EditorExport::get_singleton();
@@ -555,11 +567,12 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
set_title(TTR("Project Settings (project.godot)"));
ps = ProjectSettings::get_singleton();
- undo_redo = &p_data->get_undo_redo();
+ undo_redo = p_data->get_undo_redo();
data = p_data;
tab_container = memnew(TabContainer);
tab_container->set_use_hidden_tabs_for_min_size(true);
+ tab_container->set_theme_type_variation("TabContainerOdd");
add_child(tab_container);
VBoxContainer *general_editor = memnew(VBoxContainer);
@@ -582,38 +595,38 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
advanced->connect("toggled", callable_mp(this, &ProjectSettingsEditor::_advanced_toggled));
search_bar->add_child(advanced);
- HBoxContainer *header = memnew(HBoxContainer);
- general_editor->add_child(header);
+ custom_properties = memnew(HBoxContainer);
+ general_editor->add_child(custom_properties);
property_box = memnew(LineEdit);
- property_box->set_placeholder(TTR("Select a setting or type its name"));
+ property_box->set_placeholder(TTR("Select a Setting or Type its Name"));
property_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
property_box->connect("text_changed", callable_mp(this, &ProjectSettingsEditor::_property_box_changed));
- header->add_child(property_box);
+ custom_properties->add_child(property_box);
feature_box = memnew(OptionButton);
feature_box->set_custom_minimum_size(Size2(120, 0) * EDSCALE);
feature_box->connect("item_selected", callable_mp(this, &ProjectSettingsEditor::_feature_selected));
- header->add_child(feature_box);
+ custom_properties->add_child(feature_box);
type_box = memnew(OptionButton);
type_box->set_custom_minimum_size(Size2(120, 0) * EDSCALE);
- header->add_child(type_box);
+ custom_properties->add_child(type_box);
add_button = memnew(Button);
add_button->set_text(TTR("Add"));
add_button->set_disabled(true);
add_button->connect("pressed", callable_mp(this, &ProjectSettingsEditor::_add_setting));
- header->add_child(add_button);
+ custom_properties->add_child(add_button);
del_button = memnew(Button);
del_button->set_text(TTR("Delete"));
del_button->set_disabled(true);
del_button->connect("pressed", callable_mp(this, &ProjectSettingsEditor::_delete_setting));
- header->add_child(del_button);
+ custom_properties->add_child(del_button);
general_settings_inspector = memnew(SectionedInspector);
- general_settings_inspector->get_inspector()->set_undo_redo(EditorNode::get_singleton()->get_undo_redo());
+ general_settings_inspector->get_inspector()->set_undo_redo(EditorNode::get_undo_redo());
general_settings_inspector->set_v_size_flags(Control::SIZE_EXPAND_FILL);
general_settings_inspector->register_search_box(search_box);
general_settings_inspector->get_inspector()->set_use_filter(true);
@@ -667,10 +680,10 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
autoload_settings->connect("autoload_changed", callable_mp(this, &ProjectSettingsEditor::queue_save));
tab_container->add_child(autoload_settings);
- shaders_global_variables_editor = memnew(ShaderGlobalsEditor);
- shaders_global_variables_editor->set_name(TTR("Shader Globals"));
- shaders_global_variables_editor->connect("globals_changed", callable_mp(this, &ProjectSettingsEditor::queue_save));
- tab_container->add_child(shaders_global_variables_editor);
+ shaders_global_shader_uniforms_editor = memnew(ShaderGlobalsEditor);
+ shaders_global_shader_uniforms_editor->set_name(TTR("Shader Globals"));
+ shaders_global_shader_uniforms_editor->connect("globals_changed", callable_mp(this, &ProjectSettingsEditor::queue_save));
+ tab_container->add_child(shaders_global_shader_uniforms_editor);
plugin_settings = memnew(EditorPluginSettings);
plugin_settings->set_name(TTR("Plugins"));
@@ -682,7 +695,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
timer->set_one_shot(true);
add_child(timer);
- get_ok_button()->set_text(TTR("Close"));
+ set_ok_button_text(TTR("Close"));
set_hide_on_ok(true);
bool use_advanced = EditorSettings::get_singleton()->get_project_metadata("project_settings", "advanced_mode", false);
@@ -691,10 +704,13 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
advanced->set_pressed(true);
}
+ _update_advanced(use_advanced);
general_settings_inspector->set_restrict_to_basic_settings(!use_advanced);
import_defaults_editor = memnew(ImportDefaultsEditor);
import_defaults_editor->set_name(TTR("Import Defaults"));
tab_container->add_child(import_defaults_editor);
import_defaults_editor->connect("project_settings_changed", callable_mp(this, &ProjectSettingsEditor::queue_save));
+
+ MovieWriter::set_extensions_hint(); // ensure extensions are properly displayed.
}
diff --git a/editor/project_settings_editor.h b/editor/project_settings_editor.h
index 24d61db443..040d992e40 100644
--- a/editor/project_settings_editor.h
+++ b/editor/project_settings_editor.h
@@ -32,7 +32,6 @@
#define PROJECT_SETTINGS_EDITOR_H
#include "core/config/project_settings.h"
-#include "core/object/undo_redo.h"
#include "editor/action_map_editor.h"
#include "editor/editor_autoload_settings.h"
#include "editor/editor_data.h"
@@ -43,6 +42,9 @@
#include "editor/shader_globals_editor.h"
#include "scene/gui/tab_container.h"
+class EditorUndoRedoManager;
+class FileSystemDock;
+
class ProjectSettingsEditor : public AcceptDialog {
GDCLASS(ProjectSettingsEditor, AcceptDialog);
@@ -55,12 +57,13 @@ class ProjectSettingsEditor : public AcceptDialog {
ActionMapEditor *action_map_editor = nullptr;
LocalizationEditor *localization_editor = nullptr;
EditorAutoloadSettings *autoload_settings = nullptr;
- ShaderGlobalsEditor *shaders_global_variables_editor = nullptr;
+ ShaderGlobalsEditor *shaders_global_shader_uniforms_editor = nullptr;
EditorPluginSettings *plugin_settings = nullptr;
LineEdit *search_box = nullptr;
CheckButton *advanced = nullptr;
+ HBoxContainer *custom_properties = nullptr;
LineEdit *property_box = nullptr;
OptionButton *feature_box = nullptr;
OptionButton *type_box = nullptr;
@@ -74,9 +77,10 @@ class ProjectSettingsEditor : public AcceptDialog {
ImportDefaultsEditor *import_defaults_editor = nullptr;
EditorData *data = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
void _advanced_toggled(bool p_button_pressed);
+ void _update_advanced(bool p_is_advanced);
void _property_box_changed(const String &p_text);
void _update_property_box();
void _feature_selected(int p_index);
@@ -118,6 +122,7 @@ public:
TabContainer *get_tabs() { return tab_container; }
void queue_save();
+ void connect_filesystem_dock_signals(FileSystemDock *p_fs_dock);
ProjectSettingsEditor(EditorData *p_data);
};
diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp
deleted file mode 100644
index da67ed79ba..0000000000
--- a/editor/property_editor.cpp
+++ /dev/null
@@ -1,1906 +0,0 @@
-/*************************************************************************/
-/* property_editor.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#include "property_editor.h"
-
-#include "core/config/project_settings.h"
-#include "core/input/input.h"
-#include "core/io/image_loader.h"
-#include "core/io/marshalls.h"
-#include "core/io/resource_loader.h"
-#include "core/math/expression.h"
-#include "core/object/class_db.h"
-#include "core/os/keyboard.h"
-#include "core/string/print_string.h"
-#include "core/templates/pair.h"
-#include "editor/array_property_edit.h"
-#include "editor/create_dialog.h"
-#include "editor/dictionary_property_edit.h"
-#include "editor/editor_export.h"
-#include "editor/editor_file_dialog.h"
-#include "editor/editor_file_system.h"
-#include "editor/editor_help.h"
-#include "editor/editor_node.h"
-#include "editor/editor_scale.h"
-#include "editor/editor_settings.h"
-#include "editor/filesystem_dock.h"
-#include "editor/multi_node_edit.h"
-#include "editor/property_selector.h"
-#include "editor/scene_tree_dock.h"
-#include "scene/gui/label.h"
-#include "scene/main/window.h"
-#include "scene/resources/font.h"
-#include "scene/resources/packed_scene.h"
-#include "scene/scene_string_names.h"
-
-void EditorResourceConversionPlugin::_bind_methods() {
- GDVIRTUAL_BIND(_converts_to);
- GDVIRTUAL_BIND(_handles, "resource");
- GDVIRTUAL_BIND(_convert, "resource");
-}
-
-String EditorResourceConversionPlugin::converts_to() const {
- String ret;
- if (GDVIRTUAL_CALL(_converts_to, ret)) {
- return ret;
- }
-
- return "";
-}
-
-bool EditorResourceConversionPlugin::handles(const Ref<Resource> &p_resource) const {
- bool ret;
- if (GDVIRTUAL_CALL(_handles, p_resource, ret)) {
- return ret;
- }
-
- return false;
-}
-
-Ref<Resource> EditorResourceConversionPlugin::convert(const Ref<Resource> &p_resource) const {
- Ref<Resource> ret;
- if (GDVIRTUAL_CALL(_convert, p_resource, ret)) {
- return ret;
- }
-
- return Ref<Resource>();
-}
-
-void CustomPropertyEditor::_notification(int p_what) {
- switch (p_what) {
- case NOTIFICATION_WM_CLOSE_REQUEST: {
- hide();
- } break;
- }
-}
-
-void CustomPropertyEditor::_menu_option(int p_which) {
- switch (type) {
- case Variant::INT: {
- if (hint == PROPERTY_HINT_FLAGS) {
- int val = v;
-
- if (val & (1 << p_which)) {
- val &= ~(1 << p_which);
- } else {
- val |= (1 << p_which);
- }
-
- v = val;
- emit_signal(SNAME("variant_changed"));
- } else if (hint == PROPERTY_HINT_ENUM) {
- v = menu->get_item_metadata(p_which);
- emit_signal(SNAME("variant_changed"));
- }
- } break;
- case Variant::STRING: {
- if (hint == PROPERTY_HINT_ENUM) {
- v = hint_text.get_slice(",", p_which);
- emit_signal(SNAME("variant_changed"));
- }
- } break;
- case Variant::OBJECT: {
- switch (p_which) {
- case OBJ_MENU_LOAD: {
- file->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
- String type = (hint == PROPERTY_HINT_RESOURCE_TYPE) ? hint_text : String();
-
- List<String> extensions;
- for (int i = 0; i < type.get_slice_count(","); i++) {
- ResourceLoader::get_recognized_extensions_for_type(type.get_slice(",", i), &extensions);
- }
-
- HashSet<String> valid_extensions;
- for (const String &E : extensions) {
- valid_extensions.insert(E);
- }
-
- file->clear_filters();
- for (const String &E : valid_extensions) {
- file->add_filter("*." + E + " ; " + E.to_upper());
- }
-
- file->popup_file_dialog();
- } break;
-
- case OBJ_MENU_EDIT: {
- Ref<RefCounted> r = v;
-
- if (!r.is_null()) {
- emit_signal(SNAME("resource_edit_request"));
- hide();
- }
- } break;
- case OBJ_MENU_CLEAR: {
- v = Variant();
- emit_signal(SNAME("variant_changed"));
- hide();
- } break;
-
- case OBJ_MENU_MAKE_UNIQUE: {
- Ref<Resource> res_orig = v;
- if (res_orig.is_null()) {
- return;
- }
-
- List<PropertyInfo> property_list;
- res_orig->get_property_list(&property_list);
- List<Pair<String, Variant>> propvalues;
-
- for (const PropertyInfo &pi : property_list) {
- Pair<String, Variant> p;
- if (pi.usage & PROPERTY_USAGE_STORAGE) {
- p.first = pi.name;
- p.second = res_orig->get(pi.name);
- }
-
- propvalues.push_back(p);
- }
-
- String orig_type = res_orig->get_class();
-
- Object *inst = ClassDB::instantiate(orig_type);
-
- Ref<Resource> res = Ref<Resource>(Object::cast_to<Resource>(inst));
-
- ERR_FAIL_COND(res.is_null());
-
- for (const Pair<String, Variant> &p : propvalues) {
- res->set(p.first, p.second);
- }
-
- v = res;
- emit_signal(SNAME("variant_changed"));
- hide();
- } break;
-
- case OBJ_MENU_COPY: {
- EditorSettings::get_singleton()->set_resource_clipboard(v);
-
- } break;
- case OBJ_MENU_PASTE: {
- v = EditorSettings::get_singleton()->get_resource_clipboard();
- emit_signal(SNAME("variant_changed"));
-
- } break;
- case OBJ_MENU_NEW_SCRIPT: {
- if (Object::cast_to<Node>(owner)) {
- SceneTreeDock::get_singleton()->open_script_dialog(Object::cast_to<Node>(owner), false);
- }
-
- } break;
- case OBJ_MENU_EXTEND_SCRIPT: {
- if (Object::cast_to<Node>(owner)) {
- SceneTreeDock::get_singleton()->open_script_dialog(Object::cast_to<Node>(owner), true);
- }
-
- } break;
- case OBJ_MENU_SHOW_IN_FILE_SYSTEM: {
- Ref<Resource> r = v;
- FileSystemDock *file_system_dock = FileSystemDock::get_singleton();
- file_system_dock->navigate_to_path(r->get_path());
- // Ensure that the FileSystem dock is visible.
- TabContainer *tab_container = (TabContainer *)file_system_dock->get_parent_control();
- tab_container->set_current_tab(tab_container->get_tab_idx_from_control(file_system_dock));
- } break;
- default: {
- if (p_which >= CONVERT_BASE_ID) {
- int to_type = p_which - CONVERT_BASE_ID;
-
- Vector<Ref<EditorResourceConversionPlugin>> conversions = EditorNode::get_singleton()->find_resource_conversion_plugin(Ref<Resource>(v));
-
- ERR_FAIL_INDEX(to_type, conversions.size());
-
- Ref<Resource> new_res = conversions[to_type]->convert(v);
-
- v = new_res;
- emit_signal(SNAME("variant_changed"));
- break;
- }
- ERR_FAIL_COND(inheritors_array.is_empty());
-
- String intype = inheritors_array[p_which - TYPE_BASE_ID];
-
- if (intype == "ViewportTexture") {
- scene_tree->set_title(TTR("Pick a Viewport"));
- scene_tree->popup_scenetree_dialog();
- picking_viewport = true;
- return;
- }
-
- Variant obj = ClassDB::instantiate(intype);
-
- if (!obj) {
- if (ScriptServer::is_global_class(intype)) {
- obj = EditorNode::get_editor_data().script_class_instance(intype);
- } else {
- obj = EditorNode::get_editor_data().instance_custom_type(intype, "Resource");
- }
- }
-
- ERR_BREAK(!obj);
- Resource *res = Object::cast_to<Resource>(obj);
- ERR_BREAK(!res);
- if (owner && hint == PROPERTY_HINT_RESOURCE_TYPE && hint_text == "Script") {
- //make visual script the right type
- res->call("set_instance_base_type", owner->get_class());
- }
-
- EditorNode::get_editor_data().instantiate_object_properties(obj);
- v = obj;
-
- emit_signal(SNAME("variant_changed"));
-
- } break;
- }
-
- } break;
- default: {
- }
- }
-}
-
-void CustomPropertyEditor::hide_menu() {
- menu->hide();
-}
-
-Variant CustomPropertyEditor::get_variant() const {
- return v;
-}
-
-String CustomPropertyEditor::get_name() const {
- return name;
-}
-
-bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant::Type p_type, const Variant &p_variant, int p_hint, String p_hint_text) {
- owner = p_owner;
- updating = true;
- name = p_name;
- v = p_variant;
- field_names.clear();
- hint = p_hint;
- hint_text = p_hint_text;
- type_button->hide();
- if (color_picker) {
- color_picker->hide();
- }
- texture_preview->hide();
- inheritors_array.clear();
- text_edit->hide();
- easing_draw->hide();
- spinbox->hide();
- slider->hide();
- menu->clear();
- menu->reset_size();
-
- for (int i = 0; i < MAX_VALUE_EDITORS; i++) {
- if (i < MAX_VALUE_EDITORS / 4) {
- value_hboxes[i]->hide();
- }
- value_editor[i]->hide();
- value_label[i]->hide();
- if (i < 4) {
- scroll[i]->hide();
- }
- }
-
- for (int i = 0; i < MAX_ACTION_BUTTONS; i++) {
- action_buttons[i]->hide();
- }
-
- checks20gc->hide();
- for (int i = 0; i < 20; i++) {
- checks20[i]->hide();
- }
-
- type = (p_variant.get_type() != Variant::NIL && p_variant.get_type() != Variant::RID && p_type != Variant::OBJECT) ? p_variant.get_type() : p_type;
-
- switch (type) {
- case Variant::BOOL: {
- checks20gc->show();
-
- CheckBox *c = checks20[0];
- c->set_text("True");
- checks20gc->set_position(Vector2(4, 4) * EDSCALE);
- c->set_pressed(v);
- c->show();
-
- checks20gc->set_size(checks20gc->get_minimum_size());
- set_size(checks20gc->get_position() + checks20gc->get_size() + c->get_size() + Vector2(4, 4) * EDSCALE);
-
- } break;
- case Variant::INT:
- case Variant::FLOAT: {
- if (hint == PROPERTY_HINT_RANGE) {
- int c = hint_text.get_slice_count(",");
- float min = 0, max = 100, step = type == Variant::FLOAT ? .01 : 1;
- if (c >= 1) {
- if (!hint_text.get_slice(",", 0).is_empty()) {
- min = hint_text.get_slice(",", 0).to_float();
- }
- }
- if (c >= 2) {
- if (!hint_text.get_slice(",", 1).is_empty()) {
- max = hint_text.get_slice(",", 1).to_float();
- }
- }
-
- if (c >= 3) {
- if (!hint_text.get_slice(",", 2).is_empty()) {
- step = hint_text.get_slice(",", 2).to_float();
- }
- }
-
- if (c >= 4 && hint_text.get_slice(",", 3) == "slider") {
- slider->set_min(min);
- slider->set_max(max);
- slider->set_step(step);
- slider->set_value(v);
- slider->show();
- set_size(Size2(110, 30) * EDSCALE);
- } else {
- spinbox->set_min(min);
- spinbox->set_max(max);
- spinbox->set_step(step);
- spinbox->set_value(v);
- spinbox->show();
- set_size(Size2(70, 35) * EDSCALE);
- }
-
- } else if (hint == PROPERTY_HINT_ENUM) {
- Vector<String> options = hint_text.split(",");
- int current_val = 0;
- for (int i = 0; i < options.size(); i++) {
- Vector<String> text_split = options[i].split(":");
- if (text_split.size() != 1) {
- current_val = text_split[1].to_int();
- }
- menu->add_item(text_split[0]);
- menu->set_item_metadata(i, current_val);
- current_val += 1;
- }
- menu->set_position(get_position());
- menu->popup();
- hide();
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_LAYERS_2D_PHYSICS ||
- hint == PROPERTY_HINT_LAYERS_2D_RENDER ||
- hint == PROPERTY_HINT_LAYERS_2D_NAVIGATION ||
- hint == PROPERTY_HINT_LAYERS_3D_PHYSICS ||
- hint == PROPERTY_HINT_LAYERS_3D_RENDER ||
- hint == PROPERTY_HINT_LAYERS_3D_NAVIGATION) {
- String basename;
- switch (hint) {
- case PROPERTY_HINT_LAYERS_2D_RENDER:
- basename = "layer_names/2d_render";
- break;
- case PROPERTY_HINT_LAYERS_2D_PHYSICS:
- basename = "layer_names/2d_physics";
- break;
- case PROPERTY_HINT_LAYERS_2D_NAVIGATION:
- basename = "layer_names/2d_navigation";
- break;
- case PROPERTY_HINT_LAYERS_3D_RENDER:
- basename = "layer_names/3d_render";
- break;
- case PROPERTY_HINT_LAYERS_3D_PHYSICS:
- basename = "layer_names/3d_physics";
- break;
- case PROPERTY_HINT_LAYERS_3D_NAVIGATION:
- basename = "layer_names/3d_navigation";
- break;
- }
-
- checks20gc->show();
- uint32_t flgs = v;
- for (int i = 0; i < 2; i++) {
- Point2 ofs(4, 4);
- ofs.y += 22 * i;
- for (int j = 0; j < 10; j++) {
- int idx = i * 10 + j;
- CheckBox *c = checks20[idx];
- c->set_text(ProjectSettings::get_singleton()->get(basename + "/layer_" + itos(idx + 1)));
- c->set_pressed(flgs & (1 << (i * 10 + j)));
- c->show();
- }
- }
-
- show();
-
- checks20gc->set_position(Vector2(4, 4) * EDSCALE);
- checks20gc->set_size(checks20gc->get_minimum_size());
-
- set_size(Vector2(4, 4) * EDSCALE + checks20gc->get_position() + checks20gc->get_size());
-
- } else if (hint == PROPERTY_HINT_EXP_EASING) {
- easing_draw->set_anchor_and_offset(SIDE_LEFT, Control::ANCHOR_BEGIN, 5 * EDSCALE);
- easing_draw->set_anchor_and_offset(SIDE_RIGHT, Control::ANCHOR_END, -5 * EDSCALE);
- easing_draw->set_anchor_and_offset(SIDE_TOP, Control::ANCHOR_BEGIN, 5 * EDSCALE);
- easing_draw->set_anchor_and_offset(SIDE_BOTTOM, Control::ANCHOR_END, -30 * EDSCALE);
- type_button->set_anchor_and_offset(SIDE_LEFT, Control::ANCHOR_BEGIN, 3 * EDSCALE);
- type_button->set_anchor_and_offset(SIDE_RIGHT, Control::ANCHOR_END, -3 * EDSCALE);
- type_button->set_anchor_and_offset(SIDE_TOP, Control::ANCHOR_END, -25 * EDSCALE);
- type_button->set_anchor_and_offset(SIDE_BOTTOM, Control::ANCHOR_END, -7 * EDSCALE);
- type_button->set_text(TTR("Preset..."));
- type_button->get_popup()->clear();
- type_button->get_popup()->add_item(TTR("Linear"), EASING_LINEAR);
- type_button->get_popup()->add_item(TTR("Ease In"), EASING_EASE_IN);
- type_button->get_popup()->add_item(TTR("Ease Out"), EASING_EASE_OUT);
- if (hint_text != "attenuation") {
- type_button->get_popup()->add_item(TTR("Zero"), EASING_ZERO);
- type_button->get_popup()->add_item(TTR("Easing In-Out"), EASING_IN_OUT);
- type_button->get_popup()->add_item(TTR("Easing Out-In"), EASING_OUT_IN);
- }
-
- type_button->show();
- easing_draw->show();
- set_size(Size2(200, 150) * EDSCALE);
- } else if (hint == PROPERTY_HINT_FLAGS) {
- Vector<String> flags = hint_text.split(",");
- for (int i = 0; i < flags.size(); i++) {
- String flag = flags[i];
- if (flag.is_empty()) {
- continue;
- }
- menu->add_check_item(flag, i);
- int f = v;
- if (f & (1 << i)) {
- menu->set_item_checked(menu->get_item_index(i), true);
- }
- }
- menu->set_position(get_position());
- menu->popup();
- hide();
- updating = false;
- return false;
-
- } else {
- List<String> names;
- names.push_back("value:");
- config_value_editors(1, 1, 50, names);
- value_editor[0]->set_text(TS->format_number(String::num(v)));
- }
-
- } break;
- case Variant::STRING: {
- if (hint == PROPERTY_HINT_LOCALE_ID) {
- List<String> names;
- names.push_back(TTR("Locale..."));
- names.push_back(TTR("Clear"));
- config_action_buttons(names);
- } else if (hint == PROPERTY_HINT_FILE || hint == PROPERTY_HINT_GLOBAL_FILE) {
- List<String> names;
- names.push_back(TTR("File..."));
- names.push_back(TTR("Clear"));
- config_action_buttons(names);
- } else if (hint == PROPERTY_HINT_DIR || hint == PROPERTY_HINT_GLOBAL_DIR) {
- List<String> names;
- names.push_back(TTR("Dir..."));
- names.push_back(TTR("Clear"));
- config_action_buttons(names);
- } else if (hint == PROPERTY_HINT_ENUM) {
- Vector<String> options = hint_text.split(",");
- for (int i = 0; i < options.size(); i++) {
- menu->add_item(options[i], i);
- }
- menu->set_position(get_position());
- menu->popup();
- hide();
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_MULTILINE_TEXT) {
- text_edit->show();
- text_edit->set_text(v);
- text_edit->deselect();
-
- int button_margin = text_edit->get_theme_constant(SNAME("button_margin"), SNAME("Dialogs"));
- int margin = text_edit->get_theme_constant(SNAME("margin"), SNAME("Dialogs"));
-
- action_buttons[0]->set_anchor(SIDE_LEFT, Control::ANCHOR_END);
- action_buttons[0]->set_anchor(SIDE_TOP, Control::ANCHOR_END);
- action_buttons[0]->set_anchor(SIDE_RIGHT, Control::ANCHOR_END);
- action_buttons[0]->set_anchor(SIDE_BOTTOM, Control::ANCHOR_END);
- action_buttons[0]->set_begin(Point2(-70 * EDSCALE, -button_margin + 5 * EDSCALE));
- action_buttons[0]->set_end(Point2(-margin, -margin));
- action_buttons[0]->set_text(TTR("Close"));
- action_buttons[0]->show();
-
- } else if (hint == PROPERTY_HINT_TYPE_STRING) {
- if (!create_dialog) {
- create_dialog = memnew(CreateDialog);
- create_dialog->connect("create", callable_mp(this, &CustomPropertyEditor::_create_dialog_callback));
- add_child(create_dialog);
- }
-
- if (!hint_text.is_empty()) {
- create_dialog->set_base_type(hint_text);
- } else {
- create_dialog->set_base_type("Object");
- }
-
- create_dialog->popup_create(false);
- hide();
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_METHOD_OF_VARIANT_TYPE) {
-#define MAKE_PROPSELECT \
- if (!property_select) { \
- property_select = memnew(PropertySelector); \
- property_select->connect("selected", callable_mp(this, &CustomPropertyEditor::_create_selected_property)); \
- add_child(property_select); \
- } \
- hide();
-
- MAKE_PROPSELECT;
-
- Variant::Type type = Variant::NIL;
- for (int i = 0; i < Variant::VARIANT_MAX; i++) {
- if (hint_text == Variant::get_type_name(Variant::Type(i))) {
- type = Variant::Type(i);
- }
- }
- if (type != Variant::NIL) {
- property_select->select_method_from_basic_type(type, v);
- }
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_METHOD_OF_BASE_TYPE) {
- MAKE_PROPSELECT
-
- property_select->select_method_from_base_type(hint_text, v);
-
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_METHOD_OF_INSTANCE) {
- MAKE_PROPSELECT
-
- Object *instance = ObjectDB::get_instance(ObjectID(hint_text.to_int()));
- if (instance) {
- property_select->select_method_from_instance(instance, v);
- }
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_METHOD_OF_SCRIPT) {
- MAKE_PROPSELECT
-
- Object *obj = ObjectDB::get_instance(ObjectID(hint_text.to_int()));
- if (Object::cast_to<Script>(obj)) {
- property_select->select_method_from_script(Object::cast_to<Script>(obj), v);
- }
-
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_PROPERTY_OF_VARIANT_TYPE) {
- MAKE_PROPSELECT
- Variant::Type type = Variant::NIL;
- String tname = hint_text;
- if (tname.contains(".")) {
- tname = tname.get_slice(".", 0);
- }
- for (int i = 0; i < Variant::VARIANT_MAX; i++) {
- if (tname == Variant::get_type_name(Variant::Type(i))) {
- type = Variant::Type(Variant::Type(i));
- }
- }
-
- if (type != Variant::NIL) {
- property_select->select_property_from_basic_type(type, v);
- }
-
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_PROPERTY_OF_BASE_TYPE) {
- MAKE_PROPSELECT
-
- property_select->select_property_from_base_type(hint_text, v);
-
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_PROPERTY_OF_INSTANCE) {
- MAKE_PROPSELECT
-
- Object *instance = ObjectDB::get_instance(ObjectID(hint_text.to_int()));
- if (instance) {
- property_select->select_property_from_instance(instance, v);
- }
-
- updating = false;
- return false;
-
- } else if (hint == PROPERTY_HINT_PROPERTY_OF_SCRIPT) {
- MAKE_PROPSELECT
-
- Object *obj = ObjectDB::get_instance(ObjectID(hint_text.to_int()));
- if (Object::cast_to<Script>(obj)) {
- property_select->select_property_from_script(Object::cast_to<Script>(obj), v);
- }
-
- updating = false;
- return false;
-
- } else {
- List<String> names;
- names.push_back("string:");
- config_value_editors(1, 1, 50, names);
- value_editor[0]->set_text(v);
- }
-
- } break;
- case Variant::VECTOR2: {
- field_names.push_back("x");
- field_names.push_back("y");
- config_value_editors(2, 2, 10, field_names);
- Vector2 vec = v;
- value_editor[0]->set_text(String::num(vec.x));
- value_editor[1]->set_text(String::num(vec.y));
- } break;
- case Variant::RECT2: {
- field_names.push_back("x");
- field_names.push_back("y");
- field_names.push_back("w");
- field_names.push_back("h");
- config_value_editors(4, 4, 10, field_names);
- Rect2 r = v;
- value_editor[0]->set_text(String::num(r.position.x));
- value_editor[1]->set_text(String::num(r.position.y));
- value_editor[2]->set_text(String::num(r.size.x));
- value_editor[3]->set_text(String::num(r.size.y));
- } break;
- case Variant::VECTOR3: {
- field_names.push_back("x");
- field_names.push_back("y");
- field_names.push_back("z");
- config_value_editors(3, 3, 10, field_names);
- Vector3 vec = v;
- value_editor[0]->set_text(String::num(vec.x));
- value_editor[1]->set_text(String::num(vec.y));
- value_editor[2]->set_text(String::num(vec.z));
- } break;
- case Variant::PLANE: {
- field_names.push_back("x");
- field_names.push_back("y");
- field_names.push_back("z");
- field_names.push_back("d");
- config_value_editors(4, 4, 10, field_names);
- Plane plane = v;
- value_editor[0]->set_text(String::num(plane.normal.x));
- value_editor[1]->set_text(String::num(plane.normal.y));
- value_editor[2]->set_text(String::num(plane.normal.z));
- value_editor[3]->set_text(String::num(plane.d));
-
- } break;
- case Variant::QUATERNION: {
- field_names.push_back("x");
- field_names.push_back("y");
- field_names.push_back("z");
- field_names.push_back("w");
- config_value_editors(4, 4, 10, field_names);
- Quaternion q = v;
- value_editor[0]->set_text(String::num(q.x));
- value_editor[1]->set_text(String::num(q.y));
- value_editor[2]->set_text(String::num(q.z));
- value_editor[3]->set_text(String::num(q.w));
-
- } break;
- case Variant::AABB: {
- field_names.push_back("px");
- field_names.push_back("py");
- field_names.push_back("pz");
- field_names.push_back("sx");
- field_names.push_back("sy");
- field_names.push_back("sz");
- config_value_editors(6, 3, 16, field_names);
-
- AABB aabb = v;
- value_editor[0]->set_text(String::num(aabb.position.x));
- value_editor[1]->set_text(String::num(aabb.position.y));
- value_editor[2]->set_text(String::num(aabb.position.z));
- value_editor[3]->set_text(String::num(aabb.size.x));
- value_editor[4]->set_text(String::num(aabb.size.y));
- value_editor[5]->set_text(String::num(aabb.size.z));
-
- } break;
- case Variant::TRANSFORM2D: {
- field_names.push_back("xx");
- field_names.push_back("xy");
- field_names.push_back("yx");
- field_names.push_back("yy");
- field_names.push_back("ox");
- field_names.push_back("oy");
- config_value_editors(6, 2, 16, field_names);
-
- Transform2D basis = v;
- for (int i = 0; i < 6; i++) {
- value_editor[i]->set_text(String::num(basis.columns[i / 2][i % 2]));
- }
-
- } break;
- case Variant::BASIS: {
- field_names.push_back("xx");
- field_names.push_back("xy");
- field_names.push_back("xz");
- field_names.push_back("yx");
- field_names.push_back("yy");
- field_names.push_back("yz");
- field_names.push_back("zx");
- field_names.push_back("zy");
- field_names.push_back("zz");
- config_value_editors(9, 3, 16, field_names);
-
- Basis basis = v;
- for (int i = 0; i < 9; i++) {
- value_editor[i]->set_text(String::num(basis.rows[i / 3][i % 3]));
- }
-
- } break;
- case Variant::TRANSFORM3D: {
- field_names.push_back("xx");
- field_names.push_back("xy");
- field_names.push_back("xz");
- field_names.push_back("xo");
- field_names.push_back("yx");
- field_names.push_back("yy");
- field_names.push_back("yz");
- field_names.push_back("yo");
- field_names.push_back("zx");
- field_names.push_back("zy");
- field_names.push_back("zz");
- field_names.push_back("zo");
- config_value_editors(12, 4, 16, field_names);
-
- Transform3D tr = v;
- for (int i = 0; i < 9; i++) {
- value_editor[(i / 3) * 4 + i % 3]->set_text(String::num(tr.basis.rows[i / 3][i % 3]));
- }
-
- value_editor[3]->set_text(String::num(tr.origin.x));
- value_editor[7]->set_text(String::num(tr.origin.y));
- value_editor[11]->set_text(String::num(tr.origin.z));
-
- } break;
- case Variant::COLOR: {
- if (!color_picker) {
- //late init for performance
- color_picker = memnew(ColorPicker);
- color_picker->set_deferred_mode(true);
- value_vbox->add_child(color_picker);
- color_picker->hide();
- color_picker->connect("color_changed", callable_mp(this, &CustomPropertyEditor::_color_changed));
-
- // get default color picker mode from editor settings
- int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
- if (default_color_mode == 1) {
- color_picker->set_hsv_mode(true);
- } else if (default_color_mode == 2) {
- color_picker->set_raw_mode(true);
- }
-
- int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
- color_picker->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
- }
-
- color_picker->show();
- color_picker->set_edit_alpha(hint != PROPERTY_HINT_COLOR_NO_ALPHA);
- color_picker->set_pick_color(v);
- color_picker->set_focus_on_line_edit();
-
- } break;
-
- case Variant::NODE_PATH: {
- List<String> names;
- names.push_back(TTR("Assign"));
- names.push_back(TTR("Clear"));
-
- if (owner && owner->is_class("Node") && (v.get_type() == Variant::NODE_PATH) && Object::cast_to<Node>(owner)->has_node(v)) {
- names.push_back(TTR("Select Node"));
- }
-
- config_action_buttons(names);
-
- } break;
- case Variant::OBJECT: {
- if (hint != PROPERTY_HINT_RESOURCE_TYPE) {
- break;
- }
-
- if (p_name == "script" && hint_text == "Script" && Object::cast_to<Node>(owner)) {
- menu->add_item(TTR("New Script"), OBJ_MENU_NEW_SCRIPT);
- menu->add_separator();
- } else if (!hint_text.is_empty()) {
- int idx = 0;
-
- Vector<EditorData::CustomType> custom_resources;
-
- if (EditorNode::get_editor_data().get_custom_types().has("Resource")) {
- custom_resources = EditorNode::get_editor_data().get_custom_types()["Resource"];
- }
-
- for (int i = 0; i < hint_text.get_slice_count(","); i++) {
- String base = hint_text.get_slice(",", i);
-
- HashSet<String> valid_inheritors;
- valid_inheritors.insert(base);
- List<StringName> inheritors;
- ClassDB::get_inheriters_from_class(base.strip_edges(), &inheritors);
-
- for (int j = 0; j < custom_resources.size(); j++) {
- inheritors.push_back(custom_resources[j].name);
- }
-
- List<StringName>::Element *E = inheritors.front();
- while (E) {
- valid_inheritors.insert(E->get());
- E = E->next();
- }
-
- for (const String &j : valid_inheritors) {
- const String &t = j;
-
- bool is_custom_resource = false;
- Ref<Texture2D> icon;
- if (!custom_resources.is_empty()) {
- for (int k = 0; k < custom_resources.size(); k++) {
- if (custom_resources[k].name == t) {
- is_custom_resource = true;
- if (custom_resources[k].icon.is_valid()) {
- icon = custom_resources[k].icon;
- }
- break;
- }
- }
- }
-
- if (!is_custom_resource && (!ClassDB::can_instantiate(t) || ClassDB::is_virtual(t))) {
- continue;
- }
-
- inheritors_array.push_back(t);
-
- int id = TYPE_BASE_ID + idx;
-
- menu->add_item(vformat(TTR("New %s"), t), id);
-
- idx++;
- }
- }
-
- if (menu->get_item_count()) {
- menu->add_separator();
- }
- }
-
- menu->add_item(TTR("Load"), OBJ_MENU_LOAD);
-
- if (!Ref<Resource>(v).is_null()) {
- menu->add_item(TTR("Edit"), OBJ_MENU_EDIT);
- menu->add_item(TTR("Clear"), OBJ_MENU_CLEAR);
- menu->add_item(TTR("Make Unique"), OBJ_MENU_MAKE_UNIQUE);
-
- Ref<Resource> r = v;
- if (r.is_valid() && r->get_path().is_resource_file()) {
- menu->add_separator();
- menu->add_item(TTR("Show in FileSystem"), OBJ_MENU_SHOW_IN_FILE_SYSTEM);
- }
- }
-
- Ref<Resource> cb = EditorSettings::get_singleton()->get_resource_clipboard();
- bool paste_valid = false;
- if (cb.is_valid()) {
- if (hint_text.is_empty()) {
- paste_valid = true;
- } else {
- for (int i = 0; i < hint_text.get_slice_count(","); i++) {
- if (ClassDB::is_parent_class(cb->get_class(), hint_text.get_slice(",", i))) {
- paste_valid = true;
- break;
- }
- }
- }
- }
-
- if (!Ref<Resource>(v).is_null() || paste_valid) {
- menu->add_separator();
-
- if (!Ref<Resource>(v).is_null()) {
- menu->add_item(TTR("Copy"), OBJ_MENU_COPY);
- }
-
- if (paste_valid) {
- menu->add_item(TTR("Paste"), OBJ_MENU_PASTE);
- }
- }
-
- if (!Ref<Resource>(v).is_null()) {
- Vector<Ref<EditorResourceConversionPlugin>> conversions = EditorNode::get_singleton()->find_resource_conversion_plugin(Ref<Resource>(v));
- if (conversions.size()) {
- menu->add_separator();
- }
- for (int i = 0; i < conversions.size(); i++) {
- String what = conversions[i]->converts_to();
- menu->add_item(vformat(TTR("Convert to %s"), what), CONVERT_BASE_ID + i);
- }
- }
-
- menu->set_position(get_position());
- menu->popup();
- hide();
- updating = false;
- return false;
- } break;
- case Variant::DICTIONARY: {
- } break;
- case Variant::PACKED_BYTE_ARRAY: {
- } break;
- case Variant::PACKED_INT32_ARRAY: {
- } break;
- case Variant::PACKED_FLOAT32_ARRAY: {
- } break;
- case Variant::PACKED_INT64_ARRAY: {
- } break;
- case Variant::PACKED_FLOAT64_ARRAY: {
- } break;
- case Variant::PACKED_STRING_ARRAY: {
- } break;
- case Variant::PACKED_VECTOR3_ARRAY: {
- } break;
- case Variant::PACKED_COLOR_ARRAY: {
- } break;
- default: {
- }
- }
-
- updating = false;
- return true;
-}
-
-void CustomPropertyEditor::_file_selected(String p_file) {
- switch (type) {
- case Variant::STRING: {
- if (hint == PROPERTY_HINT_FILE || hint == PROPERTY_HINT_DIR) {
- v = ProjectSettings::get_singleton()->localize_path(p_file);
- emit_signal(SNAME("variant_changed"));
- hide();
- }
-
- if (hint == PROPERTY_HINT_GLOBAL_FILE || hint == PROPERTY_HINT_GLOBAL_DIR) {
- v = p_file;
- emit_signal(SNAME("variant_changed"));
- hide();
- }
-
- } break;
- case Variant::OBJECT: {
- String type = (hint == PROPERTY_HINT_RESOURCE_TYPE) ? hint_text : String();
-
- Ref<Resource> res = ResourceLoader::load(p_file, type);
- if (res.is_null()) {
- error->set_text(TTR("Error loading file: Not a resource!"));
- error->popup_centered();
- break;
- }
- v = res;
- emit_signal(SNAME("variant_changed"));
- hide();
- } break;
- default: {
- }
- }
-}
-
-void CustomPropertyEditor::_locale_selected(String p_locale) {
- if (type == Variant::STRING && hint == PROPERTY_HINT_LOCALE_ID) {
- v = p_locale;
- emit_signal(SNAME("variant_changed"));
- hide();
- }
-}
-
-void CustomPropertyEditor::_type_create_selected(int p_idx) {
- if (type == Variant::INT || type == Variant::FLOAT) {
- float newval = 0;
- switch (p_idx) {
- case EASING_LINEAR: {
- newval = 1;
- } break;
- case EASING_EASE_IN: {
- newval = 2.0;
- } break;
- case EASING_EASE_OUT: {
- newval = 0.5;
- } break;
- case EASING_ZERO: {
- newval = 0;
- } break;
- case EASING_IN_OUT: {
- newval = -0.5;
- } break;
- case EASING_OUT_IN: {
- newval = -2.0;
- } break;
- }
-
- v = newval;
- emit_signal(SNAME("variant_changed"));
- easing_draw->update();
-
- } else if (type == Variant::OBJECT) {
- ERR_FAIL_INDEX(p_idx, inheritors_array.size());
-
- String intype = inheritors_array[p_idx];
-
- Variant obj = ClassDB::instantiate(intype);
-
- if (!obj) {
- if (ScriptServer::is_global_class(intype)) {
- obj = EditorNode::get_editor_data().script_class_instance(intype);
- } else {
- obj = EditorNode::get_editor_data().instance_custom_type(intype, "Resource");
- }
- }
-
- ERR_FAIL_COND(!obj);
- ERR_FAIL_COND(!Object::cast_to<Resource>(obj));
-
- EditorNode::get_editor_data().instantiate_object_properties(obj);
- v = obj;
-
- emit_signal(SNAME("variant_changed"));
- hide();
- }
-}
-
-void CustomPropertyEditor::_color_changed(const Color &p_color) {
- v = p_color;
- emit_signal(SNAME("variant_changed"));
-}
-
-void CustomPropertyEditor::_node_path_selected(NodePath p_path) {
- if (picking_viewport) {
- Node *to_node = get_node(p_path);
- if (!Object::cast_to<Viewport>(to_node)) {
- EditorNode::get_singleton()->show_warning(TTR("Selected node is not a Viewport!"));
- return;
- }
-
- Ref<ViewportTexture> vt;
- vt.instantiate();
- vt->set_viewport_path_in_scene(get_tree()->get_edited_scene_root()->get_path_to(to_node));
- vt->setup_local_to_scene();
- v = vt;
- emit_signal(SNAME("variant_changed"));
- return;
- }
-
- if (hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && !hint_text.is_empty()) {
- Node *node = get_node(hint_text);
- if (node) {
- Node *tonode = node->get_node(p_path);
- if (tonode) {
- p_path = node->get_path_to(tonode);
- }
- }
-
- } else if (owner) {
- Node *node = nullptr;
-
- if (owner->is_class("Node")) {
- node = Object::cast_to<Node>(owner);
- } else if (owner->is_class("ArrayPropertyEdit")) {
- node = Object::cast_to<ArrayPropertyEdit>(owner)->get_node();
- } else if (owner->is_class("DictionaryPropertyEdit")) {
- node = Object::cast_to<DictionaryPropertyEdit>(owner)->get_node();
- }
- if (!node) {
- v = p_path;
- emit_signal(SNAME("variant_changed"));
- call_deferred(SNAME("hide")); //to not mess with dialogs
- return;
- }
-
- Node *tonode = node->get_node(p_path);
- if (tonode) {
- p_path = node->get_path_to(tonode);
- }
- }
-
- v = p_path;
- emit_signal(SNAME("variant_changed"));
- call_deferred(SNAME("hide")); //to not mess with dialogs
-}
-
-void CustomPropertyEditor::_action_pressed(int p_which) {
- if (updating) {
- return;
- }
-
- switch (type) {
- case Variant::BOOL: {
- v = checks20[0]->is_pressed();
- emit_signal(SNAME("variant_changed"));
- } break;
- case Variant::INT: {
- if (hint == PROPERTY_HINT_LAYERS_2D_PHYSICS ||
- hint == PROPERTY_HINT_LAYERS_2D_RENDER ||
- hint == PROPERTY_HINT_LAYERS_2D_NAVIGATION ||
- hint == PROPERTY_HINT_LAYERS_3D_PHYSICS ||
- hint == PROPERTY_HINT_LAYERS_3D_RENDER ||
- hint == PROPERTY_HINT_LAYERS_3D_NAVIGATION) {
- uint32_t f = v;
- if (checks20[p_which]->is_pressed()) {
- f |= (1 << p_which);
- } else {
- f &= ~(1 << p_which);
- }
-
- v = f;
- emit_signal(SNAME("variant_changed"));
- }
-
- } break;
- case Variant::STRING: {
- if (hint == PROPERTY_HINT_MULTILINE_TEXT) {
- hide();
- } else if (hint == PROPERTY_HINT_LOCALE_ID) {
- locale->popup_locale_dialog();
- } else if (hint == PROPERTY_HINT_FILE || hint == PROPERTY_HINT_GLOBAL_FILE) {
- if (p_which == 0) {
- if (hint == PROPERTY_HINT_FILE) {
- file->set_access(EditorFileDialog::ACCESS_RESOURCES);
- } else {
- file->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
- }
-
- file->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
- file->clear_filters();
-
- file->clear_filters();
-
- if (!hint_text.is_empty()) {
- Vector<String> extensions = hint_text.split(",");
- for (int i = 0; i < extensions.size(); i++) {
- String filter = extensions[i];
- if (filter.begins_with(".")) {
- filter = "*" + extensions[i];
- } else if (!filter.begins_with("*")) {
- filter = "*." + extensions[i];
- }
-
- file->add_filter(filter + " ; " + extensions[i].to_upper());
- }
- }
- file->popup_file_dialog();
- } else {
- v = "";
- emit_signal(SNAME("variant_changed"));
- hide();
- }
-
- } else if (hint == PROPERTY_HINT_DIR || hint == PROPERTY_HINT_GLOBAL_DIR) {
- if (p_which == 0) {
- if (hint == PROPERTY_HINT_DIR) {
- file->set_access(EditorFileDialog::ACCESS_RESOURCES);
- } else {
- file->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
- }
- file->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_DIR);
- file->clear_filters();
- file->popup_file_dialog();
- } else {
- v = "";
- emit_signal(SNAME("variant_changed"));
- hide();
- }
- }
-
- } break;
- case Variant::NODE_PATH: {
- if (p_which == 0) {
- picking_viewport = false;
- scene_tree->set_title(TTR("Pick a Node"));
- scene_tree->popup_scenetree_dialog();
-
- } else if (p_which == 1) {
- v = NodePath();
- emit_signal(SNAME("variant_changed"));
- hide();
- } else if (p_which == 2) {
- if (owner->is_class("Node") && (v.get_type() == Variant::NODE_PATH) && Object::cast_to<Node>(owner)->has_node(v)) {
- Node *target_node = Object::cast_to<Node>(owner)->get_node(v);
- EditorNode::get_singleton()->get_editor_selection()->clear();
- SceneTreeDock::get_singleton()->set_selected(target_node);
- }
-
- hide();
- }
-
- } break;
- case Variant::OBJECT: {
- if (p_which == 0) {
- ERR_FAIL_COND(inheritors_array.is_empty());
-
- String intype = inheritors_array[0];
-
- if (hint == PROPERTY_HINT_RESOURCE_TYPE) {
- Variant obj = ClassDB::instantiate(intype);
-
- if (!obj) {
- if (ScriptServer::is_global_class(intype)) {
- obj = EditorNode::get_editor_data().script_class_instance(intype);
- } else {
- obj = EditorNode::get_editor_data().instance_custom_type(intype, "Resource");
- }
- }
-
- ERR_BREAK(!obj);
- ERR_BREAK(!Object::cast_to<Resource>(obj));
-
- EditorNode::get_editor_data().instantiate_object_properties(obj);
- v = obj;
-
- emit_signal(SNAME("variant_changed"));
- hide();
- }
- } else if (p_which == 1) {
- file->set_access(EditorFileDialog::ACCESS_RESOURCES);
- file->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
- List<String> extensions;
- String type = (hint == PROPERTY_HINT_RESOURCE_TYPE) ? hint_text : String();
-
- ResourceLoader::get_recognized_extensions_for_type(type, &extensions);
- file->clear_filters();
- for (const String &E : extensions) {
- file->add_filter("*." + E + " ; " + E.to_upper());
- }
-
- file->popup_file_dialog();
-
- } else if (p_which == 2) {
- Ref<Resource> r = v;
-
- if (!r.is_null()) {
- emit_signal(SNAME("resource_edit_request"));
- hide();
- }
-
- } else if (p_which == 3) {
- v = Variant();
- emit_signal(SNAME("variant_changed"));
- hide();
- } else if (p_which == 4) {
- Ref<Resource> res_orig = v;
- if (res_orig.is_null()) {
- return;
- }
-
- List<PropertyInfo> property_list;
- res_orig->get_property_list(&property_list);
- List<Pair<String, Variant>> propvalues;
-
- for (const PropertyInfo &pi : property_list) {
- Pair<String, Variant> p;
- if (pi.usage & PROPERTY_USAGE_STORAGE) {
- p.first = pi.name;
- p.second = res_orig->get(pi.name);
- }
-
- propvalues.push_back(p);
- }
-
- Ref<Resource> res = Ref<Resource>(ClassDB::instantiate(res_orig->get_class()));
-
- ERR_FAIL_COND(res.is_null());
-
- for (const Pair<String, Variant> &p : propvalues) {
- res->set(p.first, p.second);
- }
-
- v = res;
- emit_signal(SNAME("variant_changed"));
- hide();
- }
-
- } break;
-
- default: {
- };
- }
-}
-
-void CustomPropertyEditor::_drag_easing(const Ref<InputEvent> &p_ev) {
- Ref<InputEventMouseMotion> mm = p_ev;
-
- if (mm.is_valid() && (mm->get_button_mask() & MouseButton::MASK_LEFT) != MouseButton::NONE) {
- float rel = mm->get_relative().x;
- if (rel == 0) {
- return;
- }
-
- bool flip = hint_text == "attenuation";
-
- if (flip) {
- rel = -rel;
- }
-
- float val = v;
- if (val == 0) {
- return;
- }
- bool sg = val < 0;
- val = Math::absf(val);
-
- val = Math::log(val) / Math::log((float)2.0);
- //logspace
- val += rel * 0.05;
-
- val = Math::pow(2.0f, val);
- if (sg) {
- val = -val;
- }
-
- v = val;
- easing_draw->update();
- emit_signal(SNAME("variant_changed"));
- }
-}
-
-void CustomPropertyEditor::_draw_easing() {
- RID ci = easing_draw->get_canvas_item();
-
- Size2 s = easing_draw->get_size();
- Rect2 r(Point2(), s);
- r = r.grow(3);
- easing_draw->get_theme_stylebox(SNAME("normal"), SNAME("LineEdit"))->draw(ci, r);
-
- int points = 48;
-
- float prev = 1.0;
- float exp = v;
- bool flip = hint_text == "attenuation";
-
- Ref<Font> f = easing_draw->get_theme_font(SNAME("font"), SNAME("Label"));
- int font_size = easing_draw->get_theme_font_size(SNAME("font_size"), SNAME("Label"));
- Color color = easing_draw->get_theme_color(SNAME("font_color"), SNAME("Label"));
-
- for (int i = 1; i <= points; i++) {
- float ifl = i / float(points);
- float iflp = (i - 1) / float(points);
-
- float h = 1.0 - Math::ease(ifl, exp);
-
- if (flip) {
- ifl = 1.0 - ifl;
- iflp = 1.0 - iflp;
- }
-
- RenderingServer::get_singleton()->canvas_item_add_line(ci, Point2(iflp * s.width, prev * s.height), Point2(ifl * s.width, h * s.height), color);
- prev = h;
- }
-
- f->draw_string(ci, Point2(10, 10 + f->get_ascent(font_size)), String::num(exp, 2), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color);
-}
-
-void CustomPropertyEditor::_text_edit_changed() {
- v = text_edit->get_text();
- emit_signal(SNAME("variant_changed"));
-}
-
-void CustomPropertyEditor::_create_dialog_callback() {
- v = create_dialog->get_selected_type();
- emit_signal(SNAME("variant_changed"));
-}
-
-void CustomPropertyEditor::_create_selected_property(const String &p_prop) {
- v = p_prop;
- emit_signal(SNAME("variant_changed"));
-}
-
-void CustomPropertyEditor::_modified(String p_string) {
- if (updating) {
- return;
- }
-
- Variant prev_v = v;
-
- updating = true;
- switch (type) {
- case Variant::INT: {
- String text = TS->parse_number(value_editor[0]->get_text());
- Ref<Expression> expr;
- expr.instantiate();
- Error err = expr->parse(text);
- if (err != OK) {
- v = value_editor[0]->get_text().to_int();
- return;
- } else {
- v = expr->execute(Array(), nullptr, false);
- }
-
- if (v != prev_v) {
- emit_signal(SNAME("variant_changed"));
- }
- } break;
- case Variant::FLOAT: {
- if (hint != PROPERTY_HINT_EXP_EASING) {
- String text = TS->parse_number(value_editor[0]->get_text());
- v = _parse_real_expression(text);
- if (v != prev_v) {
- emit_signal(SNAME("variant_changed"));
- }
- }
-
- } break;
- case Variant::STRING: {
- v = value_editor[0]->get_text();
- emit_signal(SNAME("variant_changed"));
- } break;
- case Variant::VECTOR2: {
- Vector2 vec;
- vec.x = _parse_real_expression(value_editor[0]->get_text());
- vec.y = _parse_real_expression(value_editor[1]->get_text());
- v = vec;
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::RECT2: {
- Rect2 r2;
-
- r2.position.x = _parse_real_expression(value_editor[0]->get_text());
- r2.position.y = _parse_real_expression(value_editor[1]->get_text());
- r2.size.x = _parse_real_expression(value_editor[2]->get_text());
- r2.size.y = _parse_real_expression(value_editor[3]->get_text());
- v = r2;
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
-
- case Variant::VECTOR3: {
- Vector3 vec;
- vec.x = _parse_real_expression(value_editor[0]->get_text());
- vec.y = _parse_real_expression(value_editor[1]->get_text());
- vec.z = _parse_real_expression(value_editor[2]->get_text());
- v = vec;
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::PLANE: {
- Plane pl;
- pl.normal.x = _parse_real_expression(value_editor[0]->get_text());
- pl.normal.y = _parse_real_expression(value_editor[1]->get_text());
- pl.normal.z = _parse_real_expression(value_editor[2]->get_text());
- pl.d = _parse_real_expression(value_editor[3]->get_text());
- v = pl;
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::QUATERNION: {
- Quaternion q;
- q.x = _parse_real_expression(value_editor[0]->get_text());
- q.y = _parse_real_expression(value_editor[1]->get_text());
- q.z = _parse_real_expression(value_editor[2]->get_text());
- q.w = _parse_real_expression(value_editor[3]->get_text());
- v = q;
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::AABB: {
- Vector3 pos;
- Vector3 size;
-
- pos.x = _parse_real_expression(value_editor[0]->get_text());
- pos.y = _parse_real_expression(value_editor[1]->get_text());
- pos.z = _parse_real_expression(value_editor[2]->get_text());
- size.x = _parse_real_expression(value_editor[3]->get_text());
- size.y = _parse_real_expression(value_editor[4]->get_text());
- size.z = _parse_real_expression(value_editor[5]->get_text());
- v = AABB(pos, size);
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::TRANSFORM2D: {
- Transform2D m;
- for (int i = 0; i < 6; i++) {
- m.columns[i / 2][i % 2] = _parse_real_expression(value_editor[i]->get_text());
- }
-
- v = m;
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::BASIS: {
- Basis m;
- for (int i = 0; i < 9; i++) {
- m.rows[i / 3][i % 3] = _parse_real_expression(value_editor[i]->get_text());
- }
-
- v = m;
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::TRANSFORM3D: {
- Basis basis;
- for (int i = 0; i < 9; i++) {
- basis.rows[i / 3][i % 3] = _parse_real_expression(value_editor[(i / 3) * 4 + i % 3]->get_text());
- }
-
- Vector3 origin;
-
- origin.x = _parse_real_expression(value_editor[3]->get_text());
- origin.y = _parse_real_expression(value_editor[7]->get_text());
- origin.z = _parse_real_expression(value_editor[11]->get_text());
-
- v = Transform3D(basis, origin);
- if (v != prev_v) {
- _emit_changed_whole_or_field();
- }
-
- } break;
- case Variant::COLOR: {
- } break;
-
- case Variant::NODE_PATH: {
- v = NodePath(value_editor[0]->get_text());
- if (v != prev_v) {
- emit_signal(SNAME("variant_changed"));
- }
- } break;
- case Variant::DICTIONARY: {
- } break;
- case Variant::PACKED_BYTE_ARRAY: {
- } break;
- case Variant::PACKED_INT32_ARRAY: {
- } break;
- case Variant::PACKED_FLOAT32_ARRAY: {
- } break;
- case Variant::PACKED_STRING_ARRAY: {
- } break;
- case Variant::PACKED_VECTOR3_ARRAY: {
- } break;
- case Variant::PACKED_COLOR_ARRAY: {
- } break;
- default: {
- }
- }
-
- updating = false;
-}
-
-real_t CustomPropertyEditor::_parse_real_expression(String text) {
- Ref<Expression> expr;
- expr.instantiate();
- Error err = expr->parse(text);
- real_t out;
- if (err != OK) {
- out = value_editor[0]->get_text().to_float();
- } else {
- out = expr->execute(Array(), nullptr, false);
- }
- return out;
-}
-
-void CustomPropertyEditor::_emit_changed_whole_or_field() {
- if (!Input::get_singleton()->is_key_pressed(Key::SHIFT)) {
- emit_signal(SNAME("variant_changed"));
- } else {
- emit_signal(SNAME("variant_field_changed"), field_names[focused_value_editor]);
- }
-}
-
-void CustomPropertyEditor::_range_modified(double p_value) {
- v = p_value;
- emit_signal(SNAME("variant_changed"));
-}
-
-void CustomPropertyEditor::_focus_enter() {
- switch (type) {
- case Variant::FLOAT:
- case Variant::STRING:
- case Variant::VECTOR2:
- case Variant::RECT2:
- case Variant::VECTOR3:
- case Variant::PLANE:
- case Variant::QUATERNION:
- case Variant::AABB:
- case Variant::TRANSFORM2D:
- case Variant::BASIS:
- case Variant::TRANSFORM3D: {
- for (int i = 0; i < MAX_VALUE_EDITORS; ++i) {
- if (value_editor[i]->has_focus()) {
- focused_value_editor = i;
- value_editor[i]->select_all();
- break;
- }
- }
- } break;
- default: {
- }
- }
-}
-
-void CustomPropertyEditor::_focus_exit() {
- _modified(String());
-}
-
-void CustomPropertyEditor::config_action_buttons(const List<String> &p_strings) {
- Ref<StyleBox> sb = action_buttons[0]->get_theme_stylebox(SNAME("button"));
- int margin_top = sb->get_margin(SIDE_TOP);
- int margin_left = sb->get_margin(SIDE_LEFT);
- int margin_bottom = sb->get_margin(SIDE_BOTTOM);
- int margin_right = sb->get_margin(SIDE_RIGHT);
-
- int max_width = 0;
- int height = 0;
-
- for (int i = 0; i < MAX_ACTION_BUTTONS; i++) {
- if (i < p_strings.size()) {
- action_buttons[i]->show();
- action_buttons[i]->set_text(p_strings[i]);
-
- Size2 btn_m_size = action_buttons[i]->get_minimum_size();
- if (btn_m_size.width > max_width) {
- max_width = btn_m_size.width;
- }
-
- } else {
- action_buttons[i]->hide();
- }
- }
-
- for (int i = 0; i < p_strings.size(); i++) {
- Size2 btn_m_size = action_buttons[i]->get_size();
- action_buttons[i]->set_position(Point2(0, height) + Point2(margin_left, margin_top));
- action_buttons[i]->set_size(Size2(max_width, btn_m_size.height));
-
- height += btn_m_size.height;
- }
- set_size(Size2(max_width, height) + Size2(margin_left + margin_right, margin_top + margin_bottom));
-}
-
-void CustomPropertyEditor::config_value_editors(int p_amount, int p_columns, int p_label_w, const List<String> &p_strings) {
- int cell_width = 95;
- int cell_height = 25;
- int cell_margin = 5;
- int rows = ((p_amount - 1) / p_columns) + 1;
-
- set_size(Size2(cell_margin + p_label_w + (cell_width + cell_margin + p_label_w) * p_columns, cell_margin + (cell_height + cell_margin) * rows) * EDSCALE);
-
- for (int i = 0; i < MAX_VALUE_EDITORS; i++) {
- value_label[i]->get_parent()->remove_child(value_label[i]);
- value_editor[i]->get_parent()->remove_child(value_editor[i]);
-
- int box_id = i / p_columns;
- value_hboxes[box_id]->add_child(value_label[i]);
- value_hboxes[box_id]->add_child(value_editor[i]);
-
- if (i < MAX_VALUE_EDITORS / 4) {
- if (i <= p_amount / 4) {
- value_hboxes[i]->show();
- } else {
- value_hboxes[i]->hide();
- }
- }
-
- if (i < p_amount) {
- value_editor[i]->show();
- value_label[i]->show();
- value_label[i]->set_text(i < p_strings.size() ? p_strings[i] : String(""));
- value_editor[i]->set_editable(!read_only);
- } else {
- value_editor[i]->hide();
- value_label[i]->hide();
- }
- }
-}
-
-void CustomPropertyEditor::_bind_methods() {
- ADD_SIGNAL(MethodInfo("variant_changed"));
- ADD_SIGNAL(MethodInfo("variant_field_changed", PropertyInfo(Variant::STRING, "field")));
- ADD_SIGNAL(MethodInfo("resource_edit_request"));
-}
-
-CustomPropertyEditor::CustomPropertyEditor() {
- value_vbox = memnew(VBoxContainer);
- add_child(value_vbox);
-
- for (int i = 0; i < MAX_VALUE_EDITORS; i++) {
- if (i < MAX_VALUE_EDITORS / 4) {
- value_hboxes[i] = memnew(HBoxContainer);
- value_vbox->add_child(value_hboxes[i]);
- value_hboxes[i]->hide();
- }
- int hbox_idx = i / 4;
- value_label[i] = memnew(Label);
- value_hboxes[hbox_idx]->add_child(value_label[i]);
- value_label[i]->hide();
- value_editor[i] = memnew(LineEdit);
- value_hboxes[hbox_idx]->add_child(value_editor[i]);
- value_editor[i]->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- value_editor[i]->hide();
- value_editor[i]->connect("text_submitted", callable_mp(this, &CustomPropertyEditor::_modified));
- value_editor[i]->connect("focus_entered", callable_mp(this, &CustomPropertyEditor::_focus_enter));
- value_editor[i]->connect("focus_exited", callable_mp(this, &CustomPropertyEditor::_focus_exit));
- }
- focused_value_editor = -1;
-
- for (int i = 0; i < 4; i++) {
- scroll[i] = memnew(HScrollBar);
- scroll[i]->hide();
- scroll[i]->set_min(0);
- scroll[i]->set_max(1.0);
- scroll[i]->set_step(0.01);
- add_child(scroll[i]);
- }
-
- checks20gc = memnew(GridContainer);
- add_child(checks20gc);
- checks20gc->set_columns(11);
-
- for (int i = 0; i < 20; i++) {
- if (i == 5 || i == 15) {
- Control *space = memnew(Control);
- space->set_custom_minimum_size(Size2(20, 0) * EDSCALE);
- checks20gc->add_child(space);
- }
-
- checks20[i] = memnew(CheckBox);
- checks20[i]->set_toggle_mode(true);
- checks20[i]->set_focus_mode(Control::FOCUS_NONE);
- checks20gc->add_child(checks20[i]);
- checks20[i]->hide();
- checks20[i]->connect("pressed", callable_mp(this, &CustomPropertyEditor::_action_pressed), make_binds(i));
- checks20[i]->set_tooltip(vformat(TTR("Bit %d, val %d."), i, 1 << i));
- }
-
- text_edit = memnew(TextEdit);
- value_vbox->add_child(text_edit);
- text_edit->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 5);
- text_edit->set_v_size_flags(Control::SIZE_EXPAND_FILL);
- text_edit->set_offset(SIDE_BOTTOM, -30);
-
- text_edit->hide();
- text_edit->connect("text_changed", callable_mp(this, &CustomPropertyEditor::_text_edit_changed));
-
- color_picker = nullptr;
-
- file = memnew(EditorFileDialog);
- value_vbox->add_child(file);
- file->hide();
-
- file->connect("file_selected", callable_mp(this, &CustomPropertyEditor::_file_selected));
- file->connect("dir_selected", callable_mp(this, &CustomPropertyEditor::_file_selected));
-
- locale = memnew(EditorLocaleDialog);
- value_vbox->add_child(locale);
- locale->hide();
-
- locale->connect("locale_selected", callable_mp(this, &CustomPropertyEditor::_locale_selected));
-
- error = memnew(ConfirmationDialog);
- error->set_title(TTR("Error!"));
- value_vbox->add_child(error);
-
- scene_tree = memnew(SceneTreeDialog);
- value_vbox->add_child(scene_tree);
- scene_tree->connect("selected", callable_mp(this, &CustomPropertyEditor::_node_path_selected));
- scene_tree->get_scene_tree()->set_show_enabled_subscene(true);
-
- texture_preview = memnew(TextureRect);
- value_vbox->add_child(texture_preview);
- texture_preview->hide();
-
- easing_draw = memnew(Control);
- value_vbox->add_child(easing_draw);
- easing_draw->hide();
- easing_draw->connect("draw", callable_mp(this, &CustomPropertyEditor::_draw_easing));
- easing_draw->connect("gui_input", callable_mp(this, &CustomPropertyEditor::_drag_easing));
- easing_draw->set_default_cursor_shape(Control::CURSOR_MOVE);
-
- type_button = memnew(MenuButton);
- value_vbox->add_child(type_button);
- type_button->hide();
- type_button->get_popup()->connect("id_pressed", callable_mp(this, &CustomPropertyEditor::_type_create_selected));
-
- menu = memnew(PopupMenu);
- // menu->set_pass_on_modal_close_click(false);
- value_vbox->add_child(menu);
- menu->connect("id_pressed", callable_mp(this, &CustomPropertyEditor::_menu_option));
-
- evaluator = nullptr;
-
- spinbox = memnew(SpinBox);
- value_vbox->add_child(spinbox);
- spinbox->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 5);
- spinbox->connect("value_changed", callable_mp(this, &CustomPropertyEditor::_range_modified));
-
- slider = memnew(HSlider);
- value_vbox->add_child(slider);
- slider->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 5);
- slider->connect("value_changed", callable_mp(this, &CustomPropertyEditor::_range_modified));
-
- action_hboxes = memnew(HBoxContainer);
- action_hboxes->set_alignment(BoxContainer::ALIGNMENT_CENTER);
- value_vbox->add_child(action_hboxes);
- for (int i = 0; i < MAX_ACTION_BUTTONS; i++) {
- action_buttons[i] = memnew(Button);
- action_buttons[i]->hide();
- action_hboxes->add_child(action_buttons[i]);
- Vector<Variant> binds;
- binds.push_back(i);
- action_buttons[i]->connect("pressed", callable_mp(this, &CustomPropertyEditor::_action_pressed), binds);
- }
-
- create_dialog = nullptr;
- property_select = nullptr;
-}
diff --git a/editor/property_editor.h b/editor/property_editor.h
deleted file mode 100644
index 3230834d00..0000000000
--- a/editor/property_editor.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/*************************************************************************/
-/* property_editor.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#ifndef PROPERTY_EDITOR_H
-#define PROPERTY_EDITOR_H
-
-#include "editor/editor_locale_dialog.h"
-#include "editor/scene_tree_editor.h"
-#include "scene/gui/button.h"
-#include "scene/gui/check_box.h"
-#include "scene/gui/check_button.h"
-#include "scene/gui/color_picker.h"
-#include "scene/gui/dialogs.h"
-#include "scene/gui/grid_container.h"
-#include "scene/gui/label.h"
-#include "scene/gui/menu_button.h"
-#include "scene/gui/split_container.h"
-#include "scene/gui/text_edit.h"
-#include "scene/gui/texture_rect.h"
-#include "scene/gui/tree.h"
-
-class CreateDialog;
-class EditorFileDialog;
-class PropertyValueEvaluator;
-class PropertySelector;
-
-class EditorResourceConversionPlugin : public RefCounted {
- GDCLASS(EditorResourceConversionPlugin, RefCounted);
-
-protected:
- static void _bind_methods();
-
- GDVIRTUAL0RC(String, _converts_to)
- GDVIRTUAL1RC(bool, _handles, Ref<Resource>)
- GDVIRTUAL1RC(Ref<Resource>, _convert, Ref<Resource>)
-
-public:
- virtual String converts_to() const;
- virtual bool handles(const Ref<Resource> &p_resource) const;
- virtual Ref<Resource> convert(const Ref<Resource> &p_resource) const;
-};
-
-class CustomPropertyEditor : public PopupPanel {
- GDCLASS(CustomPropertyEditor, PopupPanel);
-
- enum {
- MAX_VALUE_EDITORS = 12,
- MAX_ACTION_BUTTONS = 5,
- OBJ_MENU_LOAD = 0,
- OBJ_MENU_EDIT = 1,
- OBJ_MENU_CLEAR = 2,
- OBJ_MENU_MAKE_UNIQUE = 3,
- OBJ_MENU_COPY = 4,
- OBJ_MENU_PASTE = 5,
- OBJ_MENU_NEW_SCRIPT = 6,
- OBJ_MENU_EXTEND_SCRIPT = 7,
- OBJ_MENU_SHOW_IN_FILE_SYSTEM = 8,
- TYPE_BASE_ID = 100,
- CONVERT_BASE_ID = 1000
- };
-
- enum {
- EASING_LINEAR,
- EASING_EASE_IN,
- EASING_EASE_OUT,
- EASING_ZERO,
- EASING_IN_OUT,
- EASING_OUT_IN
- };
-
- PopupMenu *menu = nullptr;
- SceneTreeDialog *scene_tree = nullptr;
- EditorFileDialog *file = nullptr;
- EditorLocaleDialog *locale = nullptr;
- ConfirmationDialog *error = nullptr;
- String name;
- Variant::Type type;
- Variant v;
- List<String> field_names;
- int hint = 0;
- String hint_text;
- HBoxContainer *value_hboxes[MAX_VALUE_EDITORS / 4];
- VBoxContainer *value_vbox = nullptr;
- LineEdit *value_editor[MAX_VALUE_EDITORS];
- int focused_value_editor;
- Label *value_label[MAX_VALUE_EDITORS];
- HScrollBar *scroll[4];
- HBoxContainer *action_hboxes = nullptr;
- Button *action_buttons[MAX_ACTION_BUTTONS];
- MenuButton *type_button = nullptr;
- Vector<String> inheritors_array;
- TextureRect *texture_preview = nullptr;
- ColorPicker *color_picker = nullptr;
- TextEdit *text_edit = nullptr;
- bool read_only = false;
- bool picking_viewport = false;
- GridContainer *checks20gc = nullptr;
- CheckBox *checks20[20];
- SpinBox *spinbox = nullptr;
- HSlider *slider = nullptr;
-
- Control *easing_draw = nullptr;
- CreateDialog *create_dialog = nullptr;
- PropertySelector *property_select = nullptr;
-
- Object *owner = nullptr;
-
- bool updating = false;
-
- PropertyValueEvaluator *evaluator = nullptr;
-
- void _text_edit_changed();
- void _file_selected(String p_file);
- void _locale_selected(String p_locale);
- void _modified(String p_string);
-
- real_t _parse_real_expression(String text);
-
- void _range_modified(double p_value);
- void _focus_enter();
- void _focus_exit();
- void _action_pressed(int p_which);
- void _type_create_selected(int p_idx);
- void _create_dialog_callback();
- void _create_selected_property(const String &p_prop);
-
- void _color_changed(const Color &p_color);
- void _draw_easing();
- void _menu_option(int p_which);
-
- void _drag_easing(const Ref<InputEvent> &p_ev);
-
- void _node_path_selected(NodePath p_path);
- void show_value_editors(int p_amount);
- void config_value_editors(int p_amount, int p_columns, int p_label_w, const List<String> &p_strings);
- void config_action_buttons(const List<String> &p_strings);
-
- void _emit_changed_whole_or_field();
-
-protected:
- void _notification(int p_what);
- static void _bind_methods();
-
-public:
- void hide_menu();
-
- Variant get_variant() const;
- String get_name() const;
-
- void set_read_only(bool p_read_only) { read_only = p_read_only; }
-
- bool edit(Object *p_owner, const String &p_name, Variant::Type p_type, const Variant &p_variant, int p_hint, String p_hint_text);
-
- CustomPropertyEditor();
-};
-
-#endif
diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp
index c136eae1bc..1b17a740dd 100644
--- a/editor/property_selector.cpp
+++ b/editor/property_selector.cpp
@@ -32,8 +32,12 @@
#include "core/os/keyboard.h"
#include "editor/doc_tools.h"
+#include "editor/editor_help.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "scene/gui/line_edit.h"
+#include "scene/gui/rich_text_label.h"
+#include "scene/gui/tree.h"
void PropertySelector::_text_changed(const String &p_newtext) {
_update_search();
@@ -581,7 +585,7 @@ PropertySelector::PropertySelector() {
search_box->connect("gui_input", callable_mp(this, &PropertySelector::_sbox_input));
search_options = memnew(Tree);
vbc->add_margin_child(TTR("Matches:"), search_options, true);
- get_ok_button()->set_text(TTR("Open"));
+ set_ok_button_text(TTR("Open"));
get_ok_button()->set_disabled(true);
register_text_enter(search_box);
set_hide_on_ok(false);
diff --git a/editor/property_selector.h b/editor/property_selector.h
index f42f5daa3f..9f1af576dd 100644
--- a/editor/property_selector.h
+++ b/editor/property_selector.h
@@ -28,12 +28,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef PROPERTYSELECTOR_H
-#define PROPERTYSELECTOR_H
+#ifndef PROPERTY_SELECTOR_H
+#define PROPERTY_SELECTOR_H
-#include "editor/editor_help.h"
-#include "editor/property_editor.h"
-#include "scene/gui/rich_text_label.h"
+#include "scene/gui/dialogs.h"
+
+class EditorHelpBit;
+class LineEdit;
+class Tree;
class PropertySelector : public ConfirmationDialog {
GDCLASS(PropertySelector, ConfirmationDialog);
@@ -80,4 +82,4 @@ public:
PropertySelector();
};
-#endif // PROPERTYSELECTOR_H
+#endif // PROPERTY_SELECTOR_H
diff --git a/editor/register_exporters.h b/editor/register_exporters.h
index 09076af978..9aa98f509f 100644
--- a/editor/register_exporters.h
+++ b/editor/register_exporters.h
@@ -33,4 +33,4 @@
void register_exporters();
-#endif
+#endif // REGISTER_EXPORTERS_H
diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp
index e47250fcf8..84923a94a2 100644
--- a/editor/rename_dialog.cpp
+++ b/editor/rename_dialog.cpp
@@ -38,13 +38,15 @@
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
#include "editor/editor_themes.h"
+#include "editor/editor_undo_redo_manager.h"
#include "modules/regex/regex.h"
#include "plugins/script_editor_plugin.h"
#include "scene/gui/control.h"
#include "scene/gui/label.h"
+#include "scene/gui/separator.h"
#include "scene/gui/tab_container.h"
-RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_undo_redo) {
+RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, Ref<EditorUndoRedoManager> p_undo_redo) {
scene_tree_editor = p_scene_tree_editor;
undo_redo = p_undo_redo;
preview_node = nullptr;
@@ -139,7 +141,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
but_insert_name->set_text("NAME");
but_insert_name->set_tooltip(String("${NAME}\n") + TTR("Node name."));
but_insert_name->set_focus_mode(Control::FOCUS_NONE);
- but_insert_name->connect("pressed", callable_mp(this, &RenameDialog::_insert_text), make_binds("${NAME}"));
+ but_insert_name->connect("pressed", callable_mp(this, &RenameDialog::_insert_text).bind("${NAME}"));
but_insert_name->set_h_size_flags(Control::SIZE_EXPAND_FILL);
grd_substitute->add_child(but_insert_name);
@@ -149,7 +151,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
but_insert_parent->set_text("PARENT");
but_insert_parent->set_tooltip(String("${PARENT}\n") + TTR("Node's parent name, if available."));
but_insert_parent->set_focus_mode(Control::FOCUS_NONE);
- but_insert_parent->connect("pressed", callable_mp(this, &RenameDialog::_insert_text), make_binds("${PARENT}"));
+ but_insert_parent->connect("pressed", callable_mp(this, &RenameDialog::_insert_text).bind("${PARENT}"));
but_insert_parent->set_h_size_flags(Control::SIZE_EXPAND_FILL);
grd_substitute->add_child(but_insert_parent);
@@ -159,7 +161,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
but_insert_type->set_text("TYPE");
but_insert_type->set_tooltip(String("${TYPE}\n") + TTR("Node type."));
but_insert_type->set_focus_mode(Control::FOCUS_NONE);
- but_insert_type->connect("pressed", callable_mp(this, &RenameDialog::_insert_text), make_binds("${TYPE}"));
+ but_insert_type->connect("pressed", callable_mp(this, &RenameDialog::_insert_text).bind("${TYPE}"));
but_insert_type->set_h_size_flags(Control::SIZE_EXPAND_FILL);
grd_substitute->add_child(but_insert_type);
@@ -169,7 +171,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
but_insert_scene->set_text("SCENE");
but_insert_scene->set_tooltip(String("${SCENE}\n") + TTR("Current scene name."));
but_insert_scene->set_focus_mode(Control::FOCUS_NONE);
- but_insert_scene->connect("pressed", callable_mp(this, &RenameDialog::_insert_text), make_binds("${SCENE}"));
+ but_insert_scene->connect("pressed", callable_mp(this, &RenameDialog::_insert_text).bind("${SCENE}"));
but_insert_scene->set_h_size_flags(Control::SIZE_EXPAND_FILL);
grd_substitute->add_child(but_insert_scene);
@@ -179,7 +181,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
but_insert_root->set_text("ROOT");
but_insert_root->set_tooltip(String("${ROOT}\n") + TTR("Root node name."));
but_insert_root->set_focus_mode(Control::FOCUS_NONE);
- but_insert_root->connect("pressed", callable_mp(this, &RenameDialog::_insert_text), make_binds("${ROOT}"));
+ but_insert_root->connect("pressed", callable_mp(this, &RenameDialog::_insert_text).bind("${ROOT}"));
but_insert_root->set_h_size_flags(Control::SIZE_EXPAND_FILL);
grd_substitute->add_child(but_insert_root);
@@ -189,7 +191,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
but_insert_count->set_text("COUNTER");
but_insert_count->set_tooltip(String("${COUNTER}\n") + TTR("Sequential integer counter.\nCompare counter options."));
but_insert_count->set_focus_mode(Control::FOCUS_NONE);
- but_insert_count->connect("pressed", callable_mp(this, &RenameDialog::_insert_text), make_binds("${COUNTER}"));
+ but_insert_count->connect("pressed", callable_mp(this, &RenameDialog::_insert_text).bind("${COUNTER}"));
but_insert_count->set_h_size_flags(Control::SIZE_EXPAND_FILL);
grd_substitute->add_child(but_insert_count);
@@ -283,13 +285,13 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
vbc->add_child(lbl_preview_title);
lbl_preview = memnew(Label);
- lbl_preview->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ lbl_preview->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
vbc->add_child(lbl_preview);
// ---- Dialog related
set_min_size(Size2(383, 0));
- get_ok_button()->set_text(TTR("Rename"));
+ set_ok_button_text(TTR("Rename"));
Button *but_reset = add_button(TTR("Reset"));
eh.errfunc = _error_handler;
@@ -321,9 +323,9 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
spn_count_padding->connect("value_changed", callable_mp(this, &RenameDialog::_update_preview_int));
opt_style->connect("item_selected", callable_mp(this, &RenameDialog::_update_preview_int));
opt_case->connect("item_selected", callable_mp(this, &RenameDialog::_update_preview_int));
- cbut_substitute->connect("pressed", callable_mp(this, &RenameDialog::_update_preview), varray(""));
- cbut_regex->connect("pressed", callable_mp(this, &RenameDialog::_update_preview), varray(""));
- cbut_process->connect("pressed", callable_mp(this, &RenameDialog::_update_preview), varray(""));
+ cbut_substitute->connect("pressed", callable_mp(this, &RenameDialog::_update_preview).bind(""));
+ cbut_regex->connect("pressed", callable_mp(this, &RenameDialog::_update_preview).bind(""));
+ cbut_process->connect("pressed", callable_mp(this, &RenameDialog::_update_preview).bind(""));
but_reset->connect("pressed", callable_mp(this, &RenameDialog::reset));
@@ -580,7 +582,7 @@ void RenameDialog::rename() {
// Forward recursive as opposed to the actual renaming.
_iterate_scene(root_node, selected_node_list, &global_count);
- if (undo_redo && !to_rename.is_empty()) {
+ if (undo_redo.is_valid() && !to_rename.is_empty()) {
undo_redo->create_action(TTR("Batch Rename"));
// Make sure to iterate reversed so that child nodes will find parents.
diff --git a/editor/rename_dialog.h b/editor/rename_dialog.h
index f3a850045e..dac73b13b8 100644
--- a/editor/rename_dialog.h
+++ b/editor/rename_dialog.h
@@ -34,7 +34,6 @@
#include "modules/modules_enabled.gen.h" // For regex.
#ifdef MODULE_REGEX_ENABLED
-#include "core/object/undo_redo.h"
#include "editor/scene_tree_editor.h"
#include "scene/gui/check_box.h"
#include "scene/gui/check_button.h"
@@ -43,6 +42,8 @@
#include "scene/gui/spin_box.h"
#include "scene/gui/tab_container.h"
+class EditorUndoRedoManager;
+
class RenameDialog : public ConfirmationDialog {
GDCLASS(RenameDialog, ConfirmationDialog);
@@ -63,7 +64,7 @@ class RenameDialog : public ConfirmationDialog {
static void _error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type);
SceneTreeEditor *scene_tree_editor = nullptr;
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
int global_count = 0;
LineEdit *lne_search = nullptr;
@@ -109,7 +110,7 @@ public:
void reset();
void rename();
- RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_undo_redo = nullptr);
+ RenameDialog(SceneTreeEditor *p_scene_tree_editor, Ref<EditorUndoRedoManager> p_undo_redo = Ref<EditorUndoRedoManager>());
~RenameDialog() {}
};
diff --git a/editor/reparent_dialog.cpp b/editor/reparent_dialog.cpp
index 5a8fe24518..75098b25b1 100644
--- a/editor/reparent_dialog.cpp
+++ b/editor/reparent_dialog.cpp
@@ -89,7 +89,7 @@ ReparentDialog::ReparentDialog() {
//cancel->connect("pressed", this,"_cancel");
- get_ok_button()->set_text(TTR("Reparent"));
+ set_ok_button_text(TTR("Reparent"));
}
ReparentDialog::~ReparentDialog() {
diff --git a/editor/scene_create_dialog.cpp b/editor/scene_create_dialog.cpp
new file mode 100644
index 0000000000..94a5c07709
--- /dev/null
+++ b/editor/scene_create_dialog.cpp
@@ -0,0 +1,312 @@
+/*************************************************************************/
+/* scene_create_dialog.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "scene_create_dialog.h"
+
+#include "core/io/dir_access.h"
+#include "editor/create_dialog.h"
+#include "editor/editor_node.h"
+#include "editor/editor_scale.h"
+#include "scene/2d/node_2d.h"
+#include "scene/3d/node_3d.h"
+#include "scene/gui/box_container.h"
+#include "scene/gui/check_box.h"
+#include "scene/gui/grid_container.h"
+#include "scene/gui/line_edit.h"
+#include "scene/gui/option_button.h"
+#include "scene/gui/panel_container.h"
+#include "scene/resources/packed_scene.h"
+
+void SceneCreateDialog::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ case NOTIFICATION_THEME_CHANGED: {
+ select_node_button->set_icon(get_theme_icon(SNAME("ClassList"), SNAME("EditorIcons")));
+ node_type_2d->set_icon(get_theme_icon(SNAME("Node2D"), SNAME("EditorIcons")));
+ node_type_3d->set_icon(get_theme_icon(SNAME("Node3D"), SNAME("EditorIcons")));
+ node_type_gui->set_icon(get_theme_icon(SNAME("Control"), SNAME("EditorIcons")));
+ node_type_other->add_theme_icon_override(SNAME("icon"), get_theme_icon(SNAME("Node"), SNAME("EditorIcons")));
+ status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree")));
+ } break;
+ }
+}
+
+void SceneCreateDialog::config(const String &p_dir) {
+ directory = p_dir;
+ root_name_edit->set_text("");
+ scene_name_edit->set_text("");
+ scene_name_edit->call_deferred(SNAME("grab_focus"));
+ update_dialog();
+}
+
+void SceneCreateDialog::accept_create() {
+ if (!get_ok_button()->is_disabled()) {
+ hide();
+ emit_signal(SNAME("confirmed"));
+ }
+}
+
+void SceneCreateDialog::browse_types() {
+ select_node_dialog->popup_create(true);
+ select_node_dialog->set_title(TTR("Pick Root Node Type"));
+ select_node_dialog->set_ok_button_text(TTR("Pick"));
+}
+
+void SceneCreateDialog::on_type_picked() {
+ other_type_display->set_text(select_node_dialog->get_selected_type().get_slice(" ", 0));
+ if (node_type_other->is_pressed()) {
+ update_dialog();
+ } else {
+ node_type_other->set_pressed(true); // Calls update_dialog() via group.
+ }
+}
+
+void SceneCreateDialog::update_dialog() {
+ scene_name = scene_name_edit->get_text().strip_edges();
+ update_error(file_error_label, MSG_OK, TTR("Scene name is valid."));
+
+ bool is_valid = true;
+ if (scene_name.is_empty()) {
+ update_error(file_error_label, MSG_ERROR, TTR("Scene name is empty."));
+ is_valid = false;
+ }
+
+ if (is_valid) {
+ if (!scene_name.ends_with(".")) {
+ scene_name += ".";
+ }
+ scene_name += scene_extension_picker->get_selected_metadata().operator String();
+ }
+
+ if (is_valid && !scene_name.is_valid_filename()) {
+ update_error(file_error_label, MSG_ERROR, TTR("File name invalid."));
+ is_valid = false;
+ }
+
+ if (is_valid) {
+ scene_name = directory.plus_file(scene_name);
+ Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
+ if (da->file_exists(scene_name)) {
+ update_error(file_error_label, MSG_ERROR, TTR("File already exists."));
+ is_valid = false;
+ }
+ }
+
+ const StringName root_type_name = StringName(other_type_display->get_text());
+ if (has_theme_icon(root_type_name, SNAME("EditorIcons"))) {
+ node_type_other->set_icon(get_theme_icon(root_type_name, SNAME("EditorIcons")));
+ } else {
+ node_type_other->set_icon(nullptr);
+ }
+
+ update_error(node_error_label, MSG_OK, "Root node valid.");
+
+ root_name = root_name_edit->get_text().strip_edges();
+ if (root_name.is_empty()) {
+ root_name = scene_name.get_file().get_basename();
+ }
+
+ if (!root_name.is_valid_identifier()) {
+ update_error(node_error_label, MSG_ERROR, TTR("Invalid root node name."));
+ is_valid = false;
+ }
+
+ get_ok_button()->set_disabled(!is_valid);
+}
+
+void SceneCreateDialog::update_error(Label *p_label, MsgType p_type, const String &p_msg) {
+ p_label->set_text(String::utf8("• ") + p_msg);
+ switch (p_type) {
+ case MSG_OK:
+ p_label->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), SNAME("Editor")));
+ break;
+ case MSG_ERROR:
+ p_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor")));
+ break;
+ }
+}
+
+String SceneCreateDialog::get_scene_path() const {
+ return scene_name;
+}
+
+Node *SceneCreateDialog::create_scene_root() {
+ ERR_FAIL_NULL_V(node_type_group->get_pressed_button(), nullptr);
+ RootType type = (RootType)node_type_group->get_pressed_button()->get_meta(type_meta).operator int();
+
+ Node *root = nullptr;
+ switch (type) {
+ case ROOT_2D_SCENE:
+ root = memnew(Node2D);
+ break;
+ case ROOT_3D_SCENE:
+ root = memnew(Node3D);
+ break;
+ case ROOT_USER_INTERFACE: {
+ Control *gui = memnew(Control);
+ gui->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
+ root = gui;
+ } break;
+ case ROOT_OTHER:
+ root = Object::cast_to<Node>(select_node_dialog->instance_selected());
+ break;
+ }
+
+ ERR_FAIL_NULL_V(root, nullptr);
+ root->set_name(root_name);
+ return root;
+}
+
+SceneCreateDialog::SceneCreateDialog() {
+ select_node_dialog = memnew(CreateDialog);
+ add_child(select_node_dialog);
+ select_node_dialog->set_base_type("Node");
+ select_node_dialog->select_base();
+ select_node_dialog->connect("create", callable_mp(this, &SceneCreateDialog::on_type_picked));
+
+ VBoxContainer *main_vb = memnew(VBoxContainer);
+ add_child(main_vb);
+
+ GridContainer *gc = memnew(GridContainer);
+ main_vb->add_child(gc);
+ gc->set_columns(2);
+
+ {
+ Label *label = memnew(Label(TTR("Root Type:")));
+ gc->add_child(label);
+ label->set_v_size_flags(Control::SIZE_SHRINK_BEGIN);
+
+ VBoxContainer *vb = memnew(VBoxContainer);
+ gc->add_child(vb);
+
+ node_type_group.instantiate();
+
+ node_type_2d = memnew(CheckBox);
+ vb->add_child(node_type_2d);
+ node_type_2d->set_text(TTR("2D Scene"));
+ node_type_2d->set_button_group(node_type_group);
+ node_type_2d->set_meta(type_meta, ROOT_2D_SCENE);
+ node_type_2d->set_pressed(true);
+
+ node_type_3d = memnew(CheckBox);
+ vb->add_child(node_type_3d);
+ node_type_3d->set_text(TTR("3D Scene"));
+ node_type_3d->set_button_group(node_type_group);
+ node_type_3d->set_meta(type_meta, ROOT_3D_SCENE);
+
+ node_type_gui = memnew(CheckBox);
+ vb->add_child(node_type_gui);
+ node_type_gui->set_text(TTR("User Interface"));
+ node_type_gui->set_button_group(node_type_group);
+ node_type_gui->set_meta(type_meta, ROOT_USER_INTERFACE);
+
+ HBoxContainer *hb = memnew(HBoxContainer);
+ vb->add_child(hb);
+
+ node_type_other = memnew(CheckBox);
+ hb->add_child(node_type_other);
+ node_type_other->set_button_group(node_type_group);
+ node_type_other->set_meta(type_meta, ROOT_OTHER);
+
+ Control *spacing = memnew(Control);
+ hb->add_child(spacing);
+ spacing->set_custom_minimum_size(Size2(4 * EDSCALE, 0));
+
+ other_type_display = memnew(LineEdit);
+ hb->add_child(other_type_display);
+ other_type_display->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ other_type_display->set_editable(false);
+ other_type_display->set_text("Node");
+
+ select_node_button = memnew(Button);
+ hb->add_child(select_node_button);
+ select_node_button->connect("pressed", callable_mp(this, &SceneCreateDialog::browse_types));
+
+ node_type_group->connect("pressed", callable_mp(this, &SceneCreateDialog::update_dialog).unbind(1));
+ }
+
+ {
+ Label *label = memnew(Label(TTR("Scene Name:")));
+ gc->add_child(label);
+
+ HBoxContainer *hb = memnew(HBoxContainer);
+ gc->add_child(hb);
+
+ scene_name_edit = memnew(LineEdit);
+ hb->add_child(scene_name_edit);
+ scene_name_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ scene_name_edit->connect("text_changed", callable_mp(this, &SceneCreateDialog::update_dialog).unbind(1));
+ scene_name_edit->connect("text_submitted", callable_mp(this, &SceneCreateDialog::accept_create).unbind(1));
+
+ List<String> extensions;
+ Ref<PackedScene> sd = memnew(PackedScene);
+ ResourceSaver::get_recognized_extensions(sd, &extensions);
+
+ scene_extension_picker = memnew(OptionButton);
+ hb->add_child(scene_extension_picker);
+ for (const String &E : extensions) {
+ scene_extension_picker->add_item("." + E);
+ scene_extension_picker->set_item_metadata(-1, E);
+ }
+ }
+
+ {
+ Label *label = memnew(Label(TTR("Root Name:")));
+ gc->add_child(label);
+
+ root_name_edit = memnew(LineEdit);
+ gc->add_child(root_name_edit);
+ root_name_edit->set_placeholder(TTR("Leave empty to use scene name"));
+ root_name_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ root_name_edit->connect("text_changed", callable_mp(this, &SceneCreateDialog::update_dialog).unbind(1));
+ root_name_edit->connect("text_submitted", callable_mp(this, &SceneCreateDialog::accept_create).unbind(1));
+ }
+
+ Control *spacing = memnew(Control);
+ main_vb->add_child(spacing);
+ spacing->set_custom_minimum_size(Size2(0, 10 * EDSCALE));
+
+ status_panel = memnew(PanelContainer);
+ main_vb->add_child(status_panel);
+ status_panel->set_h_size_flags(Control::SIZE_FILL);
+ status_panel->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+
+ VBoxContainer *status_vb = memnew(VBoxContainer);
+ status_panel->add_child(status_vb);
+
+ file_error_label = memnew(Label);
+ status_vb->add_child(file_error_label);
+
+ node_error_label = memnew(Label);
+ status_vb->add_child(node_error_label);
+
+ set_title(TTR("Create New Scene"));
+ set_min_size(Size2i(400 * EDSCALE, 0));
+}
diff --git a/editor/scene_create_dialog.h b/editor/scene_create_dialog.h
new file mode 100644
index 0000000000..5ac9d89cd7
--- /dev/null
+++ b/editor/scene_create_dialog.h
@@ -0,0 +1,104 @@
+/*************************************************************************/
+/* scene_create_dialog.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef SCENE_CREATE_DIALOG_H
+#define SCENE_CREATE_DIALOG_H
+
+#include "scene/gui/dialogs.h"
+
+class ButtonGroup;
+class CheckBox;
+class CreateDialog;
+class EditorFileDialog;
+class Label;
+class LineEdit;
+class OptionButton;
+class PanelContainer;
+
+class SceneCreateDialog : public ConfirmationDialog {
+ GDCLASS(SceneCreateDialog, ConfirmationDialog);
+
+ enum MsgType {
+ MSG_OK,
+ MSG_ERROR,
+ };
+
+ const StringName type_meta = StringName("type");
+
+public:
+ enum RootType {
+ ROOT_2D_SCENE,
+ ROOT_3D_SCENE,
+ ROOT_USER_INTERFACE,
+ ROOT_OTHER,
+ };
+
+private:
+ String directory;
+ String scene_name;
+ String root_name;
+
+ Ref<ButtonGroup> node_type_group;
+ CheckBox *node_type_2d = nullptr;
+ CheckBox *node_type_3d = nullptr;
+ CheckBox *node_type_gui = nullptr;
+ CheckBox *node_type_other = nullptr;
+
+ LineEdit *other_type_display = nullptr;
+ Button *select_node_button = nullptr;
+ CreateDialog *select_node_dialog = nullptr;
+
+ LineEdit *scene_name_edit = nullptr;
+ OptionButton *scene_extension_picker = nullptr;
+ LineEdit *root_name_edit = nullptr;
+
+ PanelContainer *status_panel = nullptr;
+ Label *file_error_label = nullptr;
+ Label *node_error_label = nullptr;
+
+ void accept_create();
+ void browse_types();
+ void on_type_picked();
+ void update_dialog();
+ void update_error(Label *p_label, MsgType p_type, const String &p_msg);
+
+protected:
+ void _notification(int p_what);
+
+public:
+ void config(const String &p_dir);
+
+ String get_scene_path() const;
+ Node *create_scene_root();
+
+ SceneCreateDialog();
+};
+
+#endif // SCENE_CREATE_DIALOG_H
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index c1cc144ff5..9f80119c35 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -39,6 +39,7 @@
#include "editor/editor_feature_profile.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_node.h"
+#include "editor/editor_paths.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
#include "editor/multi_node_edit.h"
@@ -71,9 +72,17 @@ void SceneTreeDock::input(const Ref<InputEvent> &p_event) {
Ref<InputEventMouseButton> mb = p_event;
- if (pending_click_select && mb.is_valid() && !mb->is_pressed() && (mb->get_button_index() == MouseButton::LEFT || mb->get_button_index() == MouseButton::RIGHT)) {
- _push_item(pending_click_select);
- pending_click_select = nullptr;
+ if (mb.is_valid() && (mb->get_button_index() == MouseButton::LEFT || mb->get_button_index() == MouseButton::RIGHT)) {
+ if (mb->is_pressed() && scene_tree->get_rect().has_point(scene_tree->get_local_mouse_position())) {
+ tree_clicked = true;
+ } else if (!mb->is_pressed()) {
+ tree_clicked = false;
+ }
+
+ if (!mb->is_pressed() && pending_click_select) {
+ _push_item(pending_click_select);
+ pending_click_select = nullptr;
+ }
}
}
@@ -213,28 +222,28 @@ void SceneTreeDock::_perform_instantiate_scenes(const Vector<String> &p_files, N
return;
}
- editor_data->get_undo_redo().create_action(TTR("Instance Scene(s)"));
+ editor_data->get_undo_redo()->create_action(TTR("Instance Scene(s)"));
for (int i = 0; i < instances.size(); i++) {
Node *instantiated_scene = instances[i];
- editor_data->get_undo_redo().add_do_method(parent, "add_child", instantiated_scene, true);
+ editor_data->get_undo_redo()->add_do_method(parent, "add_child", instantiated_scene, true);
if (p_pos >= 0) {
- editor_data->get_undo_redo().add_do_method(parent, "move_child", instantiated_scene, p_pos + i);
+ editor_data->get_undo_redo()->add_do_method(parent, "move_child", instantiated_scene, p_pos + i);
}
- editor_data->get_undo_redo().add_do_method(instantiated_scene, "set_owner", edited_scene);
- editor_data->get_undo_redo().add_do_method(editor_selection, "clear");
- editor_data->get_undo_redo().add_do_method(editor_selection, "add_node", instantiated_scene);
- editor_data->get_undo_redo().add_do_reference(instantiated_scene);
- editor_data->get_undo_redo().add_undo_method(parent, "remove_child", instantiated_scene);
+ editor_data->get_undo_redo()->add_do_method(instantiated_scene, "set_owner", edited_scene);
+ editor_data->get_undo_redo()->add_do_method(editor_selection, "clear");
+ editor_data->get_undo_redo()->add_do_method(editor_selection, "add_node", instantiated_scene);
+ editor_data->get_undo_redo()->add_do_reference(instantiated_scene);
+ editor_data->get_undo_redo()->add_undo_method(parent, "remove_child", instantiated_scene);
String new_name = parent->validate_child_name(instantiated_scene);
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_instance_node", edited_scene->get_path_to(parent), p_files[i], new_name);
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(parent)).plus_file(new_name)));
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_instance_node", edited_scene->get_path_to(parent), p_files[i], new_name);
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(parent)).plus_file(new_name)));
}
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
_push_item(instances[instances.size() - 1]);
for (int i = 0; i < instances.size(); i++) {
emit_signal(SNAME("node_created"), instances[i]);
@@ -256,7 +265,7 @@ void SceneTreeDock::_replace_with_branch_scene(const String &p_file, Node *base)
return;
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Replace with Branch Scene"));
Node *parent = base->get_parent();
@@ -501,9 +510,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
}
if (selected) {
- create_dialog->popup_create(false, true, selected->get_class());
+ create_dialog->popup_create(false, true, selected->get_class(), selected->get_name());
}
-
} break;
case TOOL_EXTEND_SCRIPT: {
attach_script_to_selected(true);
@@ -522,23 +530,23 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
return;
}
- editor_data->get_undo_redo().create_action(TTR("Detach Script"));
- editor_data->get_undo_redo().add_do_method(EditorNode::get_singleton(), "push_item", (Script *)nullptr);
+ editor_data->get_undo_redo()->create_action(TTR("Detach Script"), UndoRedo::MERGE_DISABLE, EditorNode::get_singleton()->get_edited_scene());
+ editor_data->get_undo_redo()->add_do_method(EditorNode::get_singleton(), "push_item", (Script *)nullptr);
for (int i = 0; i < selection.size(); i++) {
Node *n = Object::cast_to<Node>(selection[i]);
Ref<Script> existing = n->get_script();
Ref<Script> empty = EditorNode::get_singleton()->get_object_custom_type_base(n);
if (existing != empty) {
- editor_data->get_undo_redo().add_do_method(n, "set_script", empty);
- editor_data->get_undo_redo().add_undo_method(n, "set_script", existing);
+ editor_data->get_undo_redo()->add_do_method(n, "set_script", empty);
+ editor_data->get_undo_redo()->add_undo_method(n, "set_script", existing);
}
}
- editor_data->get_undo_redo().add_do_method(this, "_update_script_button");
- editor_data->get_undo_redo().add_undo_method(this, "_update_script_button");
+ editor_data->get_undo_redo()->add_do_method(this, "_update_script_button");
+ editor_data->get_undo_redo()->add_undo_method(this, "_update_script_button");
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
} break;
case TOOL_MOVE_UP:
case TOOL_MOVE_DOWN: {
@@ -593,10 +601,10 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
}
if (selection.size() == 1) {
- editor_data->get_undo_redo().create_action(TTR("Move Node In Parent"));
+ editor_data->get_undo_redo()->create_action(TTR("Move Node In Parent"));
}
if (selection.size() > 1) {
- editor_data->get_undo_redo().create_action(TTR("Move Nodes In Parent"));
+ editor_data->get_undo_redo()->create_action(TTR("Move Nodes In Parent"));
}
for (int i = 0; i < selection.size(); i++) {
@@ -609,11 +617,11 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
int bottom_node_pos = bottom_node->get_index();
int top_node_pos_next = top_node->get_index() + (MOVING_DOWN ? 1 : -1);
- editor_data->get_undo_redo().add_do_method(top_node->get_parent(), "move_child", top_node, top_node_pos_next);
- editor_data->get_undo_redo().add_undo_method(bottom_node->get_parent(), "move_child", bottom_node, bottom_node_pos);
+ editor_data->get_undo_redo()->add_do_method(top_node->get_parent(), "move_child", top_node, top_node_pos_next);
+ editor_data->get_undo_redo()->add_undo_method(bottom_node->get_parent(), "move_child", bottom_node, bottom_node_pos);
}
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
} break;
case TOOL_DUPLICATE: {
@@ -641,8 +649,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
break;
}
- editor_data->get_undo_redo().create_action(TTR("Duplicate Node(s)"));
- editor_data->get_undo_redo().add_do_method(editor_selection, "clear");
+ editor_data->get_undo_redo()->create_action(TTR("Duplicate Node(s)"), UndoRedo::MERGE_DISABLE, selection.front()->get());
+ editor_data->get_undo_redo()->add_do_method(editor_selection, "clear");
Node *dupsingle = nullptr;
@@ -667,28 +675,28 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
dup->set_name(parent->validate_child_name(dup));
- editor_data->get_undo_redo().add_do_method(add_below_node, "add_sibling", dup, true);
+ editor_data->get_undo_redo()->add_do_method(add_below_node, "add_sibling", dup, true);
for (Node *F : owned) {
if (!duplimap.has(F)) {
continue;
}
Node *d = duplimap[F];
- editor_data->get_undo_redo().add_do_method(d, "set_owner", node->get_owner());
+ editor_data->get_undo_redo()->add_do_method(d, "set_owner", node->get_owner());
}
- editor_data->get_undo_redo().add_do_method(editor_selection, "add_node", dup);
- editor_data->get_undo_redo().add_undo_method(parent, "remove_child", dup);
- editor_data->get_undo_redo().add_do_reference(dup);
+ editor_data->get_undo_redo()->add_do_method(editor_selection, "add_node", dup);
+ editor_data->get_undo_redo()->add_undo_method(parent, "remove_child", dup);
+ editor_data->get_undo_redo()->add_do_reference(dup);
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_duplicate_node", edited_scene->get_path_to(node), dup->get_name());
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(parent)).plus_file(dup->get_name())));
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_duplicate_node", edited_scene->get_path_to(node), dup->get_name());
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(parent)).plus_file(dup->get_name())));
add_below_node = dup;
}
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
if (dupsingle) {
_push_item(dupsingle);
@@ -757,29 +765,29 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
return;
}
- editor_data->get_undo_redo().create_action(TTR("Make node as Root"));
- editor_data->get_undo_redo().add_do_method(node->get_parent(), "remove_child", node);
- editor_data->get_undo_redo().add_do_method(EditorNode::get_singleton(), "set_edited_scene", node);
- editor_data->get_undo_redo().add_do_method(node, "add_child", root, true);
- editor_data->get_undo_redo().add_do_method(node, "set_scene_file_path", root->get_scene_file_path());
- editor_data->get_undo_redo().add_do_method(root, "set_scene_file_path", String());
- editor_data->get_undo_redo().add_do_method(node, "set_owner", (Object *)nullptr);
- editor_data->get_undo_redo().add_do_method(root, "set_owner", node);
+ editor_data->get_undo_redo()->create_action(TTR("Make node as Root"));
+ editor_data->get_undo_redo()->add_do_method(node->get_parent(), "remove_child", node);
+ editor_data->get_undo_redo()->add_do_method(EditorNode::get_singleton(), "set_edited_scene", node);
+ editor_data->get_undo_redo()->add_do_method(node, "add_child", root, true);
+ editor_data->get_undo_redo()->add_do_method(node, "set_scene_file_path", root->get_scene_file_path());
+ editor_data->get_undo_redo()->add_do_method(root, "set_scene_file_path", String());
+ editor_data->get_undo_redo()->add_do_method(node, "set_owner", (Object *)nullptr);
+ editor_data->get_undo_redo()->add_do_method(root, "set_owner", node);
_node_replace_owner(root, root, node, MODE_DO);
- editor_data->get_undo_redo().add_undo_method(root, "set_scene_file_path", root->get_scene_file_path());
- editor_data->get_undo_redo().add_undo_method(node, "set_scene_file_path", String());
- editor_data->get_undo_redo().add_undo_method(node, "remove_child", root);
- editor_data->get_undo_redo().add_undo_method(EditorNode::get_singleton(), "set_edited_scene", root);
- editor_data->get_undo_redo().add_undo_method(node->get_parent(), "add_child", node, true);
- editor_data->get_undo_redo().add_undo_method(node->get_parent(), "move_child", node, node->get_index());
- editor_data->get_undo_redo().add_undo_method(root, "set_owner", (Object *)nullptr);
- editor_data->get_undo_redo().add_undo_method(node, "set_owner", root);
+ editor_data->get_undo_redo()->add_undo_method(root, "set_scene_file_path", root->get_scene_file_path());
+ editor_data->get_undo_redo()->add_undo_method(node, "set_scene_file_path", String());
+ editor_data->get_undo_redo()->add_undo_method(node, "remove_child", root);
+ editor_data->get_undo_redo()->add_undo_method(EditorNode::get_singleton(), "set_edited_scene", root);
+ editor_data->get_undo_redo()->add_undo_method(node->get_parent(), "add_child", node, true);
+ editor_data->get_undo_redo()->add_undo_method(node->get_parent(), "move_child", node, node->get_index());
+ editor_data->get_undo_redo()->add_undo_method(root, "set_owner", (Object *)nullptr);
+ editor_data->get_undo_redo()->add_undo_method(node, "set_owner", root);
_node_replace_owner(root, root, root, MODE_UNDO);
- editor_data->get_undo_redo().add_do_method(scene_tree, "update_tree");
- editor_data->get_undo_redo().add_undo_method(scene_tree, "update_tree");
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->add_do_method(scene_tree, "update_tree");
+ editor_data->get_undo_redo()->add_undo_method(scene_tree, "update_tree");
+ editor_data->get_undo_redo()->commit_action();
} break;
case TOOL_MULTI_EDIT: {
if (!profile_allow_editing) {
@@ -902,7 +910,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
ResourceSaver::get_recognized_extensions(sd, &extensions);
new_scene_from_dialog->clear_filters();
for (int i = 0; i < extensions.size(); i++) {
- new_scene_from_dialog->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
+ new_scene_from_dialog->add_filter("*." + extensions[i], extensions[i].to_upper());
}
String existing;
@@ -1000,7 +1008,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
Node *node = e->get();
if (node) {
Node *root = EditorNode::get_singleton()->get_edited_scene();
- UndoRedo *undo_redo = &editor_data->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = editor_data->get_undo_redo();
if (!root) {
break;
}
@@ -1063,7 +1071,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
List<Node *> selection = editor_selection->get_selected_node_list();
List<Node *>::Element *e = selection.front();
if (e) {
- UndoRedo *undo_redo = &editor_data->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = editor_data->get_undo_redo();
Node *node = e->get();
bool enabled = node->is_unique_name_in_owner();
if (!enabled && get_tree()->get_edited_scene_root()->get_node_or_null(UNIQUE_NODE_PREFIX + String(node->get_name())) != nullptr) {
@@ -1114,7 +1122,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
break;
case TOOL_CREATE_USER_INTERFACE: {
Control *node = memnew(Control);
- node->set_anchors_and_offsets_preset(PRESET_WIDE); //more useful for resizable UIs.
+ node->set_anchors_and_offsets_preset(PRESET_FULL_RECT); //more useful for resizable UIs.
new_node = node;
} break;
@@ -1152,19 +1160,19 @@ void SceneTreeDock::_property_selected(int p_idx) {
}
void SceneTreeDock::_perform_property_drop(Node *p_node, String p_property, Ref<Resource> p_res) {
- editor_data->get_undo_redo().create_action(vformat(TTR("Set %s"), p_property));
- editor_data->get_undo_redo().add_do_property(p_node, p_property, p_res);
- editor_data->get_undo_redo().add_undo_property(p_node, p_property, p_node->get(p_property));
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->create_action(vformat(TTR("Set %s"), p_property));
+ editor_data->get_undo_redo()->add_do_property(p_node, p_property, p_res);
+ editor_data->get_undo_redo()->add_undo_property(p_node, p_property, p_node->get(p_property));
+ editor_data->get_undo_redo()->commit_action();
}
void SceneTreeDock::add_root_node(Node *p_node) {
- editor_data->get_undo_redo().create_action(TTR("New Scene Root"));
- editor_data->get_undo_redo().add_do_method(EditorNode::get_singleton(), "set_edited_scene", p_node);
- editor_data->get_undo_redo().add_do_method(scene_tree, "update_tree");
- editor_data->get_undo_redo().add_do_reference(p_node);
- editor_data->get_undo_redo().add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->create_action_for_history(TTR("New Scene Root"), editor_data->get_current_edited_scene_history_id());
+ editor_data->get_undo_redo()->add_do_method(EditorNode::get_singleton(), "set_edited_scene", p_node);
+ editor_data->get_undo_redo()->add_do_method(scene_tree, "update_tree");
+ editor_data->get_undo_redo()->add_do_reference(p_node);
+ editor_data->get_undo_redo()->add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
+ editor_data->get_undo_redo()->commit_action();
}
void SceneTreeDock::_node_collapsed(Object *p_obj) {
@@ -1249,19 +1257,19 @@ void SceneTreeDock::_notification(int p_what) {
beginner_node_shortcuts->add_child(button_2d);
button_2d->set_text(TTR("2D Scene"));
button_2d->set_icon(get_theme_icon(SNAME("Node2D"), SNAME("EditorIcons")));
- button_2d->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_CREATE_2D_SCENE, false));
+ button_2d->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_CREATE_2D_SCENE, false));
button_3d = memnew(Button);
beginner_node_shortcuts->add_child(button_3d);
button_3d->set_text(TTR("3D Scene"));
button_3d->set_icon(get_theme_icon(SNAME("Node3D"), SNAME("EditorIcons")));
- button_3d->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_CREATE_3D_SCENE, false));
+ button_3d->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_CREATE_3D_SCENE, false));
button_ui = memnew(Button);
beginner_node_shortcuts->add_child(button_ui);
button_ui->set_text(TTR("User Interface"));
button_ui->set_icon(get_theme_icon(SNAME("Control"), SNAME("EditorIcons")));
- button_ui->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_CREATE_USER_INTERFACE, false));
+ button_ui->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_CREATE_USER_INTERFACE, false));
VBoxContainer *favorite_node_shortcuts = memnew(VBoxContainer);
favorite_node_shortcuts->set_name("FavoriteNodeShortcuts");
@@ -1271,19 +1279,19 @@ void SceneTreeDock::_notification(int p_what) {
node_shortcuts->add_child(button_custom);
button_custom->set_text(TTR("Other Node"));
button_custom->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")));
- button_custom->connect("pressed", callable_bind(callable_mp(this, &SceneTreeDock::_tool_selected), TOOL_NEW, false));
+ button_custom->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_NEW, false));
button_clipboard = memnew(Button);
node_shortcuts->add_child(button_clipboard);
button_clipboard->set_text(TTR("Paste From Clipboard"));
button_clipboard->set_icon(get_theme_icon(SNAME("ActionPaste"), SNAME("EditorIcons")));
- button_clipboard->connect("pressed", callable_bind(callable_mp(this, &SceneTreeDock::_tool_selected), TOOL_PASTE, false));
+ button_clipboard->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_PASTE, false));
_update_create_root_dialog();
} break;
case NOTIFICATION_ENTER_TREE: {
- clear_inherit_confirm->connect("confirmed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_SCENE_CLEAR_INHERITANCE_CONFIRM, false));
+ clear_inherit_confirm->connect("confirmed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_SCENE_CLEAR_INHERITANCE_CONFIRM, false));
scene_tree->set_auto_expand_selected(EditorSettings::get_singleton()->get("docks/scene_tree/auto_expand_to_selected"), false);
} break;
@@ -1326,17 +1334,17 @@ void SceneTreeDock::_notification(int p_what) {
void SceneTreeDock::_node_replace_owner(Node *p_base, Node *p_node, Node *p_root, ReplaceOwnerMode p_mode) {
if (p_node->get_owner() == p_base && p_node != p_root) {
- UndoRedo *undo_redo = &editor_data->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = editor_data->get_undo_redo();
switch (p_mode) {
case MODE_BIDI: {
- bool is_unique = p_node->is_unique_name_in_owner() && p_base->get_node_or_null(UNIQUE_NODE_PREFIX + String(p_node->get_name())) != nullptr;
- if (is_unique) {
+ bool disable_unique = p_node->is_unique_name_in_owner() && p_root->get_node_or_null(UNIQUE_NODE_PREFIX + String(p_node->get_name())) != nullptr;
+ if (disable_unique) {
// Will create a unique name conflict. Disable before setting owner.
undo_redo->add_do_method(p_node, "set_unique_name_in_owner", false);
}
undo_redo->add_do_method(p_node, "set_owner", p_root);
undo_redo->add_undo_method(p_node, "set_owner", p_base);
- if (is_unique) {
+ if (disable_unique) {
// Will create a unique name conflict. Enable after setting owner.
undo_redo->add_undo_method(p_node, "set_unique_name_in_owner", true);
}
@@ -1371,10 +1379,10 @@ void SceneTreeDock::_push_item(Object *p_object) {
}
void SceneTreeDock::_handle_select(Node *p_node) {
- if ((Input::get_singleton()->get_mouse_button_mask() & (MouseButton::MASK_LEFT | MouseButton::MASK_RIGHT)) != MouseButton::NONE) {
+ if (tree_clicked) {
pending_click_select = p_node;
} else {
- EditorNode::get_singleton()->push_item(p_node);
+ _push_item(p_node);
}
}
@@ -1559,8 +1567,8 @@ void SceneTreeDock::perform_node_renames(Node *p_base, HashMap<Node *, NodePath>
Variant old_variant = p_base->get(propertyname);
Variant updated_variant = old_variant;
if (_check_node_path_recursive(p_base, updated_variant, p_renames)) {
- editor_data->get_undo_redo().add_do_property(p_base, propertyname, updated_variant);
- editor_data->get_undo_redo().add_undo_property(p_base, propertyname, old_variant);
+ editor_data->get_undo_redo()->add_do_property(p_base, propertyname, updated_variant);
+ editor_data->get_undo_redo()->add_undo_property(p_base, propertyname, old_variant);
p_base->set(propertyname, updated_variant);
}
}
@@ -1618,12 +1626,12 @@ void SceneTreeDock::perform_node_renames(Node *p_base, HashMap<Node *, NodePath>
ERR_FAIL_COND(!EI); //another bug
}
- editor_data->get_undo_redo().add_do_method(anim.ptr(), "remove_track", idx);
- editor_data->get_undo_redo().add_undo_method(anim.ptr(), "add_track", anim->track_get_type(i), idx);
- editor_data->get_undo_redo().add_undo_method(anim.ptr(), "track_set_path", idx, track_np);
- editor_data->get_undo_redo().add_undo_method(anim.ptr(), "track_set_interpolation_type", idx, anim->track_get_interpolation_type(i));
+ editor_data->get_undo_redo()->add_do_method(anim.ptr(), "remove_track", idx);
+ editor_data->get_undo_redo()->add_undo_method(anim.ptr(), "add_track", anim->track_get_type(i), idx);
+ editor_data->get_undo_redo()->add_undo_method(anim.ptr(), "track_set_path", idx, track_np);
+ editor_data->get_undo_redo()->add_undo_method(anim.ptr(), "track_set_interpolation_type", idx, anim->track_get_interpolation_type(i));
for (int j = 0; j < anim->track_get_key_count(i); j++) {
- editor_data->get_undo_redo().add_undo_method(anim.ptr(), "track_insert_key", idx, anim->track_get_key_time(i, j), anim->track_get_key_value(i, j), anim->track_get_key_transition(i, j));
+ editor_data->get_undo_redo()->add_undo_method(anim.ptr(), "track_insert_key", idx, anim->track_get_key_time(i, j), anim->track_get_key_value(i, j), anim->track_get_key_transition(i, j));
}
ran.erase(i); //byebye channel
@@ -1636,8 +1644,8 @@ void SceneTreeDock::perform_node_renames(Node *p_base, HashMap<Node *, NodePath>
if (new_path == track_np) {
continue; //bleh
}
- editor_data->get_undo_redo().add_do_method(anim.ptr(), "track_set_path", i, new_path);
- editor_data->get_undo_redo().add_undo_method(anim.ptr(), "track_set_path", i, track_np);
+ editor_data->get_undo_redo()->add_do_method(anim.ptr(), "track_set_path", i, new_path);
+ editor_data->get_undo_redo()->add_undo_method(anim.ptr(), "track_set_path", i, track_np);
}
}
}
@@ -1771,7 +1779,7 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
// Sort by tree order, so re-adding is easy.
p_nodes.sort_custom<Node::Comparator>();
- editor_data->get_undo_redo().create_action(TTR("Reparent Node"));
+ editor_data->get_undo_redo()->create_action(TTR("Reparent Node"));
HashMap<Node *, NodePath> path_renames;
Vector<StringName> former_names;
@@ -1796,11 +1804,11 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
inc--; // If the child will generate a gap when moved, adjust.
}
- editor_data->get_undo_redo().add_do_method(node->get_parent(), "remove_child", node);
- editor_data->get_undo_redo().add_do_method(new_parent, "add_child", node, true);
+ editor_data->get_undo_redo()->add_do_method(node->get_parent(), "remove_child", node);
+ editor_data->get_undo_redo()->add_do_method(new_parent, "add_child", node, true);
if (p_position_in_parent >= 0) {
- editor_data->get_undo_redo().add_do_method(new_parent, "move_child", node, p_position_in_parent + inc);
+ editor_data->get_undo_redo()->add_do_method(new_parent, "move_child", node, p_position_in_parent + inc);
}
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
@@ -1830,29 +1838,29 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
}
}
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_reparent_node", edited_scene->get_path_to(node), edited_scene->get_path_to(new_parent), new_name, p_position_in_parent + inc);
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_reparent_node", NodePath(String(edited_scene->get_path_to(new_parent)).plus_file(new_name)), edited_scene->get_path_to(node->get_parent()), node->get_name(), node->get_index());
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_reparent_node", edited_scene->get_path_to(node), edited_scene->get_path_to(new_parent), new_name, p_position_in_parent + inc);
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_reparent_node", NodePath(String(edited_scene->get_path_to(new_parent)).plus_file(new_name)), edited_scene->get_path_to(node->get_parent()), node->get_name(), node->get_index());
if (p_keep_global_xform) {
if (Object::cast_to<Node2D>(node)) {
- editor_data->get_undo_redo().add_do_method(node, "set_global_transform", Object::cast_to<Node2D>(node)->get_global_transform());
+ editor_data->get_undo_redo()->add_do_method(node, "set_global_transform", Object::cast_to<Node2D>(node)->get_global_transform());
}
if (Object::cast_to<Node3D>(node)) {
- editor_data->get_undo_redo().add_do_method(node, "set_global_transform", Object::cast_to<Node3D>(node)->get_global_transform());
+ editor_data->get_undo_redo()->add_do_method(node, "set_global_transform", Object::cast_to<Node3D>(node)->get_global_transform());
}
if (Object::cast_to<Control>(node)) {
- editor_data->get_undo_redo().add_do_method(node, "set_global_position", Object::cast_to<Control>(node)->get_global_position());
+ editor_data->get_undo_redo()->add_do_method(node, "set_global_position", Object::cast_to<Control>(node)->get_global_position());
}
}
- editor_data->get_undo_redo().add_do_method(this, "_set_owners", edited_scene, owners);
+ editor_data->get_undo_redo()->add_do_method(this, "_set_owners", edited_scene, owners);
if (AnimationPlayerEditor::get_singleton()->get_track_editor()->get_root() == node) {
- editor_data->get_undo_redo().add_do_method(AnimationPlayerEditor::get_singleton()->get_track_editor(), "set_root", node);
+ editor_data->get_undo_redo()->add_do_method(AnimationPlayerEditor::get_singleton()->get_track_editor(), "set_root", node);
}
- editor_data->get_undo_redo().add_undo_method(new_parent, "remove_child", node);
- editor_data->get_undo_redo().add_undo_method(node, "set_name", former_names[ni]);
+ editor_data->get_undo_redo()->add_undo_method(new_parent, "remove_child", node);
+ editor_data->get_undo_redo()->add_undo_method(node, "set_name", former_names[ni]);
inc++;
}
@@ -1870,29 +1878,29 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
int child_pos = node->get_index();
- editor_data->get_undo_redo().add_undo_method(node->get_parent(), "add_child", node, true);
- editor_data->get_undo_redo().add_undo_method(node->get_parent(), "move_child", node, child_pos);
- editor_data->get_undo_redo().add_undo_method(this, "_set_owners", edited_scene, owners);
+ editor_data->get_undo_redo()->add_undo_method(node->get_parent(), "add_child", node, true);
+ editor_data->get_undo_redo()->add_undo_method(node->get_parent(), "move_child", node, child_pos);
+ editor_data->get_undo_redo()->add_undo_method(this, "_set_owners", edited_scene, owners);
if (AnimationPlayerEditor::get_singleton()->get_track_editor()->get_root() == node) {
- editor_data->get_undo_redo().add_undo_method(AnimationPlayerEditor::get_singleton()->get_track_editor(), "set_root", node);
+ editor_data->get_undo_redo()->add_undo_method(AnimationPlayerEditor::get_singleton()->get_track_editor(), "set_root", node);
}
if (p_keep_global_xform) {
if (Object::cast_to<Node2D>(node)) {
- editor_data->get_undo_redo().add_undo_method(node, "set_transform", Object::cast_to<Node2D>(node)->get_transform());
+ editor_data->get_undo_redo()->add_undo_method(node, "set_transform", Object::cast_to<Node2D>(node)->get_transform());
}
if (Object::cast_to<Node3D>(node)) {
- editor_data->get_undo_redo().add_undo_method(node, "set_transform", Object::cast_to<Node3D>(node)->get_transform());
+ editor_data->get_undo_redo()->add_undo_method(node, "set_transform", Object::cast_to<Node3D>(node)->get_transform());
}
if (Object::cast_to<Control>(node)) {
- editor_data->get_undo_redo().add_undo_method(node, "set_position", Object::cast_to<Control>(node)->get_position());
+ editor_data->get_undo_redo()->add_undo_method(node, "set_position", Object::cast_to<Control>(node)->get_position());
}
}
}
perform_node_renames(nullptr, &path_renames);
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
}
bool SceneTreeDock::_is_collapsed_recursive(TreeItem *p_item) const {
@@ -1944,17 +1952,36 @@ void SceneTreeDock::_script_created(Ref<Script> p_script) {
return;
}
- editor_data->get_undo_redo().create_action(TTR("Attach Script"));
- for (Node *E : selected) {
- Ref<Script> existing = E->get_script();
- editor_data->get_undo_redo().add_do_method(E, "set_script", p_script);
- editor_data->get_undo_redo().add_undo_method(E, "set_script", existing);
- editor_data->get_undo_redo().add_do_method(this, "_update_script_button");
- editor_data->get_undo_redo().add_undo_method(this, "_update_script_button");
+ if (selected.size() == 1) {
+ Node *node = selected.front()->get();
+ Ref<Script> existing = node->get_script();
+
+ editor_data->get_undo_redo()->create_action(TTR("Attach Script"));
+ editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "store_script_properties", node);
+ editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "store_script_properties", node);
+ editor_data->get_undo_redo()->add_do_method(node, "set_script", p_script);
+ editor_data->get_undo_redo()->add_undo_method(node, "set_script", existing);
+ editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "apply_script_properties", node);
+ editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "apply_script_properties", node);
+ editor_data->get_undo_redo()->add_do_method(this, "_update_script_button");
+ editor_data->get_undo_redo()->add_undo_method(this, "_update_script_button");
+ editor_data->get_undo_redo()->commit_action();
+ } else {
+ editor_data->get_undo_redo()->create_action(TTR("Attach Script"));
+ for (Node *E : selected) {
+ Ref<Script> existing = E->get_script();
+ editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "store_script_properties", E);
+ editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "store_script_properties", E);
+ editor_data->get_undo_redo()->add_do_method(E, "set_script", p_script);
+ editor_data->get_undo_redo()->add_undo_method(E, "set_script", existing);
+ editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "apply_script_properties", E);
+ editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "apply_script_properties", E);
+ editor_data->get_undo_redo()->add_do_method(this, "_update_script_button");
+ editor_data->get_undo_redo()->add_undo_method(this, "_update_script_button");
+ }
+ editor_data->get_undo_redo()->commit_action();
}
- editor_data->get_undo_redo().commit_action();
-
_push_item(p_script.operator->());
_update_script_button();
}
@@ -1966,10 +1993,10 @@ void SceneTreeDock::_shader_created(Ref<Shader> p_shader) {
Ref<Shader> existing = selected_shader_material->get_shader();
- editor_data->get_undo_redo().create_action(TTR("Set Shader"));
- editor_data->get_undo_redo().add_do_method(selected_shader_material.ptr(), "set_shader", p_shader);
- editor_data->get_undo_redo().add_undo_method(selected_shader_material.ptr(), "set_shader", existing);
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->create_action(TTR("Set Shader"));
+ editor_data->get_undo_redo()->add_do_method(selected_shader_material.ptr(), "set_shader", p_shader);
+ editor_data->get_undo_redo()->add_undo_method(selected_shader_material.ptr(), "set_shader", existing);
+ editor_data->get_undo_redo()->commit_action();
}
void SceneTreeDock::_script_creation_closed() {
@@ -2035,9 +2062,9 @@ void SceneTreeDock::_delete_confirm(bool p_cut) {
EditorNode::get_singleton()->get_editor_plugins_over()->make_visible(false);
if (p_cut) {
- editor_data->get_undo_redo().create_action(TTR("Cut Node(s)"));
+ editor_data->get_undo_redo()->create_action(TTR("Cut Node(s)"));
} else {
- editor_data->get_undo_redo().create_action(TTR("Remove Node(s)"));
+ editor_data->get_undo_redo()->create_action(TTR("Remove Node(s)"));
}
bool entire_scene = false;
@@ -2049,11 +2076,11 @@ void SceneTreeDock::_delete_confirm(bool p_cut) {
}
if (entire_scene) {
- editor_data->get_undo_redo().add_do_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
- editor_data->get_undo_redo().add_undo_method(EditorNode::get_singleton(), "set_edited_scene", edited_scene);
- editor_data->get_undo_redo().add_undo_method(edited_scene, "set_owner", edited_scene->get_owner());
- editor_data->get_undo_redo().add_undo_method(scene_tree, "update_tree");
- editor_data->get_undo_redo().add_undo_reference(edited_scene);
+ editor_data->get_undo_redo()->add_do_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
+ editor_data->get_undo_redo()->add_undo_method(EditorNode::get_singleton(), "set_edited_scene", edited_scene);
+ editor_data->get_undo_redo()->add_undo_method(edited_scene, "set_owner", edited_scene->get_owner());
+ editor_data->get_undo_redo()->add_undo_method(scene_tree, "update_tree");
+ editor_data->get_undo_redo()->add_undo_reference(edited_scene);
} else {
remove_list.sort_custom<Node::Comparator>(); //sort nodes to keep positions
@@ -2082,21 +2109,21 @@ void SceneTreeDock::_delete_confirm(bool p_cut) {
owners.push_back(F);
}
- editor_data->get_undo_redo().add_do_method(n->get_parent(), "remove_child", n);
- editor_data->get_undo_redo().add_undo_method(n->get_parent(), "add_child", n, true);
- editor_data->get_undo_redo().add_undo_method(n->get_parent(), "move_child", n, n->get_index());
+ editor_data->get_undo_redo()->add_do_method(n->get_parent(), "remove_child", n);
+ editor_data->get_undo_redo()->add_undo_method(n->get_parent(), "add_child", n, true);
+ editor_data->get_undo_redo()->add_undo_method(n->get_parent(), "move_child", n, n->get_index());
if (AnimationPlayerEditor::get_singleton()->get_track_editor()->get_root() == n) {
- editor_data->get_undo_redo().add_undo_method(AnimationPlayerEditor::get_singleton()->get_track_editor(), "set_root", n);
+ editor_data->get_undo_redo()->add_undo_method(AnimationPlayerEditor::get_singleton()->get_track_editor(), "set_root", n);
}
- editor_data->get_undo_redo().add_undo_method(this, "_set_owners", edited_scene, owners);
- editor_data->get_undo_redo().add_undo_reference(n);
+ editor_data->get_undo_redo()->add_undo_method(this, "_set_owners", edited_scene, owners);
+ editor_data->get_undo_redo()->add_undo_reference(n);
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_remove_and_keep_node", edited_scene->get_path_to(n), n->get_instance_id());
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_restore_node", n->get_instance_id(), edited_scene->get_path_to(n->get_parent()), n->get_index());
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_remove_and_keep_node", edited_scene->get_path_to(n), n->get_instance_id());
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_restore_node", n->get_instance_id(), edited_scene->get_path_to(n->get_parent()), n->get_index());
}
}
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
// hack, force 2d editor viewport to refresh after deletion
if (CanvasItemEditor *editor = CanvasItemEditor::get_singleton()) {
@@ -2162,29 +2189,29 @@ void SceneTreeDock::_do_create(Node *p_parent) {
Node *child = Object::cast_to<Node>(c);
ERR_FAIL_COND(!child);
- editor_data->get_undo_redo().create_action(TTR("Create Node"));
+ editor_data->get_undo_redo()->create_action(TTR("Create Node"));
if (edited_scene) {
- editor_data->get_undo_redo().add_do_method(p_parent, "add_child", child, true);
- editor_data->get_undo_redo().add_do_method(child, "set_owner", edited_scene);
- editor_data->get_undo_redo().add_do_method(editor_selection, "clear");
- editor_data->get_undo_redo().add_do_method(editor_selection, "add_node", child);
- editor_data->get_undo_redo().add_do_reference(child);
- editor_data->get_undo_redo().add_undo_method(p_parent, "remove_child", child);
+ editor_data->get_undo_redo()->add_do_method(p_parent, "add_child", child, true);
+ editor_data->get_undo_redo()->add_do_method(child, "set_owner", edited_scene);
+ editor_data->get_undo_redo()->add_do_method(editor_selection, "clear");
+ editor_data->get_undo_redo()->add_do_method(editor_selection, "add_node", child);
+ editor_data->get_undo_redo()->add_do_reference(child);
+ editor_data->get_undo_redo()->add_undo_method(p_parent, "remove_child", child);
String new_name = p_parent->validate_child_name(child);
EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
- editor_data->get_undo_redo().add_do_method(ed, "live_debug_create_node", edited_scene->get_path_to(p_parent), child->get_class(), new_name);
- editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(p_parent)).plus_file(new_name)));
+ editor_data->get_undo_redo()->add_do_method(ed, "live_debug_create_node", edited_scene->get_path_to(p_parent), child->get_class(), new_name);
+ editor_data->get_undo_redo()->add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(p_parent)).plus_file(new_name)));
} else {
- editor_data->get_undo_redo().add_do_method(EditorNode::get_singleton(), "set_edited_scene", child);
- editor_data->get_undo_redo().add_do_method(scene_tree, "update_tree");
- editor_data->get_undo_redo().add_do_reference(child);
- editor_data->get_undo_redo().add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
+ editor_data->get_undo_redo()->add_do_method(EditorNode::get_singleton(), "set_edited_scene", child);
+ editor_data->get_undo_redo()->add_do_method(scene_tree, "update_tree");
+ editor_data->get_undo_redo()->add_do_reference(child);
+ editor_data->get_undo_redo()->add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
}
- editor_data->get_undo_redo().commit_action();
+ editor_data->get_undo_redo()->commit_action();
_push_item(c);
editor_selection->clear();
editor_selection->add_node(child);
@@ -2231,8 +2258,8 @@ void SceneTreeDock::_create() {
List<Node *> selection = editor_selection->get_selected_node_list();
ERR_FAIL_COND(selection.size() <= 0);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change type of node(s)"));
+ Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo();
+ ur->create_action(TTR("Change type of node(s)"), UndoRedo::MERGE_DISABLE, selection.front()->get());
for (Node *n : selection) {
ERR_FAIL_COND(!n);
@@ -2339,7 +2366,7 @@ void SceneTreeDock::replace_node(Node *p_node, Node *p_by_node, bool p_keep_prop
if (!(c.flags & Object::CONNECT_PERSIST)) {
continue;
}
- newnode->connect(c.signal.get_name(), c.callable, c.binds, Object::CONNECT_PERSIST);
+ newnode->connect(c.signal.get_name(), c.callable, Object::CONNECT_PERSIST);
}
}
@@ -2365,7 +2392,7 @@ void SceneTreeDock::replace_node(Node *p_node, Node *p_by_node, bool p_keep_prop
}
//p_remove_old was added to support undo
if (p_remove_old) {
- editor_data->get_undo_redo().clear_history();
+ editor_data->get_undo_redo()->clear_history();
}
newnode->set_name(newname);
@@ -2410,8 +2437,8 @@ void SceneTreeDock::_new_scene_from(String p_file) {
Node *copy = base->duplicate_from_editor(duplimap);
if (copy) {
- for (int i = 0; i < copy->get_child_count(); i++) {
- _set_node_owner_recursive(copy->get_child(i), copy);
+ for (int i = 0; i < copy->get_child_count(false); i++) {
+ _set_node_owner_recursive(copy->get_child(i, false), copy);
}
Ref<PackedScene> sdata = memnew(PackedScene);
@@ -2429,7 +2456,7 @@ void SceneTreeDock::_new_scene_from(String p_file) {
flg |= ResourceSaver::FLAG_COMPRESS;
}
- err = ResourceSaver::save(p_file, sdata, flg);
+ err = ResourceSaver::save(sdata, p_file, flg);
if (err != OK) {
accept->set_text(TTR("Error saving scene."));
accept->popup_centered();
@@ -2448,8 +2475,8 @@ void SceneTreeDock::_set_node_owner_recursive(Node *p_node, Node *p_owner) {
p_node->set_owner(p_owner);
}
- for (int i = 0; i < p_node->get_child_count(); i++) {
- _set_node_owner_recursive(p_node->get_child(i), p_owner);
+ for (int i = 0; i < p_node->get_child_count(false); i++) {
+ _set_node_owner_recursive(p_node->get_child(i, false), p_owner);
}
}
@@ -2578,14 +2605,17 @@ void SceneTreeDock::_files_dropped(Vector<String> p_files, NodePath p_to, int p_
void SceneTreeDock::_script_dropped(String p_file, NodePath p_to) {
Ref<Script> scr = ResourceLoader::load(p_file);
ERR_FAIL_COND(!scr.is_valid());
- Node *n = get_node(p_to);
- if (n) {
- editor_data->get_undo_redo().create_action(TTR("Attach Script"));
- editor_data->get_undo_redo().add_do_method(n, "set_script", scr);
- editor_data->get_undo_redo().add_undo_method(n, "set_script", n->get_script());
- editor_data->get_undo_redo().add_do_method(this, "_update_script_button");
- editor_data->get_undo_redo().add_undo_method(this, "_update_script_button");
- editor_data->get_undo_redo().commit_action();
+ if (Node *n = get_node(p_to)) {
+ editor_data->get_undo_redo()->create_action(TTR("Attach Script"));
+ editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "store_script_properties", n);
+ editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "store_script_properties", n);
+ editor_data->get_undo_redo()->add_do_method(n, "set_script", scr);
+ editor_data->get_undo_redo()->add_undo_method(n, "set_script", n->get_script());
+ editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "apply_script_properties", n);
+ editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "apply_script_properties", n);
+ editor_data->get_undo_redo()->add_do_method(this, "_update_script_button");
+ editor_data->get_undo_redo()->add_undo_method(this, "_update_script_button");
+ editor_data->get_undo_redo()->commit_action();
}
}
@@ -2647,7 +2677,7 @@ void SceneTreeDock::_add_children_to_popup(Object *p_obj, int p_depth) {
}
int index = menu_subresources->get_item_count();
menu_subresources->add_icon_item(icon, E.name.capitalize(), EDIT_SUBRESOURCE_BASE + subresources.size());
- menu_subresources->set_item_h_offset(index, p_depth * 10 * EDSCALE);
+ menu_subresources->set_item_indent(index, p_depth);
subresources.push_back(obj->get_instance_id());
_add_children_to_popup(obj, p_depth + 1);
@@ -3033,9 +3063,9 @@ List<Node *> SceneTreeDock::paste_nodes() {
owner = paste_parent;
}
- UndoRedo &ur = editor_data->get_undo_redo();
- ur.create_action(TTR("Paste Node(s)"));
- ur.add_do_method(editor_selection, "clear");
+ Ref<EditorUndoRedoManager> &ur = editor_data->get_undo_redo();
+ ur->create_action(TTR("Paste Node(s)"), UndoRedo::MERGE_DISABLE, EditorNode::get_singleton()->get_edited_scene());
+ ur->add_do_method(editor_selection, "clear");
HashMap<Ref<Resource>, Ref<Resource>> resource_remap;
String target_scene;
@@ -3064,36 +3094,36 @@ List<Node *> SceneTreeDock::paste_nodes() {
if (!paste_parent) {
paste_parent = dup;
owner = dup;
- ur.add_do_method(EditorNode::get_singleton(), "set_edited_scene", dup);
+ ur->add_do_method(EditorNode::get_singleton(), "set_edited_scene", dup);
} else {
- ur.add_do_method(paste_parent, "add_child", dup, true);
+ ur->add_do_method(paste_parent, "add_child", dup, true);
}
for (KeyValue<const Node *, Node *> &E2 : duplimap) {
Node *d = E2.value;
if (d != dup) {
- ur.add_do_method(d, "set_owner", owner);
+ ur->add_do_method(d, "set_owner", owner);
}
}
if (dup != owner) {
- ur.add_do_method(dup, "set_owner", owner);
+ ur->add_do_method(dup, "set_owner", owner);
}
- ur.add_do_method(editor_selection, "add_node", dup);
+ ur->add_do_method(editor_selection, "add_node", dup);
if (dup == paste_parent) {
- ur.add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
+ ur->add_undo_method(EditorNode::get_singleton(), "set_edited_scene", (Object *)nullptr);
} else {
- ur.add_undo_method(paste_parent, "remove_child", dup);
+ ur->add_undo_method(paste_parent, "remove_child", dup);
}
- ur.add_do_reference(dup);
+ ur->add_do_reference(dup);
if (node_clipboard.size() == 1) {
- ur.add_do_method(EditorNode::get_singleton(), "push_item", dup);
+ ur->add_do_method(EditorNode::get_singleton(), "push_item", dup);
}
}
- ur.commit_action();
+ ur->commit_action();
return pasted_nodes;
}
@@ -3169,7 +3199,7 @@ void SceneTreeDock::_update_create_root_dialog() {
favorite_nodes->get_child(i)->queue_delete();
}
- Ref<FileAccess> f = FileAccess::open(EditorSettings::get_singleton()->get_project_settings_dir().plus_file("favorites.Node"), FileAccess::READ);
+ Ref<FileAccess> f = FileAccess::open(EditorPaths::get_singleton()->get_project_settings_dir().plus_file("favorites.Node"), FileAccess::READ);
if (f.is_valid()) {
while (!f->eof_reached()) {
String l = f->get_line().strip_edges();
@@ -3184,7 +3214,7 @@ void SceneTreeDock::_update_create_root_dialog() {
name = ScriptServer::get_global_class_native_base(name);
}
button->set_icon(EditorNode::get_singleton()->get_class_icon(name));
- button->connect("pressed", callable_mp(this, &SceneTreeDock::_favorite_root_selected), make_binds(l));
+ button->connect("pressed", callable_mp(this, &SceneTreeDock::_favorite_root_selected).bind(l));
}
}
}
@@ -3366,14 +3396,14 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
button_add = memnew(Button);
button_add->set_flat(true);
- button_add->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_NEW, false));
+ button_add->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_NEW, false));
button_add->set_tooltip(TTR("Add/Create a New Node."));
button_add->set_shortcut(ED_GET_SHORTCUT("scene_tree/add_child_node"));
filter_hbc->add_child(button_add);
button_instance = memnew(Button);
button_instance->set_flat(true);
- button_instance->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_INSTANTIATE, false));
+ button_instance->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_INSTANTIATE, false));
button_instance->set_tooltip(TTR("Instantiate a scene file as a Node. Creates an inherited scene if no root node exists."));
button_instance->set_shortcut(ED_GET_SHORTCUT("scene_tree/instance_scene"));
filter_hbc->add_child(button_instance);
@@ -3381,14 +3411,14 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
vbc->add_child(filter_hbc);
filter = memnew(LineEdit);
filter->set_h_size_flags(SIZE_EXPAND_FILL);
- filter->set_placeholder(TTR("Filter nodes"));
+ filter->set_placeholder(TTR("Filter Nodes"));
filter_hbc->add_child(filter);
filter->add_theme_constant_override("minimum_character_width", 0);
filter->connect("text_changed", callable_mp(this, &SceneTreeDock::_filter_changed));
button_create_script = memnew(Button);
button_create_script->set_flat(true);
- button_create_script->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_ATTACH_SCRIPT, false));
+ button_create_script->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_ATTACH_SCRIPT, false));
button_create_script->set_tooltip(TTR("Attach a new or existing script to the selected node."));
button_create_script->set_shortcut(ED_GET_SHORTCUT("scene_tree/attach_script"));
filter_hbc->add_child(button_create_script);
@@ -3396,7 +3426,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
button_detach_script = memnew(Button);
button_detach_script->set_flat(true);
- button_detach_script->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(TOOL_DETACH_SCRIPT, false));
+ button_detach_script->connect("pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(TOOL_DETACH_SCRIPT, false));
button_detach_script->set_tooltip(TTR("Detach the script from the selected node."));
button_detach_script->set_shortcut(ED_GET_SHORTCUT("scene_tree/detach_script"));
filter_hbc->add_child(button_detach_script);
@@ -3409,7 +3439,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
PopupMenu *tree_menu = button_tree_menu->get_popup();
tree_menu->add_check_item(TTR("Auto Expand to Selected"), TOOL_AUTO_EXPAND);
- tree_menu->connect("id_pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(false));
+ tree_menu->connect("id_pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(false));
button_hb = memnew(HBoxContainer);
vbc->add_child(button_hb);
@@ -3446,8 +3476,8 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
scene_tree->set_v_size_flags(SIZE_EXPAND | SIZE_FILL);
scene_tree->connect("rmb_pressed", callable_mp(this, &SceneTreeDock::_tree_rmb));
- scene_tree->connect("node_selected", callable_mp(this, &SceneTreeDock::_node_selected), varray(), CONNECT_DEFERRED);
- scene_tree->connect("node_renamed", callable_mp(this, &SceneTreeDock::_node_renamed), varray(), CONNECT_DEFERRED);
+ scene_tree->connect("node_selected", callable_mp(this, &SceneTreeDock::_node_selected), CONNECT_DEFERRED);
+ scene_tree->connect("node_renamed", callable_mp(this, &SceneTreeDock::_node_renamed), CONNECT_DEFERRED);
scene_tree->connect("node_prerename", callable_mp(this, &SceneTreeDock::_node_prerenamed));
scene_tree->connect("open", callable_mp(this, &SceneTreeDock::_load_request));
scene_tree->connect("open_script", callable_mp(this, &SceneTreeDock::_script_open_request));
@@ -3461,7 +3491,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
editor_selection->connect("selection_changed", callable_mp(this, &SceneTreeDock::_selection_changed));
- scene_tree->set_undo_redo(&editor_data->get_undo_redo());
+ scene_tree->set_undo_redo(editor_data->get_undo_redo());
scene_tree->set_editor_selection(editor_selection);
create_dialog = memnew(CreateDialog);
@@ -3471,7 +3501,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
create_dialog->connect("favorites_updated", callable_mp(this, &SceneTreeDock::_update_create_root_dialog));
#ifdef MODULE_REGEX_ENABLED
- rename_dialog = memnew(RenameDialog(scene_tree, &editor_data->get_undo_redo()));
+ rename_dialog = memnew(RenameDialog(scene_tree, editor_data->get_undo_redo()));
add_child(rename_dialog);
#endif // MODULE_REGEX_ENABLED
@@ -3497,7 +3527,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
delete_dialog = memnew(ConfirmationDialog);
add_child(delete_dialog);
- delete_dialog->connect("confirmed", callable_mp(this, &SceneTreeDock::_delete_confirm), varray(false));
+ delete_dialog->connect("confirmed", callable_mp(this, &SceneTreeDock::_delete_confirm).bind(false));
editable_instance_remove_dialog = memnew(ConfirmationDialog);
add_child(editable_instance_remove_dialog);
@@ -3514,11 +3544,11 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
menu = memnew(PopupMenu);
add_child(menu);
- menu->connect("id_pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(false));
+ menu->connect("id_pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(false));
menu_subresources = memnew(PopupMenu);
menu_subresources->set_name("Sub-Resources");
- menu_subresources->connect("id_pressed", callable_mp(this, &SceneTreeDock::_tool_selected), make_binds(false));
+ menu_subresources->connect("id_pressed", callable_mp(this, &SceneTreeDock::_tool_selected).bind(false));
menu->add_child(menu_subresources);
menu_properties = memnew(PopupMenu);
@@ -3527,7 +3557,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec
clear_inherit_confirm = memnew(ConfirmationDialog);
clear_inherit_confirm->set_text(TTR("Clear Inheritance? (No Undo!)"));
- clear_inherit_confirm->get_ok_button()->set_text(TTR("Clear"));
+ clear_inherit_confirm->set_ok_button_text(TTR("Clear"));
add_child(clear_inherit_confirm);
set_process_input(true);
diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h
index 54e6108d84..e15865036b 100644
--- a/editor/scene_tree_dock.h
+++ b/editor/scene_tree_dock.h
@@ -33,8 +33,8 @@
#include "editor/create_dialog.h"
#include "editor/editor_data.h"
+#include "editor/editor_quick_open.h"
#include "editor/groups_editor.h"
-#include "editor/quick_open.h"
#include "editor/reparent_dialog.h"
#include "editor/script_create_dialog.h"
#include "scene/animation/animation_player.h"
@@ -172,6 +172,7 @@ class SceneTreeDock : public VBoxContainer {
Node *scene_root = nullptr;
Node *edited_scene = nullptr;
Node *pending_click_select = nullptr;
+ bool tree_clicked = false;
VBoxContainer *create_root_dialog = nullptr;
String selected_favorite_root;
diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp
index 32d43d7c59..b977b012a8 100644
--- a/editor/scene_tree_editor.cpp
+++ b/editor/scene_tree_editor.cpp
@@ -35,6 +35,7 @@
#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
#include "editor/editor_scale.h"
+#include "editor/editor_undo_redo_manager.h"
#include "editor/node_dock.h"
#include "editor/plugins/animation_player_editor_plugin.h"
#include "editor/plugins/canvas_item_editor_plugin.h"
@@ -268,7 +269,17 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
String warning = p_node->get_configuration_warnings_as_string();
if (!warning.is_empty()) {
- item->add_button(0, get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons")), BUTTON_WARNING, false, TTR("Node configuration warning:") + "\n" + warning);
+ const int num_warnings = p_node->get_configuration_warnings().size();
+ String warning_icon;
+ if (num_warnings == 1) {
+ warning_icon = SNAME("NodeWarning");
+ } else if (num_warnings <= 3) {
+ warning_icon = vformat("NodeWarnings%d", num_warnings);
+ } else {
+ warning_icon = SNAME("NodeWarnings4Plus");
+ }
+
+ item->add_button(0, get_theme_icon(warning_icon, SNAME("EditorIcons")), BUTTON_WARNING, false, TTR("Node configuration warning:") + "\n" + warning);
}
if (p_node->is_unique_name_in_owner()) {
@@ -355,10 +366,10 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
item->set_tooltip(0, tooltip);
}
- if (can_open_instance && undo_redo) { //Show buttons only when necessary(SceneTreeDock) to avoid crashes
+ if (can_open_instance && undo_redo.is_valid()) { //Show buttons only when necessary(SceneTreeDock) to avoid crashes
if (!p_node->is_connected("script_changed", callable_mp(this, &SceneTreeEditor::_node_script_changed))) {
- p_node->connect("script_changed", callable_mp(this, &SceneTreeEditor::_node_script_changed), varray(p_node));
+ p_node->connect("script_changed", callable_mp(this, &SceneTreeEditor::_node_script_changed).bind(p_node));
}
Ref<Script> script = p_node->get_script();
@@ -375,7 +386,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
}
if (p_node->has_meta("_edit_group_")) {
- item->add_button(0, get_theme_icon(SNAME("Group"), SNAME("EditorIcons")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make selectable."));
+ item->add_button(0, get_theme_icon(SNAME("Group"), SNAME("EditorIcons")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make them selectable."));
}
bool v = p_node->call("is_visible");
@@ -386,11 +397,11 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
}
if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) {
- p_node->connect("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed), varray(p_node));
+ p_node->connect("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed).bind(p_node));
}
_update_visibility_color(p_node, item);
- } else if (p_node->is_class("CanvasLayer")) {
+ } else if (p_node->is_class("CanvasLayer") || p_node->is_class("Window")) {
bool v = p_node->call("is_visible");
if (v) {
item->add_button(0, get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
@@ -399,7 +410,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
}
if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) {
- p_node->connect("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed), varray(p_node));
+ p_node->connect("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed).bind(p_node));
}
} else if (p_node->is_class("Node3D")) {
if (p_node->has_meta("_edit_lock_")) {
@@ -407,7 +418,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
}
if (p_node->has_meta("_edit_group_")) {
- item->add_button(0, get_theme_icon(SNAME("Group"), SNAME("EditorIcons")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make selectable."));
+ item->add_button(0, get_theme_icon(SNAME("Group"), SNAME("EditorIcons")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make them selectable."));
}
bool v = p_node->call("is_visible");
@@ -418,7 +429,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
}
if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) {
- p_node->connect("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed), varray(p_node));
+ p_node->connect("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed).bind(p_node));
}
_update_visibility_color(p_node, item);
@@ -480,10 +491,7 @@ void SceneTreeEditor::_node_visibility_changed(Node *p_node) {
bool visible = false;
- if (p_node->is_class("CanvasItem")) {
- visible = p_node->call("is_visible");
- CanvasItemEditor::get_singleton()->get_viewport_control()->update();
- } else if (p_node->is_class("CanvasLayer")) {
+ if (p_node->is_class("CanvasItem") || p_node->is_class("CanvasLayer") || p_node->is_class("Window")) {
visible = p_node->call("is_visible");
CanvasItemEditor::get_singleton()->get_viewport_control()->update();
} else if (p_node->is_class("Node3D")) {
@@ -529,7 +537,7 @@ void SceneTreeEditor::_node_removed(Node *p_node) {
p_node->disconnect("script_changed", callable_mp(this, &SceneTreeEditor::_node_script_changed));
}
- if (p_node->is_class("Node3D") || p_node->is_class("CanvasItem") || p_node->is_class("CanvasLayer")) {
+ if (p_node->is_class("Node3D") || p_node->is_class("CanvasItem") || p_node->is_class("CanvasLayer") || p_node->is_class("Window")) {
if (p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) {
p_node->disconnect("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed));
}
@@ -584,13 +592,20 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select
p_parent = tree->get_root();
}
+ if (!p_parent) {
+ // Tree is empty, nothing to do here.
+ return false;
+ }
+
bool keep = false;
for (TreeItem *child = p_parent->get_first_child(); child; child = child->get_next()) {
keep = _update_filter(child, p_scroll_to_selected) || keep;
}
if (!keep) {
- keep = filter.is_subsequence_ofn(p_parent->get_text(0));
+ StringName node_type = get_node(p_parent->get_metadata(0))->get_class();
+ bool is_kept_by_type = (filter.begins_with("type:") && filter.trim_prefix("type:").is_subsequence_ofn(node_type)) || (filter.begins_with("t:") && filter.trim_prefix("t:").is_subsequence_ofn(node_type));
+ keep = (filter.is_subsequence_ofn(p_parent->get_text(0)) || is_kept_by_type);
}
p_parent->set_visible(keep);
@@ -728,7 +743,7 @@ void SceneTreeEditor::_notification(int p_what) {
get_tree()->connect("tree_process_mode_changed", callable_mp(this, &SceneTreeEditor::_tree_process_mode_changed));
get_tree()->connect("node_removed", callable_mp(this, &SceneTreeEditor::_node_removed));
get_tree()->connect("node_renamed", callable_mp(this, &SceneTreeEditor::_node_renamed));
- get_tree()->connect("node_configuration_warning_changed", callable_mp(this, &SceneTreeEditor::_warning_changed), varray(), CONNECT_DEFERRED);
+ get_tree()->connect("node_configuration_warning_changed", callable_mp(this, &SceneTreeEditor::_warning_changed), CONNECT_DEFERRED);
tree->connect("item_collapsed", callable_mp(this, &SceneTreeEditor::_cell_collapsed));
@@ -871,7 +886,7 @@ void SceneTreeEditor::_renamed() {
return;
}
- if (!undo_redo) {
+ if (!undo_redo.is_valid()) {
n->set_name(new_name);
which->set_metadata(0, n->get_path());
emit_signal(SNAME("node_renamed"));
@@ -915,6 +930,10 @@ String SceneTreeEditor::get_filter() const {
return filter;
}
+void SceneTreeEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
+ undo_redo = p_undo_redo;
+}
+
void SceneTreeEditor::set_display_foreign_nodes(bool p_display) {
display_foreign = p_display;
_update_tree();
@@ -1246,7 +1265,6 @@ void SceneTreeEditor::_bind_methods() {
}
SceneTreeEditor::SceneTreeEditor(bool p_label, bool p_can_rename, bool p_can_open_instance) {
- undo_redo = nullptr;
selected = nullptr;
can_rename = p_can_rename;
@@ -1296,7 +1314,7 @@ SceneTreeEditor::SceneTreeEditor(bool p_label, bool p_can_rename, bool p_can_ope
blocked = 0;
update_timer = memnew(Timer);
- update_timer->connect("timeout", callable_mp(this, &SceneTreeEditor::_update_tree), varray(false));
+ update_timer->connect("timeout", callable_mp(this, &SceneTreeEditor::_update_tree).bind(false));
update_timer->set_one_shot(true);
update_timer->set_wait_time(0.5);
add_child(update_timer);
@@ -1348,11 +1366,16 @@ void SceneTreeDialog::_cancel() {
void SceneTreeDialog::_select() {
if (tree->get_selected()) {
- emit_signal(SNAME("selected"), tree->get_selected()->get_path());
+ // The signal may cause another dialog to be displayed, so be sure to hide this one first.
hide();
+ emit_signal(SNAME("selected"), tree->get_selected()->get_path());
}
}
+void SceneTreeDialog::_selected_changed() {
+ get_ok_button()->set_disabled(!tree->get_selected());
+}
+
void SceneTreeDialog::_filter_changed(const String &p_filter) {
tree->set_filter(p_filter);
}
@@ -1370,7 +1393,7 @@ SceneTreeDialog::SceneTreeDialog() {
filter = memnew(LineEdit);
filter->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- filter->set_placeholder(TTR("Filter nodes"));
+ filter->set_placeholder(TTR("Filter Nodes"));
filter->set_clear_button_enabled(true);
filter->add_theme_constant_override("minimum_character_width", 0);
filter->connect("text_changed", callable_mp(this, &SceneTreeDialog::_filter_changed));
@@ -1380,6 +1403,10 @@ SceneTreeDialog::SceneTreeDialog() {
tree->set_v_size_flags(Control::SIZE_EXPAND_FILL);
tree->get_scene_tree()->connect("item_activated", callable_mp(this, &SceneTreeDialog::_select));
vbc->add_child(tree);
+
+ // Disable the OK button when no node is selected.
+ get_ok_button()->set_disabled(!tree->get_selected());
+ tree->connect("node_selected", callable_mp(this, &SceneTreeDialog::_selected_changed));
}
SceneTreeDialog::~SceneTreeDialog() {
diff --git a/editor/scene_tree_editor.h b/editor/scene_tree_editor.h
index 5d4230059c..0c13ad96cd 100644
--- a/editor/scene_tree_editor.h
+++ b/editor/scene_tree_editor.h
@@ -31,13 +31,14 @@
#ifndef SCENE_TREE_EDITOR_H
#define SCENE_TREE_EDITOR_H
-#include "core/object/undo_redo.h"
#include "editor/editor_data.h"
#include "editor/editor_settings.h"
#include "scene/gui/button.h"
#include "scene/gui/dialogs.h"
#include "scene/gui/tree.h"
+class EditorUndoRedoManager;
+
class SceneTreeEditor : public Control {
GDCLASS(SceneTreeEditor, Control);
@@ -98,7 +99,7 @@ class SceneTreeEditor : public Control {
bool show_enabled_subscene = false;
void _renamed();
- UndoRedo *undo_redo = nullptr;
+ Ref<EditorUndoRedoManager> undo_redo;
HashSet<Node *> marked;
bool marked_selectable = false;
@@ -139,7 +140,7 @@ public:
void set_filter(const String &p_filter);
String get_filter() const;
- void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; };
+ void set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo);
void set_display_foreign_nodes(bool p_display);
void set_marked(const HashSet<Node *> &p_marked, bool p_selectable = false, bool p_children_selectable = true);
@@ -176,6 +177,7 @@ class SceneTreeDialog : public ConfirmationDialog {
void _select();
void _cancel();
+ void _selected_changed();
void _filter_changed(const String &p_filter);
void _update_theme();
@@ -191,4 +193,4 @@ public:
~SceneTreeDialog();
};
-#endif
+#endif // SCENE_TREE_EDITOR_H
diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp
index 9530a58eb2..77e0321f83 100644
--- a/editor/script_create_dialog.cpp
+++ b/editor/script_create_dialog.cpp
@@ -38,6 +38,7 @@
#include "editor/editor_file_dialog.h"
#include "editor/editor_file_system.h"
#include "editor/editor_node.h"
+#include "editor/editor_paths.h"
#include "editor/editor_scale.h"
#include "editor/editor_settings.h"
@@ -384,7 +385,7 @@ void ScriptCreateDialog::_create_new() {
} else {
String lpath = ProjectSettings::get_singleton()->localize_path(file_path->get_text());
scr->set_path(lpath);
- Error err = ResourceSaver::save(lpath, scr, ResourceSaver::FLAG_CHANGE_PATH);
+ Error err = ResourceSaver::save(scr, lpath, ResourceSaver::FLAG_CHANGE_PATH);
if (err != OK) {
alert->set_text(TTR("Error - Could not create script in filesystem."));
alert->popup_centered();
@@ -481,7 +482,7 @@ void ScriptCreateDialog::_browse_path(bool browse_parent, bool p_save) {
if (p_save) {
file_browse->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
file_browse->set_title(TTR("Open Script / Choose Location"));
- file_browse->get_ok_button()->set_text(TTR("Open"));
+ file_browse->set_ok_button_text(TTR("Open"));
} else {
file_browse->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
file_browse->set_title(TTR("Open Script"));
@@ -528,7 +529,7 @@ void ScriptCreateDialog::_browse_class_in_tree() {
select_class->set_base_type(base_type);
select_class->popup_create(true);
select_class->set_title(vformat(TTR("Inherit %s"), base_type));
- select_class->get_ok_button()->set_text(TTR("Inherit"));
+ select_class->set_ok_button_text(TTR("Inherit"));
}
void ScriptCreateDialog::_path_changed(const String &p_path) {
@@ -620,9 +621,9 @@ void ScriptCreateDialog::_update_template_menu() {
} else {
String template_directory;
if (template_location == ScriptLanguage::TEMPLATE_PROJECT) {
- template_directory = EditorSettings::get_singleton()->get_project_script_templates_dir();
+ template_directory = EditorPaths::get_singleton()->get_project_script_templates_dir();
} else {
- template_directory = EditorSettings::get_singleton()->get_script_templates_dir();
+ template_directory = EditorPaths::get_singleton()->get_script_templates_dir();
}
templates_found = _get_user_templates(language, current_node, template_directory, template_location);
}
@@ -750,7 +751,7 @@ void ScriptCreateDialog::_update_dialog() {
parent_browse_button->set_disabled(!is_new_file || !can_inherit_from_file);
template_inactive_message = "";
String button_text = is_new_file ? TTR("Create") : TTR("Load");
- get_ok_button()->set_text(button_text);
+ set_ok_button_text(button_text);
if (is_new_file) {
if (is_built_in) {
@@ -940,7 +941,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
builtin_warning_label->set_text(
TTR("Note: Built-in scripts have some limitations and can't be edited using an external editor."));
vb->add_child(builtin_warning_label);
- builtin_warning_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ builtin_warning_label->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
builtin_warning_label->hide();
script_name_warning_label = memnew(Label);
@@ -948,12 +949,12 @@ ScriptCreateDialog::ScriptCreateDialog() {
TTR("Warning: Having the script name be the same as a built-in type is usually not desired."));
vb->add_child(script_name_warning_label);
script_name_warning_label->add_theme_color_override("font_color", Color(1, 0.85, 0.4));
- script_name_warning_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ script_name_warning_label->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
script_name_warning_label->hide();
template_info_label = memnew(Label);
vb->add_child(template_info_label);
- template_info_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ template_info_label->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
status_panel = memnew(PanelContainer);
status_panel->set_h_size_flags(Control::SIZE_FILL);
@@ -1008,7 +1009,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
parent_search_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_class_in_tree));
hb->add_child(parent_search_button);
parent_browse_button = memnew(Button);
- parent_browse_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_path), varray(true, false));
+ parent_browse_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_path).bind(true, false));
hb->add_child(parent_browse_button);
gc->add_child(memnew(Label(TTR("Inherits:"))));
gc->add_child(hb);
@@ -1057,7 +1058,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
file_path->set_h_size_flags(Control::SIZE_EXPAND_FILL);
hb->add_child(file_path);
path_button = memnew(Button);
- path_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_path), varray(false, true));
+ path_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_path).bind(false, true));
hb->add_child(path_button);
Label *label = memnew(Label(TTR("Path:")));
gc->add_child(label);
@@ -1088,9 +1089,9 @@ ScriptCreateDialog::ScriptCreateDialog() {
file_browse->connect("file_selected", callable_mp(this, &ScriptCreateDialog::_file_selected));
file_browse->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
add_child(file_browse);
- get_ok_button()->set_text(TTR("Create"));
+ set_ok_button_text(TTR("Create"));
alert = memnew(AcceptDialog);
- alert->get_label()->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ alert->get_label()->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
alert->get_label()->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
alert->get_label()->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
alert->get_label()->set_custom_minimum_size(Size2(325, 60) * EDSCALE);
diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp
index 9c322320b8..8c4a231e8a 100644
--- a/editor/shader_create_dialog.cpp
+++ b/editor/shader_create_dialog.cpp
@@ -33,9 +33,17 @@
#include "core/config/project_settings.h"
#include "editor/editor_file_dialog.h"
#include "editor/editor_scale.h"
+#include "scene/resources/shader_include.h"
#include "scene/resources/visual_shader.h"
#include "servers/rendering/shader_types.h"
+enum ShaderType {
+ SHADER_TYPE_TEXT,
+ SHADER_TYPE_VISUAL,
+ SHADER_TYPE_INC,
+ SHADER_TYPE_MAX,
+};
+
void ShaderCreateDialog::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
@@ -43,15 +51,15 @@ void ShaderCreateDialog::_notification(int p_what) {
String last_lang = EditorSettings::get_singleton()->get_project_metadata("shader_setup", "last_selected_language", "");
if (!last_lang.is_empty()) {
- for (int i = 0; i < language_menu->get_item_count(); i++) {
- if (language_menu->get_item_text(i) == last_lang) {
- language_menu->select(i);
- current_language = i;
+ for (int i = 0; i < type_menu->get_item_count(); i++) {
+ if (type_menu->get_item_text(i) == last_lang) {
+ type_menu->select(i);
+ current_type = i;
break;
}
}
} else {
- language_menu->select(default_language);
+ type_menu->select(default_type);
}
current_mode = EditorSettings::get_singleton()->get_project_metadata("shader_setup", "last_selected_mode", 0);
@@ -67,12 +75,17 @@ void ShaderCreateDialog::_notification(int p_what) {
void ShaderCreateDialog::_update_theme() {
Ref<Texture2D> shader_icon = gc->get_theme_icon(SNAME("Shader"), SNAME("EditorIcons"));
if (shader_icon.is_valid()) {
- language_menu->set_item_icon(0, shader_icon);
+ type_menu->set_item_icon(0, shader_icon);
}
Ref<Texture2D> visual_shader_icon = gc->get_theme_icon(SNAME("VisualShader"), SNAME("EditorIcons"));
if (visual_shader_icon.is_valid()) {
- language_menu->set_item_icon(1, visual_shader_icon);
+ type_menu->set_item_icon(1, visual_shader_icon);
+ }
+
+ Ref<Texture2D> include_icon = gc->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons"));
+ if (include_icon.is_valid()) {
+ type_menu->set_item_icon(2, include_icon);
}
path_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")));
@@ -80,7 +93,7 @@ void ShaderCreateDialog::_update_theme() {
}
void ShaderCreateDialog::_update_language_info() {
- language_data.clear();
+ type_data.clear();
for (int i = 0; i < SHADER_TYPE_MAX; i++) {
ShaderTypeData data;
@@ -88,12 +101,15 @@ void ShaderCreateDialog::_update_language_info() {
data.use_templates = true;
data.extensions.push_back("gdshader");
data.default_extension = "gdshader";
+ } else if (i == int(SHADER_TYPE_INC)) {
+ data.extensions.push_back("gdshaderinc");
+ data.default_extension = "gdshaderinc";
} else {
data.default_extension = "tres";
}
data.extensions.push_back("res");
data.extensions.push_back("tres");
- language_data.push_back(data);
+ type_data.push_back(data);
}
}
@@ -136,70 +152,97 @@ void ShaderCreateDialog::ok_pressed() {
void ShaderCreateDialog::_create_new() {
Ref<Resource> shader;
-
- if (language_menu->get_selected() == int(SHADER_TYPE_TEXT)) {
- Ref<Shader> text_shader;
- text_shader.instantiate();
- shader = text_shader;
-
- StringBuilder code;
- code += vformat("shader_type %s;\n", mode_menu->get_text().replace(" ", "").camelcase_to_underscore());
-
- if (current_template == 0) { // Default template.
- code += "\n";
- switch (current_mode) {
- case Shader::MODE_SPATIAL:
- code += "void fragment() {\n";
- code += "\t// Place fragment code here.\n";
- code += "}\n";
- break;
- case Shader::MODE_CANVAS_ITEM:
- code += "void fragment() {\n";
- code += "\t// Place fragment code here.\n";
- code += "}\n";
- break;
- case Shader::MODE_PARTICLES:
- code += "void start() {\n";
- code += "\t// Place start code here.\n";
- code += "}\n";
- code += "\n";
- code += "void process() {\n";
- code += "\t// Place process code here.\n";
- code += "}\n";
- break;
- case Shader::MODE_SKY:
- code += "void sky() {\n";
- code += "\t// Place sky code here.\n";
- code += "}\n";
- break;
- case Shader::MODE_FOG:
- code += "void fog() {\n";
- code += "\t// Place fog code here.\n";
- code += "}\n";
- break;
+ Ref<Resource> shader_inc;
+
+ switch (type_menu->get_selected()) {
+ case SHADER_TYPE_TEXT: {
+ Ref<Shader> text_shader;
+ text_shader.instantiate();
+ shader = text_shader;
+
+ StringBuilder code;
+ code += vformat("shader_type %s;\n", mode_menu->get_text().replace(" ", "").camelcase_to_underscore());
+
+ if (current_template == 0) { // Default template.
+ code += "\n";
+ switch (current_mode) {
+ case Shader::MODE_SPATIAL:
+ code += "void fragment() {\n";
+ code += "\t// Place fragment code here.\n";
+ code += "}\n";
+ break;
+ case Shader::MODE_CANVAS_ITEM:
+ code += "void fragment() {\n";
+ code += "\t// Place fragment code here.\n";
+ code += "}\n";
+ break;
+ case Shader::MODE_PARTICLES:
+ code += "void start() {\n";
+ code += "\t// Place start code here.\n";
+ code += "}\n";
+ code += "\n";
+ code += "void process() {\n";
+ code += "\t// Place process code here.\n";
+ code += "}\n";
+ break;
+ case Shader::MODE_SKY:
+ code += "void sky() {\n";
+ code += "\t// Place sky code here.\n";
+ code += "}\n";
+ break;
+ case Shader::MODE_FOG:
+ code += "void fog() {\n";
+ code += "\t// Place fog code here.\n";
+ code += "}\n";
+ break;
+ }
}
- }
- text_shader->set_code(code.as_string());
- } else {
- Ref<VisualShader> visual_shader;
- visual_shader.instantiate();
- shader = visual_shader;
- visual_shader->set_engine_version(Engine::get_singleton()->get_version_info());
- visual_shader->set_mode(Shader::Mode(current_mode));
+ text_shader->set_code(code.as_string());
+ } break;
+ case SHADER_TYPE_VISUAL: {
+ Ref<VisualShader> visual_shader;
+ visual_shader.instantiate();
+ shader = visual_shader;
+ visual_shader->set_mode(Shader::Mode(current_mode));
+ } break;
+ case SHADER_TYPE_INC: {
+ Ref<ShaderInclude> include;
+ include.instantiate();
+ shader_inc = include;
+ } break;
+ default: {
+ } break;
}
- if (!is_built_in) {
+ if (shader.is_null()) {
String lpath = ProjectSettings::get_singleton()->localize_path(file_path->get_text());
- shader->set_path(lpath);
- Error err = ResourceSaver::save(lpath, shader, ResourceSaver::FLAG_CHANGE_PATH);
- if (err != OK) {
- alert->set_text(TTR("Error - Could not create shader in filesystem."));
+ shader_inc->set_path(lpath);
+
+ Error error = ResourceSaver::save(shader_inc, lpath, ResourceSaver::FLAG_CHANGE_PATH);
+ if (error != OK) {
+ alert->set_text(TTR("Error - Could not create shader include in filesystem."));
alert->popup_centered();
return;
}
+
+ emit_signal(SNAME("shader_include_created"), shader_inc);
+ } else {
+ if (!is_built_in) {
+ String lpath = ProjectSettings::get_singleton()->localize_path(file_path->get_text());
+ shader->set_path(lpath);
+
+ Error error = ResourceSaver::save(shader, lpath, ResourceSaver::FLAG_CHANGE_PATH);
+ if (error != OK) {
+ alert->set_text(TTR("Error - Could not create shader in filesystem."));
+ alert->popup_centered();
+ return;
+ }
+ }
+
+ emit_signal(SNAME("shader_created"), shader);
}
- emit_signal(SNAME("shader_created"), shader);
+ file_path->set_text(file_path->get_text().get_base_dir());
hide();
}
@@ -216,9 +259,9 @@ void ShaderCreateDialog::_load_exist() {
hide();
}
-void ShaderCreateDialog::_language_changed(int p_language) {
- current_language = p_language;
- ShaderTypeData data = language_data[p_language];
+void ShaderCreateDialog::_type_changed(int p_language) {
+ current_type = p_language;
+ ShaderTypeData data = type_data[p_language];
String selected_ext = "." + data.default_extension;
String path = file_path->get_text();
@@ -239,6 +282,8 @@ void ShaderCreateDialog::_language_changed(int p_language) {
_path_changed(path);
file_path->set_text(path);
+ type_menu->set_item_disabled(int(SHADER_TYPE_INC), load_enabled);
+ mode_menu->set_disabled(p_language == SHADER_TYPE_INC);
template_menu->set_disabled(!data.use_templates);
template_menu->clear();
@@ -254,7 +299,7 @@ void ShaderCreateDialog::_language_changed(int p_language) {
template_menu->add_item(TTR("N/A"));
}
- EditorSettings::get_singleton()->set_project_metadata("shader_setup", "last_selected_language", language_menu->get_item_text(language_menu->get_selected()));
+ EditorSettings::get_singleton()->set_project_metadata("shader_setup", "last_selected_language", type_menu->get_item_text(type_menu->get_selected()));
_update_dialog();
}
@@ -271,12 +316,12 @@ void ShaderCreateDialog::_built_in_toggled(bool p_enabled) {
void ShaderCreateDialog::_browse_path() {
file_browse->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
file_browse->set_title(TTR("Open Shader / Choose Location"));
- file_browse->get_ok_button()->set_text(TTR("Open"));
+ file_browse->set_ok_button_text(TTR("Open"));
file_browse->set_disable_overwrite_warning(true);
file_browse->clear_filters();
- List<String> extensions = language_data[language_menu->get_selected()].extensions;
+ List<String> extensions = type_data[type_menu->get_selected()].extensions;
for (const String &E : extensions) {
file_browse->add_filter("*." + E);
@@ -331,8 +376,8 @@ void ShaderCreateDialog::_path_submitted(const String &p_path) {
void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabled, bool p_load_enabled, int p_preferred_type, int p_preferred_mode) {
if (!p_base_path.is_empty()) {
initial_base_path = p_base_path.get_basename();
- file_path->set_text(initial_base_path + "." + language_data[language_menu->get_selected()].default_extension);
- current_language = language_menu->get_selected();
+ file_path->set_text(initial_base_path + "." + type_data[type_menu->get_selected()].default_extension);
+ current_type = type_menu->get_selected();
} else {
initial_base_path = "";
file_path->set_text("");
@@ -343,8 +388,8 @@ void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabl
load_enabled = p_load_enabled;
if (p_preferred_type > -1) {
- language_menu->select(p_preferred_type);
- _language_changed(p_preferred_type);
+ type_menu->select(p_preferred_type);
+ _type_changed(p_preferred_type);
}
if (p_preferred_mode > -1) {
@@ -352,7 +397,7 @@ void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabl
_mode_changed(p_preferred_mode);
}
- _language_changed(current_language);
+ _type_changed(current_type);
_path_changed(file_path->get_text());
}
@@ -385,14 +430,14 @@ String ShaderCreateDialog::_validate_path(const String &p_path) {
HashSet<String> extensions;
for (int i = 0; i < SHADER_TYPE_MAX; i++) {
- for (const String &ext : language_data[i].extensions) {
+ for (const String &ext : type_data[i].extensions) {
if (!extensions.has(ext)) {
extensions.insert(ext);
}
}
}
- ShaderTypeData data = language_data[language_menu->get_selected()];
+ ShaderTypeData data = type_data[type_menu->get_selected()];
bool found = false;
bool match = false;
@@ -400,8 +445,8 @@ String ShaderCreateDialog::_validate_path(const String &p_path) {
for (const String &ext : extensions) {
if (ext.nocasecmp_to(extension) == 0) {
found = true;
- for (const String &lang_ext : language_data[current_language].extensions) {
- if (lang_ext.nocasecmp_to(extension) == 0) {
+ for (const String &type_ext : type_data[current_type].extensions) {
+ if (type_ext.nocasecmp_to(extension) == 0) {
match = true;
break;
}
@@ -470,20 +515,20 @@ void ShaderCreateDialog::_update_dialog() {
builtin_warning_label->set_visible(is_built_in);
if (is_built_in) {
- get_ok_button()->set_text(TTR("Create"));
+ set_ok_button_text(TTR("Create"));
_msg_path_valid(true, TTR("Built-in shader (into scene file)."));
} else if (is_new_shader_created) {
- get_ok_button()->set_text(TTR("Create"));
+ set_ok_button_text(TTR("Create"));
if (is_path_valid) {
_msg_path_valid(true, TTR("Will create a new shader file."));
}
} else if (load_enabled) {
- get_ok_button()->set_text(TTR("Load"));
+ set_ok_button_text(TTR("Load"));
if (is_path_valid) {
_msg_path_valid(true, TTR("Will load an existing shader file."));
}
} else {
- get_ok_button()->set_text(TTR("Create"));
+ set_ok_button_text(TTR("Create"));
_msg_path_valid(false, TTR("Shader file already exists."));
shader_ok = false;
@@ -505,6 +550,7 @@ void ShaderCreateDialog::_bind_methods() {
ClassDB::bind_method(D_METHOD("config", "path", "built_in_enabled", "load_enabled"), &ShaderCreateDialog::config, DEFVAL(true), DEFVAL(true));
ADD_SIGNAL(MethodInfo("shader_created", PropertyInfo(Variant::OBJECT, "shader", PROPERTY_HINT_RESOURCE_TYPE, "Shader")));
+ ADD_SIGNAL(MethodInfo("shader_include_created", PropertyInfo(Variant::OBJECT, "shader_include", PROPERTY_HINT_RESOURCE_TYPE, "ShaderInclude")));
}
ShaderCreateDialog::ShaderCreateDialog() {
@@ -529,7 +575,7 @@ ShaderCreateDialog::ShaderCreateDialog() {
builtin_warning_label->set_text(
TTR("Note: Built-in shaders can't be edited using an external editor."));
vb->add_child(builtin_warning_label);
- builtin_warning_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ builtin_warning_label->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
builtin_warning_label->hide();
status_panel = memnew(PanelContainer);
@@ -548,24 +594,27 @@ ShaderCreateDialog::ShaderCreateDialog() {
vb->add_child(status_panel);
add_child(vb);
- // Language.
+ // Type.
- language_menu = memnew(OptionButton);
- language_menu->set_custom_minimum_size(Size2(250, 0) * EDSCALE);
- language_menu->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- gc->add_child(memnew(Label(TTR("Language:"))));
- gc->add_child(language_menu);
+ type_menu = memnew(OptionButton);
+ type_menu->set_custom_minimum_size(Size2(250, 0) * EDSCALE);
+ type_menu->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ gc->add_child(memnew(Label(TTR("Type:"))));
+ gc->add_child(type_menu);
for (int i = 0; i < SHADER_TYPE_MAX; i++) {
- String language;
+ String type;
bool invalid = false;
switch (i) {
case SHADER_TYPE_TEXT:
- language = "Shader";
- default_language = i;
+ type = "Shader";
+ default_type = i;
break;
case SHADER_TYPE_VISUAL:
- language = "VisualShader";
+ type = "VisualShader";
+ break;
+ case SHADER_TYPE_INC:
+ type = "ShaderInclude";
break;
case SHADER_TYPE_MAX:
invalid = true;
@@ -577,13 +626,13 @@ ShaderCreateDialog::ShaderCreateDialog() {
if (invalid) {
continue;
}
- language_menu->add_item(language);
+ type_menu->add_item(type);
}
- if (default_language >= 0) {
- language_menu->select(default_language);
+ if (default_type >= 0) {
+ type_menu->select(default_type);
}
- current_language = default_language;
- language_menu->connect("item_selected", callable_mp(this, &ShaderCreateDialog::_language_changed));
+ current_type = default_type;
+ type_menu->connect("item_selected", callable_mp(this, &ShaderCreateDialog::_type_changed));
// Modes.
@@ -633,13 +682,13 @@ ShaderCreateDialog::ShaderCreateDialog() {
add_child(file_browse);
alert = memnew(AcceptDialog);
- alert->get_label()->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART);
+ alert->get_label()->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
alert->get_label()->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
alert->get_label()->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
alert->get_label()->set_custom_minimum_size(Size2(325, 60) * EDSCALE);
add_child(alert);
- get_ok_button()->set_text(TTR("Create"));
+ set_ok_button_text(TTR("Create"));
set_hide_on_ok(false);
set_title(TTR("Create Shader"));
diff --git a/editor/shader_create_dialog.h b/editor/shader_create_dialog.h
index 6737ce4f10..9ba655369b 100644
--- a/editor/shader_create_dialog.h
+++ b/editor/shader_create_dialog.h
@@ -44,26 +44,20 @@ class EditorFileDialog;
class ShaderCreateDialog : public ConfirmationDialog {
GDCLASS(ShaderCreateDialog, ConfirmationDialog);
- enum ShaderType {
- SHADER_TYPE_TEXT,
- SHADER_TYPE_VISUAL,
- SHADER_TYPE_MAX,
- };
-
struct ShaderTypeData {
List<String> extensions;
String default_extension;
bool use_templates = false;
};
- List<ShaderTypeData> language_data;
+ List<ShaderTypeData> type_data;
GridContainer *gc = nullptr;
Label *error_label = nullptr;
Label *path_error_label = nullptr;
Label *builtin_warning_label = nullptr;
PanelContainer *status_panel = nullptr;
- OptionButton *language_menu = nullptr;
+ OptionButton *type_menu = nullptr;
OptionButton *mode_menu = nullptr;
OptionButton *template_menu = nullptr;
CheckBox *internal = nullptr;
@@ -79,8 +73,8 @@ class ShaderCreateDialog : public ConfirmationDialog {
bool built_in_enabled = true;
bool load_enabled = false;
bool re_check_path = false;
- int current_language = -1;
- int default_language = -1;
+ int current_type = -1;
+ int default_type = -1;
int current_mode = 0;
int current_template = 0;
@@ -89,7 +83,7 @@ class ShaderCreateDialog : public ConfirmationDialog {
void _path_hbox_sorted();
void _path_changed(const String &p_path = String());
void _path_submitted(const String &p_path = String());
- void _language_changed(int p_language = 0);
+ void _type_changed(int p_type = 0);
void _built_in_toggled(bool p_enabled);
void _template_changed(int p_template = 0);
void _mode_changed(int p_mode = 0);
@@ -113,4 +107,4 @@ public:
ShaderCreateDialog();
};
-#endif
+#endif // SHADER_CREATE_DIALOG_H
diff --git a/editor/shader_globals_editor.cpp b/editor/shader_globals_editor.cpp
index bfabf269bf..9058596830 100644
--- a/editor/shader_globals_editor.cpp
+++ b/editor/shader_globals_editor.cpp
@@ -32,6 +32,7 @@
#include "core/config/project_settings.h"
#include "editor/editor_node.h"
+#include "editor/editor_undo_redo_manager.h"
#include "servers/rendering/shader_language.h"
static const char *global_var_type_names[RS::GLOBAL_VAR_TYPE_MAX] = {
@@ -79,18 +80,18 @@ protected:
}
bool _set(const StringName &p_name, const Variant &p_value) {
- Variant existing = RS::get_singleton()->global_variable_get(p_name);
+ Variant existing = RS::get_singleton()->global_shader_uniform_get(p_name);
if (existing.get_type() == Variant::NIL) {
return false;
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Set Shader Global Variable"));
- undo_redo->add_do_method(RS::get_singleton(), "global_variable_set", p_name, p_value);
- undo_redo->add_undo_method(RS::get_singleton(), "global_variable_set", p_name, existing);
- RS::GlobalVariableType type = RS::get_singleton()->global_variable_get_type(p_name);
+ undo_redo->add_do_method(RS::get_singleton(), "global_shader_uniform_set", p_name, p_value);
+ undo_redo->add_undo_method(RS::get_singleton(), "global_shader_uniform_set", p_name, existing);
+ RS::GlobalShaderUniformType type = RS::get_singleton()->global_shader_uniform_get_type(p_name);
Dictionary gv;
gv["type"] = global_var_type_names[type];
if (type >= RS::GLOBAL_VAR_TYPE_SAMPLER2D) {
@@ -117,17 +118,17 @@ protected:
}
bool _get(const StringName &p_name, Variant &r_ret) const {
- r_ret = RS::get_singleton()->global_variable_get(p_name);
+ r_ret = RS::get_singleton()->global_shader_uniform_get(p_name);
return r_ret.get_type() != Variant::NIL;
}
void _get_property_list(List<PropertyInfo> *p_list) const {
Vector<StringName> variables;
- variables = RS::get_singleton()->global_variable_get_list();
+ variables = RS::get_singleton()->global_shader_uniform_get_list();
for (int i = 0; i < variables.size(); i++) {
PropertyInfo pinfo;
pinfo.name = variables[i];
- switch (RS::get_singleton()->global_variable_get_type(variables[i])) {
+ switch (RS::get_singleton()->global_shader_uniform_get_type(variables[i])) {
case RS::GLOBAL_VAR_TYPE_BOOL: {
pinfo.type = Variant::BOOL;
} break;
@@ -156,7 +157,7 @@ protected:
pinfo.type = Variant::VECTOR3I;
} break;
case RS::GLOBAL_VAR_TYPE_IVEC4: {
- pinfo.type = Variant::PACKED_INT32_ARRAY;
+ pinfo.type = Variant::VECTOR4I;
} break;
case RS::GLOBAL_VAR_TYPE_RECT2I: {
pinfo.type = Variant::RECT2I;
@@ -171,7 +172,7 @@ protected:
pinfo.type = Variant::VECTOR3I;
} break;
case RS::GLOBAL_VAR_TYPE_UVEC4: {
- pinfo.type = Variant::PACKED_INT32_ARRAY;
+ pinfo.type = Variant::VECTOR4I;
} break;
case RS::GLOBAL_VAR_TYPE_FLOAT: {
pinfo.type = Variant::FLOAT;
@@ -183,7 +184,7 @@ protected:
pinfo.type = Variant::VECTOR3;
} break;
case RS::GLOBAL_VAR_TYPE_VEC4: {
- pinfo.type = Variant::QUATERNION;
+ pinfo.type = Variant::VECTOR4;
} break;
case RS::GLOBAL_VAR_TYPE_RECT2: {
pinfo.type = Variant::RECT2;
@@ -204,7 +205,7 @@ protected:
pinfo.type = Variant::TRANSFORM3D;
} break;
case RS::GLOBAL_VAR_TYPE_MAT4: {
- pinfo.type = Variant::PACKED_INT32_ARRAY;
+ pinfo.type = Variant::PROJECTION;
} break;
case RS::GLOBAL_VAR_TYPE_SAMPLER2D: {
pinfo.type = Variant::OBJECT;
@@ -241,7 +242,7 @@ public:
}
};
-static Variant create_var(RS::GlobalVariableType p_type) {
+static Variant create_var(RS::GlobalShaderUniformType p_type) {
switch (p_type) {
case RS::GLOBAL_VAR_TYPE_BOOL: {
return false;
@@ -376,12 +377,12 @@ static Variant create_var(RS::GlobalVariableType p_type) {
void ShaderGlobalsEditor::_variable_added() {
String var = variable_name->get_text().strip_edges();
if (var.is_empty() || !var.is_valid_identifier()) {
- EditorNode::get_singleton()->show_warning(TTR("Please specify a valid variable identifier name."));
+ EditorNode::get_singleton()->show_warning(TTR("Please specify a valid shader uniform identifier name."));
return;
}
- if (RenderingServer::get_singleton()->global_variable_get(var).get_type() != Variant::NIL) {
- EditorNode::get_singleton()->show_warning(vformat(TTR("Global variable '%s' already exists'"), var));
+ if (RenderingServer::get_singleton()->global_shader_uniform_get(var).get_type() != Variant::NIL) {
+ EditorNode::get_singleton()->show_warning(vformat(TTR("Global shader uniform '%s' already exists'"), var));
return;
}
@@ -393,13 +394,13 @@ void ShaderGlobalsEditor::_variable_added() {
return;
}
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
- Variant value = create_var(RS::GlobalVariableType(variable_type->get_selected()));
+ Variant value = create_var(RS::GlobalShaderUniformType(variable_type->get_selected()));
- undo_redo->create_action(TTR("Add Shader Global Variable"));
- undo_redo->add_do_method(RS::get_singleton(), "global_variable_add", var, RS::GlobalVariableType(variable_type->get_selected()), value);
- undo_redo->add_undo_method(RS::get_singleton(), "global_variable_remove", var);
+ undo_redo->create_action(TTR("Add Shader Global Uniform"));
+ undo_redo->add_do_method(RS::get_singleton(), "global_shader_uniform_add", var, RS::GlobalShaderUniformType(variable_type->get_selected()), value);
+ undo_redo->add_undo_method(RS::get_singleton(), "global_shader_uniform_remove", var);
Dictionary gv;
gv["type"] = global_var_type_names[variable_type->get_selected()];
gv["value"] = value;
@@ -412,11 +413,11 @@ void ShaderGlobalsEditor::_variable_added() {
}
void ShaderGlobalsEditor::_variable_deleted(const String &p_variable) {
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo();
- undo_redo->create_action(TTR("Add Shader Global Variable"));
- undo_redo->add_do_method(RS::get_singleton(), "global_variable_remove", p_variable);
- undo_redo->add_undo_method(RS::get_singleton(), "global_variable_add", p_variable, RS::get_singleton()->global_variable_get_type(p_variable), RS::get_singleton()->global_variable_get(p_variable));
+ undo_redo->create_action(TTR("Add Shader Global Uniform"));
+ undo_redo->add_do_method(RS::get_singleton(), "global_shader_uniform_remove", p_variable);
+ undo_redo->add_undo_method(RS::get_singleton(), "global_shader_uniform_add", p_variable, RS::get_singleton()->global_shader_uniform_get_type(p_variable), RS::get_singleton()->global_shader_uniform_get(p_variable));
undo_redo->add_do_property(ProjectSettings::get_singleton(), "shader_globals/" + p_variable, Variant());
undo_redo->add_undo_property(ProjectSettings::get_singleton(), "shader_globals/" + p_variable, ProjectSettings::get_singleton()->get("shader_globals/" + p_variable));
@@ -479,7 +480,7 @@ ShaderGlobalsEditor::ShaderGlobalsEditor() {
inspector->set_use_wide_editors(true);
inspector->set_property_name_style(EditorPropertyNameProcessor::STYLE_RAW);
inspector->set_use_deletable_properties(true);
- inspector->connect("property_deleted", callable_mp(this, &ShaderGlobalsEditor::_variable_deleted), varray(), CONNECT_DEFERRED);
+ inspector->connect("property_deleted", callable_mp(this, &ShaderGlobalsEditor::_variable_deleted), CONNECT_DEFERRED);
interface = memnew(ShaderGlobalsEditorInterface);
interface->connect("var_changed", Callable(this, "_changed"));
diff --git a/editor/shader_globals_editor.h b/editor/shader_globals_editor.h
index d29052eaee..1e2f1dd828 100644
--- a/editor/shader_globals_editor.h
+++ b/editor/shader_globals_editor.h
@@ -31,7 +31,6 @@
#ifndef SHADER_GLOBALS_EDITOR_H
#define SHADER_GLOBALS_EDITOR_H
-#include "core/object/undo_redo.h"
#include "editor/editor_autoload_settings.h"
#include "editor/editor_data.h"
#include "editor/editor_plugin_settings.h"
diff --git a/editor/translations/af.po b/editor/translations/af.po
index 3031f9d884..f2e389b6f5 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -218,9 +218,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Skep Vouer"
@@ -332,7 +333,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nie genoeg bytes om bytes te dekodeer nie, of ongeldige formaat."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Ongeldige toevoer %i (nie geslaag nie) in uitdrukking"
#: core/math/expression.cpp
@@ -377,6 +379,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Wissel Modus"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -402,6 +413,11 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Aktiveer"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -457,6 +473,10 @@ msgid "Pressure"
msgstr "Herset Zoem"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -569,7 +589,8 @@ msgstr "Beskrywing:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -657,26 +678,24 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-#, fuzzy
-msgid "Plugin Name"
-msgstr "Nodus Naam:"
+msgid "Version Control Plugin Name"
+msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -786,7 +805,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Eienskappe"
@@ -1062,6 +1082,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Bevry / Verniet"
@@ -1078,7 +1099,7 @@ msgstr "Spieel"
msgid "Time:"
msgstr "Tyd:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Waarde:"
@@ -1330,10 +1351,70 @@ msgstr "Verwyder geselekteerde baan."
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Time (s): "
+msgid "Time (s):"
msgstr "Tree (s):"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Skep Nuwe"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Konstant"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Moet 'n geldige uitbreiding gebruik."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Wysig Nodus Kurwe"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Wissel Modus"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animasie Zoem."
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1555,7 +1636,7 @@ msgid "Add Method Track Key"
msgstr "Anim Voeg Baan & Sleutel By"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2110,14 +2191,15 @@ msgstr "Gunstelinge:"
msgid "Recent:"
msgstr "Onlangse:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Soek:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Passendes:"
@@ -2179,8 +2261,8 @@ msgstr "Soek Vervanging Hulpbron:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2188,8 +2270,8 @@ msgid "Open"
msgstr "Oop"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Eienaars van:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2503,7 +2585,7 @@ msgid "Bus Options"
msgstr "Bus opsies"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliseer"
@@ -2555,8 +2637,8 @@ msgstr "Oop Oudio-Bus Uitleg"
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2770,6 +2852,24 @@ msgid "Choose"
msgstr "Kies"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Verwyder Seleksie"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pakket Suksesvol Geïnstalleer!"
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Leêr word gebêre:"
@@ -2782,6 +2882,31 @@ msgid "Packing"
msgstr "Verpak"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Stoor As"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Kon nie vouer skep nie."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Kon nie vouer skep nie."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Kan nie lêer vir skryf oopmaak nie:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Stoor As"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2886,12 +3011,31 @@ msgstr "Sjabloon lêer nie gevind nie:\n"
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Skep Vouer"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Lêer bestaan nie."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
#, fuzzy
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
msgstr "Sjabloon lêer nie gevind nie:\n"
#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -3075,9 +3219,9 @@ msgid "Import"
msgstr "Invoer"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4211,14 +4355,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4343,6 +4479,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Nodus Naam:"
@@ -4371,6 +4511,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -5018,11 +5162,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5119,6 +5265,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Beskrywing"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5387,7 +5538,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Skep Intekening"
@@ -5414,6 +5567,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Alle Seleksie"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5956,10 +6118,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Projek Bestuurder"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6730,16 +6894,6 @@ msgstr "Vervang Alles"
#: editor/find_in_files.cpp
#, fuzzy
-msgid "Find: "
-msgstr "Vind"
-
-#: editor/find_in_files.cpp
-#, fuzzy
-msgid "Replace: "
-msgstr "Vervang"
-
-#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Vervang Alles"
@@ -6877,7 +7031,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Eienskappe"
@@ -7137,7 +7291,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -7165,6 +7319,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7863,11 +8029,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7887,11 +8062,6 @@ msgid "Animation name already exists!"
msgstr "AutoLaai '%s' bestaan reeds!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7992,10 +8162,12 @@ msgstr ""
msgid "Directions"
msgstr "Beskrywing"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -8037,10 +8209,6 @@ msgid "Pin AnimationPlayer"
msgstr "Animasie Zoem."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8161,7 +8329,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "Oorgang"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8180,11 +8348,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -9100,6 +9263,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9164,6 +9328,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9935,8 +10103,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Hulpbron"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10171,6 +10340,7 @@ msgid "Points"
msgstr "Skuif Gunsteling Op"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Skep Intekening"
@@ -10327,13 +10497,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10342,11 +10505,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "Hulpbron"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11081,13 +11239,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Wissel Modus"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Oorgang"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11110,11 +11272,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11604,8 +11761,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Hernoem AutoLaai"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11638,15 +11796,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Alle Seleksie"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11715,6 +11874,11 @@ msgid "New Animation"
msgstr "Optimaliseer Animasie"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Eienskappe"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12639,8 +12803,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -14127,20 +14290,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14148,14 +14306,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14256,20 +14406,28 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Ek sien..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Projek Stigters"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Kies 'n Gids"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Ek sien..."
#: editor/project_export.cpp editor/project_manager.cpp
#, fuzzy
@@ -14277,14 +14435,20 @@ msgid "ZIP File"
msgstr "Lêer:"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Projek Stigters"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projek Stigters"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14567,15 +14731,15 @@ msgid "Project Manager"
msgstr "Projek Bestuurder"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Laai"
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Projek Stigters"
@@ -15770,8 +15934,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Verwyder"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16622,7 +16787,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Skep Intekening"
@@ -16795,7 +16960,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17213,7 +17378,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17243,6 +17407,19 @@ msgstr "Skrap"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Skep Intekening"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Skep Intekening"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17654,7 +17831,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17662,7 +17839,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18049,7 +18226,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18057,7 +18234,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18221,12 +18398,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Ongeldige argument om '%s' te genereer"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Ongeldige naam."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18238,11 +18417,11 @@ msgid "Var Name"
msgstr "Naam"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -18549,6 +18728,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Anim Dupliseer Sleutels"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18557,6 +18741,16 @@ msgstr ""
msgid "Export Format"
msgstr "Anim Verander Transform"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Afhanklikheid Bewerker"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Skrap"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18593,16 +18787,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Afhanklikheid Bewerker"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Skrap"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18763,10 +18947,6 @@ msgid "Could not execute on device."
msgstr "Kon nie vouer skep nie."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18844,12 +19024,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18858,25 +19038,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Seine"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18893,6 +19097,10 @@ msgid "Could not find keystore, unable to export."
msgstr "Kon nie vouer skep nie."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18921,7 +19129,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18932,20 +19140,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Kon nie vouer skep nie."
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18958,7 +19165,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18974,7 +19181,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animasie lengte (in sekondes)."
#: platform/android/export/export_plugin.cpp
@@ -18983,15 +19190,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "Kon nie vouer skep nie."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19003,7 +19207,7 @@ msgstr "Vind"
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Kon nie vouer skep nie."
#: platform/android/export/export_plugin.cpp
@@ -19242,6 +19446,16 @@ msgstr "Anim Dupliseer Sleutels"
msgid "Custom BG Color"
msgstr "Anim Dupliseer Sleutels"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Sjabloon lêer nie gevind nie:\n"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19265,24 +19479,34 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr "Kon nie vouer skep nie."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Moet 'n geldige uitbreiding gebruik."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "Kon nie vouer skep nie."
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Deursoek Klasse"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Kon nie vouer skep nie."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Opnoemings:"
@@ -19357,17 +19581,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Kon nie vouer skep nie."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Kon nie vouer skep nie."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Leêr word gebêre:"
#: platform/javascript/export/export.cpp
@@ -19657,9 +19881,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Kon nie vouer skep nie."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Kon nie vouer skep nie."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Skep Intekening"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19675,20 +19918,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Nie gevind nie!"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Fout tydens storing van hulpbron!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Beskrywing"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Kon nie vouer skep nie."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Ongeldige Pad."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19696,7 +19993,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19738,6 +20035,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Beskrywing"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Kon nie vouer skep nie."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Ongeldige naam."
@@ -20050,6 +20357,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Kan nie verwyder nie:\n"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20096,6 +20408,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Konstant"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Kon nie vouer skep nie."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Kon nie vouer skep nie."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Moet 'n geldige uitbreiding gebruik."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Kon nie vouer skep nie."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Kon nie vouer skep nie."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Ongeldige naam."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Ongeldige naam."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Moet 'n geldige uitbreiding gebruik."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Kan nie verwyder nie:\n"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20117,6 +20493,23 @@ msgid "Invalid product version:"
msgstr "Ongeldige naam."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Moet 'n geldige uitbreiding gebruik."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -20132,6 +20525,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20248,7 +20645,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -20297,7 +20695,7 @@ msgstr "Zoem In"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20998,34 +21396,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Wysig Seleksie Kurwe"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Konstant"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Installeer"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Aktiveer"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Aktiveer"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Aktiveer"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21049,13 +21469,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Skrap"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -21063,7 +21486,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstant"
@@ -22162,6 +22585,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Skep Intekening"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -22183,12 +22613,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23025,6 +23449,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Anim Verander Transform"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24199,6 +24628,11 @@ msgstr "Skep Vouer"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Slegs Seleksie"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Aktiveer"
@@ -24583,16 +25017,17 @@ msgstr "Fokus Pad"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24741,6 +25176,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Skep Intekening"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Skep Intekening"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26121,7 +26566,7 @@ msgstr "Oorgang"
msgid "Refraction"
msgstr "Opnoemings:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26201,7 +26646,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Wissel Modus"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Verander Skikking Waarde-Soort"
#: scene/resources/navigation_mesh.cpp
@@ -26218,7 +26668,11 @@ msgid "Source Group Name"
msgstr "Hulpbron"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26230,11 +26684,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Beskrywing"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26247,6 +26706,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Laai Verstek"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26263,9 +26727,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Verwyder Seleksie"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26658,6 +27131,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Skep Intekening"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26675,6 +27153,26 @@ msgstr "Lineêr"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Voorskou:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Voorskou:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Verander Skikking Waarde-Soort"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Wysig Seleksie Kurwe"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index 034765f99a..cda76c44c8 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -62,13 +62,19 @@
# Whales State <whalesstate@gmail.com>, 2022.
# Mr.k <mineshtine28546271@gmail.com>, 2022.
# ywmaa <ywmaa.personal@gmail.com>, 2022.
+# Awab Najim <dev.djvan@gmail.com>, 2022.
+# Abderrahim <abdoudido117@gmail.com>, 2022.
+# Jhon Smith <jhonsmaith3@gmail.com>, 2022.
+# Oo mohab oO <mohab9225@gmail.com>, 2022.
+# عبد الرحمن أبو سعدة ||Abd Alrahman abo saada <abdalrahmanabs2005@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-03-17 13:58+0000\n"
-"Last-Translator: Mr.k <mineshtine28546271@gmail.com>\n"
+"PO-Revision-Date: 2022-07-23 03:57+0000\n"
+"Last-Translator: عبد الرحمن أبو سعدة ||Abd Alrahman abo saada "
+"<abdalrahmanabs2005@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -77,110 +83,97 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "برنامج تشغيل الكمبيوتر اللوحي"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "الحافظة فارغة!"
+msgstr "الحافظة"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "المشهد الحالي"
+msgstr "الشاشة الحالية"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "شِفرة الخروج"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "تفعيل"
+msgstr "تفعيل V-Sync"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync عبر المؤلف"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "سلاسة دلتا"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "وضع التحريك"
+msgstr "وضع استخدام المعالج المنخفض"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "وضع السكون لاستخدام المعالج المنخفض (µsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Keep Screen On"
-msgstr "إبقاء منُقتح الأخطاء البرمجية مفتوحاً"
+msgstr "إبقاء الشاشة قيد التشغيل"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "حجم الخطوط:"
+msgstr "الحد الأدنى لحجم النافذة"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "حجم الخطوط:"
+msgstr "الحد الأعلى لحجم النافذة"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "مُشغل الشاشة."
+msgstr "اتجاه الشاشة"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Window"
-msgstr "نافذة جديدة"
+msgstr "نافذة"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Borderless"
-msgstr "البكسلات المحيطية (الحدودية)"
+msgstr "بلا إطار"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "تمكين الشفافية لكل بكسل"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "تفعيل/إلغاء وضع الشاشة الكاملة"
+msgstr "ملء الشاشة"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "مكبرة"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Minimized"
-msgstr "الشروع"
+msgstr "مصغرة"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "متغير الحجم"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "مكان الرصيف"
+msgstr "موقع"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -191,65 +184,56 @@ msgstr "مكان الرصيف"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "الحجم:"
+msgstr "الحجم"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "مبادلة Endian"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "المحرّر"
+msgstr "تلميح المحرر"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "طباعة رسائل الخطأ"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "وضعية الأستيفاء"
+msgstr "التكرارات في الثانية"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Target FPS"
-msgstr "الهدف"
+msgstr "FPS المستهدفة"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "عقدة التكبير الزمني"
+msgstr "مقياس الوقت"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "نسبة الإطار الفيزيائي %"
+msgstr "إصلاح الرجفان الفيزيائي"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
msgstr "خطأ"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "خطأ في الحفظ"
+msgstr "سلسلة الخطأ"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "خطأ في الحفظ"
+msgstr "سطر الخطأ"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "نتائج البحث"
+msgstr "النتيجة"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "الذاكرة"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -260,132 +244,119 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "الحدود"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Command: استدارة"
+msgstr "قائمة انتظار الأوامر"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "حجم قائمة انتظار Multithreading (كيلو بايت)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
msgstr "الوظائف البرمجية"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Data"
-msgstr "مع البيانات"
+msgstr "بيانات"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr "ملف تعريف الشبكة Network Profiler"
+msgstr "الشبكة"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "من بعد "
+msgstr "FS من بعد"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "الصفحة: "
+msgstr "حجم الصفحة"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "قراءة الصفحة مسبقا"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "تمكين وضع الحظر"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "وصل"
+msgstr "إتصال"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "حجم قطعة القراءة"
#: core/io/marshalls.cpp
-#, fuzzy
msgid "Object ID"
-msgstr "كائنات مرسومة:"
+msgstr "معرف الكائن"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "تفعيل تقشير البصل"
+msgstr "السماح بفك ترميز الكائن"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "رفض اتصالات الشبكة الجديدة"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Network Peer"
-msgstr "ملف تعريف الشبكة Network Profiler"
+msgstr "نظير الشبكة"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "اسم العُقدة الرئيسة (الجذر)"
+msgstr "العُقدة الرئيسة (الجذر)"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "وصل"
+msgstr "رفض الإتصالات الجديدة"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "نوع التحوّل"
+msgstr "وضع التحويل"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "الحجم الأقصى لمخزن التشفير المؤقت"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "الحجم الأقصى لمخزن المدخلات المؤقت"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "الحجم الأقصى لمخزن المخرجات المؤقت"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "قرين التسلسل"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Endian الكبيرة"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "مصفوفة البيانات"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "حظر المصافحة"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "تعديل الإتصال:"
+msgstr "الحد الأقصى للاتصالات المعلقة"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -403,8 +374,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "ليس هنالك بايتات كافية من أجل فك البايتات، أو الصيغة غير صحيحة."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "مدخلات خاطئة %i (لم يتم تمريره) في التعبير"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "مدخلات خاطئة %d (لم يتم تمريرها) في التعبير"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -412,7 +383,7 @@ msgstr "لا يمكن استخدام self لأن النموذج فارغ (لم
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "معامل غير صالحة للمشغل ٪s و٪s و٪s."
+msgstr "معامل غير صالحة للمشغل %s و %s و %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
@@ -433,20 +404,27 @@ msgstr "عند استدعاء '%s':"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "Seed"
#: core/math/random_number_generator.cpp
-#, fuzzy
msgid "State"
msgstr "الحالة"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "قائمة انتظار الرسائل"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "الحجم الأقصى (كيلو بايت)"
+
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "وضع الفأرة"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "استخدم المدخلات المتراكمة"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
@@ -454,98 +432,94 @@ msgid "Device"
msgstr "الجهاز"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Alt"
-msgstr "الكل"
+msgstr "مفتاح Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "مفتاح Shift"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Control"
-msgstr "إدارة الإصدارات (Version Control)"
+msgstr "مفتاح Control"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "المرجعية الذاتية (Meta)"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "المجتمع"
+msgstr "مفتاح Command"
+
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "(فيزيائي)"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
-msgstr "إعداد مُسبق"
+msgstr "ضٌغط (الزر)"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "فحص"
+msgstr "رمز المفتاح"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical Scancode"
-msgstr "الزر الفيزيائي"
+msgstr "رمز المفتاح الفيزيائي"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "يونيكود"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "صدى"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
-msgstr "زر"
+msgstr "قناع الزر"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "ثابت"
+msgstr "الموقع العالمي"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "مُتجه"
+msgstr "العامل"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Button Index"
-msgstr "مؤشر Index زر الفأرة:"
+msgstr "مؤشر الزر"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "نقرتين متتاليتين"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "إمالة"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "إعداد مُسبق"
+msgstr "الضغط"
+
+#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Relative"
-msgstr "نسبية المحاذاة"
+msgstr "نسبي"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed"
-msgstr "السرعة:"
+msgstr "السرعة"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
@@ -553,14 +527,12 @@ msgid "Axis"
msgstr "محاور"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "القيمة المثبتة"
+msgstr "قيمة المحور"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Index"
-msgstr "الفهرس:"
+msgstr "المؤشر"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -571,63 +543,55 @@ msgstr "إجراء"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "القوة"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "دلتا"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "تغير"
+msgstr "قناة"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "اقتراف التعديلا"
+msgstr "رسالة"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pitch"
-msgstr "حدّة:"
+msgstr "الحدّة"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity"
-msgstr "تحريك المسار لليمين"
+msgstr "التسارع"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "أداة"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "رقم الخط:"
+msgstr "رقم وحدة التحكم"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "قيمة/(رقم تعريف) وحدة التحكم"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "إجراء"
+msgstr "التطبيق"
#: core/project_settings.cpp main/main.cpp
-#, fuzzy
msgid "Config"
-msgstr "تعديل اللقطة"
+msgstr "إعداد"
#: core/project_settings.cpp
-#, fuzzy
msgid "Project Settings Override"
-msgstr "إعدادات المشروع..."
+msgstr "تجاوز إعدادات المشروع"
#: core/project_settings.cpp core/resource.cpp
#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
@@ -640,7 +604,7 @@ msgstr "إعدادات المشروع..."
#: scene/3d/skeleton.cpp scene/main/node.cpp scene/resources/mesh_library.cpp
#: scene/resources/skin.cpp
msgid "Name"
-msgstr "الأسم"
+msgstr "الاسم"
#: core/project_settings.cpp editor/editor_help.cpp
#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
@@ -650,7 +614,8 @@ msgstr "الوصف"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "تشغيل"
@@ -660,39 +625,36 @@ msgid "Main Scene"
msgstr "المشهد الرئيس"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "تعطيل البلاط التلقائي Autotile"
+msgstr "تعطيل stdout"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "عنصر معطّل"
+msgstr "تعطيل stderr"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "استخدم دليل بيانات المشروع المخفية"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "استخدم دليل المستخدم المخصص"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "اسم دليل المستخدم المخصص"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "إظهار الكل"
+msgstr "عرض"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "العرض"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -700,23 +662,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "ضوء"
+msgstr "الارتفاع"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "عرض نافذة المشروع امام كل النوافذ"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "بالعرض يساراً"
+msgstr "عرض الاختبار"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "أختبار"
+msgstr "ارتفاع الاختبار"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -724,9 +683,8 @@ msgid "Audio"
msgstr "الصوت"
#: core/project_settings.cpp
-#, fuzzy
msgid "Default Bus Layout"
-msgstr "تحميل نسق المسار الإفتراضي."
+msgstr "تنسيق الناقل الافتراضي"
#: core/project_settings.cpp editor/editor_export.cpp
#: editor/editor_file_system.cpp editor/editor_node.cpp
@@ -736,98 +694,86 @@ msgid "Editor"
msgstr "المحرّر"
#: core/project_settings.cpp
-#, fuzzy
msgid "Main Run Args"
-msgstr "معاملات المشهد الرئيس:"
+msgstr "معاملات المشهد الرئيس"
+
+#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "تسمية المشهد"
#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "البحث في امتدادات الملف"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "إدارة الإصدارات (Version Control)"
+msgstr "مسار البحث في قوالب النص البرمجي"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+msgid "Version Control Autoload On Startup"
+msgstr "التحميل التلقائي للتحكم في الإصدار عند بدء التشغيل"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "اسم الإضافة:"
+msgid "Version Control Plugin Name"
+msgstr "إدارة الإصدارات (Version Control)"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "أضف مدخله"
+msgstr "إدخال"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "قبول"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "حدد"
+msgstr "تحديد"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
msgstr "إلغاء"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "مسار التركيز"
+msgstr "حدد التالي"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "مسار التركيز"
+msgstr "حدد السابق"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Left"
-msgstr "في الأعلى يساراً"
+msgstr "يسار"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Right"
-msgstr "في الأعلى يميناً"
+msgstr "يمين"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "أعلى"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
msgstr "أسفل"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "الصفحة: "
+msgstr "الصفحة السابقة / up"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "الصفحة التالية / down"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "الرئيسي (home)"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI End"
-msgstr "في النهاية"
+msgstr "النهاية"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -837,9 +783,8 @@ msgstr "في النهاية"
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Physics"
-msgstr " (فيزيائي)"
+msgstr "الفيزياء"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -849,7 +794,7 @@ msgstr " (فيزيائي)"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "ثلاثي الأبعاد 3D"
#: core/project_settings.cpp
#, fuzzy
@@ -865,9 +810,8 @@ msgstr "إنشاء متصادم تراميش قريب"
#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
-#, fuzzy
msgid "Rendering"
-msgstr "مُحرك الإخراج البصري:"
+msgstr "استدعاء"
#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
@@ -877,17 +821,17 @@ msgstr "مُحرك الإخراج البصري:"
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "جودة"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
-msgstr "مرشحات:"
+msgstr "مرشحات"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "شحذ الكثافة"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -903,9 +847,8 @@ msgstr "تصحيح الأخطاء"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Settings"
-msgstr "الإعدادات:"
+msgstr "الإعدادات"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -913,77 +856,75 @@ msgid "Profiler"
msgstr "مُنشئ الملفات التعريفية Profiler"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "عمل دالة"
+msgstr "أقصى عمل"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Compression"
-msgstr "تحديد التعبير"
+msgstr "ضغط"
#: core/project_settings.cpp
-#, fuzzy
msgid "Formats"
-msgstr "البنية (اللاحقة)"
+msgstr "التنسيقات"
#: core/project_settings.cpp
+#, fuzzy
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "مطابقة المسافات الطويلة"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "ضغط المستوى"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "حجم نافذة سجل"
#: core/project_settings.cpp
+#, fuzzy
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
+#, fuzzy
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "أندرويد"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "وحدات"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "بروتوكول التحكم بالإرسال (TCP)"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "الاتصالات لدالة:"
+msgstr "نفذ وقت الإتصال"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "حزمة تيار الأقران"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "الحد الأقصى للمخزن المؤقت (قوة 2)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
-msgstr "القمم:"
+msgstr "الشهادات"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
@@ -992,9 +933,8 @@ msgid "Resource"
msgstr "مورد"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "اغلاق المشهد"
+msgstr "مشهد محلي"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -1004,22 +944,20 @@ msgid "Path"
msgstr "المسار"
#: core/script_language.cpp
-#, fuzzy
msgid "Source Code"
-msgstr "مصدر"
+msgstr "الكود المصدري || الشفرة المصدرية"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
msgstr "محلي"
#: core/translation.cpp
-#, fuzzy
msgid "Test"
-msgstr "أختبار"
+msgstr "إختبار"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "تراجع | انسحاب"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -1055,17 +993,17 @@ msgstr "إكسي بايت (EiB)"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "المخازن المؤقته"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "حجم المخزن المؤقت للوحة المضلعات (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "حجم فهرس المخزن المؤقت للوحة المضلعات (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -1077,7 +1015,7 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "ثنائي الأبعاد"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1094,7 +1032,7 @@ msgstr "إستخدام كبس البكسل"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "حجم المخزن المؤقت الفوري (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
@@ -1105,15 +1043,15 @@ msgstr "طبخ (إعداد) خرائط الضوء"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "استخدم طريقة Bicubic Sampling"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "الحد الأقصى للعناصر القابلة للعرض"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "الحجم الأقصى للأضواء القابلة للعرض"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#, fuzzy
@@ -1122,11 +1060,11 @@ msgstr "نصف المُحدد"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "الحد الأقصى للأضواء لكل كائن"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "التشتت تحت السطح"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1148,20 +1086,21 @@ msgstr "تزويد السطح"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "عينات الوزن"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "تتبع مخروط فوكسل (Voxel)"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "جودة عالية"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "الحد الأقصى لحجم المخزن المؤقت لشكل المزج (كيلو بايت)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "فارغ"
@@ -1178,7 +1117,7 @@ msgstr "انعكاس"
msgid "Time:"
msgstr "الوقت:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "القيمة:"
@@ -1270,7 +1209,7 @@ msgstr "الكمية:"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "المعاملات (Args)"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1294,7 +1233,7 @@ msgstr "حدد المعامل"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "المجرى (Stream)"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1404,9 +1343,8 @@ msgid "Anim Clips:"
msgstr "مقاطع الرسوم المتحركة:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Track Path"
-msgstr "تغيير مسار الطريق/المقطع"
+msgstr "تغيير مسار مقطع الحركة/الانيميشن"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
@@ -1422,15 +1360,79 @@ msgstr "وضعية الأستيفاء"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr "وضع التفاف الحلقة (استكمال النهاية مع البداية في الحلقة)"
+msgstr "وضع التفاف الحلقة (مزج النهاية مع البداية في الحلقة)"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
msgstr "إزالة هذا المسار."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "الوقت(ثواني): "
+msgid "Time (s):"
+msgstr "الوقت(ثواني):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "مكان الرصيف"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "خطوة الدوران:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "تغيير الأبعاد:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "نوع:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "إدارة قوالب التصدير:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "تسارع بعد بداية بطيئة"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "حدد المعامل"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "حدد المعامل"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "عنصر خِيار"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "إعادة تشغيل (ثواني):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "تلاشي في البداية (ثواني):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "الرسومات المتحركة:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1646,8 +1648,8 @@ msgid "Add Method Track Key"
msgstr "أضْف مفتاح لمقطع الدالة (Method Track)"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "دالة لم توجد في الكائن: "
+msgid "Method not found in object:"
+msgstr "دالة لم توجد في الكائن:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1667,7 +1669,7 @@ msgstr "دوال"
#: editor/animation_track_editor.cpp
msgid "Bezier"
-msgstr ""
+msgstr "منحنى بيزر (Bezier)"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -2176,14 +2178,15 @@ msgstr "المفضلة:"
msgid "Recent:"
msgstr "الحالي:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "بحث:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "يطابق:"
@@ -2243,8 +2246,8 @@ msgstr "البحث عن مورد بديل:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2252,8 +2255,8 @@ msgid "Open"
msgstr "إفتح"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "ملاك:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "مالكو: %s (المجموع: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2471,7 +2474,7 @@ msgstr "فشل استخراج الملفات التالية من الحزمة \"
#: editor/editor_asset_installer.cpp
msgid "(and %s more files)"
-msgstr "(و %s ملفات اكثر)"
+msgstr "(و %s ملفات اخرى)"
#: editor/editor_asset_installer.cpp
msgid "Asset \"%s\" installed successfully!"
@@ -2555,7 +2558,7 @@ msgid "Bus Options"
msgstr "‎خيارات مسار الصوت (BUS)"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "تكرير"
@@ -2607,8 +2610,9 @@ msgstr "إفتح نسق مسار الصوت"
msgid "There is no '%s' file."
msgstr "لا يوجد ملف '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "المخطط"
#: editor/editor_audio_buses.cpp
@@ -2811,6 +2815,25 @@ msgid "Choose"
msgstr "إختر"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "تصدير المشروع لمنصة:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "نسخ مسار العُقدة"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "اكتمل بنجاح."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "فشل:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "تخزين الملف:"
@@ -2823,6 +2846,31 @@ msgid "Packing"
msgstr "يَحزم\"ينتج الملف المضغوط\""
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "حفظ بأسم"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "لا يمكن إنشاء المجلد."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "لم نتمكن من تصدير ملفات المشروع"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "لا يمكن فتح الملف للكتابة:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "حفظ بأسم"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2893,17 +2941,16 @@ msgid "Release"
msgstr "الإصدار"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Binary Format"
-msgstr "مُشغّل اللون."
+msgstr "تنسيق ثنائي"
#: editor/editor_export.cpp
msgid "64 Bits"
-msgstr ""
+msgstr "64 بت"
#: editor/editor_export.cpp
msgid "Embed PCK"
-msgstr ""
+msgstr "تضمين PCK"
#: editor/editor_export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -2912,19 +2959,19 @@ msgstr "منطقة النقش TextureRegion"
#: editor/editor_export.cpp
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
#, fuzzy
@@ -2943,17 +2990,39 @@ msgstr "نمودج تصحيح الأخطاء غير موجود."
msgid "Custom release template not found."
msgstr "قالب الإصدار المخصص ليس موجود."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "إدارة القوالب"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "مسار التصدير المُزود غير موجود:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "ملف النموذج غير موجود:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "إدارة قوالب التصدير:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "الحواف Padding"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "لا يمكن لمُصدرات 32-bit التي تتضمن PCK أن تكون أكبر من 4 GiB."
#: editor/editor_export.cpp
msgid "Convert Text Resources To Binary On Export"
-msgstr ""
+msgstr "تحويل الموارد النصية إلى صيغة ثنائية عند التصدير"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -3116,9 +3185,9 @@ msgid "Import"
msgstr "استيراد"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "تصدير"
@@ -3229,9 +3298,8 @@ msgid "Save a File"
msgstr "حفظ ملف"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Access"
-msgstr "تم بشكل ناجح!"
+msgstr "الوصول (للملف)"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#, fuzzy
@@ -3276,7 +3344,7 @@ msgstr "أظهر الملفات المخفية"
#: editor/editor_file_dialog.cpp
msgid "Disable Overwrite Warning"
-msgstr ""
+msgstr "تعطيل تحذير الإستبدال"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -3377,7 +3445,7 @@ msgstr "إعادة إستيراد الأصول"
#: editor/editor_file_system.cpp
msgid "Reimport Missing Imported Files"
-msgstr ""
+msgstr "إعادة استيراد الملفات المستوردة المفقودة"
#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
@@ -3489,7 +3557,7 @@ msgstr "مساعدة"
#: editor/editor_help.cpp
msgid "Sort Functions Alphabetically"
-msgstr ""
+msgstr "ترتيب الدوال أبجديا"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -3805,7 +3873,7 @@ msgstr "ينشئ الصورة المصغرة"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
-msgstr "هذه العميلة لا يمكن إجرائها من غير جذر/اساس رئيسي للشجرة."
+msgstr "هذه العميلة لا يمكن إجرائها من غير جذر رئيسي للشجرة."
#: editor/editor_node.cpp
msgid ""
@@ -4268,15 +4336,8 @@ msgstr "%d مزيد من الملفات"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "مشهد"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "المسار للمشهد:"
+"غير قادر على الكتابة إلى الملف '% s' ، الملف قيد الاستخدام ، مؤمن أو ينقصه "
+"الأذونات."
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
@@ -4296,11 +4357,11 @@ msgstr "إظهار الشبكة دوماً"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "تغيير الحجم في حالة وجود العديد من علامات التبويب"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
-msgstr ""
+msgstr "الحد الأدنى للعرض"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Output"
@@ -4313,15 +4374,15 @@ msgstr "مسح المُخرجات"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr ""
+msgstr "دائما افتح نافذة الإخراج أثناء التشغيل"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
-msgstr ""
+msgstr "دائما أغلق نافذة الإخراج عند إيقاف التشغيل"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr ""
+msgstr "حفظ عند فقدان التركيز"
#: editor/editor_node.cpp editor/editor_settings.cpp
#, fuzzy
@@ -4359,7 +4420,7 @@ msgstr "عقدة التنقل الزمني"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "إظهار الصورة المصغرة عند التمرير"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
@@ -4372,7 +4433,7 @@ msgstr "مسار المشروع:"
#: editor/editor_node.cpp
msgid "Default Float Step"
-msgstr ""
+msgstr "خطوة الfloat الافتراضية"
#: editor/editor_node.cpp scene/gui/tree.cpp
#, fuzzy
@@ -4381,15 +4442,15 @@ msgstr "زر معطّل"
#: editor/editor_node.cpp
msgid "Auto Unfold Foreign Scenes"
-msgstr ""
+msgstr "إكشف المشاهد الأجنبية تلقائيا"
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
-msgstr ""
+msgstr "تحرير Vector2 الأفقي"
#: editor/editor_node.cpp
msgid "Horizontal Vector Types Editing"
-msgstr ""
+msgstr "تحرير أنواع المتجهات الأفقية"
#: editor/editor_node.cpp
#, fuzzy
@@ -4403,7 +4464,11 @@ msgstr "افتح في المُتصفح"
#: editor/editor_node.cpp
msgid "Default Color Picker Mode"
-msgstr ""
+msgstr "وضع منتقي الألوان الافتراضي"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "إدارة الإصدارات (Version Control)"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -4434,6 +4499,10 @@ msgstr "تمكين/إيقاف الوضع الخالي من الإلهاء."
msgid "Add a new scene."
msgstr "إضافة مشهد جديد."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "مشهد"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "اذهب الي المشهد المفتوح مسبقا."
@@ -4801,7 +4870,7 @@ msgstr "نظام الملفات"
#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
-msgstr "توسيع التبويب السفلي"
+msgstr "توسيع القائمة السفلية"
#: editor/editor_node.cpp
msgid "Don't Save"
@@ -5025,6 +5094,12 @@ msgid ""
"functions called by that function.\n"
"Use this to find individual functions to optimize."
msgstr ""
+"شامل: يشمل الوقت من الدوال الأخرى التي تستدعيها هذه الدالة.\n"
+"استخدم هذا لتحديد الاختناقات (bottlenecks).\n"
+"\n"
+"ذاتي: احسب فقط الوقت المستغرق في الدالة نفسها ، وليس في الدوال الأخرى التي "
+"تستدعيها تلك الدالة.\n"
+"استخدم هذا للعثور على دوال محددة لتحسينها."
#: editor/editor_profiler.cpp
msgid "Frame #:"
@@ -5041,7 +5116,7 @@ msgstr "مُنقح الأخطاء"
#: editor/editor_profiler.cpp
msgid "Profiler Frame History Size"
-msgstr ""
+msgstr "حجم تاريخ إطار المحلل"
#: editor/editor_profiler.cpp
#, fuzzy
@@ -5109,12 +5184,14 @@ msgid "Selected node is not a Viewport!"
msgstr "العُقدة المختارة ليست إطار عرض Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "الحجم: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "الحجم:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "الصفحة: "
+msgid "Page:"
+msgstr "الصفحة:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5212,6 +5289,11 @@ msgstr ""
"من فضلك أضفْ إعداد تصدير في قائمة التصدير أو عرف إعداد تصدير موجود كقابل "
"للتشغيل(عامل)."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "مشروع"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "أكتب منطقك في الطريقة ()run_."
@@ -5248,23 +5330,23 @@ msgstr "إظهار الكل"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr ""
+msgstr "مقياس العرض المخصص"
#: editor/editor_settings.cpp
msgid "Main Font Size"
-msgstr ""
+msgstr "حجم الخط الرئيسي"
#: editor/editor_settings.cpp
msgid "Code Font Size"
-msgstr ""
+msgstr "حجم خط الشِفرة"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr ""
+msgstr "الخط Antialiased"
#: editor/editor_settings.cpp
msgid "Font Hinting"
-msgstr ""
+msgstr "تلميح الخط (Hinting)"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5273,7 +5355,7 @@ msgstr "المشهد الرئيس"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
-msgstr ""
+msgstr "الخط الرئيسي غامق"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5282,15 +5364,15 @@ msgstr "إضافة نقطة العقدة"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
-msgstr ""
+msgstr "اخفت المحرر عند انبثاق نافذة الحوار"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "وضع السكون المنخفض للمعالج (µsec)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "وضع السكون المنخفض للمعالج غير المركّز (µsec)"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5299,11 +5381,11 @@ msgstr "وضع خالي من الإلهاء"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
-msgstr ""
+msgstr "فتح لقطات الشاشة تلقائيًا"
#: editor/editor_settings.cpp
msgid "Max Array Dictionary Items Per Page"
-msgstr ""
+msgstr "الحد الأقصى لعناصر قاموس المصفوفة في كل صفحة"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5317,7 +5399,7 @@ msgstr "إعداد مُسبق"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr ""
+msgstr "لون الأيقونة والخط"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5331,11 +5413,11 @@ msgstr "اختر لوناً"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
-msgstr ""
+msgstr "التباين"
#: editor/editor_settings.cpp
msgid "Relationship Line Opacity"
-msgstr ""
+msgstr "عتامة خط العلاقة"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5349,7 +5431,7 @@ msgstr "البكسلات المحيطية (الحدودية)"
#: editor/editor_settings.cpp
msgid "Use Graph Node Headers"
-msgstr ""
+msgstr "استخدم رؤوس وحدات الرسم البياني"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5393,7 +5475,7 @@ msgstr "نسخ الموارد"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
-msgstr ""
+msgstr "حفظ آمن على النسخ الاحتياطي ثم إعادة التسمية"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5407,7 +5489,7 @@ msgstr "الصورة المصغرة..."
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "النوافذ المثبتة (Docked)"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5416,7 +5498,7 @@ msgstr "تعديل شجرة المشهد"
#: editor/editor_settings.cpp
msgid "Start Create Dialog Fully Expanded"
-msgstr ""
+msgstr "بدء نافذة حوار الإنشاء موسعة بالكامل"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5430,7 +5512,7 @@ msgstr "محرر المجموعات"
#: editor/editor_settings.cpp
msgid "Auto Refresh Interval"
-msgstr ""
+msgstr "الفاصل الزمني للتحديث التلقائي"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5445,7 +5527,7 @@ msgstr "مظهر المحرر/برنامج-جودوه"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Line Spacing"
-msgstr ""
+msgstr "تباعد الأسطر"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
@@ -5460,15 +5542,15 @@ msgstr "مُعلّم التركيب Syntax"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
-msgstr ""
+msgstr "قم بتمييز جميع التكرارات"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight Current Line"
-msgstr ""
+msgstr "تمييز السطر الحالي"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
-msgstr ""
+msgstr "تمييز سطور الأنواع الآمنة"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5495,17 +5577,19 @@ msgid "Draw Spaces"
msgstr "استدعاءات الرسم:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "تنقل"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Smooth Scrolling"
-msgstr ""
+msgstr "التمرير السلس"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "V Scroll Speed"
-msgstr ""
+msgstr "سرعة التمرير العمودي"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5514,15 +5598,24 @@ msgstr "إظهار المركز"
#: editor/editor_settings.cpp
msgid "Minimap Width"
-msgstr ""
+msgstr "عرض الخريطة المصغرة"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
+msgstr "تنقل في سجل أزرار الماوس الإضافية"
+
+#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "تحديد الملئ خريطة-الشبكة"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
msgstr ""
#: editor/editor_settings.cpp
msgid "Appearance"
-msgstr ""
+msgstr "المظهر"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
#, fuzzy
@@ -5536,7 +5629,7 @@ msgstr "رقم الخط:"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
-msgstr ""
+msgstr "إظهار مزراب الإشارة المرجعية"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5545,27 +5638,27 @@ msgstr "تخطي نقاط التكسّر"
#: editor/editor_settings.cpp
msgid "Show Info Gutter"
-msgstr ""
+msgstr "إظهار معلومات المزراب"
#: editor/editor_settings.cpp
msgid "Code Folding"
-msgstr ""
+msgstr "طي الكود"
#: editor/editor_settings.cpp
msgid "Word Wrap"
-msgstr ""
+msgstr "التفاف الكلمات"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "إظهار إرشادات طول السطر"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "عمود ناعم لتوجيه طول السطر"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "عمود غامق لتوجيه طول السطر"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -5574,7 +5667,7 @@ msgstr "محرر النص البرمجي"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "عرض نظرة عامة على الأعضاء"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -5588,19 +5681,19 @@ msgstr "تشذيب الفراغات البيضاء الزائدة"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr ""
+msgstr "الفاصل الزمني للحفظ التلقائي بالثواني"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "استعادة البرامج النصية عند التحميل"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "إعادة تحميل البرامج النصية تلقائيا وتحليلها عند الحفظ"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "إعادة تحميل البرامج النصية تلقائيا عند تغييرها من الخارج"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5609,27 +5702,27 @@ msgstr "اجبار ارتداد(احتياط) التظليل"
#: editor/editor_settings.cpp
msgid "Sort Members Outline Alphabetically"
-msgstr ""
+msgstr "فرز الخطوط العريضة للأعضاء أبجدياً"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr ""
+msgstr "المؤشر"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "التمرير إلى ما بعد نهاية الملف"
#: editor/editor_settings.cpp
msgid "Block Caret"
-msgstr ""
+msgstr "علامة الإقحام"
#: editor/editor_settings.cpp
msgid "Caret Blink"
-msgstr ""
+msgstr "وميض علامة الإقحام"
#: editor/editor_settings.cpp
msgid "Caret Blink Speed"
-msgstr ""
+msgstr "سرعة وميض علامة الإقحام"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5645,23 +5738,23 @@ msgstr "نسخ المُحدد"
#: editor/editor_settings.cpp
msgid "Idle Parse Delay"
-msgstr ""
+msgstr "تأخير التحليل الخامل"
#: editor/editor_settings.cpp
msgid "Auto Brace Complete"
-msgstr ""
+msgstr "اكمال القوس التلقائي"
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "تأخير الإكمال التلقائي للكود"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
+msgstr "ضع تلميح أداة Callhint أسفل السطر الحالي"
#: editor/editor_settings.cpp
msgid "Callhint Tooltip Offset"
-msgstr ""
+msgstr "إزاحة تلميح أداة Callhint"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5685,15 +5778,15 @@ msgstr "أظهر المساعدات"
#: editor/editor_settings.cpp
msgid "Help Font Size"
-msgstr ""
+msgstr "حجم خط المساعدة"
#: editor/editor_settings.cpp
msgid "Help Source Font Size"
-msgstr ""
+msgstr "حجم خط مصدر المساعدة"
#: editor/editor_settings.cpp
msgid "Help Title Font Size"
-msgstr ""
+msgstr "حجم خط عنوان المساعدة"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
@@ -5711,11 +5804,11 @@ msgstr "عرض"
#: editor/editor_settings.cpp
msgid "Primary Grid Color"
-msgstr ""
+msgstr "لون الشبكة الأساسي"
#: editor/editor_settings.cpp
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "لون الشبكة الثانوي"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5752,7 +5845,7 @@ msgstr "نقطة"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "شكل"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5766,15 +5859,15 @@ msgstr "خطوة الشبكة:"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
-msgstr ""
+msgstr "الحد الأقصى لمستوى تقسيم الشبكة"
#: editor/editor_settings.cpp
msgid "Grid Division Level Min"
-msgstr ""
+msgstr "الحد الأدنى لمستوى تقسيم الشبكة"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "التحيز على مستوى تقسيم الشبكة"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5808,7 +5901,7 @@ msgstr "افتراضي"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
+msgstr "عدد خطوط المعالجة لحفظ خرائط الإضاءة"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5832,11 +5925,11 @@ msgstr "تصغير"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
-msgstr ""
+msgstr "محاكاة لوحة مفاتيح الأرقام"
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "محاكاة الماوس ذو الثلاثة أزرار"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5855,7 +5948,7 @@ msgstr "مُعدّل"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
-msgstr ""
+msgstr "التفاف الحركة بالماوس"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5864,11 +5957,11 @@ msgstr "وضع التنقل"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "حساسية التدوير"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
-msgstr ""
+msgstr "القصور الذاتي المداري"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5932,7 +6025,7 @@ msgstr "المحاذاة الذكية"
#: editor/editor_settings.cpp
msgid "Bone Width"
-msgstr ""
+msgstr "عرض العظام"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5951,11 +6044,11 @@ msgstr "عدل على الحساب الحالي:"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
-msgstr ""
+msgstr "لون IK العظام"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
-msgstr ""
+msgstr "لون حدود العظام"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5964,19 +6057,19 @@ msgstr "حجم الخطوط:"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
-msgstr ""
+msgstr "لون حدود إطار العرض"
#: editor/editor_settings.cpp
msgid "Constrain Editor View"
-msgstr ""
+msgstr "تقييد عرض المحرر"
#: editor/editor_settings.cpp
msgid "Simple Panning"
-msgstr ""
+msgstr "التحريك البسيط"
#: editor/editor_settings.cpp
msgid "Scroll To Pan"
-msgstr ""
+msgstr "التمرير للتحريك"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5990,7 +6083,7 @@ msgstr "مُحرر UV الخاص بالمُضلعات ثنائية البُعد"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
-msgstr ""
+msgstr "قطر نقطة الإنتزاع"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
#, fuzzy
@@ -6004,7 +6097,7 @@ msgstr "إعادة تسمية الرسم المتحرك"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
-msgstr ""
+msgstr "إنشاء مسارات Bezier الإفتراضية"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6013,11 +6106,11 @@ msgstr "إنشاء مسار(ات) إعادة التعيين (RESET)"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
-msgstr ""
+msgstr "لون Onion Layers في الماضي"
#: editor/editor_settings.cpp
msgid "Onion Layers Future Color"
-msgstr ""
+msgstr "لون Onion Layers في المستقبل"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6026,11 +6119,11 @@ msgstr "محرر المجموعات"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
-msgstr ""
+msgstr "عتامة الخريطة المصغرة"
#: editor/editor_settings.cpp
msgid "Window Placement"
-msgstr ""
+msgstr "موضع النافذة"
#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
@@ -6046,7 +6139,7 @@ msgstr "حدد موقع خروج الإنحناء"
#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
msgid "Screen"
-msgstr ""
+msgstr "شاشة"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6065,9 +6158,8 @@ msgstr "الواجهة View الأمامية"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Host"
-msgstr "من بعد "
+msgstr "المضيف عن بعد"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
@@ -6082,22 +6174,24 @@ msgstr "إعدادات المُعدل"
#: editor/editor_settings.cpp
msgid "HTTP Proxy"
-msgstr ""
+msgstr "وكيل (Proxy) HTTP"
#: editor/editor_settings.cpp
msgid "Host"
-msgstr ""
+msgstr "المضيف"
#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Port"
-msgstr ""
+msgstr "منفذ"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "مدير المشروع"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6105,15 +6199,15 @@ msgstr "إعادة تسمية مجلد:"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
-msgstr ""
+msgstr "لون الرمز"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "لون الكلمة المفتاحية"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "لون الكلمة المفتاحية لتدفق التحكم"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6122,15 +6216,15 @@ msgstr "النوع الأساسي"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "لون نوع المحرك"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "لون نوع المستخدم"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "لون التعليق"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6156,15 +6250,15 @@ msgstr "إستيراد المحدد"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Existing Color"
-msgstr ""
+msgstr "لون الإكمال الموجود"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Scroll Color"
-msgstr ""
+msgstr "لون تمرير الإكمال"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Font Color"
-msgstr ""
+msgstr "لون خط الإكمال"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6183,7 +6277,7 @@ msgstr "رقم الخط:"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
-msgstr ""
+msgstr "لون علامة الإقحام"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6202,7 +6296,7 @@ msgstr "المحدد فقط"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Brace Mismatch Color"
-msgstr ""
+msgstr "لون عدم تطابق الأقواس"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6211,7 +6305,7 @@ msgstr "المشهد الحالي"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Color"
-msgstr ""
+msgstr "لون إرشاد طول السطر"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6220,7 +6314,7 @@ msgstr "مُعلّم التركيب Syntax"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "لون الرقم"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6249,11 +6343,11 @@ msgstr "نقاط التكسّر"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Executing Line Color"
-msgstr ""
+msgstr "لون سطر التنفيذ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
-msgstr ""
+msgstr "لون الكود القابل للطي"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6568,7 +6662,7 @@ msgstr ""
#: editor/fileserver/editor_file_server.cpp
msgid "File Server"
-msgstr ""
+msgstr "خادم الملفات"
#: editor/fileserver/editor_file_server.cpp
#: editor/plugins/version_control_editor_plugin.cpp
@@ -6860,14 +6954,6 @@ msgid "Replace in Files"
msgstr "إستبدل في كل المفات"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "جدْ: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "إستبدال: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "إستبدال الكل (لا رجوع)"
@@ -6942,11 +7028,11 @@ msgstr "إدارة المجموعات"
#: editor/import/editor_import_collada.cpp
msgid "Collada"
-msgstr ""
+msgstr "كولادا (Collada)"
#: editor/import/editor_import_collada.cpp
msgid "Use Ambient"
-msgstr ""
+msgstr "استخدم Ambient"
#: editor/import/resource_importer_bitmask.cpp
#, fuzzy
@@ -6956,7 +7042,7 @@ msgstr "أنشئ مجلد"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Threshold"
-msgstr ""
+msgstr "عتبة"
#: editor/import/resource_importer_csv_translation.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -6969,7 +7055,7 @@ msgstr "مكونات"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
-msgstr ""
+msgstr "محدد"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -6978,7 +7064,7 @@ msgstr "الوظيفة البرمجية للون."
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
-msgstr ""
+msgstr "لا BPTC إذا RGB"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
@@ -6986,17 +7072,17 @@ msgstr ""
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
msgid "Flags"
-msgstr ""
+msgstr "أعلام"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
#: scene/resources/texture.cpp
msgid "Repeat"
-msgstr ""
+msgstr "كرر"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "مرشحات:"
@@ -7010,12 +7096,12 @@ msgstr "الإشارات"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "Anisotropic"
-msgstr ""
+msgstr "تباين الخواص"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB (قياسي)"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -7060,9 +7146,8 @@ msgid "Octahedral Compression"
msgstr "تحديد التعبير"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "الحجم: "
+msgstr "تحسين أعلام المجسّم"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -7137,7 +7222,7 @@ msgstr "تخزين الملف:"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
-msgstr ""
+msgstr "استخدم الأسماء القديمة"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
#, fuzzy
@@ -7170,8 +7255,9 @@ msgid "Lightmap Texel Size"
msgstr "طبخ/تجهيز-خريطة-الاضاءة"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
+#, fuzzy
msgid "Skins"
-msgstr ""
+msgstr "سكينس (Skins)"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7185,7 +7271,7 @@ msgstr "إفتح ملف"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
-msgstr ""
+msgstr "خزن في مجلد فرعي"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7264,8 +7350,8 @@ msgid "Generating Lightmaps"
msgstr "انشاء خارطة الضوء"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "انشاء من اجل المجسم: "
+msgid "Generating for Mesh:"
+msgstr "توليد للمجسّم:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7292,8 +7378,24 @@ msgid "Saving..."
msgstr "جاري الحفظ..."
#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+"%s: تم الكشف عن نقش مستخدم كخريطة نورمال (NormalMap) في 3D. تمكين ضغط نقش "
+"الأحمر والأخضر لتقليل استخدام الذاكرة (يتم تجاهل القناة الزرقاء)."
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
msgstr ""
+"%s: تم الكشف عن نقش مستخدم في 3D. تمكين المرشح والتكرار وتوليد خريطة-الرسمة-"
+"بدقات-متعددة (mipmap) وضغط نقش VRAM."
+
+#: editor/import/resource_importer_texture.cpp
+msgid "2D, Detect 3D"
+msgstr "2D، والكشف عن 3D"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7302,7 +7404,7 @@ msgstr "البكسيلات الأساسية (Solid Pixels)"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
-msgstr ""
+msgstr "جودة ضائعة (Lossy)"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7311,14 +7413,14 @@ msgstr "تحديد الوضع"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "خريطة عادية"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7327,7 +7429,7 @@ msgstr "المعالجة-اللاحقة Post-Process"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
-msgstr ""
+msgstr "إصلاح حدود ألفا"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7336,7 +7438,7 @@ msgstr "تعديل مُتعدد السطوح"
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
-msgstr ""
+msgstr "Hdr As Srgb"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7349,13 +7451,12 @@ msgid "Normal Map Invert Y"
msgstr "حجم عشوائي:"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Size Limit"
-msgstr "الحجم: "
+msgstr "الحد الأقصى للحجم"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
-msgstr ""
+msgstr "كشف 3D"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7367,6 +7468,8 @@ msgid ""
"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
"texture will not display correctly on PC."
msgstr ""
+"تحذير، لم يتم تمكين ضغط VRAM مناسب للكمبيوتر الشخصي في إعدادات المشروع. لن "
+"يتم عرض هذا النقش بشكل صحيح على جهاز الكمبيوتر."
#: editor/import/resource_importer_texture_atlas.cpp
#, fuzzy
@@ -7385,7 +7488,7 @@ msgstr "تحديد منطقة البلاط"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
-msgstr ""
+msgstr "تقليم حدود ألفا من المنطقة"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
#, fuzzy
@@ -7394,12 +7497,12 @@ msgstr "أنشر بإجبار"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
-msgstr ""
+msgstr "8 بت"
#: editor/import/resource_importer_wav.cpp main/main.cpp
#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Mono"
-msgstr ""
+msgstr "احاديه"
#: editor/import/resource_importer_wav.cpp
#, fuzzy
@@ -7413,7 +7516,7 @@ msgstr "عقدة الخلط"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "تقليم"
#: editor/import/resource_importer_wav.cpp
#, fuzzy
@@ -7530,7 +7633,7 @@ msgstr "محلي"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr ""
+msgstr "الترجمة غير متوفرة للغة الحالية."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -7979,11 +8082,20 @@ msgid "New Anim"
msgstr "رسم متحرك جديدة"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "إنشاء رسوم متحركة جديدة"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "تغيير إسم الرسم المتحرك:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "إعادة تسمية الرسم المتحرك"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "مسح الرسم المتحرك؟"
@@ -8001,11 +8113,6 @@ msgid "Animation name already exists!"
msgstr "إسم الرسم المتحرك موجود بالفعل!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "إعادة تسمية الرسم المتحرك"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "تكرار الرسم المتحرك"
@@ -8103,10 +8210,12 @@ msgstr "إعدادت شفافية طبقات البصل"
msgid "Directions"
msgstr "الاتجاهات"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "الماضي"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "المستقبل"
@@ -8147,10 +8256,6 @@ msgid "Pin AnimationPlayer"
msgstr "تثبيت مُشغّل الرسوميات المتحركة"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "إنشاء رسوم متحركة جديدة"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "إسم الرسم المتحرك:"
@@ -8267,8 +8372,8 @@ msgstr ""
"تحديد الرسومية المتحركة الخاصة بالنهاية. سيكون ذلك مفيداً للحركات الفرعية."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "الانتقال: "
+msgid "Transition:"
+msgstr "المراحل الانتقالية:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8284,11 +8389,6 @@ msgid "New name:"
msgstr "إسم جديد:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "تغيير الأبعاد:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "تلاشي في البداية (ثواني):"
@@ -8410,7 +8510,7 @@ msgstr "الفلترة..."
#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
msgid "Use Threads"
-msgstr ""
+msgstr "استخدم خطوط المعالجة"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
@@ -8643,7 +8743,7 @@ msgstr "أختبار"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "فشل الحصول على إعدادات الأرشيف."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -9192,6 +9292,7 @@ msgstr "إنشاء عظمة (عظام) مخصوصة من عُقدة (عُقد)"
msgid "Clear Custom Bones"
msgstr "مسح العظام المخصوصة"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9209,7 +9310,7 @@ msgstr "المحاذاة الذكية"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "اخفاء"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -9258,6 +9359,10 @@ msgid "Preview Canvas Scale"
msgstr "إظهار تحجيم اللوحة Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "المخطط"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "قناع الترجمة لأجل إدخال المفاتيح."
@@ -9447,7 +9552,7 @@ msgstr "قناع الانبعاث"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Solid Pixels"
-msgstr "البكسيلات الأساسية (Solid Pixels)"
+msgstr "البكسلات غير الشفافة"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -9589,7 +9694,7 @@ msgstr "الأيقونة"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "بطاقة تعريف"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -9972,9 +10077,8 @@ msgid "Generate Visibility Rect"
msgstr "توليد Rect الرؤية"
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Can only set point into a ParticlesMaterial process material"
-msgstr "لا يمكن إنشاء سوى نقطة وحيدة داخل معالج المواد لـ ParticlesMaterial"
+msgstr "لا يمكن تحديد نقطة سوى في الParticlesMaterial لمعالج المواد"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Convert to CPUParticles2D"
@@ -10026,8 +10130,8 @@ msgid "Volume"
msgstr "حجم"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "مصدر الانبعاث: "
+msgid "Emission Source:"
+msgstr "مصدر الانبعاث:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10262,6 +10366,7 @@ msgid "Points"
msgstr "النقاط"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "المُضلعات"
@@ -10416,13 +10521,6 @@ msgid "Instance:"
msgstr "نمذجة:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "نوع:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "افتح في المُحرر"
@@ -10431,10 +10529,6 @@ msgstr "افتح في المُحرر"
msgid "Load Resource"
msgstr "تحميل المورد"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "مورد محمل سلفاً"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "إقلبْ البوابات"
@@ -10676,11 +10770,11 @@ msgstr "توقف"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
#: editor/script_editor_debugger.cpp
msgid "Continue"
-msgstr "استمرار"
+msgstr "يكمل"
#: editor/plugins/script_editor_plugin.cpp
msgid "Keep Debugger Open"
-msgstr "إبقاء منُقتح الأخطاء البرمجية مفتوحاً"
+msgstr "إبقاء المصحح مفتوحًا"
#: editor/plugins/script_editor_plugin.cpp
msgid "Debug with External Editor"
@@ -11134,13 +11228,15 @@ msgstr "تدوير"
msgid "Translate"
msgstr "ترجم"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "يُحجم: "
+msgid "Scaling:"
+msgstr "تحجيم:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "يترجم: "
+msgid "Translating:"
+msgstr "التحريك:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11163,11 +11259,6 @@ msgid "Yaw:"
msgstr "ياو:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "الحجم:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "كائنات مرسومة:"
@@ -11193,7 +11284,7 @@ msgstr "القمم:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "FPS: %d (%s ms)"
-msgstr "FPS: %d (%s جزء من الثانية)"
+msgstr "عدد الإطارات في الثانية: %d (%s ميلي ثانية)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
@@ -11657,7 +11748,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "هندسياً غير صالح، لا يمكن استبداله بسطح (mesh)."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "تحويل إلى Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11689,16 +11781,16 @@ msgid "Sprite"
msgstr "رسومية"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "التبسيط: "
+msgid "Simplification:"
+msgstr "التبسيط:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "التقلص (Pixels): "
+msgid "Shrink (Pixels):"
+msgstr "التقلص (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "التكبير (Pixels): "
+msgid "Grow (Pixels):"
+msgstr "التكبير (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11761,6 +11853,11 @@ msgid "New Animation"
msgstr "رسومية متحركة جديدة"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "ترشيح الدوال"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "السرعة:"
@@ -11893,7 +11990,7 @@ msgstr "{num} خط (خطوط)"
#: editor/plugins/theme_editor_plugin.cpp
msgid "No fonts found."
-msgstr "لم يتم العثور على الخطوط."
+msgstr "لا توجد خطوط."
#: editor/plugins/theme_editor_plugin.cpp
msgid "{num} icon(s)"
@@ -12650,8 +12747,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "اختر الشكل أو البلاط الفرعي أو البلاط، السابق."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "الإقليم"
@@ -14183,40 +14279,22 @@ msgid "Runnable"
msgstr "قابل للتشغيل"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "حذف المُعد مُسبقاً '%s'؟"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"أخفق تصدير المشروع لمنصة '%s'.\n"
-"على ما يبدو قوالب التصدير مفقودة أو غير صالحة."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"أخفق تصدير المشروع لمنصة '%s'.\n"
-"قد يعود ذلك إلى خلل تهيئة في الإعدادات المُعدّة سلفاً أو إعدادات التصدير الخاصة "
-"بك."
+msgid "Delete preset '%s'?"
+msgstr "حذف المُعد مُسبقاً '%s'؟"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "تصدير الكُل"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "مسار التصدير المُزود غير موجود:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "قوالب تصدير هذه المنصة مفقودة / تالفة:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "مسار التصدير"
@@ -14327,19 +14405,27 @@ msgid "More Info..."
msgstr "تحريك إلي..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "تصدير PCK/ ملف مضغوط Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "تصدير المشروع"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "وضع التصدير؟"
+msgid "Export All"
+msgstr "تصدير الكُل"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "من فضلك اختر مُجلداً فارغاً."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "تصدير الكُل"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14347,7 +14433,8 @@ msgid "ZIP File"
msgstr "الملف المضغوط ZIP File"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "رُزمة لعبة غودوت"
#: editor/project_export.cpp
@@ -14355,6 +14442,11 @@ msgid "Export templates for this platform are missing:"
msgstr "قوالب التصدير لهذه المنصة مفقودة:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "مؤسسون المشروع"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "إدارة قوالب التصدير"
@@ -14666,15 +14758,15 @@ msgid "Project Manager"
msgstr "مدير المشروع"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr "آخر ما تم تعديله"
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "يستقبل المرايا، من فضلك إنتظر..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr "آخر ما تم تعديله"
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "تصدير المشروع"
@@ -15892,8 +15984,8 @@ msgid "Attach Node Script"
msgstr "ألحق نص برمجي للعُقدة"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "من بعد "
+msgid "Remote %s:"
+msgstr "من بعد %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16202,26 +16294,24 @@ msgid "Set Room Point Position"
msgstr "حدد موقع نقطة الإنحناء"
#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Margin"
-msgstr "تحديد الهامش"
+msgstr "هامش البوابة"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Edge"
-msgstr ""
+msgstr "حافة الغرفة"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Arrow"
-msgstr ""
+msgstr "سهم البوابة"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Portal Point Position"
-msgstr "حدد موقع نقطة الإنحناء"
+msgstr "حدد موقع نقطة البوابة"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Front"
-msgstr ""
+msgstr "واجهة البوابة"
#: editor/spatial_editor_gizmos.cpp
#, fuzzy
@@ -16260,18 +16350,16 @@ msgid "Occluder Polygon Front"
msgstr "أنشئ شكل مُطبق"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Back"
-msgstr "أنشئ شكل مُطبق"
+msgstr ""
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Hole"
-msgstr "أنشئ شكل مُطبق"
+msgstr ""
#: main/main.cpp
msgid "Godot Physics"
-msgstr ""
+msgstr "فيزيائيات جودو"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
@@ -16350,9 +16438,8 @@ msgid "Driver"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Driver Name"
-msgstr "اسم النص البرمجي:"
+msgstr "اسم النص البرمجي"
#: main/main.cpp
msgid "Fallback To GLES2"
@@ -16371,22 +16458,20 @@ msgid "Allow hiDPI"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "V-Sync"
-msgstr "مزامنة"
+msgstr "مزامنة (مزامنة كرت الشاشة)"
#: main/main.cpp
-#, fuzzy
msgid "Use V-Sync"
-msgstr "استخدام المحاذاة"
+msgstr "استخدام مزامنة كرت الشاشة"
#: main/main.cpp
msgid "Per Pixel Transparency"
-msgstr ""
+msgstr "شفافية بيكسل القلم"
#: main/main.cpp
msgid "Allowed"
-msgstr ""
+msgstr "مسموح"
#: main/main.cpp
msgid "Intended Usage"
@@ -16398,18 +16483,16 @@ msgid "Framebuffer Allocation"
msgstr "تحديد الإطار"
#: main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Energy Saving"
-msgstr "خطأ في الحفظ"
+msgstr "توفير الطاقة"
#: main/main.cpp
msgid "Threads"
-msgstr ""
+msgstr "مسارات"
#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-#, fuzzy
msgid "Thread Model"
-msgstr "أظهر المود"
+msgstr "نوع المسار"
#: main/main.cpp
msgid "Thread Safe BVH"
@@ -16427,9 +16510,8 @@ msgstr "الوثائق الإلكترونية"
#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-#, fuzzy
msgid "Common"
-msgstr "المجتمع"
+msgstr "شائع"
#: main/main.cpp
#, fuzzy
@@ -16449,7 +16531,7 @@ msgstr ""
#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
#: scene/main/viewport.cpp scene/register_scene_types.cpp
msgid "GUI"
-msgstr ""
+msgstr "واجهة المستخدم الرسومية"
#: main/main.cpp
msgid "Drop Mouse On GUI Input Disabled"
@@ -16473,9 +16555,8 @@ msgid "Physics Interpolation"
msgstr "وضعية الأستيفاء"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "تمكين الترشيح Filtering"
+msgstr "تفعيل التحذيرات"
#: main/main.cpp
#, fuzzy
@@ -16492,25 +16573,23 @@ msgstr ""
#: main/main.cpp
msgid "iOS"
-msgstr ""
+msgstr "IOS"
#: main/main.cpp
msgid "Hide Home Indicator"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Input Devices"
-msgstr "جميع الأجهزة"
+msgstr "أجهزة الإدخال"
#: main/main.cpp
-#, fuzzy
msgid "Pointing"
-msgstr "نقطة"
+msgstr "يشير"
#: main/main.cpp
msgid "Touch Delay"
-msgstr ""
+msgstr "تأخير اللمس"
#: main/main.cpp servers/visual_server.cpp
msgid "GLES3"
@@ -16552,7 +16631,7 @@ msgstr ""
#: main/main.cpp
msgid "Fullsize"
-msgstr ""
+msgstr "الحجم الكامل"
#: main/main.cpp scene/resources/dynamic_font.cpp
#, fuzzy
@@ -16625,21 +16704,20 @@ msgstr "انتهت المهلة."
#: main/main.cpp
msgid "Runtime"
-msgstr ""
+msgstr "اثناء التشغيل"
#: main/main.cpp
msgid "Unhandled Exception Policy"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Main Loop Type"
-msgstr "إيجاد نوع العُقدة"
+msgstr "نوع الحلقة الرئيسية"
#: main/main.cpp scene/gui/texture_progress.cpp
#: scene/gui/viewport_container.cpp
msgid "Stretch"
-msgstr ""
+msgstr "تمدد"
#: main/main.cpp
#, fuzzy
@@ -16694,38 +16772,33 @@ msgstr "تغيير نصف قطر الدائرة الداخلي"
#: modules/csg/csg_gizmos.cpp
msgid "Change Torus Outer Radius"
-msgstr "تعديل نصف القطر الخارجي للطارة Torus Outer Radius"
+msgstr "تعديل نصف القطر الخارجي للمسنن"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Operation"
-msgstr "الإعدادات"
+msgstr "عملية"
#: modules/csg/csg_shape.cpp
msgid "Calculate Tangents"
-msgstr ""
+msgstr "احسب الظلال"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Use Collision"
-msgstr "التصادم"
+msgstr "استخدم التصادم"
#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-#, fuzzy
msgid "Collision Layer"
-msgstr "وضع التصادم"
+msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Mask"
-msgstr "وضع التصادم"
+msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Invert Faces"
-msgstr "حالة التحويل"
+msgstr "اقلب الوجوه"
#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
@@ -16745,57 +16818,51 @@ msgid "Radial Segments"
msgstr "معاملات المشهد الرئيس:"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Rings"
-msgstr "تحذيرات"
+msgstr "خواتم"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Smooth Faces"
-msgstr "خطوة ناعمة"
+msgstr "وجوه ناعمة"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Sides"
-msgstr "أظهر الموجهات"
+msgstr "جهات"
#: modules/csg/csg_shape.cpp
msgid "Cone"
msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Inner Radius"
-msgstr "تغيير نصف قطر الدائرة الداخلي"
+msgstr "القطر الداخلي"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Outer Radius"
-msgstr "تعديل نصف القطر الخارجي للطارة Torus Outer Radius"
+msgstr "القطر الخارجي"
#: modules/csg/csg_shape.cpp
msgid "Ring Sides"
-msgstr ""
+msgstr "جهات الخاتم"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "المُضلعات"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
-msgstr ""
+msgstr "درجة الدوران"
#: modules/csg/csg_shape.cpp
msgid "Spin Sides"
-msgstr ""
+msgstr "جهة الدوران"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Node"
-msgstr "لصق العُقد"
+msgstr "مسار العقدة"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16826,9 +16893,8 @@ msgid "Path Continuous U"
msgstr "متواصل"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path U Distance"
-msgstr "اختر المسافة:"
+msgstr "المسار المحلي"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16836,28 +16902,26 @@ msgid "Path Joined"
msgstr "دوران عشوائي:"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Compression Mode"
-msgstr "وضع التصادم"
+msgstr "وضع الضغط"
#: modules/enet/networked_multiplayer_enet.cpp
#, fuzzy
msgid "Transfer Channel"
-msgstr "تعديل التحولات"
+msgstr "نقل القنوات"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Channel Count"
-msgstr "كائن"
+msgstr "عدد القنوات"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Always Ordered"
-msgstr "إظهار الشبكة دوماً"
+msgstr "مطلوب دائمًا"
#: modules/enet/networked_multiplayer_enet.cpp
+#, fuzzy
msgid "Server Relay"
-msgstr ""
+msgstr "تناوب الخادم"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Verify"
@@ -16881,30 +16945,25 @@ msgid "Use FBX"
msgstr ""
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Config File"
-msgstr "تخزين الملف:"
+msgstr "ملف التهيئة"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Load Once"
-msgstr "تحميل المورد"
+msgstr "حمل مرة واحدة"
#: modules/gdnative/gdnative.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Singleton"
-msgstr "الهيكل"
+msgstr ""
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Symbol Prefix"
-msgstr "بادئة:"
+msgstr "رمز البادئة"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Reloadable"
-msgstr "إعادة تحميل"
+msgstr "قابل لإعادة التحميل"
#: modules/gdnative/gdnative.cpp
#: modules/gdnative/gdnative_library_singleton_editor.cpp
@@ -16922,7 +16981,7 @@ msgstr "اختر تبعيات المكتبة لأجل هذا الإدخال"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Remove current entry"
-msgstr "مسح المدخلة الحالية"
+msgstr "مسح المدخلات الحالية"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Double click to create a new entry"
@@ -16957,8 +17016,8 @@ msgid "Disabled GDNative Singleton"
msgstr "تعطيل نمط البرمجة Singleton ل GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "مكتبات: "
+msgid "Libraries:"
+msgstr "مكتبات:"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -16971,9 +17030,8 @@ msgid "Script Class"
msgstr "اسم النص البرمجي:"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Icon Path"
-msgstr "مسار التركيز"
+msgstr "مسار الأيقونة"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
@@ -16981,18 +17039,16 @@ msgstr "لغة البرمجة GDNative"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "النص البرمجي"
+msgstr "لغة جي دي"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
-msgstr ""
+msgstr "لون تعريف الدالة"
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Node Path Color"
-msgstr "نسخ مسار العُقدة"
+msgstr "لون مسار العقدة"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
@@ -17020,11 +17076,11 @@ msgstr "ليس نص برمجي مع نموذج"
#: modules/gdscript/gdscript_functions.cpp
msgid "Not based on a script"
-msgstr "لا تستند الى نص برمجي"
+msgstr "غير مبني على نص برمجي"
#: modules/gdscript/gdscript_functions.cpp
msgid "Not based on a resource file"
-msgstr "لا تستند على ملف مورد"
+msgstr "غير مبني على ملف موارد"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary format (missing @path)"
@@ -17047,14 +17103,12 @@ msgid "Object can't provide a length."
msgstr "لا يمكن للكائن أن يمنح طولاً."
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Language Server"
-msgstr "اللغة:"
+msgstr "لغة الخادك"
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Enable Smart Resolve"
-msgstr "لا يمكن الحل"
+msgstr "تفعيل الحل الذكي"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Show Native Symbols In Editor"
@@ -17062,7 +17116,7 @@ msgstr ""
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
-msgstr ""
+msgstr "استخدم المسار"
#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
#, fuzzy
@@ -17085,14 +17139,12 @@ msgid "Byte Offset"
msgstr "مقدار إزاحة الشبكة:"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Component Type"
-msgstr "مكونات"
+msgstr "نوع المكون"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Normalized"
-msgstr "البنية (اللاحقة)"
+msgstr ""
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -17100,14 +17152,12 @@ msgid "Count"
msgstr "الكمية:"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Min"
-msgstr "ميبي بايت (MiB)"
+msgstr "أقل"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "خلط"
+msgstr "أعلى"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -17157,7 +17207,7 @@ msgstr "جميع الأجهزة"
#: modules/gltf/gltf_camera.cpp
#, fuzzy
msgid "FOV Size"
-msgstr "الحجم:"
+msgstr "حجم مساحةالرؤية"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
@@ -17176,27 +17226,25 @@ msgstr "خطي"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Color"
msgstr "الألوان"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
msgid "Intensity"
-msgstr ""
+msgstr "الكثافة | الشدة"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Range"
-msgstr "تغير"
+msgstr "نطاق"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
-msgstr ""
+msgstr "زاوية المخروط الداخلية"
#: modules/gltf/gltf_light.cpp
msgid "Outer Cone Angle"
-msgstr ""
+msgstr "زاوية المخروط الخارجية"
#: modules/gltf/gltf_mesh.cpp
#, fuzzy
@@ -17209,9 +17257,8 @@ msgid "Instance Materials"
msgstr "تغيرات المادة:"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-#, fuzzy
msgid "Parent"
-msgstr "إعادة اختيار الأبوة"
+msgstr "أب"
#: modules/gltf/gltf_node.cpp
#, fuzzy
@@ -17235,20 +17282,20 @@ msgstr "أبناء قابلين للتعديل"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
#, fuzzy
msgid "Joints"
-msgstr "نقطة"
+msgstr "المفاصل"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
-msgstr ""
+msgstr "الجذور"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
msgid "Unique Names"
-msgstr ""
+msgstr "أسماء مميزة"
#: modules/gltf/gltf_skeleton.cpp
#, fuzzy
msgid "Godot Bone Node"
-msgstr "عقدة التنقل الزمني"
+msgstr "عقدة جودو العظمية"
#: modules/gltf/gltf_skin.cpp
#, fuzzy
@@ -17265,9 +17312,8 @@ msgid "Inverse Binds"
msgstr ""
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Non Joints"
-msgstr "تحريك النُقطة"
+msgstr "بلا مفاصل"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
@@ -17291,12 +17337,11 @@ msgstr ""
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Gloss Factor"
-msgstr ""
+msgstr "عامل اللمعان"
#: modules/gltf/gltf_spec_gloss.cpp
-#, fuzzy
msgid "Specular Factor"
-msgstr "مُشغل الكمية القياسية Scalar."
+msgstr "عامل ال"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Spec Gloss Img"
@@ -17304,17 +17349,15 @@ msgstr ""
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr ""
+msgstr "جيسون"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Major Version"
-msgstr "الإصدار"
+msgstr "إصدار رئيسي"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Minor Version"
-msgstr "الإصدار"
+msgstr "إصدار فرعي"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17335,9 +17378,8 @@ msgid "Accessors"
msgstr ""
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Scene Name"
-msgstr "المسار للمشهد:"
+msgstr "اسم المشهد"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17352,21 +17394,19 @@ msgstr "المزايا"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
-msgstr ""
+msgstr "الصور"
#: modules/gltf/gltf_state.cpp
msgid "Cameras"
-msgstr ""
+msgstr "الكاميرات"
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Lights"
-msgstr "ضوء"
+msgstr "الأضواء"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Unique Animation Names"
-msgstr "إسم رسم المتحرك جديد:"
+msgstr "أسماء حركات مميزة"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17374,38 +17414,32 @@ msgid "Skeletons"
msgstr "الهيكل"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "اختر عُقدة"
+msgstr "هيكل إلى عقدة"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Animations"
-msgstr "الرسومات المتحركة:"
+msgstr "الحركات"
#: modules/gltf/gltf_texture.cpp
-#, fuzzy
msgid "Src Image"
-msgstr "إظهار العظام"
+msgstr "مصدر الصورة"
#: modules/gridmap/grid_map.cpp
msgid "Mesh Library"
msgstr "مكتبة المجسم"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Physics Material"
-msgstr "نسبة الإطار الفيزيائي %"
+msgstr "مادة"
#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Use In Baked Light"
-msgstr "طبخ (إعداد) خرائط الضوء"
+msgstr "استخدام في الإضاءة المطبوخة"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
-msgstr ""
+msgstr "خلية"
#: modules/gridmap/grid_map.cpp
#, fuzzy
@@ -17413,19 +17447,16 @@ msgid "Octant Size"
msgstr "الواجهة View الأمامية"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center X"
-msgstr "المنتصف"
+msgstr "منتصف س"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Y"
-msgstr "المنتصف"
+msgstr "منتصف ص"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Z"
-msgstr "المنتصف"
+msgstr "منتصف"
#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
@@ -17433,6 +17464,19 @@ msgstr "المنتصف"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "تنقل"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "وضع التنقل"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "التبويب التالي"
@@ -17578,14 +17622,12 @@ msgid "Generate buffers"
msgstr "ولد AABB"
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-#, fuzzy
msgid "Direct lighting"
-msgstr "الاتجاهات"
+msgstr "إضاءة مباشرة"
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-#, fuzzy
msgid "Indirect lighting"
-msgstr "المسافة البادئة يميناً"
+msgstr "إضاءة غير مباشرة"
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
#, fuzzy
@@ -17621,27 +17663,24 @@ msgstr ""
#: modules/minimp3/resource_importer_mp3.cpp
#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-#, fuzzy
msgid "Loop Offset"
-msgstr "المُعادل:"
+msgstr "إزاحة الحلقة"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Eye Height"
-msgstr ""
+msgstr "ارتفاع الغين"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "IOD"
msgstr ""
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display Width"
-msgstr "عرض المُخطط Wireframe"
+msgstr "عرض الشاشة"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display To Lens"
-msgstr "عرض من غير ظلال"
+msgstr "شاشة إلى عدسة"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
@@ -17660,14 +17699,12 @@ msgid "Class name can't be a reserved keyword"
msgstr "لا يمكن أن يكون اسم الصف كلمة محجوزة"
#: modules/mono/csharp_script.cpp
-#, fuzzy
msgid "Build Solution"
-msgstr "تعبئة المُحدد"
+msgstr ""
#: modules/mono/editor/csharp_project.cpp
-#, fuzzy
msgid "Auto Update Project"
-msgstr "مشروع غير مسمى"
+msgstr "تحديث المشروع تلقائيًا"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
@@ -17744,9 +17781,8 @@ msgid "Seamless"
msgstr ""
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "As Normal Map"
-msgstr "حجم عشوائي:"
+msgstr "كخريطة عادية"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
@@ -17754,7 +17790,7 @@ msgstr ""
#: modules/opensimplex/noise_texture.cpp
msgid "Noise"
-msgstr ""
+msgstr "ضوضاء"
#: modules/opensimplex/noise_texture.cpp
#, fuzzy
@@ -17767,7 +17803,7 @@ msgstr ""
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Period"
-msgstr ""
+msgstr "فترة"
#: modules/opensimplex/open_simplex_noise.cpp
#, fuzzy
@@ -17783,14 +17819,12 @@ msgid "Subject"
msgstr ""
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Names"
-msgstr "الأسم"
+msgstr "الأسماء"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Strings"
-msgstr "الإعدادات:"
+msgstr "النصوص"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
@@ -17805,14 +17839,12 @@ msgid "Discover IPv6"
msgstr ""
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Description URL"
-msgstr "الوصف"
+msgstr "وصف الرابط"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Service Type"
-msgstr "تحيد نوع المتغير"
+msgstr "نوع الخدمة"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
@@ -17854,21 +17886,20 @@ msgstr ""
"أصلح العقدة من فضلك."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "أرجعت العُقدة تسلسلاً مُخرجاً غير صالح: "
+msgid "Node returned an invalid sequence output:"
+msgstr "أرجعت العُقدة تسلسلاً مُخرجاً غير صالح:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "عثر على تسلسل بت ولكن ليس العقدة في المكدس ,ارفع تقرير عن الخطأ!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "حدوث تجاوز للتكدس ( Stack overflow) مع عمق التكدس: "
+msgid "Stack overflow with stack depth:"
+msgstr "حدوث تجاوز للتكدس ( Stack overflow) مع عمق التكدس:"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Visual Script"
-msgstr "بحث VisualScript"
+msgstr "البرمجة المرئية"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
@@ -17899,14 +17930,12 @@ msgid "Add Output Port"
msgstr "أضف منفذ إخراج"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Port Type"
-msgstr "تغيير النوع"
+msgstr "تغيير نوع المنفذ"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Port Name"
-msgstr "غيّر اسم منفذ المُدخلات"
+msgstr "تغيير اسم المنفذ"
#: modules/visual_script/visual_script_editor.cpp
msgid "Override an existing built-in function."
@@ -18092,7 +18121,7 @@ msgstr "تعديل قيمة الإدخال"
#: modules/visual_script/visual_script_editor.cpp
msgid "Resize Comment"
-msgstr "تغيير حجم التعليق"
+msgstr "تغيير حجم الملاحظة"
#: modules/visual_script/visual_script_editor.cpp
msgid "Can't create function with a function node."
@@ -18237,16 +18266,16 @@ msgid "for (elem) in (input):"
msgstr "لكل (عنصر) في (معلومات-الإدخال):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "نوع الإدخال غير متوقع: "
+msgid "Input type not iterable:"
+msgstr "نوع الإدخال لا يمكن التكرار عليه:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "أصبح المُكرر غير صالحاً"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "أصبح المُكرر غير صالحاً: "
+msgid "Iterator became invalid:"
+msgstr "أصبح المُكرر غير صالحاً:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18418,12 +18447,12 @@ msgid "Operator"
msgstr "مُشغل التراكم."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": معامل النوع غير صحيح: "
+msgid "Invalid argument of type:"
+msgstr "معامل غير صحيح من النوع:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": معاملات غير صالحة: "
+msgid "Invalid arguments:"
+msgstr "معاملات غير صالحة:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18435,12 +18464,12 @@ msgid "Var Name"
msgstr "الأسم"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "لم يتم إيجاد VariableGet في النص البرمجي: "
+msgid "VariableGet not found in script:"
+msgstr "لم يتم إيجاد VariableGet في النص البرمجي:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "لم يتم إيجاد (مُحدد المُتغير) VariableSet في النص البرمجي: "
+msgid "VariableSet not found in script:"
+msgstr "لم يتم إيجاد VariableSet في النص البرمجي:"
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18767,6 +18796,11 @@ msgid "The package must have at least one '.' separator."
msgstr "يجب أن تتضمن الرزمة على الأقل واحد من الفواصل '.' ."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "قص العُقد"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18775,6 +18809,16 @@ msgstr ""
msgid "Export Format"
msgstr "مسار التصدير"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "حجم الخطوط:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "الهدف"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18818,16 +18862,6 @@ msgstr "تفحص النمذجة السابقة"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "حجم الخطوط:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "الهدف"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18994,10 +19028,6 @@ msgid "Could not execute on device."
msgstr "لا يمكن إنشاء المجلد."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "تعذر العثور على أداة توقيع تطبيق اندرويد\"apksigner\"."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19091,7 +19121,7 @@ msgstr "يجب تفعيل \"Use Custom Build\" لإستخدام الإضافات
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" تكون صالحة فقط عندما يكون وضع ال \"Xr Mode\"هو \"Oculus "
@@ -19099,7 +19129,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" تكون صالحة فقط عندما يكون وضع ال \"Xr Mode\"هو \"Oculus "
"Mobile VR\"."
@@ -19113,37 +19143,61 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"يصبح خيار \"تصدير ABB\" صالحاً فقط عندما يتم اختيار \"استعمال تصدير مخصص "
"Custom Build\"."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"يصبح خيار \"تصدير ABB\" صالحاً فقط عندما يتم اختيار \"استعمال تصدير مخصص "
"Custom Build\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"إصدار \"حزمة التطوير البرمجية المستهدفة\" يجب أن يكون أعلى من أو يساوي إصدار "
"\"Min Sdk\"."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "الإشاراة"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"تعذر العثور على 'apksigner'.\n"
-"تأكد من فضلك إن كان الأمر موجوداً في دليل ملفات أدوات-بناء الأندرويد Android "
-"SDK build-tools.\n"
-"لم يتم توقيع الناتج %s."
+"تعذر العثور على 'apksigner'. تأكد من فضلك إن كان الأمر موجوداً في دليل ملفات "
+"أدوات-بناء حزمة تطوير الأندرويد Android SDK build-tools. لم يتم توقيع الناتج "
+"%s."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -19158,6 +19212,10 @@ msgid "Could not find keystore, unable to export."
msgstr "لا يمكن العثور على مفتاح المتجر، لا يمكن التصدير."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "تعذر بدء تشغيل apksigner ."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "أعاد 'apksigner' الخطأ التالي #%d"
@@ -19188,8 +19246,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "أسم الملف غير صالح! يتطلب ملف اندرويد APK أمتداد *.apk لتعمل."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "صيغة تصدير غير مدعومة!\n"
+msgid "Unsupported export format!"
+msgstr "تنسيق تصدير غير مدعوم!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19201,25 +19259,22 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"نسخ بناء Android غير متوافقة:\n"
-"\tقوالب مُنصبة: %s\n"
-"\tإصدار غودوت: %s\n"
-"من فضلك أعد تنصيب قالب بناء الأندرويد Android من قائمة \"المشروع\"."
+"نسخ بناء Android غير متوافقة: قوالب مُنصبة: %s إصدار غودوت: %s. من فضلك أعد "
+"تنصيب قالب بناء الأندرويد من قائمة 'المشروع'."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"تعذرت كتابة overwrite ملفات res://android/build/res/*.xml مع اسم المشروع"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "لم يتمكن من تصدير ملفات المشروع إلى مشروع gradle\n"
+msgid "Could not export project files to gradle project."
+msgstr "لم يتمكن من تصدير ملفات المشروع إلى مشروع gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19231,15 +19286,15 @@ msgstr "بناء مشروع الأندرويد (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"أخفق بناء مشروع الأندرويد، تفقد المُخرجات للإطلاع على الخطأ.\n"
-"بصورة بديلة يمكنك زيارة docs.godotengine.org لأجل مستندات البناء للأندرويد."
+"أخفق بناء مشروع الأندرويد، تفقد المُخرجات للإطلاع على الخطأ. بصورة بديلة "
+"يمكنك زيارة docs.godotengine.org لأجل مستندات البناء للأندرويد."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
-msgstr "نقل المخرجات"
+msgstr "جاري تحريك المخرجات"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19249,7 +19304,7 @@ msgstr "تعذر نسخ وإعادة تسمية الملف المصدر، تفق
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "لم يتم إيجاد الرسم المتحرك: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19258,23 +19313,18 @@ msgid "Creating APK..."
msgstr "إنشاء المحيط..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"لم يتم إيجاد قالب APK للتصدير:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "لم يتم إيجاد قالب APK للتصدير: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
-"هنالك مكاتب قوالب تصدير ناقصة بالنسبة للمعمارية المختارة: %s.\n"
-"ابن قالب التصدير متضمناً جميع المكتبات الضرورية، أو أزال اختيار المعماريات "
-"الناقصة من خيارات التصدير المعدّة مسبقاً."
+"هنالك مكاتب قوالب تصدير ناقصة بالنسبة للمعمارية المختارة: %s.ابن قالب "
+"التصدير متضمناً جميع المكتبات الضرورية، أو أزال اختيار المعماريات الناقصة من "
+"خيارات التصدير المعدّة مسبقاً."
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19282,7 +19332,8 @@ msgid "Adding files..."
msgstr "إضافة %s..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "لم نتمكن من تصدير ملفات المشروع"
#: platform/android/export/export_plugin.cpp
@@ -19418,9 +19469,8 @@ msgid "Capabilities"
msgstr "إلصق الخاصيات"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Access Wi-Fi"
-msgstr "تم بشكل ناجح!"
+msgstr "الوصول للواي-فاي"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19525,6 +19575,17 @@ msgstr "قص العُقد"
msgid "Custom BG Color"
msgstr "قص العُقد"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "إدارة القوالب"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "قالب الإصدار المخصص ليس موجود."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19548,23 +19609,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "شغل ملف HTML المُصدر في المتصفح الإفتراضي للنظام."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "لا يمكن فتح القالب من أجل التصدير:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "إدارة قوالب التصدير:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "لا يمكن كتابة الملف:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "تحديد الهامش"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "لا يمكن كتابة الملف:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "التباعُدات:"
@@ -19640,15 +19713,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "لا يمكن قراءة ملف HTML مخصص:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "لا يمكن إنشاء مجلد خادم ال HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "خطأ في بدء تشغيل خادم HTTP:"
#: platform/javascript/export/export.cpp
@@ -19949,9 +20024,27 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "لم نتمكن من تصدير ملفات المشروع"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "تعذر بدء تشغيل xcrun."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "توطين"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19967,20 +20060,75 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "لم توجد ايقونات."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "خطأ في تحميل الملف: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "الاتجاهات"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "تعذر بدء الملف التنفيذي hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "ينشئ الصورة المصغرة"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "لم يتم إيجاد قالب التطبيق (Template app) للتصدير:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "إدارة قوالب التصدير:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19988,7 +20136,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20030,6 +20178,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "مشروع"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "تعذر فتح الملف للقراءة من المسار \"%s\"."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "مُحدد غير صالح:"
@@ -20345,6 +20502,11 @@ msgid "Debug Algorithm"
msgstr "مُنقح الأخطاء"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "لا يمكن حذف ملف مؤقت:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20392,6 +20554,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "دوران عشوائي:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "لا يمكن العثور على مفتاح المتجر، لا يمكن التصدير."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "لا يمكن العثور على مفتاح المتجر، لا يمكن التصدير."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "صيغة غير صالحة."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "لا يمكن العثور على مفتاح المتجر، لا يمكن التصدير."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "لا يمكن العثور على مفتاح المتجر، لا يمكن التصدير."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "مُحدد غير صالح:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "اسم غير صالح."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "صيغة غير صالحة."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "لا يمكن حذف ملف مؤقت:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20410,6 +20636,23 @@ msgid "Invalid product version:"
msgstr "مُعرف GUID (المُعرّف الفريد العالمي) للمنتج غير صالح:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "صيغة غير صالحة."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "نافذة جديدة"
@@ -20426,6 +20669,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20553,7 +20800,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "اختر المسافة:"
@@ -20604,7 +20852,7 @@ msgstr "تكبير"
msgid "Custom Viewport"
msgstr "ساحة رؤية واحدة"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20948,9 +21196,8 @@ msgstr "قناع الانبعاث"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Sphere Radius"
-msgstr "مصدر الانبعاث: "
+msgstr "قطر الجسم الكروى"
#: scene/2d/cpu_particles_2d.cpp
#, fuzzy
@@ -21018,9 +21265,8 @@ msgstr "خطي"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel"
-msgstr "تم بشكل ناجح!"
+msgstr "التسارع"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21378,11 +21624,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "تعديل الإتصال:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "الربط"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "اختر المسافة:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "اختر المسافة:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "إعدادات متقدمة"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "تفعيل"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21400,16 +21678,6 @@ msgstr "القلب أفقياً"
msgid "Max Speed"
msgstr "السرعة:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "اختر المسافة:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "تفعيل"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21435,24 +21703,26 @@ msgstr ""
"العقدة. يُرجى تعيين خاصية أو رسم مضلع."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"يجب أن يكون نموذج-المضلع-المتنقل (NavigationPolygonInstance) تابعًا أو حفيدًا "
-"لعقدة التنقل-ثنائي-الأبعاد (Navigation2D). انه فقط يوفر بيانات التنقل."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "في أسفل المنتصف"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "السفر"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "يُدير %s من الدرجات."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "ثابت"
@@ -21720,9 +21990,8 @@ msgid "Safe Margin"
msgstr "تحديد الهامش"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Sync To Physics"
-msgstr " (فيزيائي)"
+msgstr "تزامن مع الفيزياء"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -22503,9 +22772,8 @@ msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Pixel Size"
-msgstr "محاذاة البكسل"
+msgstr "حجم البكسل"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Billboard"
@@ -22675,6 +22943,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "أجهض التحول."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22699,14 +22974,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"يجب أن يكون نموذج-مجسم-التنقل (NavigationMeshInstance) تابعًا أو حفيدًا لعقدة "
-"التنقل (Navigation node). انه يوفر فقط بيانات التنقل."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23045,9 +23312,8 @@ msgid "Solver"
msgstr ""
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Exclude Nodes"
-msgstr "حذف العُقد"
+msgstr "استثناء العُقد"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23113,14 +23379,12 @@ msgid "Linear Ortho"
msgstr "نظر من الخلف (متعامد/ليس له بعد ثالث)"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper Angle"
-msgstr "الأحرف الكبيرة (Uppercase)"
+msgstr "الزاوية العلوية"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower Angle"
-msgstr "الأحرف الصغيرة (Lowercase)"
+msgstr "الزاوية السفلية"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23235,9 +23499,8 @@ msgid "A RoomGroup should not be a child or grandchild of a Portal."
msgstr ""
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Active"
-msgstr " [البوابات مفعلة]"
+msgstr "البوابة نشطة"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
@@ -23277,9 +23540,8 @@ msgid "Thickness"
msgstr ""
#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Update Mode"
-msgstr "وضع التدوير"
+msgstr "وضع التحديث"
#: scene/3d/reflection_probe.cpp
#, fuzzy
@@ -23378,7 +23640,7 @@ msgstr "يجب توافر مدير-غرف (RoomManager) واحد فقط في ش
#: scene/3d/room_manager.cpp
msgid "Main"
-msgstr ""
+msgstr "رئيسي | الرئيسي"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
@@ -23587,6 +23849,11 @@ msgstr ""
"قم بتغيير الحجم في أشكال تصادم الأتباع (Children) بدلاً من ذلك."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "الاحتفاظ بالتحوّل الشمولي Global"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23636,13 +23903,12 @@ msgid "Per-Wheel Motion"
msgstr "زر العجلة للأسفل"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Engine Force"
-msgstr "مستندات الإنترنت"
+msgstr "قوة المحرك"
#: scene/3d/vehicle_body.cpp
msgid "Brake"
-msgstr ""
+msgstr "فرامل | مكابح"
#: scene/3d/vehicle_body.cpp
msgid "Steering"
@@ -23662,9 +23928,8 @@ msgid "Use As Steering"
msgstr ""
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Wheel"
-msgstr "العجلة نحو الأقصى."
+msgstr "عجلة"
#: scene/3d/vehicle_body.cpp
msgid "Roll Influence"
@@ -23794,14 +24059,12 @@ msgid "Fadeout Time"
msgstr "وقت التلاشي X (ثواني):"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Auto Restart"
-msgstr "إعادة تشغيل تلقائية:"
+msgstr "إعادة تشغيل تلقائية"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Autorestart"
-msgstr "إعادة تشغيل تلقائية:"
+msgstr "إعادة تشغيل تلقائية"
#: scene/animation/animation_blend_tree.cpp
msgid "Delay"
@@ -24253,9 +24516,8 @@ msgid "Pass On Modal Close Click"
msgstr ""
#: scene/gui/control.cpp
-#, fuzzy
msgid "Size Flags"
-msgstr "الحجم: "
+msgstr "أعلام الحجم"
#: scene/gui/control.cpp
#, fuzzy
@@ -24618,9 +24880,8 @@ msgid "Max Value"
msgstr "القيمة"
#: scene/gui/range.cpp
-#, fuzzy
msgid "Page"
-msgstr "الصفحة: "
+msgstr "صفحة"
#: scene/gui/range.cpp
#, fuzzy
@@ -24845,6 +25106,11 @@ msgstr "مجلد:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "المحدد فقط"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "تفعيل"
@@ -25038,9 +25304,8 @@ msgid "Download File"
msgstr "تنزيل"
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Download Chunk Size"
-msgstr "جاري التنزيل"
+msgstr "حجم جزء التنزيل"
#: scene/main/http_request.cpp
msgid "Body Size Limit"
@@ -25111,9 +25376,8 @@ msgid "Custom Multiplayer"
msgstr "تحديد التكرار:"
#: scene/main/node.cpp
-#, fuzzy
msgid "Process Priority"
-msgstr "تمكين الأولوية"
+msgstr "أولوية العملية"
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
@@ -25181,9 +25445,8 @@ msgid "Draw 2D Outlines"
msgstr "أنشئ الحد"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "الاتجاهات"
+msgstr "الانعكاسات"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -25251,17 +25514,6 @@ msgid "Viewport Path"
msgstr "مسار التصدير"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"لم يتم تعيين منفذ العرض هذا كهدف عرض. إذا كنت تنوي عرض محتوياته مباشرة على "
-"الشاشة ، اجعله تابعًا لعنصر تحكم حتى يتمكن من الحصول على الحجم. خلاف ذلك ، "
-"اجعلها RenderTarget وقم بتعيين نسيجها الداخلي لبعض العقد لعرضها."
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25269,6 +25521,15 @@ msgid ""
msgstr "ينبغي أن يكون حجم إطار العرض أكبر من 0 ليتم الإخراج البصري لأي شيء."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25347,84 +25608,82 @@ msgid "Enable 2D"
msgstr "تفعيل"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Enable 3D"
-msgstr "تفعيل"
+msgstr "تفعيل 3D"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Object Picking"
-msgstr "تفعيل تقشير البصل"
+msgstr "اختيار الكائن"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Disable Input"
-msgstr "عنصر معطّل"
+msgstr "تعطيل الإدخال"
#: scene/main/viewport.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Shadow Atlas"
-msgstr "أطلس جديد"
+msgstr "أطلس الظل"
#: scene/main/viewport.cpp
msgid "Quad 0"
-msgstr ""
+msgstr "رباعي 0"
#: scene/main/viewport.cpp
msgid "Quad 1"
-msgstr ""
+msgstr "رباعية 1"
#: scene/main/viewport.cpp
msgid "Quad 2"
-msgstr ""
+msgstr "رباعية 2"
#: scene/main/viewport.cpp
msgid "Quad 3"
-msgstr ""
+msgstr "رباعية 3"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Canvas Transform"
-msgstr "محو التَحَوّل"
+msgstr "تحويل اللوحة"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Global Canvas Transform"
-msgstr "الاحتفاظ بالتحوّل الشمولي Global"
+msgstr "تحويل اللوحة الشامل (global)"
#: scene/main/viewport.cpp
msgid "Tooltip Delay (sec)"
-msgstr ""
+msgstr "تأخير تلميح الأدوات (ثانية)"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "Swap OK Cancel"
-msgstr "إلغاء"
+msgstr "مبادلة موافق إلغاء"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "Layer Names"
-msgstr "الأسم"
+msgstr "أسماء الطبقات"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "2D Render"
-msgstr "مُحرك الإخراج البصري:"
+msgstr "إنشاء صورة 2D"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "3D Render"
-msgstr "مُحرك الإخراج البصري:"
+msgstr "إنشاء صورة 3D"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "2D Physics"
-msgstr " (فيزيائي)"
+msgstr "فيزياء 2D"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "3D Physics"
-msgstr " (فيزيائي)"
+msgstr "فيزياء 3D"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "تنقل"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "تنقل"
#: scene/register_scene_types.cpp
msgid "Use hiDPI"
@@ -26507,9 +26766,8 @@ msgid "Distance"
msgstr "اختر المسافة:"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Transition"
-msgstr "الانتقال: "
+msgstr "الانتقال"
#: scene/resources/environment.cpp
msgid "DOF Near Blur"
@@ -26532,7 +26790,7 @@ msgstr ""
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "2"
-msgstr ""
+msgstr "2"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
@@ -26845,16 +27103,15 @@ msgid "Subsurf Scatter"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Transmission"
-msgstr "الانتقال: "
+msgstr "الإنتقال"
#: scene/resources/material.cpp
#, fuzzy
msgid "Refraction"
msgstr "التباعُدات:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26939,7 +27196,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "تحجيم:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "حدد نوع المتغير"
#: scene/resources/navigation_mesh.cpp
@@ -26957,10 +27219,15 @@ msgid "Source Group Name"
msgstr "مصدر"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "معاملات المشهد الرئيس:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26970,11 +27237,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "الإقليم"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "دمج من المشهد"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26988,6 +27260,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "أظهر الإفتراضي"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "اختر المسافة:"
@@ -27005,9 +27282,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "توليد AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "المُعادل:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27054,9 +27341,8 @@ msgid "Point Texture"
msgstr "نقاط الانبعاث:"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Normal Texture"
-msgstr "مصدر الانبعاث: "
+msgstr "نقش طبيعي"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -27260,9 +27546,8 @@ msgid "Base Texture"
msgstr "إزالة النقش"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Image Size"
-msgstr "الصفحة: "
+msgstr "حجم الصورة"
#: scene/resources/texture.cpp
#, fuzzy
@@ -27420,6 +27705,11 @@ msgid "Scenario"
msgstr "مشهد"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "تنقل"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27437,6 +27727,26 @@ msgstr "الخط اليساري"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "افتراضي"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "تحديث المُعاينة"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "أختبار"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "تعديل الإتصال:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/az.po b/editor/translations/az.po
index 8814d4a394..af28a85240 100644
--- a/editor/translations/az.po
+++ b/editor/translations/az.po
@@ -5,49 +5,49 @@
#
# Jafar Tarverdiyev <cefertarverdiyevv@gmail.com>, 2021.
# Lucifer25x <umudyt2006@gmail.com>, 2021.
+# Ümid Quliyev <lucifer25x@protonmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-09-16 14:36+0000\n"
-"Last-Translator: Lucifer25x <umudyt2006@gmail.com>\n"
+"PO-Revision-Date: 2022-08-05 01:04+0000\n"
+"Last-Translator: Ümid Quliyev <lucifer25x@protonmail.com>\n"
"Language-Team: Azerbaijani <https://hosted.weblate.org/projects/godot-engine/"
"godot/az/>\n"
"Language: az\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
+#, fuzzy
msgid "Tablet Driver"
-msgstr ""
+msgstr "Planşet sürücü"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "Pano boşdur!"
+msgstr "Pano"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Animasiya xüsusiyyətləri."
+msgstr "Aktiv Ekran"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Çıxış Kodu"
#: core/bind/core_bind.cpp
msgid "V-Sync Enabled"
-msgstr ""
+msgstr "V-Sync Aktivdir"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync Kompozitor Vasitəsilə"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Delta hamarlanması"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
@@ -59,28 +59,28 @@ msgstr ""
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr ""
+msgstr "Ekranı Açıq Tut"
#: core/bind/core_bind.cpp
msgid "Min Window Size"
-msgstr ""
+msgstr "Minimum Pəncərə Ölçüsü"
#: core/bind/core_bind.cpp
msgid "Max Window Size"
-msgstr ""
+msgstr "Maksimum Pəncərə Ölçüsü"
#: core/bind/core_bind.cpp
msgid "Screen Orientation"
-msgstr ""
+msgstr "Pəncərə Nisbəti"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
msgid "Window"
-msgstr ""
+msgstr "Pəncərə"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "Kənarsız"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
@@ -88,29 +88,28 @@ msgstr ""
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
-msgstr ""
+msgstr "Bütün Ekran"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Böyüdülmüş"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "Kiçildilmiş"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Ölçüsü Dəyişdirilə Bilər"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "Animasiyanı Təmizləmə"
+msgstr "Pozisiya"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -122,7 +121,7 @@ msgstr "Animasiyanı Təmizləmə"
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
msgid "Size"
-msgstr ""
+msgstr "Ölçü"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
@@ -131,25 +130,23 @@ msgstr ""
#: core/bind/core_bind.cpp
#, fuzzy
msgid "Editor Hint"
-msgstr "Redaktə et"
+msgstr "Editor İpucu"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Xəta Mesajlarını Yazdır"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "İnterpolasiya rejimi"
+msgstr "Hər Saniyədə İterasiya Sayı"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr ""
+msgstr "Hədəf FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "Animasya Açarlarını Ölçülə"
+msgstr "Zaman Ölçəyi"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Physics Jitter Fix"
@@ -157,25 +154,23 @@ msgstr ""
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "Xəta"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "Yükləmə xətası:"
+msgstr "Xəta Yazısı"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "Yükləmə xətası:"
+msgstr "Xəta Sətiri"
#: core/bind/core_bind.cpp
msgid "Result"
-msgstr ""
+msgstr "Nəticə"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Yaddaş"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -186,11 +181,11 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Limitlər"
#: core/command_queue_mt.cpp
msgid "Command Queue"
-msgstr ""
+msgstr "Əmr Növbəsi"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
@@ -200,30 +195,29 @@ msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Funksiyalar:"
+msgstr "Funksiya"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "Məlumat"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr ""
+msgstr "Şəbəkə"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Sil"
+msgstr "Uzaqdan FS"
#: core/io/file_access_network.cpp
msgid "Page Size"
-msgstr ""
+msgstr "Səhifə Ölçüsü"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
@@ -231,12 +225,11 @@ msgstr ""
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Bloklama Modu Aktivdir"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Qoş"
+msgstr "Əlaqə"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
@@ -244,15 +237,15 @@ msgstr ""
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "Obyekt ID"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
msgid "Allow Object Decoding"
-msgstr ""
+msgstr "Obyekt Deşifrəsinə İzn Verin"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Yeni Şəbəkə Əlaqələrindən İmtina Et"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Network Peer"
@@ -260,16 +253,15 @@ msgstr ""
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
msgid "Root Node"
-msgstr ""
+msgstr "Kök Düyün"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "Qoş"
+msgstr "Yeni Əlaqələrdən İmtina Et"
#: core/io/networked_multiplayer_peer.cpp
msgid "Transfer Mode"
-msgstr ""
+msgstr "Transfer Modu"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
@@ -293,16 +285,15 @@ msgstr ""
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Məlumat Siyahısı"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Əl Sıxmağın Qarşısının Alınması"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Əlaqəni redaktə edin:"
+msgstr "Gözlənilən Maksimum Əlaqələr"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -324,7 +315,7 @@ msgstr ""
"format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+msgid "Invalid input %d (not passed) in expression"
msgstr "İfadədə uyğunsuz giriş %d (ötürülmədi)"
#: core/math/expression.cpp
@@ -371,6 +362,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Metod çağırma izi"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -396,6 +396,11 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Siqnalları filtirlə"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -448,6 +453,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -555,7 +564,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -638,24 +648,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -763,7 +772,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Siqnalları filtirlə"
@@ -1034,6 +1044,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
#, fuzzy
msgid "Free"
@@ -1051,7 +1062,7 @@ msgstr "Güzgü"
msgid "Time:"
msgstr "Vaxt:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Dəyər:"
@@ -1309,10 +1320,70 @@ msgid "Remove this track."
msgstr "Bu izi sil."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Vaxt (sn): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Animasiyanı Təmizləmə"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "İnterpolasiya rejimi"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "%s baza növü üçün %s növünün səhv indeksi"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "%s növünü dəyişdirin"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animasiyalar:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "İz funksiyasını aktiv edin"
@@ -1535,7 +1606,8 @@ msgid "Add Method Track Key"
msgstr "Metod İz Açarı əlavə edin"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metod obyektdə tapılmadı: "
#: editor/animation_track_editor.cpp
@@ -2080,14 +2152,15 @@ msgstr "Favoritlər:"
msgid "Recent:"
msgstr "Son:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Axtar:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Uyğunlaşmalar:"
@@ -2147,8 +2220,8 @@ msgstr "Əvəzetmə mənbəyini axtarın:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2156,8 +2229,8 @@ msgid "Open"
msgstr "Aç"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Bunların Sahibləri:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2466,7 +2539,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2518,8 +2591,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2722,6 +2795,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Animasiyanı Təmizləmə"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2734,6 +2824,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2836,8 +2946,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -3009,9 +3136,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4094,14 +4221,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4218,6 +4337,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4245,6 +4368,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4877,11 +5004,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4977,6 +5106,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Layihə Qurucuları"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5235,7 +5369,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5260,6 +5396,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Ölçmə seçimi"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5785,10 +5930,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6513,14 +6660,6 @@ msgid "Replace in Files"
msgstr "Hamısını Əvəz Et"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Hamısını Əvəz Et"
@@ -6650,7 +6789,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Siqnalları filtirlə"
@@ -6900,7 +7039,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6928,6 +7067,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7589,11 +7740,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7611,11 +7771,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7712,10 +7867,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7756,10 +7913,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7870,8 +8023,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Animasiyanı Təmizləmə"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7887,11 +8041,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8777,6 +8926,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8840,6 +8990,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9590,7 +9744,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9820,6 +9974,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9973,13 +10128,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9988,10 +10136,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10683,13 +10827,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Ölçüm Nisbəti:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Animasiyanı Təmizləmə"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10712,11 +10860,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11191,8 +11334,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "'%s' ilə '%s' qoş"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11223,15 +11367,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Seçiləni Çoxalt"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11295,6 +11440,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Animasiyanı Təmizləmə"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12159,8 +12309,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13584,20 +13733,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13605,14 +13749,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13713,19 +13849,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "Əlaqəni redaktə edin:"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13733,14 +13874,20 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Əlaqəni redaktə edin:"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Layihə Qurucuları"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14013,11 +14160,11 @@ msgid "Project Manager"
msgstr "Layihə Meneceri "
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15175,8 +15322,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Sil"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16003,7 +16151,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -16166,7 +16314,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16572,7 +16720,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16598,6 +16745,19 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Hamısını Seç/Seçmə"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "%s növünü dəyişdirin"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16998,7 +17158,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17006,7 +17166,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17372,7 +17532,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17380,7 +17540,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17538,12 +17698,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "'%s' qurmaq üçün etibarsız arqumentlər"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "'%s' qurmaq üçün etibarsız arqumentlər"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17554,12 +17716,14 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metod obyektdə tapılmadı: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metod obyektdə tapılmadı: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -17852,6 +18016,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Funksiyalar:"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17860,6 +18029,14 @@ msgstr ""
msgid "Export Format"
msgstr "3D Transformasya izi"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr ""
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17896,14 +18073,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18053,10 +18222,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18133,12 +18298,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18147,25 +18312,48 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18181,6 +18369,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18209,7 +18401,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18220,19 +18412,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18245,7 +18435,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18260,7 +18450,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18268,15 +18458,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18286,7 +18473,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18520,6 +18707,15 @@ msgstr "Funksiyalar:"
msgid "Custom BG Color"
msgstr "Funksiyalar:"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18541,19 +18737,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "%s baza növü üçün %s növünün səhv indeksi"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Əlaqəni redaktə edin:"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18628,15 +18834,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18912,9 +19118,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Animasiyanı Təmizləmə"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18930,18 +19153,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "İzah:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "3D Transformasya izi"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -18949,7 +19225,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18990,6 +19266,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Layihə Qurucuları"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19287,6 +19572,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19329,6 +19618,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "'%s' qurmaq üçün etibarsız arqumentlər"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19347,6 +19691,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19362,6 +19722,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19473,7 +19837,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19520,7 +19885,7 @@ msgstr "Yaxınlaşdır"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20193,35 +20558,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Əlaqəni redaktə edin:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Quraşdır"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Qabaqcıl"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "Siqnalları filtirlə"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20244,13 +20630,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20258,7 +20646,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21320,6 +21708,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "3D Transformasya izi"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21341,12 +21736,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22168,6 +22557,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Animasiyanı Təmizləmə"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23293,6 +23687,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Yalnız Seçim"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Siqnalları filtirlə"
@@ -23659,16 +24058,17 @@ msgstr "Yol"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23812,6 +24212,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Hamısını Seç/Seçmə"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Hamısını Seç/Seçmə"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25116,7 +25526,7 @@ msgstr ""
msgid "Refraction"
msgstr "İzah:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25193,8 +25603,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Ölçüm Nisbəti:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "İzah:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -25209,7 +25625,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25221,11 +25641,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Yalnız Seçim"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25238,6 +25663,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25254,9 +25683,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "%s növünü dəyişdirin"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -25632,6 +26070,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "%s növünü dəyişdirin"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25647,6 +26090,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Dəyər:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Bunun üçün Dəyişdirmə Axtar:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Bunun üçün Dəyişdirmə Axtar:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Əlaqəni redaktə edin:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index ebecc2f9e9..d2d7a56dc3 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -232,9 +232,10 @@ msgid "Data"
msgstr "Данни"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Профилиране на мрежата"
@@ -349,7 +350,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Недостатъчно байтове за разкодиране или неправилен формат."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Неправилен входен параметър %i (не е подаден) в израза"
#: core/math/expression.cpp
@@ -395,6 +397,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr "Максимален размер (KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Режим на преместване"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -420,6 +431,11 @@ msgstr "Мета"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Включване"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -476,6 +492,10 @@ msgid "Pressure"
msgstr "Натиск"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -590,7 +610,8 @@ msgstr "Описание"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Пускане"
@@ -677,6 +698,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Път на сцената:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -684,19 +710,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Контрол на версиите"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Контрол на версиите"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Име на приставката:"
+msgid "Version Control Plugin Name"
+msgstr "Контрол на версиите"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -809,7 +831,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Филтри:"
@@ -1088,6 +1111,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Свободно"
@@ -1104,7 +1128,7 @@ msgstr "Огледално"
msgid "Time:"
msgstr "Време:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Стойност:"
@@ -1352,10 +1376,71 @@ msgid "Remove this track."
msgstr "Премахване на тази пътечка."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Време (сек): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Създаване на функция"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Стъпка при завъртане:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Мащаб:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Тип:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Неправилно разширение."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Предупреждение:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Отместване на мрежата:"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Анимации:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Включване/изключване на пътечката"
@@ -1572,7 +1657,7 @@ msgid "Add Method Track Key"
msgstr "Добавяне на ключ за пътечка с метод"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2092,14 +2177,15 @@ msgstr "Любими:"
msgid "Recent:"
msgstr "Последни:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Търсене:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Съвпадения:"
@@ -2159,8 +2245,8 @@ msgstr "Търсене на заместващ ресурс:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2168,8 +2254,8 @@ msgid "Open"
msgstr "Отваряне"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Собственици на:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2467,7 +2553,7 @@ msgid "Bus Options"
msgstr "Настройки на шината"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2519,8 +2605,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2724,6 +2810,23 @@ msgid "Choose"
msgstr "Избиране"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Копиране на избраното"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2736,6 +2839,31 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Запазване"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Папката не може да бъде създадена."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Файловете на проекта не могат да бъдат изнесени"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Файлът не може да бъде отворен за запис:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Запазване"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2838,9 +2966,31 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Управление на шаблоните"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Посоченият път не съществува."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr ""
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "Пакетът не е намерен: %s"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Файлът с шаблоните за изнасяне не може да се отвори."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Отстъп"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3009,9 +3159,9 @@ msgid "Import"
msgstr "Внасяне"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Изнасяне"
@@ -4123,15 +4273,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Сцена"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Път на сцената:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4258,6 +4399,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Контрол на версиите"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Потребителско име"
@@ -4285,6 +4430,10 @@ msgstr ""
msgid "Add a new scene."
msgstr "Добавяне на нови нова сцена."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Сцена"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4934,11 +5083,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Размер:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5033,6 +5184,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Проект"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5307,7 +5463,9 @@ msgid "Draw Spaces"
msgstr "Извиквания за изчертаване:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Навигация"
@@ -5333,6 +5491,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Настройки"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5896,10 +6063,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Управление на проектите"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6633,14 +6802,6 @@ msgid "Replace in Files"
msgstr "Замяна във файловете"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Търсене: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Замяна: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Замяна на всички (НЕОБРАТИМО)"
@@ -6769,7 +6930,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Филтри:"
@@ -7033,7 +7194,8 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Създаване за полигонна мрежа: "
#: editor/import/resource_importer_scene.cpp
@@ -7061,6 +7223,18 @@ msgid "Saving..."
msgstr "Запазване..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7735,11 +7909,20 @@ msgid "New Anim"
msgstr "Нова анимация"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Създаване на нова анимация"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Промяна на името на анимацията:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Преименуване на анимацията"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Изтриване на анимацията?"
@@ -7757,11 +7940,6 @@ msgid "Animation name already exists!"
msgstr "Вече съществува анимация с това име!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Преименуване на анимацията"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Дублиране на анимацията"
@@ -7860,10 +8038,12 @@ msgstr "Настройки на режима с избледняващи кад
msgid "Directions"
msgstr "Направления"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Минало"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Бъдеще"
@@ -7904,10 +8084,6 @@ msgid "Pin AnimationPlayer"
msgstr "Закачане на AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Създаване на нова анимация"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Име на анимацията:"
@@ -8018,7 +8194,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Преход: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8035,11 +8212,6 @@ msgid "New name:"
msgstr "Ново име:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Мащаб:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8943,6 +9115,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "Изчистване на персонализираните кости"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9007,6 +9180,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9767,7 +9944,8 @@ msgid "Volume"
msgstr "Обем"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Източник на излъчването: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -9997,6 +10175,7 @@ msgid "Points"
msgstr "Точки"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Полигони"
@@ -10150,13 +10329,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Тип:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10165,10 +10337,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10868,12 +11036,16 @@ msgstr "Ротация"
msgid "Translate"
msgstr "Транслиране"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Скалиране: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Транслиране: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -10897,11 +11069,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Размер:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Изчертани обекти:"
@@ -11390,7 +11557,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Неправилна геометрия. Не може да се замени с полигонна мрежа."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Преобразуване в Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11422,15 +11590,18 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Опростяване: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Смаляване (пиксели): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Уголемяване (пиксели): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11494,6 +11665,11 @@ msgid "New Animation"
msgstr "Нова анимация"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Филтриране на методите"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Скорост:"
@@ -12361,8 +12537,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Регион"
@@ -13791,20 +13966,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13812,14 +13982,6 @@ msgid "Exporting All"
msgstr "Изнасяне на всичко"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Шаблоните за изнасяне за тази платформа липсват или са повредени:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Път за изнасяне"
@@ -13926,19 +14088,27 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Изнасяне на PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Изнасяне на проекта"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Режим на изнасяне?"
+msgid "Export All"
+msgstr "Изнасяне на всичко"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Моля, изберете празна папка."
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Export All..."
msgstr "Изнасяне на всичко"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13946,7 +14116,8 @@ msgid "ZIP File"
msgstr "Файл ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Игрален пакет на Godot"
#: editor/project_export.cpp
@@ -13954,6 +14125,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Шаблоните за изнасяне за тази система липсват:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Основатели на проекта"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Управление на шаблоните за изнасяне"
@@ -14229,14 +14405,14 @@ msgid "Project Manager"
msgstr "Управление на проектите"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Зареждане. Моля, изчакайте…"
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Зареждане. Моля, изчакайте…"
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Редактиране на проекта"
@@ -15395,7 +15571,8 @@ msgid "Attach Node Script"
msgstr "Закачане на скрипт"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Отдалечено "
#: editor/script_editor_debugger.cpp
@@ -16260,7 +16437,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Полигони"
@@ -16436,8 +16613,9 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
+#, fuzzy
+msgid "Libraries:"
+msgstr "Библиотека"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -16870,7 +17048,6 @@ msgid "Use In Baked Light"
msgstr "Изпичане на карти на осветеност"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16900,6 +17077,19 @@ msgstr "По средата горе"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Навигация"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Режим на навигация"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Следваща равнина"
@@ -17314,7 +17504,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17322,7 +17512,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17684,7 +17874,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17692,7 +17882,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17853,12 +18043,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Неправилни аргументи за изграждане на „%s“"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Неправилно име."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17870,11 +18062,11 @@ msgid "Var Name"
msgstr "Име"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -18176,6 +18368,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Пакетът трябва да има поне един разделител „.“ (точка)."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Персонализиран обект"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18184,6 +18381,16 @@ msgstr ""
msgid "Export Format"
msgstr "Път за изнасяне"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Размер на контура:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Принудително изпращане"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18225,16 +18432,6 @@ msgstr "Предишен раздел"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Размер на контура:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Принудително изпращане"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18398,10 +18595,6 @@ msgid "Could not execute on device."
msgstr "Изпълнението на устройството е невъзможно."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Инструментът „apksigner“ не може да бъде намерен."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18484,12 +18677,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18499,32 +18692,60 @@ msgstr ""
"собствена компилация“."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"„Мин. версия на SDK“ може да се променя само когато „Използване на собствена "
"компилация“ е включено."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"„Целева версия на SDK“ може да се променя само когато „Използване на "
"собствена компилация“ е включено."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"„Целева версия на SDK“ трябва да бъде по-голяма или равна на „Мин. версия на "
"SDK“."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Сигнал"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"Командата „apksigner“ не може да бъде намерена.\n"
"Проверете дали командата е налична в папката „build-tools“ на Android SDK.\n"
@@ -18543,6 +18764,10 @@ msgid "Could not find keystore, unable to export."
msgstr "Не е намерено хранилище за ключове. Изнасянето е невъзможно."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "„apksigner“ завърши с грешка #%d"
@@ -18571,7 +18796,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Неправилно име! Android APK изисква разширение *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "Неподдържан формат за изнасяне!\n"
#: platform/android/export/export_plugin.cpp
@@ -18582,21 +18808,21 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"файловете res://android/build/res/*.xml не могат да бъдат презаписани с "
"името на проекта"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr ""
"Файловете на проекта не могат да бъдат изнесени като проект на gradle.\n"
@@ -18609,8 +18835,9 @@ msgid "Building Android Project (gradle)"
msgstr "Компилиране на проект за Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Компилирането на проекта за Android беше неуспешно. Вижте изхода за "
@@ -18631,7 +18858,8 @@ msgstr ""
"в папката на проекта на gradle."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Пакетът не е намерен: %s"
#: platform/android/export/export_plugin.cpp
@@ -18639,17 +18867,16 @@ msgid "Creating APK..."
msgstr "Създаване на APK…"
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Не е намерен шаблонен файл APK за изнасяне:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18662,7 +18889,8 @@ msgid "Adding files..."
msgstr "Добавяне на файлове..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Файловете на проекта не могат да бъдат изнесени"
#: platform/android/export/export_plugin.cpp
@@ -18898,6 +19126,17 @@ msgstr "Персонализиран обект"
msgid "Custom BG Color"
msgstr "Персонализиран обект"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Управление на шаблоните"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Шаблоните за изнасяне за тази система липсват:"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18919,22 +19158,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Шаблонът не може да се отвори за изнасяне:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Неправилно разширение."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Файлът не може да бъде записан:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Задаване на отстъп"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Файлът не може да бъде прочетен:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Разделение:"
@@ -19009,15 +19261,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Персонализираната HTML-обвивка не може да бъде прочетена:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Папката на HTTP-сървъра не може да бъде създадена:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Грешка при стартирането на HTTP-сървър:"
#: platform/javascript/export/export.cpp
@@ -19317,9 +19572,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Файловете на проекта не могат да бъдат изнесени"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Изпълнението на устройството е невъзможно."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Навигация"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19335,19 +19609,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Няма намерени константи."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Грешка при запазването на файла: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Направления"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Създаване на пакета на приложението"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Не е намерено шаблонно приложение за изнасяне:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Неправилен базов път."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19355,7 +19684,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19396,6 +19725,17 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Проект"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+"Файловете на проекта не могат да бъдат изнесени като проект на gradle.\n"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Неправилен идентификатор на пакета:"
@@ -19704,6 +20044,11 @@ msgid "Debug Algorithm"
msgstr "Дебъгер"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Временният файл не може да бъде премахнат:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19750,6 +20095,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Известия"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Не е намерено хранилище за ключове. Изнасянето е невъзможно."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Не е намерено хранилище за ключове. Изнасянето е невъзможно."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Неправилно разширение."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Не е намерено хранилище за ключове. Изнасянето е невъзможно."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Не е намерено хранилище за ключове. Изнасянето е невъзможно."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Неправилни аргументи за изграждане на „%s“"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Неправилно име."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Неправилно разширение."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Временният файл не може да бъде премахнат:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19768,6 +20177,23 @@ msgid "Invalid product version:"
msgstr "Неправилна версия на продукта:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Неправилно разширение."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19783,6 +20209,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19906,7 +20336,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19955,7 +20386,7 @@ msgstr "Приближаване"
msgid "Custom Viewport"
msgstr "1 прозорец за изглед"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20694,11 +21125,42 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Редактиране на Връзката:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Отстъп"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Изберете главна сцена"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Включване"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Включване"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -20716,15 +21178,6 @@ msgstr "Хоризонтала:"
msgid "Max Speed"
msgstr "Скорост:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Включване"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20750,15 +21203,16 @@ msgstr ""
"Моля, задайте свойство или нарисувайте полигон."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-"NavigationPolygonInstance трябва да бъде дъщерен или под-дъщерен на обект от "
-"тип Navigation2D. Той дава само навигационна информация."
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "По средата долу"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20766,7 +21220,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr "Градуси на завъртане"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Глобална константа"
@@ -21915,6 +22369,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Константа за трансформация."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -21938,14 +22399,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance трябва да бъде дъщерен или под-дъщерен на обект от "
-"тип Navigation. Той само предоставя данните за навигирането."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -22805,6 +23258,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Изчистване на трансформацията"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24001,6 +24459,11 @@ msgstr "Папка:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Само избраното"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Включване"
@@ -24398,16 +24861,17 @@ msgstr "Път за изнасяне"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24565,6 +25029,16 @@ msgid "3D Physics"
msgstr "Следващ кадър на физичната система"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Навигация"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Навигация"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25964,7 +26438,7 @@ msgstr "Преход"
msgid "Refraction"
msgstr "Пречупване"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26043,8 +26517,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Скалиране: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Разделение:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -26060,10 +26540,15 @@ msgid "Source Group Name"
msgstr "Източник за полигонна мрежа:"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Гизмота"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26072,11 +26557,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Регион"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26089,6 +26579,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Показване на стандартните"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26105,9 +26600,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Отместване:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26513,6 +27017,11 @@ msgid "Scenario"
msgstr "Сцена"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Навигация"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26530,6 +27039,26 @@ msgstr "Линейно отляво"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Стандартен предварителен преглед"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Стандартен предварителен преглед"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Тестово"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Редактиране на Връзката:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index 1f6057f773..6f1e8f945d 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -11,13 +11,15 @@
# Mokarrom Hossain <mhb2016.bzs@gmail.com>, 2020, 2021.
# Sagen Soren <sagensoren03@gmail.com>, 2020.
# Hasibul Hasan <d1hasib@yahoo.com>, 2020.
+# saitama <atik.wowspace@gmail.com>, 2022.
+# Joysankar Majumdar <joymajumdar15828@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-08-03 06:20+0000\n"
-"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
+"PO-Revision-Date: 2022-06-29 10:04+0000\n"
+"Last-Translator: Joysankar Majumdar <joymajumdar15828@gmail.com>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/godot-engine/"
"godot/bn/>\n"
"Language: bn\n"
@@ -25,67 +27,62 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.8-dev\n"
+"X-Generator: Weblate 4.13.1-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "ট্যাবলেট ড্রাইভার"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "রিসোর্সের ক্লীপবোর্ড খালি!"
+msgstr "ক্লীপবোর্ড"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "বর্তমান দৃশ্য"
+msgstr "বর্তমান পর্দা"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "ফেরত সংকেত"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "সক্রিয় করুন"
+msgstr "ভি-সিঙ্ক সক্রিয় করুন"
#: core/bind/core_bind.cpp main/main.cpp
+#, fuzzy
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "কম্পসিটর দ্বারা ভি-সিঙ্ক করা"
#: core/bind/core_bind.cpp main/main.cpp
+#, fuzzy
msgid "Delta Smoothing"
-msgstr ""
+msgstr "ডেল্টা মসৃণ করন"
#: core/bind/core_bind.cpp
#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "মোড (Mode) সরান"
+msgstr "প্রসেসর এর কম ব্যাবহার Mode"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "কম প্রসেসর ব্যাবহার মোড বিরতি (sec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Keep Screen On"
-msgstr "ডিবাগার খোলা রাখুন"
+msgstr "পর্দা চালু রাখুন"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "প্রান্তরেখার আকার:"
+msgstr "সর্বনিম্ন উইন্ডো আকার"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "প্রান্তরেখার আকার:"
+msgstr "সর্বোচ্চ উইন্ডো আকার"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "রেফারেন্সের ডকুমেন্টেশনে খুঁজুন।"
+msgstr "পর্দা ঝোঁক/ উপস্থাপন"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
@@ -95,39 +92,36 @@ msgstr "উইন্ডো"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "সিমান্তবিহীন"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "প্রতি পিক্সেল স্বচ্ছতা চালু করুন"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "পূর্ণ-পর্দা অদলবদল/টগল করুন"
+msgstr "পূর্ণ-পর্দা"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "সর্বোচ্চকৃত"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Minimized"
-msgstr "বড় হাতের অক্ষরে পরিবর্তনে করুন"
+msgstr "সর্বনিম্ন"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "আকার-পরিবর্তনযোগ্য"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "ড্ক পজিশন"
+msgstr "অবস্থান"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -138,32 +132,28 @@ msgstr "ড্ক পজিশন"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "সেল (Cell)-এর আকার:"
+msgstr "আকার"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "এন্ডিয়ান সোয়াপ"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "সম্পাদন করুন (Edit)"
+msgstr "সম্পাদনাকরন আভাস"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "ত্রুটি বার্তাগুলো ছাপান"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "ইন্টারপোলেশন মোড"
+msgstr "প্রতি সেকেন্ডে চক্র"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Target FPS"
-msgstr "টার্গেট"
+msgstr "লক্ষ্য-এফপিএস(ফ্রেম-প্রতি-সেকেন্ড)"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -190,13 +180,12 @@ msgid "Error Line"
msgstr "সংরক্ষণে সমস্যা হয়েছে"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "সাহায্য অনুসন্ধান করুন"
+msgstr "ফলাফল"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "স্মৃতি"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -207,7 +196,7 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "সীমাগুলো"
#: core/command_queue_mt.cpp
#, fuzzy
@@ -216,7 +205,7 @@ msgstr "টান: ঘূর্ণন"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "মাল্টিথ্রেডিং সারি আকার (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -229,12 +218,13 @@ msgstr "ফাংশনগুলি:"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "তথ্য"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "প্রকল্প এক্সপোর্ট করুন"
@@ -245,9 +235,8 @@ msgid "Remote FS"
msgstr "অপসারণ করুন"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "পাতা: "
+msgstr "পাতা"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
@@ -348,7 +337,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "ডিকোডিং বাইট, বা অবৈধ বিন্যাসের জন্য পর্যাপ্ত পরিমাণে বাইট নেই।"
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "অবৈধ ইনপুট %i (পাস করা হয়নি) প্রকাশে"
#: core/math/expression.cpp
@@ -393,6 +383,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "মোড (Mode) সরান"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "ইনপুট অপসারণ করুন"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -421,6 +421,11 @@ msgstr ""
msgid "Command"
msgstr "সম্প্রদায়"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "স্থির/বদ্ধ ফ্রেম %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -479,6 +484,10 @@ msgid "Pressure"
msgstr "প্রিসেট..."
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "আপেক্ষিক স্ন্যাপ"
@@ -595,7 +604,8 @@ msgstr "বর্ণনা:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "চালান"
@@ -687,6 +697,11 @@ msgid "Main Run Args"
msgstr "প্রধান দৃশ্যের মান/আর্গুমেন্ট-সমূহ:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "দৃশ্যের পথ:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -694,20 +709,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
+#: core/project_settings.cpp
#, fuzzy
-msgid "Version Control"
+msgid "Version Control Autoload On Startup"
msgstr "সংস্করণ:"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "প্লাগইন-সমূহ"
+msgid "Version Control Plugin Name"
+msgstr "সংস্করণ:"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -825,7 +835,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "ফিল্টারসমূহ"
@@ -1108,6 +1119,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "মুক্ত করে দিন"
@@ -1124,7 +1136,7 @@ msgstr "প্রতিবিম্ব"
msgid "Time:"
msgstr "সময়:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "মান:"
@@ -1375,10 +1387,75 @@ msgid "Remove this track."
msgstr "নির্বাচিত ট্র্যাক/পথ অপসারণ করুন।"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "সময় (সেঃ): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "ড্ক পজিশন"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "ঘূর্ণায়নের পদক্ষেপ:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "স্কেল/মাপ:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "ধরণ:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "এক্সপোর্টের টেমপ্লেটসমূহ ইন্সটল করুন"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "আগমন-গমন সহজ/আলগা করন"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "হ্যান্ডেল স্থাপন করুন"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "হ্যান্ডেল স্থাপন করুন"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "বস্তু যোগ করুন"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "পুনরারম্ভ (সেঃ):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "অন্তঃস্থ ফেড/বিলীন (সেঃ):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "অ্যানিমেশনসমূহ"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "ট্র্যাক সক্রিয় করুন"
@@ -1596,7 +1673,8 @@ msgid "Add Method Track Key"
msgstr "Method Track Key যুক্ত করুন"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Object এ Method পাওয়া যায় নি: "
#: editor/animation_track_editor.cpp
@@ -2155,14 +2233,15 @@ msgstr "ফেবরিট/প্রিয়-সমূহ:"
msgid "Recent:"
msgstr "সাম্প্রতিক:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "অনুসন্ধান করুন:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "মিলসমূহ:"
@@ -2224,8 +2303,8 @@ msgstr "প্রতিস্থাপক রিসোর্স-এর অনু
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2233,8 +2312,8 @@ msgid "Open"
msgstr "খুলুন"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "স্বত্বাধিকারীসমূহ:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2549,7 +2628,7 @@ msgid "Bus Options"
msgstr "বাস অপশন"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "ডুপ্লিকেট"
@@ -2601,9 +2680,9 @@ msgstr "অডিও বাস লেআউট ওপেন করুন"
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/editor_audio_buses.cpp
#, fuzzy
-msgid "Layout"
+msgid "Layout:"
msgstr "লেআউট/নকশা সংরক্ষণ করুন"
#: editor/editor_audio_buses.cpp
@@ -2820,6 +2899,25 @@ msgid "Choose"
msgstr "পছন্দ করুন"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "পথ প্রতিলিপি/কপি করুন"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "প্যাকেজ ইন্সটল সম্পন্ন হয়েছে!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "ব্যর্থ:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "সংরক্ষিত ফাইল:"
@@ -2835,6 +2933,31 @@ msgid "Packing"
msgstr "প্যাক/গুচ্ছিত করা"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "এইরূপে সংরক্ষণ করুন"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "টাইলটি খুঁজে পাওয়া যায়নি:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "লেখার জন্য ফাইলটি খোলায় সমস্যা হয়েছে:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "এইরূপে সংরক্ষণ করুন"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2941,12 +3064,32 @@ msgstr "স্বনির্মিত ডিবাগ (debug) প্যাক
msgid "Custom release template not found."
msgstr "স্বনির্মিত রিলিস (release) প্যাকেজ খুঁজে পাওয়া যায়নি।"
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "এক্সপোর্ট টেমপ্লেটসমূহ লোড হচ্ছে"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "ফাইলটি বিদ্যমান নয়।"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
#, fuzzy
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
msgstr "টেমপ্লেট ফাইল পাওয়া যায়নি:\n"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "এক্সপোর্টের টেমপ্লেটসমূহ ইন্সটল করুন"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -3136,9 +3279,9 @@ msgid "Import"
msgstr "ইম্পোর্ট"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "এক্সপোর্ট"
@@ -4363,15 +4506,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "দৃশ্য"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "দৃশ্যের পথ:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4502,6 +4636,11 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "সংস্করণ:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Username"
msgstr "পুনঃনামকরণ করুন"
@@ -4531,6 +4670,10 @@ msgstr "বিক্ষেপ-হীন মোড"
msgid "Add a new scene."
msgstr "নতুন ট্র্যাক/পথ-সমূহ যোগ করুন।"
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "দৃশ্য"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "পূর্বে খোলা দৃশ্যে যান।"
@@ -5245,12 +5388,15 @@ msgid "Selected node is not a Viewport!"
msgstr "ইম্পোর্টের জন্য নোড(সমূহ) নির্বাচন করুন"
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
-msgid "Size: "
+msgid "Size:"
msgstr "সেল (Cell)-এর আকার:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "পাতা: "
#: editor/editor_properties_array_dict.cpp
@@ -5354,6 +5500,11 @@ msgstr ""
"কাংখিত প্ল্যাটফর্মের জন্য গ্রহণযোগ্য কোন এক্সপোর্ট প্রিসেট খুঁজে পাওয়া যায়নি।\n"
"অনুগ্রহ করে এক্সপোর্ট মেনুতে একটি সঠিক প্রিসেট যোগ করুন।"
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "নতুন প্রকল্প"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "আপনার লজিক/যুক্তি-সমূহ _run() মেথডে লিখুন।"
@@ -5637,7 +5788,9 @@ msgid "Draw Spaces"
msgstr "ড্র কলস"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Navigation Mesh তৈরি করুন"
@@ -5664,6 +5817,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "নির্বাচিত সমূহ অপসারণ করুন"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6234,10 +6396,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "প্রজেক্ট ম্যানেজার"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -7067,16 +7231,6 @@ msgstr "সমস্তগুলি প্রতিস্থাপন করু
#: editor/find_in_files.cpp
#, fuzzy
-msgid "Find: "
-msgstr "সন্ধান করুন"
-
-#: editor/find_in_files.cpp
-#, fuzzy
-msgid "Replace: "
-msgstr "প্রতিস্থাপন করুন"
-
-#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "সমস্তগুলি প্রতিস্থাপন করুন"
@@ -7218,7 +7372,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "ফিল্টারসমূহ"
@@ -7491,7 +7645,7 @@ msgstr "লাইট্ম্যাপে হস্তান্তর করু
#: editor/import/resource_importer_scene.cpp
#, fuzzy
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr "AABB উৎপন্ন করুন"
#: editor/import/resource_importer_scene.cpp
@@ -7519,6 +7673,18 @@ msgid "Saving..."
msgstr "সংরক্ষিত হচ্ছে..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8257,11 +8423,20 @@ msgid "New Anim"
msgstr "নতুন অ্যানিমেশন"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "নতুন অ্যানিমেশন তৈরি করুন"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "অ্যানিমেশনের নাম পরিবর্তন করুন:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "অ্যানিমেশন পুনঃনামকরণ করুন"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Delete অ্যানিমেশন?"
@@ -8281,11 +8456,6 @@ msgid "Animation name already exists!"
msgstr "ভুল: অ্যানিমেশনের নাম ইতিমধ্যেই বিদ্যমান!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "অ্যানিমেশন পুনঃনামকরণ করুন"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "অ্যানিমেশন প্রতিলিপি করুন"
@@ -8388,11 +8558,13 @@ msgstr "অ্যানিমেশনের সিদ্ধান্তসম
msgid "Directions"
msgstr "অংশাদি:"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Past"
msgstr "প্রতিলেপন/পেস্ট করুন"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Future"
@@ -8435,10 +8607,6 @@ msgid "Pin AnimationPlayer"
msgstr "অ্যানিমেশন প্রতিলেপন করুন"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "নতুন অ্যানিমেশন তৈরি করুন"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "অ্যানিমেশনের নাম:"
@@ -8560,7 +8728,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "ট্র্যানজিশন/স্থানান্তরণ"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8579,11 +8747,6 @@ msgid "New name:"
msgstr "নতুন নাম:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "স্কেল/মাপ:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "অন্তঃস্থ ফেড/বিলীন (সেঃ):"
@@ -9565,6 +9728,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "বোন্‌/হাড় পরিষ্কার করুন"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9637,6 +9801,11 @@ msgid "Preview Canvas Scale"
msgstr "এটলাস/মানচিত্রাবলী প্রিভিউ"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Layout"
+msgstr "লেআউট/নকশা সংরক্ষণ করুন"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10443,7 +10612,7 @@ msgstr "আয়তন"
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr "Emission পূরণ:"
#: editor/plugins/particles_editor_plugin.cpp
@@ -10694,6 +10863,7 @@ msgid "Points"
msgstr "বিন্দু সরান"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "পলিগন->UV"
@@ -10861,13 +11031,6 @@ msgid "Instance:"
msgstr "ইন্সট্যান্স:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "ধরণ:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "এডিটরে খুলুন"
@@ -10876,11 +11039,6 @@ msgstr "এডিটরে খুলুন"
msgid "Load Resource"
msgstr "রিসোর্স লোড করুন"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "রিসোর্স-এর পথ"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11655,14 +11813,16 @@ msgstr "প্রদেশ/রাজ্য"
msgid "Translate"
msgstr "স্থানান্তর (Translate):"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
-msgid "Scaling: "
+msgid "Scaling:"
msgstr "স্কেল/মাপ:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
-msgid "Translating: "
+msgid "Translating:"
msgstr "অনুবাদসমূহ:"
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11687,12 +11847,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "সেল (Cell)-এর আকার:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "অবজেক্ট আঁকা হয়েছে"
@@ -12213,7 +12367,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "এতে রূপান্তর করুন..."
#: editor/plugins/sprite_editor_plugin.cpp
@@ -12249,17 +12403,18 @@ msgid "Sprite"
msgstr "ফ্রেমসমূহ স্তূপ করুন"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "সরলীকরণ: "
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr "স্ন্যাপ (পিক্সেলসমূহ):"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr "স্ন্যাপ (পিক্সেলসমূহ):"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -12332,6 +12487,11 @@ msgstr "অ্যানিমেশন"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Filter animations"
+msgstr "ফিল্টারসমূহ"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Speed:"
msgstr "গতি (FPS):"
@@ -13316,8 +13476,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "চালানোর মোড:"
@@ -14865,38 +15024,22 @@ msgid "Runnable"
msgstr "সক্রিয় করুন"
#: editor/project_export.cpp
-#, fuzzy
-msgid "Delete preset '%s'?"
-msgstr "নির্বাচিত ফাইলসমূহ অপসারণ করবেন?"
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
#, fuzzy
-msgid "Exporting All"
-msgstr "%s এর জন্য এক্সপোর্ট (export) হচ্ছে"
+msgid "Delete preset '%s'?"
+msgstr "নির্বাচিত ফাইলসমূহ অপসারণ করবেন?"
#: editor/project_export.cpp
#, fuzzy
-msgid "The given export path doesn't exist:"
-msgstr "ফাইলটি বিদ্যমান নয়।"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"এই প্ল্যাটফর্মের জন্য দরকারি এক্সপোর্ট টেমপ্লেটগুলি ক্ষতিগ্রস্থ হয়েছে অথবা খুঁজে পাওয়া "
-"যাচ্ছে না:"
+msgid "Exporting All"
+msgstr "%s এর জন্য এক্সপোর্ট (export) হচ্ছে"
#: editor/project_export.cpp
#, fuzzy
@@ -15016,21 +15159,28 @@ msgid "More Info..."
msgstr "এখানে সরান..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "এক্সপোর্ট PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "প্রকল্প এক্সপোর্ট করুন"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export mode?"
-msgstr "এক্সপোর্ট মোড:"
+msgid "Export All"
+msgstr "এক্সপোর্ট"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "অনুগ্রহ করে প্রকল্পের ফোল্ডারের বাইরে এক্সপোর্ট করুন!"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "এক্সপোর্ট"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -15039,8 +15189,9 @@ msgid "ZIP File"
msgstr "ফাইল"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "প্রকল্প এক্সপোর্ট করুন"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
@@ -15048,6 +15199,11 @@ msgstr "এই প্ল্যাটফর্মের জন্য দরকা
#: editor/project_export.cpp
#, fuzzy
+msgid "Project Export"
+msgstr "প্রজেক্ট ফাউন্ডার"
+
+#: editor/project_export.cpp
+#, fuzzy
msgid "Manage Export Templates"
msgstr "এক্সপোর্ট টেমপ্লেটসমূহ লোড হচ্ছে"
@@ -15359,15 +15515,15 @@ msgid "Project Manager"
msgstr "প্রজেক্ট ম্যানেজার"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "মিরর রিট্রাইভ করা হচ্ছে, দযা করে অপেক্ষা করুন..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "প্রকল্প এক্সপোর্ট করুন"
@@ -16654,7 +16810,7 @@ msgstr "নোড স্ক্রিপ্ট সংযুক্ত করুন
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Remote "
+msgid "Remote %s:"
msgstr "অপসারণ করুন"
#: editor/script_editor_debugger.cpp
@@ -17561,7 +17717,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "পলিগন->UV"
@@ -17744,7 +17900,8 @@ msgid "Disabled GDNative Singleton"
msgstr "হাল-নাগাদকারী ঘূর্ণক নিষ্ক্রিয় করুন"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "লাইব্রেরি: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -18192,7 +18349,6 @@ msgid "Use In Baked Light"
msgstr "লাইট্ম্যাপে হস্তান্তর করুন:"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -18222,6 +18378,19 @@ msgstr "নির্বাচনকে কেন্দ্রীভূত কর
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigation Mesh তৈরি করুন"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navigation Mesh তৈরি করুন"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
msgid "Next Plane"
@@ -18671,7 +18840,8 @@ msgstr ""
"করে আপনার নোডটি মেরামত করুন।"
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "নোড অনিয়মিত ক্রমের ফলাফল পাঠিয়েছে: "
#: modules/visual_script/visual_script.cpp
@@ -18680,7 +18850,8 @@ msgstr ""
"ক্রম বিট (bit) পাওয়া গিয়েছে কিন্তু নোডটি স্ট্যাক/তাক-এ নেই, সমস্যাটি রিপোর্ট করুন!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "স্ট্যাক/তাক-এর গভীরতায় স্ট্যাক/তাক অধিপ্রবাহিত/প্লাবিত হয়েছে: "
#: modules/visual_script/visual_script.cpp
@@ -19098,7 +19269,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "যোগান/ইনপুট-এর ধরণ পুনরাবৃত্তিমূলক নয়: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -19106,7 +19278,8 @@ msgid "Iterator became invalid"
msgstr "পুনরাবৃত্তকারী অকার্যকর হয়ে পড়েছে"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "পুনরাবৃত্তকারী অকার্যকর হয়ে পড়েছে: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -19277,11 +19450,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": অগ্রহনযোগ্য মান/আর্গুমেন্ট-এর ধরণ: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": অগ্রহনযোগ্য মান/আর্গুমেন্ট-সমূহ: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -19294,11 +19469,13 @@ msgid "Var Name"
msgstr "নাম"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "স্ক্রিপ্টে চলক-প্রাপক (VariableGet) পাওয়া যায়নি: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "স্ক্রিপ্টে চলক-স্থাপক (VariableSet) পাওয়া যায়নি: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -19625,6 +19802,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "নোড-সমূহ কর্তন/কাট করুন"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -19633,6 +19815,16 @@ msgstr ""
msgid "Export Format"
msgstr "এক্সপোর্টের প্রিসেট:"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "প্রান্তরেখার আকার:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "টার্গেট"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -19674,16 +19866,6 @@ msgstr "পূর্ববর্তী ইন্সট্যান্স পর
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "প্রান্তরেখার আকার:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "টার্গেট"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19853,10 +20035,6 @@ msgid "Could not execute on device."
msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19934,12 +20112,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19948,25 +20126,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "সংকেতসমূহ"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19986,6 +20188,11 @@ msgid "Could not find keystore, unable to export."
msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "উপ-প্রক্রিয়াকে শুরু করা সম্ভব হয়নি!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -20016,7 +20223,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -20027,20 +20234,18 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr "প্রকল্পের পথে engine.cfg তৈরি করা সম্ভব হয়নি।"
#: platform/android/export/export_plugin.cpp
@@ -20054,7 +20259,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -20070,7 +20275,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "অ্যানিমেশনের সরঞ্জামসমূহ"
#: platform/android/export/export_plugin.cpp
@@ -20080,15 +20285,12 @@ msgstr "ওকট্রী (octree) গঠনবিন্যাস তৈরি
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -20100,7 +20302,7 @@ msgstr "%s সংযুক্ত হচ্ছে..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "টাইলটি খুঁজে পাওয়া যায়নি:"
#: platform/android/export/export_plugin.cpp
@@ -20343,6 +20545,17 @@ msgstr "নোড-সমূহ কর্তন/কাট করুন"
msgid "Custom BG Color"
msgstr "নোড-সমূহ কর্তন/কাট করুন"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "এক্সপোর্ট টেমপ্লেটসমূহ লোড হচ্ছে"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "স্বনির্মিত রিলিস (release) প্যাকেজ খুঁজে পাওয়া যায়নি।"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -20367,25 +20580,34 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr "এক্সপোর্টের টেমপ্লেটসমূহ ইন্সটল করুন"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "টাইলটি খুঁজে পাওয়া যায়নি:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "হ্যান্ডেল স্থাপন করুন"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "টাইলটি খুঁজে পাওয়া যায়নি:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "বিচ্ছেদ:"
@@ -20461,17 +20683,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "টাইলটি খুঁজে পাওয়া যায়নি:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "দৃশ্য সংরক্ষণে সমস্যা হয়েছে।"
#: platform/javascript/export/export.cpp
@@ -20770,9 +20992,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "টাইলটি খুঁজে পাওয়া যায়নি:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "উপ-প্রক্রিয়াকে শুরু করা সম্ভব হয়নি!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "স্থানীয়করণ"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20788,21 +21029,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "খুঁজে পাওয়া যায়নি!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "TileSet সংরক্ষণে সমস্যা হয়েছে!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "অংশাদি:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "উপ-প্রক্রিয়াকে শুরু করা সম্ভব হয়নি!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "থাম্বনেইল তৈরি হচ্ছে"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "এক্সপোর্টের টেমপ্লেটসমূহ ইন্সটল করুন"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20810,7 +21106,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20852,6 +21148,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "নতুন প্রকল্প"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "প্রকল্পের পথে engine.cfg তৈরি করা সম্ভব হয়নি।"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "নামটি কার্যকর সনাক্তকারী নয়:"
@@ -21165,6 +21471,11 @@ msgid "Debug Algorithm"
msgstr "ডিবাগার"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "থিমটি ফাইলে সংরক্ষণ করা সম্ভব হয়নি:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -21212,6 +21523,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "যথেচ্ছ ঘূর্ণায়ন:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "অগ্রহণযোগ্য এক্সটেনশন"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "নামটি কার্যকর সনাক্তকারী নয়:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "অগ্রহনযোগ্য নাম।"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "অগ্রহণযোগ্য এক্সটেনশন"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "থিমটি ফাইলে সংরক্ষণ করা সম্ভব হয়নি:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -21233,6 +21608,23 @@ msgid "Invalid product version:"
msgstr "পণ্যের অগ্রহনযোগ্য GUID।"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "অগ্রহণযোগ্য এক্সটেনশন"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "উইন্ডো"
@@ -21249,6 +21641,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -21377,7 +21773,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "ইন্সট্যান্স:"
@@ -21428,7 +21825,7 @@ msgstr "সম্প্রসারিত করুন (জুম্ ইন)"
msgid "Custom Viewport"
msgstr "১ টি Viewport"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -22178,11 +22575,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "সংযোগসমূহ সম্পাদন করুন"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "যথেচ্ছ ঘূর্ণায়ন:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "ইন্সট্যান্স:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "ইন্সট্যান্স:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "অ্যানিমেশনের সিদ্ধান্তসমূহ"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "সক্রিয় করুন"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -22199,16 +22628,6 @@ msgstr ""
msgid "Max Speed"
msgstr "গতি (FPS):"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "ইন্সট্যান্স:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "সক্রিয় করুন"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -22234,24 +22653,26 @@ msgstr ""
"করতে হবে। অনুগ্রহ করে একটি বৈশিষ্ট্য নির্ধারন করুন বা একটি পলিগন/বহুভুজ আঁকুন।"
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance-কে অবশ্যই Navigation2D-এর অংশ অথবা অংশের অংশ হতে "
-"হবে। এটা শুধুমাত্র ন্যাভিগেশনের তথ্য প্রদান করে।"
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "নিম্ন"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "ভ্রমণ"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "%s ডিগ্রি ঘূর্ণিত হচ্ছে।"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "ধ্রুবক/কন্সট্যান্ট"
@@ -23429,6 +23850,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "রুপান্তর নিষ্ফলা করা হয়েছে।"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -23452,14 +23880,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance-কে অবশ্যই Navigation-এর অংশ অথবা অংশের অংশ হতে হবে। "
-"এটা শুধুমাত্র ন্যাভিগেশনের তথ্য প্রদান করে।"
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -24325,6 +24745,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "সার্বজনীন রূপান্তর রাখুন"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -25565,6 +25990,11 @@ msgstr "লাইন-এ যান"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "শুধুমাত্র নির্বাচিতসমূহ"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "সক্রিয় করুন"
@@ -25966,20 +26396,17 @@ msgstr "এক্সপোর্টের প্রিসেট:"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
-"এই viewport টি render target হিসেবে নির্ধারন করা নেই। আপনি যদি এর বস্তু-সামগ্রী "
-"সরাসরি পর্দায় দেখাতে চান, এটিকে যেকোনো Control এর অংশভূত করুন যেনো এটি একটি "
-"আকার ধারণ করতে পারে। অন্যথায়, এটিকে একটি RenderTarget করুন এবং এর অভ্যন্তরীণ "
-"দৃশ্যাবলিকে (texture) দৃশ্যমান করতে কোনো নোডে হস্তান্তর করুন।"
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -26138,6 +26565,16 @@ msgid "3D Physics"
msgstr "স্থির/বদ্ধ ফ্রেম %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigation Mesh তৈরি করুন"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigation Mesh তৈরি করুন"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -27561,7 +27998,7 @@ msgstr "ট্র্যানজিশন/স্থানান্তরণ"
msgid "Refraction"
msgstr "বিচ্ছেদ:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -27646,7 +28083,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "স্কেল/মাপ:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "চলক/ভেরিয়েবল সম্পাদন করুন:"
#: scene/resources/navigation_mesh.cpp
@@ -27664,10 +28106,15 @@ msgid "Source Group Name"
msgstr "উৎস:"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "প্রধান দৃশ্যের মান/আর্গুমেন্ট-সমূহ:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -27677,11 +28124,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "চালানোর মোড:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "দৃশ্য হতে একত্রিত করবেন"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -27695,6 +28147,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "লোড ডিফল্ট"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "ইন্সট্যান্স:"
@@ -27712,9 +28169,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "AABB উৎপন্ন করুন"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "অফসেট/ভারসাম্য:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -28128,6 +28595,11 @@ msgid "Scenario"
msgstr "দৃশ্য"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigation Mesh তৈরি করুন"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -28145,6 +28617,26 @@ msgstr "রৈখিক/লিনিয়ার"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "সাধারণ/ডিফল্ট"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "এটলাস/মানচিত্রাবলী প্রিভিউ"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "পরীক্ষামূলক উৎস"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "সংযোগসমূহ সম্পাদন করুন"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -28872,6 +29364,5 @@ msgid "Log Active Async Compiles Count"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Cache Size (MB)"
-msgstr "Camera এর আকার পরিবর্তন করুন"
+msgstr "শেডার ক্যাসে আকার (MB)"
diff --git a/editor/translations/br.po b/editor/translations/br.po
index 3e70f18074..823490a280 100644
--- a/editor/translations/br.po
+++ b/editor/translations/br.po
@@ -209,9 +209,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -317,7 +318,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Re nebeut a oktedoù evit diskodiñ, pe formad fall."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Enkas fall %i (ket tremenet) en eztaol"
#: core/math/expression.cpp
@@ -361,6 +363,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Roudenn Galv Metodenn"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -386,6 +397,11 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Aktivañ ar Roudenn"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -438,6 +454,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -543,7 +563,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -626,24 +647,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -751,7 +771,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1019,6 +1040,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Dieub"
@@ -1035,7 +1057,7 @@ msgstr "Melezour"
msgid "Time:"
msgstr "Amzer :"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Talvoud :"
@@ -1280,10 +1302,70 @@ msgid "Remove this track."
msgstr "Dilemel ar roudenn-se."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Amzer (s) : "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Tro Fiñvskeudenn"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Mod Interpoladur"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Indeks fall a dip %s evit an tip diazez %s"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Mod Interpoladur"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Lodennoù Fiñvskeudenn :"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Aktivañ ar Roudenn"
@@ -1501,7 +1583,8 @@ msgid "Add Method Track Key"
msgstr "Ouzhpenn Alc'hwez Roudenn Metodenn"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "N'eus ket deus ar metodenn en objed : "
#: editor/animation_track_editor.cpp
@@ -2025,14 +2108,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2088,8 +2172,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2097,7 +2181,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2388,7 +2472,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2440,8 +2524,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2644,6 +2728,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Tro Fiñvskeudenn"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2656,6 +2757,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2758,8 +2879,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2930,9 +3068,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4011,14 +4149,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4134,6 +4264,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4161,6 +4295,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4791,11 +4929,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4887,6 +5027,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5145,7 +5289,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5170,6 +5316,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5684,10 +5838,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6406,14 +6562,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6541,7 +6689,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Aktivañ ar Roudenn"
@@ -6787,7 +6935,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6815,6 +6963,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7470,11 +7630,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7492,11 +7661,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7593,10 +7757,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7637,10 +7803,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7751,8 +7913,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Tro Fiñvskeudenn"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7768,11 +7931,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8657,6 +8815,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8720,6 +8879,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9463,7 +9626,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9693,6 +9856,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9846,13 +10010,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9861,10 +10018,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10551,13 +10704,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Tro Fiñvskeudenn"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10580,11 +10736,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11059,7 +11210,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11091,15 +11242,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Tro Fiñvskeudenn"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11163,6 +11315,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Tro Fiñvskeudenn"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12018,8 +12175,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13429,20 +13585,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13450,14 +13601,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13558,19 +13701,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "Roudenn Treuzfurmadur 3D"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13578,14 +13726,19 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Roudenn Perzhioù"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13857,11 +14010,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15017,8 +15170,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Dilemel ar Roudenn Fiñvskeudenn"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15837,7 +15991,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15999,7 +16153,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16401,7 +16555,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16427,6 +16580,19 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Eilskoueriañ an Alc'whezh(ioù) Uhelsklaeriet"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Talvoud :"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16822,7 +16988,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16830,7 +16996,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17193,7 +17359,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17201,7 +17367,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17355,12 +17521,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Argumant fall evit sevel '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Argumant fall evit sevel '%s'"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17371,12 +17539,14 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "N'eus ket deus ar metodenn en objed : "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "N'eus ket deus ar metodenn en objed : "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -17668,6 +17838,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Fonksionoù :"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17676,6 +17851,14 @@ msgstr ""
msgid "Export Format"
msgstr "Roudenn Treuzfurmadur 3D"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr ""
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17712,14 +17895,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17866,10 +18041,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17946,12 +18117,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17960,25 +18131,48 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17994,6 +18188,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18022,7 +18220,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18033,19 +18231,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18058,7 +18254,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18073,7 +18269,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18081,15 +18277,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18099,7 +18292,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18327,6 +18520,15 @@ msgstr "Fonksionoù :"
msgid "Custom BG Color"
msgstr "Fonksionoù :"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18348,19 +18550,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Indeks fall a dip %s evit an tip diazez %s"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Tro Fiñvskeudenn"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18434,15 +18646,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18712,9 +18924,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Tro Fiñvskeudenn"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18730,18 +18959,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Fonksionoù :"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Roudenn Treuzfurmadur 3D"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -18749,7 +19031,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18790,6 +19072,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Tro Fiñvskeudenn"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19086,6 +19377,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19126,6 +19421,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Argumant fall evit sevel '%s'"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19144,6 +19494,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19159,6 +19525,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19270,7 +19640,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19315,7 +19686,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19979,35 +20350,55 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Tro Fiñvskeudenn"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Aktivañ ar Roudenn"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "Aktivañ ar Roudenn"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20030,13 +20421,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20044,7 +20437,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21095,6 +21488,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Roudenn Treuzfurmadur 3D"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21116,12 +21516,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21936,6 +22330,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Tro Fiñvskeudenn"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23041,6 +23440,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Aktivañ ar Roudenn"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Aktivañ ar Roudenn"
@@ -23399,16 +23803,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23552,6 +23957,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Eilskoueriañ an Alc'whezh(ioù) Uhelsklaeriet"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Eilskoueriañ an Alc'whezh(ioù) Uhelsklaeriet"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24825,7 +25240,7 @@ msgstr ""
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24902,10 +25317,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Tro Fiñvskeudenn"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -24918,7 +25338,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24930,11 +25354,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Fonksionoù :"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24947,6 +25376,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24963,7 +25396,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25333,6 +25774,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Tro Fiñvskeudenn"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25348,6 +25794,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Talvoud :"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Talvoud :"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Talvoud :"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Tro Fiñvskeudenn"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index af9eb718b1..04c9b7761c 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -16,13 +16,14 @@
# Roberto Pérez <djleizar@gmail.com>, 2021.
# Joel Garcia Cascalló <jocsencat@gmail.com>, 2021.
# DFC <damiafluixacanals28@gmail.com>, 2021.
+# Roger VC <rogervilarasau@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-03 13:13+0000\n"
-"Last-Translator: roger <616steam@gmail.com>\n"
+"PO-Revision-Date: 2022-07-09 21:11+0000\n"
+"Last-Translator: Roger VC <rogervilarasau@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/"
"godot/ca/>\n"
"Language: ca\n"
@@ -30,11 +31,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.13.1-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Controlador de tauleta"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -46,20 +47,19 @@ msgstr "Escena Actual"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Codi de sortida"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "V-Sync Activat"
+msgstr "Sincronització Vertical habilitada"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync mitjançant Compositor"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Suavitzat delta"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
@@ -67,7 +67,7 @@ msgstr "Mode de Baix Us del Processador"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "Mode d'ús del processador baix en repòs (µseg)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
@@ -91,13 +91,12 @@ msgid "Window"
msgstr "Finestra"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Borderless"
msgstr "Sense Vores"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Transparència per píxel activada"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
@@ -105,7 +104,7 @@ msgstr "Pantalla Completa"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Maximitzat"
#: core/bind/core_bind.cpp
msgid "Minimized"
@@ -114,7 +113,7 @@ msgstr "Minimitzat"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Redimensionable"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -137,8 +136,9 @@ msgid "Size"
msgstr "Mida"
#: core/bind/core_bind.cpp
+#, fuzzy
msgid "Endian Swap"
-msgstr ""
+msgstr "Intercanvi d'endian"
#: core/bind/core_bind.cpp
msgid "Editor Hint"
@@ -146,7 +146,7 @@ msgstr "Suggeriment de l'Editor"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Imprimeix missatges d'error"
#: core/bind/core_bind.cpp
msgid "Iterations Per Second"
@@ -162,9 +162,8 @@ msgid "Time Scale"
msgstr "Escala de Temps"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Fotograma de Física %"
+msgstr "Correcció de fluctuacions de física"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
@@ -184,7 +183,7 @@ msgstr "Resultat"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Memòria"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -195,7 +194,7 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Límits"
#: core/command_queue_mt.cpp
msgid "Command Queue"
@@ -203,7 +202,7 @@ msgstr "Cua de Comandes"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Mida de la cua de multiprocés (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -215,19 +214,19 @@ msgstr "Funció"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "Dades"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Xarxa"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Remot "
+msgstr "FS remot"
#: core/io/file_access_network.cpp
msgid "Page Size"
@@ -239,7 +238,7 @@ msgstr ""
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Mode de bloqueig activat"
#: core/io/http_client.cpp
msgid "Connection"
@@ -247,25 +246,23 @@ msgstr "Connexió"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Llegeix la mida del fragment"
#: core/io/marshalls.cpp
msgid "Object ID"
msgstr "ID de l'Objecte"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "Activa l'Efecte Paper Ceba"
+msgstr "Permet la descodificació d'objectes"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Rebutja les noves connexions de xarxa"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Network Peer"
-msgstr "Perfilador de Xarxa"
+msgstr "Parell de xarxa"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
msgid "Root Node"
@@ -276,21 +273,20 @@ msgid "Refuse New Connections"
msgstr "Rebutjar Noves Connexions"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "Tipus de Transformació"
+msgstr "Mode de transferència"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Mida màxima de la memòria intermèdia de codificació"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "Mida màxima del buffer d'entrada"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "Mida màxima del buffer de sortida"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
@@ -298,20 +294,19 @@ msgstr ""
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Endian gran"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Matriu de dades"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
msgstr ""
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Editar Connexió:"
+msgstr "Màxim de connexions pendents"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -329,7 +324,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Manquen bytes per a descodificar els bytes, o el format no és vàlid."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "L'entrada %i en l'expressió no és vàlida (no transmesa)"
#: core/math/expression.cpp
@@ -359,7 +355,7 @@ msgstr "En la crida a '%s':"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "Llavor"
#: core/math/random_number_generator.cpp
msgid "State"
@@ -367,11 +363,19 @@ msgstr "Estat"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Cua de missatges"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "Mida màxima (KB)"
+
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Mode ratolí"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Utilitza l'entrada acumulada"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
@@ -379,13 +383,12 @@ msgid "Device"
msgstr "Dispositiu"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Alt"
-msgstr "Tot"
+msgstr "Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "Shift"
#: core/os/input_event.cpp
msgid "Control"
@@ -393,13 +396,17 @@ msgstr "Control"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
#, fuzzy
msgid "Command"
msgstr "Comunitat"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "Físic"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -407,17 +414,16 @@ msgid "Pressed"
msgstr "Premut"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Explora"
+msgstr "Codi d'escaneig"
#: core/os/input_event.cpp
msgid "Physical Scancode"
-msgstr ""
+msgstr "Codi d'escaneig físic"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
@@ -437,13 +443,12 @@ msgid "Factor"
msgstr "Factor"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Button Index"
-msgstr "Índex del Botó del ratolí:"
+msgstr "Índex de botons"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "Doble clic"
#: core/os/input_event.cpp
msgid "Tilt"
@@ -455,6 +460,10 @@ msgid "Pressure"
msgstr "Configuracions prestablertes"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relatiu"
@@ -519,9 +528,8 @@ msgid "Instrument"
msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "Nombre de controlador"
+msgstr "Número de controlador"
#: core/os/input_event.cpp
msgid "Controller Value"
@@ -538,9 +546,8 @@ msgid "Config"
msgstr "Configuració"
#: core/project_settings.cpp
-#, fuzzy
msgid "Project Settings Override"
-msgstr "Configuració del Projecte..."
+msgstr "Anul·lació de la configuració del projecte"
#: core/project_settings.cpp core/resource.cpp
#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
@@ -563,7 +570,8 @@ msgstr "Descripció"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Executar"
@@ -649,9 +657,12 @@ msgid "Editor"
msgstr "Editor"
#: core/project_settings.cpp
-#, fuzzy
msgid "Main Run Args"
-msgstr "Arguments de l'Escena Principal:"
+msgstr "Arguments d'execució principal"
+
+#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Nomenclatura de l'escena"
#: core/project_settings.cpp
msgid "Search In File Extensions"
@@ -661,18 +672,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Control de Versions"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Sistema de control de versions"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nom del Connector"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Control de Versions"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -787,16 +795,18 @@ msgstr "Renderitzat"
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "Qualitat"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filtres"
#: core/project_settings.cpp scene/main/viewport.cpp
+#, fuzzy
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "Intensitat d'agudització"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -821,9 +831,8 @@ msgid "Profiler"
msgstr "Perfilador"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "Reanomena Funció"
+msgstr "Funcions màximes"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
msgid "Compression"
@@ -835,44 +844,43 @@ msgstr "Formats"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "Coincidència de llarga distància"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "Nivell de compressió"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "Mida del registre de la finestra"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "Mòduls"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "Connexions al mètode:"
+msgstr "Segons de temps d'espera de connexió"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
@@ -880,11 +888,11 @@ msgstr ""
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Memòria intermèdia màxima (potència de 2)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
msgid "Certificates"
@@ -897,9 +905,8 @@ msgid "Resource"
msgstr "Recurs"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "Tanca l'Escena"
+msgstr "Local a l'escena"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -968,7 +975,7 @@ msgstr ""
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "Mida de la memòria intermèdia de l'índex del polígon de llenç (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -980,7 +987,7 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -990,14 +997,13 @@ msgstr "Ajustament Intel·ligent"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Use GPU Pixel Snap"
-msgstr "Utilitzar ajustament amb els Píxels"
+msgstr "Utilitza l'ajust de píxels de la GPU"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Mida de la memòria intermèdia immediata (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
@@ -1008,28 +1014,27 @@ msgstr "Precalcular Lightmaps"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Utilitza el mostreig bicúbic"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Elements renderitzables màxims"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Llums màximes renderitzables"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Max Renderable Reflections"
-msgstr "Centra la Selecció"
+msgstr "Reflexions màximes renderitzables"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Llums màximes per objecte"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Dispersió subsuperficial"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1045,9 +1050,8 @@ msgid "Scale"
msgstr "Escala"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Follow Surface"
-msgstr "Omple la Superfície"
+msgstr "Segueix la superfície"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
@@ -1055,16 +1059,17 @@ msgstr ""
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Traçat del con Voxel"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "Alta qualitat"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Allibera"
@@ -1081,7 +1086,7 @@ msgstr "Emmiralla"
msgid "Time:"
msgstr "Temps:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valor:"
@@ -1136,9 +1141,8 @@ msgstr "Canviar crida d'animació"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "% del Fotograma"
+msgstr "Fotograma"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1149,16 +1153,14 @@ msgstr "Temps"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "Localització"
+msgstr "Ubicació"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Pas de la Rotació:"
+msgstr "Rotació"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1166,14 +1168,13 @@ msgid "Value"
msgstr "Valor"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Quantitat:"
+msgstr "Quantitat d'arguments"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Args"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1200,14 +1201,12 @@ msgid "Stream"
msgstr ""
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "òfset de la quadrícula:"
+msgstr "Desplaçament d'inici"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "òfset:"
+msgstr "Desplaçament final"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1331,8 +1330,66 @@ msgid "Remove this track."
msgstr "Treu la Pista."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Temps (s): "
+msgid "Time (s):"
+msgstr "Temps (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Posició:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotació:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Escala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tipus:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(No vàlid, tipus esperat: %s)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Alleugeriment:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Estableix la Nansa"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Estableix la Nansa"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Element de ràdio"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Inici (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Final (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Clip d'animació:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1421,9 +1478,8 @@ msgid "Editors"
msgstr "Editors"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Confirm Insert Track"
-msgstr "Insereix una Pista i una Clau"
+msgstr "Confirmeu la inserció de pista"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1550,8 +1606,8 @@ msgid "Add Method Track Key"
msgstr "Afegir Clau de Pista de Mètode"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "No s'ha trobat el mètode en l'objecte: "
+msgid "Method not found in object:"
+msgstr "Mètode no trobat a l'objecte:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1702,9 +1758,8 @@ msgid "Go to Previous Step"
msgstr "Anar al Pas Anterior"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Apply Reset"
-msgstr "Resetejar"
+msgstr "Aplica reinicialització"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
@@ -2088,14 +2143,15 @@ msgstr "Favorits:"
msgid "Recent:"
msgstr "Recents:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cerca:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Coincidències:"
@@ -2155,8 +2211,8 @@ msgstr "Cerca Recurs Reemplaçant:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2164,8 +2220,8 @@ msgid "Open"
msgstr "Obre"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Propietaris de:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Propietaris de: %s (Total: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2359,27 +2415,25 @@ msgid "Licenses"
msgstr "Llicències"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Error opening asset file for \"%s\" (not in ZIP format)."
msgstr ""
-"S'ha produit un error en obrir el fitxer comprimit, no té el format ZIP."
+"S'ha produït un error en obrir el fitxer de recursos per a \"%s\" (no en "
+"format ZIP)."
#: editor/editor_asset_installer.cpp
msgid "%s (already exists)"
msgstr "%s (ja existeix)"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
msgstr ""
-"El contingut del(s) fitxer(s) d'asset \"%s\" - %d entra en conflicte amb el "
-"vostre project:"
+"El contingut del recurs \"%s\" - %d fitxer(s) entra en conflicte amb el "
+"vostre projecte:"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Contents of asset \"%s\" - No files conflict with your project:"
msgstr ""
-"Continguts de l'asset \"%s\" - Cap fitxer entra en conflicte amb el vostre "
+"Contingut del recurs \"%s\": no hi ha cap fitxer en conflicte amb el vostre "
"projecte:"
#: editor/editor_asset_installer.cpp
@@ -2387,18 +2441,16 @@ msgid "Uncompressing Assets"
msgstr "Descomprimint Recursos"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "The following files failed extraction from asset \"%s\":"
-msgstr "Ha fracassat l'extracció del paquet dels següents fitxers:"
+msgstr "Els fitxers següents no s'han pogut extraure del recurs \"%s\":"
#: editor/editor_asset_installer.cpp
msgid "(and %s more files)"
msgstr "(i %s fitxer(s) més)"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Asset \"%s\" installed successfully!"
-msgstr "El asset \"%s\" s'ha instal·lat exitosament!"
+msgstr "El recurs \"%s\" s'ha instal·lat correctament!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -2410,9 +2462,8 @@ msgid "Install"
msgstr "Instal·la"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Asset Installer"
-msgstr "Instal·lador de paquets"
+msgstr "Instal·lador de recursos"
#: editor/editor_audio_buses.cpp
msgid "Speakers"
@@ -2479,7 +2530,7 @@ msgid "Bus Options"
msgstr "Opcions del Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplica"
@@ -2531,9 +2582,9 @@ msgstr "Obre un Disseny de Bus d'Àudio"
msgid "There is no '%s' file."
msgstr "No hi ha cap fitxer '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Desar Disseny"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Disseny:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2582,9 +2633,8 @@ msgid "Create a new Bus Layout."
msgstr "Crea un nou Disseny de Bus."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Audio Bus Layout"
-msgstr "Obre un Disseny de Bus d'Àudio"
+msgstr "Disseny del bus d'àudio"
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -2656,9 +2706,8 @@ msgid "%s is an invalid path. File does not exist."
msgstr "%s es un camí no vàlid. El fitxer no existeix."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "%s is an invalid path. Not in resource path (res://)."
-msgstr "%s es un camí no vàlid. No està en el camí del recurs (res://)."
+msgstr "%s no és un camí vàlid. No a la ruta del recurs (res://)."
#: editor/editor_autoload_settings.cpp
msgid "Add AutoLoad"
@@ -2737,6 +2786,24 @@ msgid "Choose"
msgstr "Tria"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Completat amb errors."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Completat amb èxit."
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "Ha fallat:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Emmagatzemant Fitxer:"
@@ -2749,6 +2816,29 @@ msgid "Packing"
msgstr "Compressió"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Anomena i Desa"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "No s'ha pogut crear el directori."
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "No s'han pogut exportar els fitxers del projecte."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "No es pot obrir el fitxer per llegir-lo des del camí \"%s\"."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Anomena i Desa"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2823,9 +2913,8 @@ msgid "Release"
msgstr "alliberat"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Binary Format"
-msgstr "Operador Color."
+msgstr "Format binari"
#: editor/editor_export.cpp
msgid "64 Bits"
@@ -2872,9 +2961,28 @@ msgstr "No s'ha trobat cap plantilla de depuració personalitzada."
msgid "Custom release template not found."
msgstr "No s'ha trobat cap plantilla de publicació personalitzada."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Administrar Plantilles"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "El camí d'exportació donat no existeix:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "No s'ha trobat la Plantilla:"
+msgid "Template file not found: \"%s\"."
+msgstr "No s'ha trobat el fitxer de plantilla: \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "No s'ha pogut copiar la plantilla d'exportació."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Farciment"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -2923,9 +3031,8 @@ msgid "Allows to edit scripts using the integrated script editor."
msgstr "Permet editar scripts utilitzant l'editor de scripts integrat."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Provides built-in access to the Asset Library."
-msgstr "Proveeix accés integrat a la Llibreria de Assets."
+msgstr "Proporciona accés integrat a la Biblioteca de Recursos."
#: editor/editor_feature_profile.cpp
msgid "Allows editing the node hierarchy in the Scene dock."
@@ -3055,9 +3162,9 @@ msgid "Import"
msgstr "Importar"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportar"
@@ -3171,14 +3278,12 @@ msgid "Save a File"
msgstr "Desa un Fitxer"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Access"
-msgstr "Èxit!"
+msgstr "Accés"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Display Mode"
-msgstr "Mode de Reproducció:"
+msgstr "Mode de visualització"
#: editor/editor_file_dialog.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -3196,19 +3301,16 @@ msgid "Mode"
msgstr "Mode d'Escombratge lateral"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current Dir"
-msgstr "Actual:"
+msgstr "Directori actual"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current File"
-msgstr "Perfil Actual:"
+msgstr "Fitxer actual"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current Path"
-msgstr "Actual:"
+msgstr "Camí actual"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#: scene/gui/file_dialog.cpp
@@ -3539,9 +3641,8 @@ msgid "Checked"
msgstr "Element validat"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Draw Red"
-msgstr "Crides de Dibuix:"
+msgstr "Dibuixa en vermell"
#: editor/editor_inspector.cpp
#, fuzzy
@@ -3930,10 +4031,9 @@ msgid "Save changes to '%s' before closing?"
msgstr "Desar els canvis a '%s' abans de tancar?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "%s no longer exists! Please specify a new save location."
msgstr ""
-"%s ja no existeix! Si us plau especifiqueu una nova localització de guardat."
+"%s ja no existeix! Si us plau especifiqueu una nova ubicació per desar."
#: editor/editor_node.cpp
msgid ""
@@ -4234,15 +4334,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Escena"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Camí de l'Escena:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4331,9 +4422,8 @@ msgid "Inspector"
msgstr "Inspector"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Default Property Name Style"
-msgstr "Camí del Projecte:"
+msgstr "Estil de nom de propietat per defecte"
#: editor/editor_node.cpp
msgid "Default Float Step"
@@ -4371,6 +4461,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Control de Versions"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Reanomena"
@@ -4399,6 +4493,10 @@ msgstr "Commutar el Mode Lliure de Distraccions."
msgid "Add a new scene."
msgstr "Afegeix una escena nova."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Escena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Vés a l'escena oberta anteriorment."
@@ -4755,9 +4853,8 @@ msgid "Update All Changes"
msgstr "Actualitzar quan es canvia"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Canvis de Material:"
+msgstr "Actualitza els canvis vitals"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -5087,12 +5184,14 @@ msgid "Selected node is not a Viewport!"
msgstr "El Node seleccionat no és una Vista!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Mida: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Mida:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Pàgina: "
+msgid "Page:"
+msgstr "Pàgina:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5179,9 +5278,8 @@ msgid "Extend Script"
msgstr "Estendre l'script"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Script Owner"
-msgstr "Nom de l'script:"
+msgstr "Propietari de l'script"
#: editor/editor_run_native.cpp
#, fuzzy
@@ -5193,6 +5291,11 @@ msgstr ""
"No s'ha trobat cap patró d'exportació executable per aquesta plataforma. \n"
"Afegiu un patró predeterminat en el menú d'exportació."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projecte"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Escriu la lògica en el mètode _run()."
@@ -5354,14 +5457,12 @@ msgid "Directories"
msgstr "Direccions"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Autoscan Project Path"
-msgstr "Camí del Projecte:"
+msgstr "Escaneja automàticament la ruta del projecte"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Project Path"
-msgstr "Camí del Projecte:"
+msgstr "Camí del projecte per defecte"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5383,9 +5484,8 @@ msgid "File Dialog"
msgstr "Diàleg XForm"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Thumbnail Size"
-msgstr "Miniatura..."
+msgstr "Mida de la miniatura"
#: editor/editor_settings.cpp
msgid "Docks"
@@ -5467,17 +5567,17 @@ msgid "Convert Indent On Save"
msgstr "Converteix la Sagnia en Espais"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Tabs"
-msgstr "Crides de Dibuix:"
+msgstr "Dibuixa pestanyes"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Spaces"
-msgstr "Crides de Dibuix:"
+msgstr "Dibuixa espais"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Mode Navegació"
@@ -5504,13 +5604,21 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Elimina la Selecció del GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Show Line Numbers"
-msgstr "Línia:"
+msgstr "Mostra els números de línia"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5656,9 +5764,8 @@ msgid "Add Type Hints"
msgstr "Tipus"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Use Single Quotes"
-msgstr "Utilitzar Cometes Simples"
+msgstr "Utilitza cometes simples"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5682,9 +5789,8 @@ msgid "Grid Map"
msgstr "Mapa de Graella"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Pick Distance"
-msgstr "Trieu la distància:"
+msgstr "Trieu la distància"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5737,14 +5843,12 @@ msgid "Shape"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Primary Grid Steps"
-msgstr "Pas de la Quadrícula:"
+msgstr "Passos de la quadrícula primària"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid Size"
-msgstr "Pas de la Quadrícula:"
+msgstr "Mida de la quadrícula"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
@@ -5929,7 +6033,7 @@ msgstr "Elimina Elements de Classe"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Bone Selected Color"
-msgstr "Perfil Actual:"
+msgstr "Color seleccionat de l'os"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
@@ -5940,9 +6044,8 @@ msgid "Bone Outline Color"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Outline Size"
-msgstr "Mida del Contorn:"
+msgstr "Mida del contorn de l'os"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
@@ -6036,9 +6139,8 @@ msgid "Auto Save"
msgstr "Auto Tall"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Save Before Running"
-msgstr "Desar l'escena abans de executar-la..."
+msgstr "Desa abans d'executar-lo"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6047,9 +6149,8 @@ msgstr "Vista Frontal"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Host"
-msgstr "Remot "
+msgstr "Amfitrió remot"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
@@ -6076,14 +6177,15 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Gestor del Projecte"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Sorting Order"
-msgstr "Reanomenant directori:"
+msgstr "Ordre d'ordenació"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
@@ -6115,16 +6217,14 @@ msgid "Comment Color"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "String Color"
-msgstr "Emmagatzemant Fitxer:"
+msgstr "Color de la cadena"
#: editor/editor_settings.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Background Color"
-msgstr "Color de fons no vàlid."
+msgstr "Color de fons"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6154,14 +6254,12 @@ msgid "Text Color"
msgstr "Planta Següent"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Number Color"
-msgstr "Línia:"
+msgstr "Color del número de línia"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Safe Line Number Color"
-msgstr "Línia:"
+msgstr "Color del número de línia segura"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
@@ -6287,9 +6385,8 @@ msgid "%s Error"
msgstr "Error"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Open the folder containing these templates."
-msgstr "Obrir la carpeta que conte aquestes plantilles."
+msgstr "Obriu la carpeta que conté aquestes plantilles."
#: editor/export_template_manager.cpp
msgid "Uninstall these templates."
@@ -6306,9 +6403,8 @@ msgid "Retrieving the mirror list..."
msgstr "S'estan buscant rèpliques..."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Starting the download..."
-msgstr "Començant la descarrega..."
+msgstr "S'està iniciant la baixada..."
#: editor/export_template_manager.cpp
msgid "Error requesting URL:"
@@ -6337,18 +6433,16 @@ msgid "Request failed."
msgstr "Ha fallat la sol·licitud."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Request ended up in a redirect loop."
-msgstr "La sol·licitud a acabat en un bucle de redirecció."
+msgstr "La sol·licitud ha acabat en un bucle de redirecció."
#: editor/export_template_manager.cpp
msgid "Request failed:"
msgstr "La Sol·licitud ha fallat:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Download complete; extracting templates..."
-msgstr "Descarrega completa; extraient plantilles..."
+msgstr "S'ha completat la baixada; s'estan extraient les plantilles..."
#: editor/export_template_manager.cpp
#, fuzzy
@@ -6375,7 +6469,6 @@ msgstr ""
"informeu d'aquest problema!"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Best available mirror"
msgstr "Millor mirall disponible"
@@ -6501,9 +6594,8 @@ msgid "Uninstall"
msgstr "Desinstal·lar"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uninstall templates for the current version."
-msgstr "Valor inicial per al comptador."
+msgstr "Desinstal·la les plantilles de la versió actual."
#: editor/export_template_manager.cpp
msgid "Download from:"
@@ -6543,9 +6635,8 @@ msgid "Install from File"
msgstr "Instal·lar des d'un Fitxer"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Install templates from a local file."
-msgstr "Instal·lar plantilles des d'un fitxer local."
+msgstr "Instal·la plantilles des d'un fitxer local."
#: editor/export_template_manager.cpp editor/find_in_files.cpp
#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
@@ -6881,14 +6972,6 @@ msgid "Replace in Files"
msgstr "Reemplaça-hoTot"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Cerca: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Reemplaça: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Reemplaça-hoTot"
@@ -7025,10 +7108,9 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
+#: scene/gui/control.cpp
msgid "Filter"
-msgstr "Filtres:"
+msgstr "Filtre"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
@@ -7055,17 +7137,15 @@ msgstr "Auto Tall"
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Horizontal"
-msgstr "Horitzontal:"
+msgstr "Horitzontal"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Vertical"
-msgstr "Vertical:"
+msgstr "Vertical"
#: editor/import/resource_importer_obj.cpp
#, fuzzy
@@ -7145,9 +7225,8 @@ msgid "Root Type"
msgstr "Tipus de Membre"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Name"
-msgstr "Remot "
+msgstr "Nom de l'arrel"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7160,18 +7239,16 @@ msgid "Custom Script"
msgstr "Talla els Nodes"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Storage"
-msgstr "Emmagatzemant Fitxer:"
+msgstr "Emmagatzematge"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
msgstr ""
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Materials"
-msgstr "Canvis de Material:"
+msgstr "Materials"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7248,14 +7325,12 @@ msgid "Enabled"
msgstr "Activar"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Linear Error"
-msgstr "Error Lineal Max.:"
+msgstr "Error lineal màxim"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angular Error"
-msgstr "Error Angular Max.:"
+msgstr "Error angular màxim"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7275,9 +7350,8 @@ msgstr "Talls d'Animació"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
#: scene/3d/particles.cpp scene/resources/environment.cpp
-#, fuzzy
msgid "Amount"
-msgstr "Quantitat:"
+msgstr "Quantitat"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
@@ -7293,8 +7367,8 @@ msgid "Generating Lightmaps"
msgstr "S'estan generant els Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "S'està generant per a la Malla: "
+msgid "Generating for Mesh:"
+msgstr "S'està generant per malla:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7321,6 +7395,18 @@ msgid "Saving..."
msgstr "Desant..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7378,9 +7464,8 @@ msgid "Normal Map Invert Y"
msgstr "Escala aleatòria:"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Size Limit"
-msgstr "Mida: "
+msgstr "Límit de mida"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
@@ -7398,14 +7483,12 @@ msgid ""
msgstr ""
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Atlas File"
-msgstr "Mida del Contorn:"
+msgstr "Fitxer Atles"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Import Mode"
-msgstr "Mode d'Exportació:"
+msgstr "Mode d'importació"
#: editor/import/resource_importer_texture_atlas.cpp
#, fuzzy
@@ -7417,9 +7500,8 @@ msgid "Trim Alpha Border From Region"
msgstr ""
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "Malla d'Origen:"
+msgstr "Força"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
@@ -7540,9 +7622,8 @@ msgid "Failed to load resource."
msgstr "No s'ha pogut carregar el recurs."
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Property Name Style"
-msgstr "Nom del Projecte:"
+msgstr "Estil del nom de la propietat"
#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
msgid "Raw"
@@ -7894,9 +7975,8 @@ msgid "Blend:"
msgstr "Mescla:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Parameter Changed:"
-msgstr "Paràmetre Canviat:"
+msgstr "Paràmetre canviat:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -7974,14 +8054,12 @@ msgstr ""
"que no es poden recuperar els noms de les pistes."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Anim Clips"
-msgstr "Talls d'Animació"
+msgstr "Clips d'animació"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Audio Clips"
-msgstr "Talls d'Àudio"
+msgstr "Clips d'àudio"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Functions"
@@ -8019,11 +8097,20 @@ msgid "New Anim"
msgstr "Nova Animació"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Crea una Nova Animació"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Modifica el Nom de l'Animació:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Reanomena l'Animació"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Eliminar l'Animació?"
@@ -8041,11 +8128,6 @@ msgid "Animation name already exists!"
msgstr "El nom d'animació ja existeix!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Reanomena l'Animació"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplica l'Animació"
@@ -8144,10 +8226,12 @@ msgstr "Opcions Paper Ceba"
msgid "Directions"
msgstr "Direccions"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Passat"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Futur"
@@ -8188,10 +8272,6 @@ msgid "Pin AnimationPlayer"
msgstr "Fixar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Crea una Nova Animació"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nom de l'Animació:"
@@ -8307,8 +8387,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Definiu l'animació final. Això és útil per a sub-transicions."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Transició: "
+msgid "Transition:"
+msgstr "Transició:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8324,11 +8404,6 @@ msgid "New name:"
msgstr "Nou nom:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Escala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fosa d'entrada (s):"
@@ -8580,9 +8655,8 @@ msgid "Download Error"
msgstr "Error en la Baixada"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Available URLs"
-msgstr "Perfils Disponibles:"
+msgstr "URL disponibles"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
@@ -8645,9 +8719,8 @@ msgid "All"
msgstr "Tot"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Search templates, projects, and demos"
-msgstr "Buscar plantilles, projectes i demos."
+msgstr "Cerca plantilles, projectes i demostracions"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Search assets (excluding templates, projects, and demos)"
@@ -9275,6 +9348,7 @@ msgstr "Crear os(sos) personalitzat(s) a partir de Node(s)"
msgid "Clear Custom Bones"
msgstr "Restablir Ossos Personalitzats"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9341,6 +9415,10 @@ msgid "Preview Canvas Scale"
msgstr "Vista prèvia de l'Escala del Llenç"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Desar Disseny"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Mascara de translació per a inserir claus."
@@ -9690,9 +9768,8 @@ msgstr ""
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "Separació:"
+msgstr "Separador"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9783,9 +9860,8 @@ msgid "No mesh to debug."
msgstr "Cap malla per depurar."
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Mesh has no UV in layer %d."
-msgstr "El model no té UVs en aquesta capa."
+msgstr "La malla no té UV a la capa %d."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "MeshInstance lacks a Mesh!"
@@ -10125,8 +10201,8 @@ msgid "Volume"
msgstr "Volum"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Font d'Emissió: "
+msgid "Emission Source:"
+msgstr "Font d'emissió:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10359,6 +10435,7 @@ msgid "Points"
msgstr "Punts"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polígons"
@@ -10520,13 +10597,6 @@ msgid "Instance:"
msgstr "Instància:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tipus:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Obre en l'Editor"
@@ -10535,10 +10605,6 @@ msgstr "Obre en l'Editor"
msgid "Load Resource"
msgstr "Carrega un Recurs"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
msgid "Flip Portals"
@@ -10550,9 +10616,8 @@ msgid "Room Generate Points"
msgstr "Recompte de punts generats"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Generate Points"
-msgstr "Recompte de punts generats"
+msgstr "Generar punts"
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
@@ -10869,9 +10934,8 @@ msgid "Script Temperature History Size"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Current Script Background Color"
-msgstr "Color de fons no vàlid."
+msgstr "Color de fons de l'script actual"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -10884,9 +10948,8 @@ msgid "Sort Scripts By"
msgstr "Crea un Script"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "List Script Names As"
-msgstr "Nom de l'script:"
+msgstr "Llista els noms dels scripts com a"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
@@ -11268,12 +11331,15 @@ msgstr "Rotar"
msgid "Translate"
msgstr "Translació"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Escala: "
+msgid "Scaling:"
+msgstr "Escalat:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Translació: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11298,32 +11364,22 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Mida:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Objects Drawn:"
-msgstr "Objectes Dibuixats:"
+msgstr "Objectes dibuixats:"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Material Changes:"
-msgstr "Canvis de Material:"
+msgstr "Canvis del Material:"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Shader Changes:"
-msgstr "Canvis de Shader:"
+msgstr "Canvis del Shader:"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Surface Changes:"
-msgstr "Canvis de superfície:"
+msgstr "Canvis de la superfície:"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Draw Calls:"
msgstr "Crides de Dibuix:"
@@ -11803,7 +11859,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "La geometria no és vàlida, no es pot substituir per una malla."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Convertir a Malla2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11837,16 +11894,16 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Simplificació: "
+msgid "Simplification:"
+msgstr "Simplificació:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Redueix (Píxels): "
+msgid "Shrink (Pixels):"
+msgstr "Redueix (Píxels):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Engrandeix (Píxels): "
+msgid "Grow (Pixels):"
+msgstr "Engrandeix (Píxels):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11911,6 +11968,11 @@ msgstr "Nova Animació"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Filter animations"
+msgstr "Filtrar mètodes"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Speed:"
msgstr "Velocitat (FPS):"
@@ -12104,9 +12166,8 @@ msgid "With Data"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Select by data type:"
-msgstr "Selecciona un Node:"
+msgstr "Seleccioneu per tipus de dades:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select all visible color items."
@@ -12175,19 +12236,16 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Collapse types."
-msgstr "Col·lapsar tot."
+msgstr "Col·lapsar els tipus."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Expand types."
-msgstr "Expandir tot."
+msgstr "Expandir els tipus."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Select all Theme items."
-msgstr "Seleccioneu un Fitxer de Plantilla."
+msgstr "Seleccioneu tots els elements del tema."
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -12356,9 +12414,8 @@ msgid "Add Type:"
msgstr "Tipus:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Item:"
-msgstr "Afegeix un Element:"
+msgstr "Afegeix un element:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -12366,9 +12423,8 @@ msgid "Add StyleBox Item"
msgstr "Afegeix tots els Elements"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Items:"
-msgstr "Elimina Element:"
+msgstr "Suprimeix els elements:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove Class Items"
@@ -12409,9 +12465,8 @@ msgid "Editor Theme"
msgstr "Editar Tema"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Select Another Theme Resource:"
-msgstr "Elimina el Recurs:"
+msgstr "Seleccioneu un altre recurs de tema:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -12438,9 +12493,8 @@ msgid "Available Node-based types:"
msgstr "Perfils Disponibles:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Type name is empty!"
-msgstr "El nom del fitxer és buit."
+msgstr "El nom del tipus és buit!"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -12856,8 +12910,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Seleccioneu la forma, el subtile o el Tile anterior."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "Mode Regió"
@@ -12890,9 +12943,8 @@ msgid "Priority"
msgstr "Mode Prioritat"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/node_2d.cpp
-#, fuzzy
msgid "Z Index"
-msgstr "Índex"
+msgstr "Índex Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Region Mode"
@@ -14462,24 +14514,16 @@ msgid "Runnable"
msgstr "Executable"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Esborrar la configuració '%s' ?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-#, fuzzy
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"No s'ha pogut exportar el projecte per la plataforma '%s'.\n"
-"Les plantilles d'exportació semblen absents o son invalides."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
+msgid "Delete preset '%s'?"
+msgstr "Esborrar la configuració '%s' ?"
#: editor/project_export.cpp
#, fuzzy
@@ -14487,14 +14531,6 @@ msgid "Exporting All"
msgstr "Exportant tot"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "El camí d'exportació donat no existeix:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Manquen d'exportació per aquesta plataforma o s'han malmès:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Camí d'exportació"
@@ -14604,19 +14640,27 @@ msgid "More Info..."
msgstr "Mou cap a..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Exporta PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Exporta Projecte"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Mode d'Exportació?"
+msgid "Export All"
+msgstr "Exportar Tot"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Selecciona un directori buit."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Exportar Tot"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14624,14 +14668,20 @@ msgid "ZIP File"
msgstr "Fitxer ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Exporta Projecte"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "Manquen les plantilles d'exportació per aquesta plataforma:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Fundadors del Projecte"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gestor de Plantilles d'Exportació"
@@ -14962,13 +15012,13 @@ msgstr "Gestor del Projecte"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Loading, please wait..."
-msgstr "S'estan buscant rèpliques..."
+msgid "Last Modified"
+msgstr "Última modificació"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Last Modified"
-msgstr "Última modificació"
+msgid "Loading, please wait..."
+msgstr "S'estan buscant rèpliques..."
#: editor/project_manager.cpp
#, fuzzy
@@ -16207,7 +16257,8 @@ msgid "Attach Node Script"
msgstr "Adjunta un Script de Node"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Remot "
#: editor/script_editor_debugger.cpp
@@ -17106,7 +17157,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Polígons"
@@ -17286,7 +17337,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Desactiva l'Indicador d'Actualització"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Biblioteques: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17735,7 +17787,6 @@ msgid "Use In Baked Light"
msgstr "Precalcular Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17765,6 +17816,19 @@ msgstr "Centre"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Mode Navegació"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Mode Navegació"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Pla següent"
@@ -18194,7 +18258,8 @@ msgstr ""
"treball de nodes! Repareu el node."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "El node ha retornat un seqüencia de sortida que no és vàlida: "
#: modules/visual_script/visual_script.cpp
@@ -18204,7 +18269,8 @@ msgstr ""
"el bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Pila desbordada (stack overflow) amb profunditat de Pila: "
#: modules/visual_script/visual_script.cpp
@@ -18602,7 +18668,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Tipus d'entrada no iterable: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18610,7 +18677,8 @@ msgid "Iterator became invalid"
msgstr "L'Iterador ja no és vàlid"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "L'Iterador ja no és vàlid: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18784,11 +18852,13 @@ msgid "Operator"
msgstr "Operador de superposició."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Argument no vàlid del tipus: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Arguments no vàlids: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18801,11 +18871,13 @@ msgid "Var Name"
msgstr "Nom"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "Variable Get no trobada en l'Script: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "Variable Set no trobada en l'Script: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -19139,6 +19211,11 @@ msgid "The package must have at least one '.' separator."
msgstr "El paquet ha de tenir com a mínim un separador '. '."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Talla els Nodes"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -19147,6 +19224,16 @@ msgstr ""
msgid "Export Format"
msgstr "Camí d'exportació"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Mida del Contorn:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Objectiu"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -19189,16 +19276,6 @@ msgstr "Inspecciona la Instància anterior"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Mida del Contorn:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Objectiu"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19365,10 +19442,6 @@ msgid "Could not execute on device."
msgstr "No s'ha pogut crear el directori."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
"Android build template not installed in the project. Install it from the "
@@ -19457,12 +19530,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19471,25 +19544,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Senyal"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19506,6 +19603,11 @@ msgid "Could not find keystore, unable to export."
msgstr "No es pot obrir la plantilla per exportar."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "No s'ha pogut començar el subprocés!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19536,7 +19638,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "Format d'exportació no suportat.\n"
#: platform/android/export/export_plugin.cpp
@@ -19551,9 +19654,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"La versió de compilació d'Android no coincideix:\n"
@@ -19564,11 +19665,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "No s'han pogut exportar fitxers de projecte a gradle project\n"
#: platform/android/export/export_plugin.cpp
@@ -19583,7 +19685,7 @@ msgstr "Construint Projecte Android (gradle)"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"La construcció del projecte Android ha fallat, comproveu la sortida per "
@@ -19603,7 +19705,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animació no trobada: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19612,17 +19714,15 @@ msgid "Creating APK..."
msgstr "Creant els contorns..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"No s'ha trobat la plantilla APK per a exportar:\n"
"%s"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19634,7 +19734,7 @@ msgstr "Afegint %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "No s'ha pogut escriure el fitxer"
#: platform/android/export/export_plugin.cpp
@@ -19876,6 +19976,17 @@ msgstr "Talla els Nodes"
msgid "Custom BG Color"
msgstr "Talla els Nodes"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Administrar Plantilles"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "No s'ha trobat cap plantilla de publicació personalitzada."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19897,23 +20008,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Executa l'HTML exportat en el navegador per defecte."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "No es pot obrir la plantilla per exportar:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Plantilla d'exportació no vàlida:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "No s'ha pogut escriure el fitxer:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Establir Marge"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "No s'ha pogut escriure el fitxer:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Separació:"
@@ -19989,17 +20112,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "No es pot llegir l'intèrpret personalitzat d’ordres HTML:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "No s'ha pogut crear el directori:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Error en desar l'escena:"
#: platform/javascript/export/export.cpp
@@ -20299,9 +20422,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "No s'ha pogut escriure el fitxer"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "No s'ha pogut començar el subprocés!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Localització"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20317,23 +20459,78 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "No s'ha trobat cap icona."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "S'ha produit un error al desar el fitxer! %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direccions"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "No s'ha pogut començar el subprocés!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Creant Miniatura"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
"No s'ha trobat la plantilla APK per a exportar:\n"
"%s"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Plantilla d'exportació no vàlida:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20341,7 +20538,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20383,6 +20580,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projecte"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "No s'han pogut exportar fitxers de projecte a gradle project\n"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Identificador no vàlid:"
@@ -20699,6 +20906,11 @@ msgid "Debug Algorithm"
msgstr "Depurador"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "No es pot desar el Tema:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20746,6 +20958,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Rotació aleatòria:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "No es pot obrir la plantilla per exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "No es pot obrir la plantilla per exportar."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "L'extensió no és vàlida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "No es pot obrir la plantilla per exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "No es pot obrir la plantilla per exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Identificador no vàlid:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nom no vàlid."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "L'extensió no és vàlida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "No es pot desar el Tema:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20767,6 +21043,23 @@ msgid "Invalid product version:"
msgstr "GUID del producte no vàlid."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "L'extensió no és vàlida."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Finestra nova"
@@ -20783,6 +21076,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20912,7 +21209,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Trieu la distància:"
@@ -20963,7 +21261,7 @@ msgstr "Apropa"
msgid "Custom Viewport"
msgstr "1 Vista"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21721,11 +22019,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Editar Connexió:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Vinculació"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Trieu la distància:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Trieu la distància:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Avançat"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Activar"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21743,16 +22073,6 @@ msgstr "Volteja Horitzontalment"
msgid "Max Speed"
msgstr "Velocitat (FPS):"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Trieu la distància:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Activar"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21779,24 +22099,26 @@ msgstr ""
"polígon."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance ha de ser fill o nét d'un node Navigation2D. Només "
-"proporciona dades de navegació."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Part inferior"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Viatge"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Rotació de %s graus."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Constant"
@@ -23005,6 +23327,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "S'ha interromput la Transformació ."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -23029,14 +23358,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance ha de ser fill o nét d'un node Navigation. Només "
-"proporciona dades de navegació."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23911,6 +24232,11 @@ msgstr ""
"Modifica la mida de les Formes de Col. lisió Filles."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Manté la Transformació Global"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -25167,6 +25493,11 @@ msgstr "Directori:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Selecció Només"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Activar"
@@ -25574,20 +25905,17 @@ msgstr "Camí d'exportació"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
-"La Vista (Viewport) no és la Destinació de Renderització (render target). "
-"Per mostrar-ne el contingut, especifiqueu-la com a filla d'un Control de "
-"forma per tal d'obtenir-ne la mida. Altrament, establiu-la com a Destinació "
-"de Renderització i assigneu-ne la textura interna a algun node."
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25749,6 +26077,16 @@ msgid "3D Physics"
msgstr "Fotograma de Física %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Mode Navegació"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Mode Navegació"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -27176,7 +27514,7 @@ msgstr "Transició: "
msgid "Refraction"
msgstr "Separació:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -27261,7 +27599,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Escala: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Estableix el Tipus de Variable"
#: scene/resources/navigation_mesh.cpp
@@ -27279,10 +27622,15 @@ msgid "Source Group Name"
msgstr "Font"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Arguments de l'Escena Principal:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -27292,11 +27640,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Mode Regió"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Combina-ho a partir de l'Escena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -27310,6 +27663,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Carrega Valors predeterminats"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Trieu la distància:"
@@ -27327,9 +27685,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Generant AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "òfset:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27744,6 +28112,11 @@ msgid "Scenario"
msgstr "Escena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Mode Navegació"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27761,6 +28134,26 @@ msgstr "Lineal Esquerra"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Predeterminat"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Actualitzar Previsualització"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Provant"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Editar Connexió:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index 9fc7ddbddb..1e92a92ae7 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -249,9 +249,10 @@ msgid "Data"
msgstr "Data"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Síťový profiler"
@@ -367,7 +368,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nedostatek bajtů pro dekódování bajtů, nebo neplatný formát."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Neplatný vstup %i (nepředán) ve výrazu"
#: core/math/expression.cpp
@@ -412,6 +414,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Režim přesouvání"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Odstranit vstup"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -440,6 +452,11 @@ msgstr ""
msgid "Command"
msgstr "Komunita"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fyzická Klávesa"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -499,6 +516,10 @@ msgid "Pressure"
msgstr "Profil"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Přichytávat relativně"
@@ -614,7 +635,8 @@ msgstr "Popis"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Spustit"
@@ -705,6 +727,11 @@ msgid "Main Run Args"
msgstr "Argumenty hlavní scény:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Cesta ke scéně:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -712,19 +739,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Správa verzí"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Verzování (VCS)"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Název pluginu:"
+msgid "Version Control Plugin Name"
+msgstr "Správa verzí"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -844,7 +867,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtry:"
@@ -1126,6 +1150,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Volný"
@@ -1142,7 +1167,7 @@ msgstr "Zrcadlit"
msgid "Time:"
msgstr "Čas:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Hodnota:"
@@ -1392,11 +1417,76 @@ msgid "Remove this track."
msgstr "Odstranit tuto stopu."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Čas (s): "
#: editor/animation_track_editor.cpp
#, fuzzy
+msgid "Position:"
+msgstr "Pozice doku"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Krok rotace:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Zvětšení:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Typ:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Neplatná šablona pro export:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Hladký vstup-výstup"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Nastavit úchyt"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Nastavit úchyt"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Položka volby"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Restart (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Objevení za (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animace:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Toggle Track Enabled"
msgstr "Povolit stopu"
@@ -1611,7 +1701,8 @@ msgid "Add Method Track Key"
msgstr "Přidat stopu volání metody"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Tato metoda nebyla v objektu nalezena: "
#: editor/animation_track_editor.cpp
@@ -2147,14 +2238,15 @@ msgstr "Oblíbené:"
msgid "Recent:"
msgstr "Nedávné:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Hledat:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Shody:"
@@ -2214,8 +2306,8 @@ msgstr "Hledat náhradní zdroj:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2223,8 +2315,8 @@ msgid "Open"
msgstr "Otevřít"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Vlastníci:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2527,7 +2619,7 @@ msgid "Bus Options"
msgstr "Možnosti sběrnice"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikovat"
@@ -2579,8 +2671,9 @@ msgstr "Otevřít rozložení audio sběrnice"
msgid "There is no '%s' file."
msgstr "Neexistuje '%s' soubor."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Rozložení"
#: editor/editor_audio_buses.cpp
@@ -2784,6 +2877,25 @@ msgid "Choose"
msgstr "Vyberte"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopírovat cestu k uzlu"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Balíček byl úspěšně nainstalován!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Selhalo:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Ukládám soubor:"
@@ -2796,6 +2908,31 @@ msgid "Packing"
msgstr "Balím"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Uložit jako"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Nelze vytvořit složku."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Nelze exportovat soubory projektu"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Nelze otevřít soubor pro zápis:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Uložit jako"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2915,11 +3052,33 @@ msgstr "Vlastní ladící šablona nebyla nalezena."
msgid "Custom release template not found."
msgstr "Vlastní šablona k uveřejnění nebyla nalezena."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Spravovat šablony"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Zadaná cesta pro export neexistuje:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Soubor šablony nenalezen:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Neplatná šablona pro export:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Zarovnávání"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Při 32-bitovým exportu vestavěné PCK nemůže být větší než 4 GiB."
@@ -3089,9 +3248,9 @@ msgid "Import"
msgstr "Import"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Export"
@@ -4250,15 +4409,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scéna"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Cesta ke scéně:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4387,6 +4537,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Správa verzí"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Přejmenovat"
@@ -4415,6 +4569,10 @@ msgstr "Zapnout nerozptylující režim."
msgid "Add a new scene."
msgstr "Přidat novou scénu."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scéna"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Přejít na předchozí scénu."
@@ -5094,11 +5252,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Vybraný uzel není Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Velikost: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Velikost:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Strana: "
#: editor/editor_properties_array_dict.cpp
@@ -5200,6 +5361,11 @@ msgstr ""
"Přidejte prosím spustitelné přednastavení v exportovacím menu nebo definujte "
"existující přednastavení jako spustitelné."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Napište svůj kód v _run() metodě."
@@ -5483,7 +5649,9 @@ msgid "Draw Spaces"
msgstr "Vykreslovací volání:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigace"
@@ -5509,6 +5677,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap Vyplnit výběr"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6081,10 +6258,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Správce projektů"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6854,14 +7033,6 @@ msgid "Replace in Files"
msgstr "Nahradit všechny"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Najít: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Nahradit: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Nahradit všechny"
@@ -6991,7 +7162,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtry:"
@@ -7259,7 +7430,8 @@ msgid "Generating Lightmaps"
msgstr "Generování světelné mapy"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Generování pro síť: "
#: editor/import/resource_importer_scene.cpp
@@ -7287,6 +7459,18 @@ msgid "Saving..."
msgstr "Ukládání..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7971,11 +8155,20 @@ msgid "New Anim"
msgstr "Nová animace"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Vytvořit novou animaci"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Změnit název animace:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Přejmenovat animaci"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Smazat animaci?"
@@ -7993,11 +8186,6 @@ msgid "Animation name already exists!"
msgstr "Jméno animace už existuje!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Přejmenovat animaci"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplikovat animaci"
@@ -8095,10 +8283,12 @@ msgstr "Onion Skinning možnosti"
msgid "Directions"
msgstr "Směry"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Předcházející"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Budoucí"
@@ -8139,10 +8329,6 @@ msgid "Pin AnimationPlayer"
msgstr "Připnout AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Vytvořit novou animaci"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Jméno animace:"
@@ -8258,7 +8444,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Nastavit koncovou animaci. Užitečné pro pod-přechody."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Přechod: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8275,11 +8462,6 @@ msgid "New name:"
msgstr "Nové jméno:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Zvětšení:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Objevení za (s):"
@@ -9195,6 +9377,7 @@ msgstr "Vytvořit kosti z uzlů"
msgid "Clear Custom Bones"
msgstr "Vymazat kosti"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9261,6 +9444,10 @@ msgid "Preview Canvas Scale"
msgstr "Náhled měřítka plátna"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Rozložení"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Offset maska pro vkládání klíčů."
@@ -10032,7 +10219,8 @@ msgid "Volume"
msgstr "Hlasitost"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Zdroje emisí: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10264,6 +10452,7 @@ msgid "Points"
msgstr "Body"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polygony"
@@ -10419,13 +10608,6 @@ msgid "Instance:"
msgstr "Instance:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Typ:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Otevřít v editoru"
@@ -10434,10 +10616,6 @@ msgstr "Otevřít v editoru"
msgid "Load Resource"
msgstr "Načíst zdroj"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Zdroj"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Převrátit portály"
@@ -11150,12 +11328,16 @@ msgstr "Otočit"
msgid "Translate"
msgstr "Posunout"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Škálování: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Posun: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11179,11 +11361,6 @@ msgid "Yaw:"
msgstr "Odklon (Yaw):"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Velikost:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Kreslené objekty:"
@@ -11673,7 +11850,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Neplatná geometrie, nelze nahradit sítí."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Konvertovat na Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11705,15 +11883,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Zjednodušení: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Zmenšení (pixely): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Zvětšení (pixely): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11777,6 +11958,11 @@ msgid "New Animation"
msgstr "Nová animace"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filtrovat metody"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Rychlost:"
@@ -12692,8 +12878,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Vybrat předchozí tvar, dílčí dlaždici nebo dlaždici."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Oblast"
@@ -14215,40 +14400,22 @@ msgid "Runnable"
msgstr "Spustitelný"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Odstranit předvolbu '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Export projektu pro platformu \"%s\" se nezdařil.\n"
-"Zdá se, že šablony exportu chybí nebo jsou neplatné."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Export projektu pro platformu \"%s\" se nezdařil.\n"
-"Může to být způsobeno problémem s konfigurací v export profilu nebo v "
-"nastavení exportu."
+msgid "Delete preset '%s'?"
+msgstr "Odstranit předvolbu '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Exportování všeho"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Zadaná cesta pro export neexistuje:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Šablony exportu pro tuto platformu chybí nebo jsou poškozené:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Exportovat cestu"
@@ -14359,19 +14526,27 @@ msgid "More Info..."
msgstr "Přesunout do..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Exportovat PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Exportovat projekt"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Režim exportu?"
+msgid "Export All"
+msgstr "Exportovat vše"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Zvolte prosím prázdnou složku."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Exportovat vše"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14379,7 +14554,8 @@ msgid "ZIP File"
msgstr "Soubor ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Hrací balíček Godot"
#: editor/project_export.cpp
@@ -14387,6 +14563,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Šablony exportu pro tuto platformu chybí:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Zakladatelé projektu"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Spravovat šablony exportu"
@@ -14699,14 +14880,14 @@ msgid "Project Manager"
msgstr "Správce projektů"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Načítání, prosím čekejte..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Datum modifikace"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Načítání, prosím čekejte..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Upravit projekt"
@@ -15908,7 +16089,8 @@ msgid "Attach Node Script"
msgstr "Připojit script k uzlu"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Vzdálený "
#: editor/script_editor_debugger.cpp
@@ -16793,7 +16975,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Polygony"
@@ -16971,7 +17153,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Vypnutý GDNative Singleton"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Knihovny: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17416,7 +17599,6 @@ msgid "Use In Baked Light"
msgstr "Zapéct lightmapy"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17446,6 +17628,19 @@ msgstr "Uprostřed"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigace"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navigační režim"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Další rovina"
@@ -17863,7 +18058,8 @@ msgstr ""
"Opravte prosím váš uzel."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Uzel vrátil neplatnou posloupnost výstupu: "
#: modules/visual_script/visual_script.cpp
@@ -17871,7 +18067,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Nalezen bit posloupnosti ale ne uzel v zásobníku. Nahlaste chybu!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Přetečení zásobníku s hloubkou: "
#: modules/visual_script/visual_script.cpp
@@ -18243,7 +18440,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Vstupním typem nelze iterovat: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18251,7 +18449,8 @@ msgid "Iterator became invalid"
msgstr "Iterátor se stal neplatným"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterátor se stal neplatným: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18424,11 +18623,13 @@ msgid "Operator"
msgstr "Operátor překrytí."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Neplatný argument typu: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Neplatné argumenty: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18441,11 +18642,13 @@ msgid "Var Name"
msgstr "Název"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "Proměnná pro získání nebyla ve skriptu nalezena: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "Proměnná pro nastavení nebyla ve skriptu nalezena: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18773,6 +18976,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Balíček musí mít alespoň jeden '.' oddělovač."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Vyjmout uzly"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18781,6 +18989,16 @@ msgstr ""
msgid "Export Format"
msgstr "Exportovat cestu"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Velikost obrysu:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Cíl"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18823,16 +19041,6 @@ msgstr "Zkontrolovat předchozí instanci"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Velikost obrysu:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Cíl"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18999,10 +19207,6 @@ msgid "Could not execute on device."
msgstr "Nelze vytvořit složku."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Nelze najít nástroj 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19086,7 +19290,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" je platné pouze v případě, že \"Režim Xr\" má hodnotu "
@@ -19094,7 +19298,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" je platné pouze v případě, že \"Režim Xr\" má hodnotu "
"\"Oculus Mobile VR\"."
@@ -19108,30 +19312,54 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Export AAB\" je validní pouze v případě, že je povolena možnost \"Použít "
"vlastní sestavu\"."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Export AAB\" je validní pouze v případě, že je povolena možnost \"Použít "
"vlastní sestavu\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signál"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19147,6 +19375,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Nepodařilo se najít úložiště klíčů, nelze exportovat."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Nelze spustit podproces!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19175,7 +19408,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Neplatné jméno souboru! Android APK vyžaduje příponu *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "Nepodporovaný formát exportu!\n"
#: platform/android/export/export_plugin.cpp
@@ -19187,10 +19421,9 @@ msgstr ""
"verzi. Přeinstalujte jej z nabídky \"Projekt\"."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Neshoda verzí Android buildu:\n"
@@ -19200,11 +19433,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "Nelze exportovat soubory projektu do projektu gradle\n"
#: platform/android/export/export_plugin.cpp
@@ -19216,8 +19450,9 @@ msgid "Building Android Project (gradle)"
msgstr "Buildování projektu pro Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Buildování projektu pro Android se nezdařilo, zkontrolujte chybový výstup.\n"
@@ -19237,7 +19472,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animace nenalezena: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19245,17 +19480,15 @@ msgid "Creating APK..."
msgstr "Vytvářím APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Nepodařilo se najít šablonu APK pro export:\n"
"%s"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19265,7 +19498,8 @@ msgid "Adding files..."
msgstr "Přidávám soubory..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Nelze exportovat soubory projektu"
#: platform/android/export/export_plugin.cpp
@@ -19508,6 +19742,17 @@ msgstr "Vyjmout uzly"
msgid "Custom BG Color"
msgstr "Vyjmout uzly"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Spravovat šablony"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Vlastní šablona k uveřejnění nebyla nalezena."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Team ID nebyla poskytnuta - projekt nelze konfigurovat."
@@ -19529,22 +19774,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Spustit vyexportované HTML ve výchozím prohlížeči."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Nelze otevřít šablonu pro export:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Neplatná šablona pro export:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Nelze zapsat soubor:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Nastavit okraj"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Nelze přečíst soubor:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Oddělení:"
@@ -19620,15 +19878,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Nebylo možné přečíst HTML shell:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Nepodařilo se vytvořit adresář serveru HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Chyba při spuštění serveru HTTP:"
#: platform/javascript/export/export.cpp
@@ -19928,9 +20188,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Nelze exportovat soubory projektu"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Nelze spustit podproces!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokalizace"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19946,20 +20225,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Nebyly nalezeny žádné ikony."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Chyba při ukládání souboru: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Směry"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Nelze spustit podproces!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Vytvářím náhled"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Nepodařilo se najít šablonu APK pro export:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Neplatná šablona pro export:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19967,7 +20302,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20009,6 +20344,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Nelze exportovat soubory projektu do projektu gradle\n"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Neplatný identifikátor:"
@@ -20321,6 +20666,11 @@ msgid "Debug Algorithm"
msgstr "Ladicí program"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nelze odstranit dočasný soubor:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20368,6 +20718,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Náhodná rotace:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Nepodařilo se najít úložiště klíčů, nelze exportovat."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Nepodařilo se najít úložiště klíčů, nelze exportovat."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Neplatná přípona."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Nepodařilo se najít úložiště klíčů, nelze exportovat."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Nepodařilo se najít úložiště klíčů, nelze exportovat."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Neplatný identifikátor:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Neplatný název."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Neplatná přípona."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nelze odstranit dočasný soubor:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20387,6 +20801,23 @@ msgid "Invalid product version:"
msgstr "Neplatné GUID produktu."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Neplatná přípona."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nové okno"
@@ -20403,6 +20834,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20530,7 +20965,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Vybrat vzdálenost:"
@@ -20581,7 +21017,7 @@ msgstr "Zvětšit"
msgid "Custom Viewport"
msgstr "1 výřez"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21340,11 +21776,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Upravit spojení:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Vazba"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Vybrat vzdálenost:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Vybrat vzdálenost:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Pokročilé"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Povolit"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21362,16 +21830,6 @@ msgstr "Převrátit horizontálně"
msgid "Max Speed"
msgstr "Rychlost:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Vybrat vzdálenost:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Povolit"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21397,24 +21855,26 @@ msgstr ""
"NavigationPolygon. Nastavte prosím vlastnost nebo nakreslete mnohoúhelník."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance musí být dítětem nebo vnoučetem uzlu Navigation2D. "
-"Poskytuje pouze data pro navigaci."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Uprostřed dole"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Cestovat"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Rotuji %s stupňů."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstantní"
@@ -22614,6 +23074,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformace zrušena."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22638,14 +23105,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance musí být dítětem nebo vnoučetem uzlu Navigation. "
-"Poskytuje pouze data pro navigaci."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23525,6 +23984,11 @@ msgstr ""
"Změňte velikost kolizních tvarů v uzlech potomků."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Zachovat globální transformaci"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24780,6 +25244,11 @@ msgstr "Složka:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Pouze výběr"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Povolit"
@@ -25185,18 +25654,6 @@ msgid "Viewport Path"
msgstr "Exportovat cestu"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Tento viewport není nastaven jako render target. Pokud chcete jeho obsah "
-"zobrazit přímo na obrazovku, musíte ho nastavit jako dítě uzlu Control, aby "
-"mohl získat velikost. Jinak ho nastavte jako render target a přiřaďte jeho "
-"vnitřní texturu nějakému uzlu k zobrazení."
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25205,6 +25662,15 @@ msgstr ""
"Velikost pohledu musí být větší než 0, aby bylo možné cokoliv renderovat."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25363,6 +25829,16 @@ msgid "3D Physics"
msgstr "Fyzikální snímek %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigace"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigace"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26790,7 +27266,7 @@ msgstr "Přechod: "
msgid "Refraction"
msgstr "Oddělení:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26875,7 +27351,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Škálování: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Nastavit typ proměnné"
#: scene/resources/navigation_mesh.cpp
@@ -26893,10 +27374,15 @@ msgid "Source Group Name"
msgstr "Zdroj"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Argumenty hlavní scény:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26906,11 +27392,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Oblast"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Sloučit ze scény"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26924,6 +27415,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Zobrazit výchozí"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Vybrat vzdálenost:"
@@ -26941,9 +27437,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Generování AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Offset(Posun):"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27359,6 +27865,11 @@ msgid "Scenario"
msgstr "Scéna"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigace"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27376,6 +27887,26 @@ msgstr "Levé lineární"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Výchozí"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Výchozí náhled"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testované"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Upravit spojení:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/da.po b/editor/translations/da.po
index 653fbd4ecc..1bb05be6f9 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -224,9 +224,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Eksporter Projekt"
@@ -339,7 +340,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ikke nok bytes til afkodning af bytes, eller ugyldigt format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Ugyldigt input %i (mislykket) i udtrykket"
#: core/math/expression.cpp
@@ -383,6 +385,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Skifter Modus"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Fjern Input"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -411,6 +423,11 @@ msgstr ""
msgid "Command"
msgstr "Fællesskab"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fysik Frame %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -469,6 +486,10 @@ msgid "Pressure"
msgstr "Forudindstillet..."
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -581,7 +602,8 @@ msgstr "Beskrivelse"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -670,6 +692,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Scene Sti:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -677,20 +704,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
+#: core/project_settings.cpp
#, fuzzy
-msgid "Version Control"
+msgid "Version Control Autoload On Startup"
msgstr "Versionskontrol"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Node Navn:"
+msgid "Version Control Plugin Name"
+msgstr "Versionskontrol"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -805,7 +827,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filter:"
@@ -1084,6 +1107,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Fri"
@@ -1100,7 +1124,7 @@ msgstr "Spejl"
msgid "Time:"
msgstr "Tid:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Værdi:"
@@ -1352,10 +1376,73 @@ msgid "Remove this track."
msgstr "Fjern spor."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Tid (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Position"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Konstant"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skalér:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Ugyldigt eksport skabelon:\n"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Advarsler:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Rediger Node Kurve"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Genstart:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Fade ind (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Tilføj animation"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Skift bane slået til"
@@ -1579,7 +1666,8 @@ msgid "Add Method Track Key"
msgstr "Kald metode spor"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metode ikke fundet i objekt: "
#: editor/animation_track_editor.cpp
@@ -2139,14 +2227,15 @@ msgstr "Favoritter:"
msgid "Recent:"
msgstr "Seneste:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Søgning:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Matches:"
@@ -2208,8 +2297,8 @@ msgstr "Søg Erstatnings Ressource:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2217,8 +2306,8 @@ msgid "Open"
msgstr "Åben"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Ejere af:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2532,7 +2621,7 @@ msgid "Bus Options"
msgstr "Bus muligheder"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikér"
@@ -2584,8 +2673,9 @@ msgstr "Åben Audio Bus Layout"
msgid "There is no '%s' file."
msgstr "Der er ingen '%s' fil."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Layout"
#: editor/editor_audio_buses.cpp
@@ -2801,6 +2891,25 @@ msgid "Choose"
msgstr "Vælg"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Fjern Markering"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pakke installeret med succes!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Fejlet:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Lagrings Fil:"
@@ -2813,6 +2922,31 @@ msgid "Packing"
msgstr "Pakker"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Gem som"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Kunne ikke oprette mappe."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Kunne ikke skrive til fil:\n"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Kan ikke åbne fil til skrivning:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Gem som"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2931,11 +3065,32 @@ msgstr "Brugerdefineret debug skabelonfil ikke fundet."
msgid "Custom release template not found."
msgstr "Brugerdefineret release skabelonfil ikke fundet."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Organiser Eksport Skabeloner"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Fil eksisterer ikke."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Skabelonfil ikke fundet:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Ugyldigt eksport skabelon:\n"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Den indlejrede PCK kan ikke overstige 4 GiB ved 32-bit eksport."
@@ -3124,9 +3279,9 @@ msgid "Import"
msgstr "Importer"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Eksport"
@@ -4305,15 +4460,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scene"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Scene Sti:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4442,6 +4588,11 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Versionskontrol"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Username"
msgstr "Omdøb"
@@ -4469,6 +4620,10 @@ msgstr "Skift distraktions-fri modus."
msgid "Add a new scene."
msgstr "Tilføj en ny scene."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scene"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Gå til den forrige åbnede scene."
@@ -5157,11 +5312,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
+msgstr "Skrifttype Størrelse:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5262,6 +5420,11 @@ msgstr ""
"Ingen kørbare eksport forudindstillinger fundet til denne platform.\n"
"Tilføj venligst en kørbar forudindstilling i eksportmenuen."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Skriv din logik i metoden _run ()."
@@ -5539,7 +5702,9 @@ msgid "Draw Spaces"
msgstr "Kald"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Rediger Poly"
@@ -5566,6 +5731,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap Slet Markerede"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6112,10 +6286,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Projekt Manager"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6915,16 +7091,6 @@ msgstr "Erstat Alle"
#: editor/find_in_files.cpp
#, fuzzy
-msgid "Find: "
-msgstr "Find"
-
-#: editor/find_in_files.cpp
-#, fuzzy
-msgid "Replace: "
-msgstr "Erstat"
-
-#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Erstat Alle"
@@ -7065,7 +7231,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filter:"
@@ -7328,7 +7494,8 @@ msgid "Generating Lightmaps"
msgstr "Generering af lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Generering til Mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7356,6 +7523,18 @@ msgid "Saving..."
msgstr "Gemmer..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8074,11 +8253,20 @@ msgid "New Anim"
msgstr "Ny Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Opret Ny Animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Ændre Animation Navn:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Omdøb animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Slet Animation?"
@@ -8098,11 +8286,6 @@ msgid "Animation name already exists!"
msgstr "FEJL: Animationsnavn eksisterer allerede!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Omdøb animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Lav en kopi af animation"
@@ -8201,11 +8384,13 @@ msgstr "Onion Skin Muligheder"
msgid "Directions"
msgstr "Retninger"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Past"
msgstr "Indsæt"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Fremtid"
@@ -8248,10 +8433,6 @@ msgid "Pin AnimationPlayer"
msgstr "Fastgør AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Opret Ny Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Animations Navn:"
@@ -8366,7 +8547,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Sæt slut animation. Dette er nyttigt ved under-overgange."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Overgang: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8383,11 +8565,6 @@ msgid "New name:"
msgstr "Nyt navn:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skalér:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade ind (s):"
@@ -9330,6 +9507,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "Spil Brugerdefineret Scene"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9394,6 +9572,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Layout"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10170,8 +10352,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Synlig Kollisionsformer"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10414,6 +10597,7 @@ msgid "Points"
msgstr "Fjern punkt"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Rediger Poly"
@@ -10572,13 +10756,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10587,11 +10764,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "Ressource"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11337,12 +11509,16 @@ msgstr ""
msgid "Translate"
msgstr "Oversætter: "
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Skalér:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Oversætter: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11366,12 +11542,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Skrifttype Størrelse:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11867,7 +12037,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "Konverter Til %s"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11901,15 +12071,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Tilføj Funktion"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11980,6 +12151,11 @@ msgid "New Animation"
msgstr "Ny Animation Navn:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filter mode:"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12926,8 +13102,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "Interpolationsmetode"
@@ -14448,20 +14623,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14470,14 +14640,6 @@ msgid "Exporting All"
msgstr "Eksporter"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export Path"
msgstr "Eksporter Projekt"
@@ -14582,21 +14744,28 @@ msgid "More Info..."
msgstr "Flyt Til..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Eksporter"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Eksporter Projekt"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export mode?"
-msgstr "Eksporter Projekt"
+msgid "Export All"
+msgstr "Eksporter"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "Vælg en Mappe"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Eksporter"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14604,14 +14773,20 @@ msgid "ZIP File"
msgstr "ZIP-Fil"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Eksporter Projekt"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projekt grundlæggere"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Organiser Eksport Skabeloner"
@@ -14901,15 +15076,15 @@ msgid "Project Manager"
msgstr "Projekt Manager"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Henter spejle, vent venligst ..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Eksporter Projekt"
@@ -16136,7 +16311,7 @@ msgstr ""
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Remote "
+msgid "Remote %s:"
msgstr "Fjern"
#: editor/script_editor_debugger.cpp
@@ -17010,7 +17185,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Rediger Poly"
@@ -17186,7 +17361,7 @@ msgid "Disabled GDNative Singleton"
msgstr "Slå Opdaterings Snurrer Fra"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17615,7 +17790,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17645,6 +17819,19 @@ msgstr "Vælg Node"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Rediger Poly"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Rediger Poly"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
msgid "Next Plane"
@@ -18070,7 +18257,8 @@ msgstr ""
"din node venligst."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Node returnerede en ugyldig sekvens output: "
#: modules/visual_script/visual_script.cpp
@@ -18078,7 +18266,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Fundet sekvens bit men ikke noden i stakken, reporter bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Stakoverløb med stak dybde: "
#: modules/visual_script/visual_script.cpp
@@ -18471,7 +18660,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Input type ikke iterabel: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18479,7 +18669,8 @@ msgid "Iterator became invalid"
msgstr "Iterator blev ugyldig"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterator blev ugyldig: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18646,11 +18837,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Ugyldigt argument af typen: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Ugyldige argumenter: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18663,11 +18856,13 @@ msgid "Var Name"
msgstr "Navn"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet blev ikke fundet i scriptet: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet blev ikke fundet i scriptet: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18987,6 +19182,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Indsæt Node"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18995,6 +19195,16 @@ msgstr ""
msgid "Export Format"
msgstr "Eksporter Projekt"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Skrifttype Størrelse:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Tidsskala Node"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -19033,16 +19243,6 @@ msgstr "Forrige fane"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Skrifttype Størrelse:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Tidsskala Node"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19211,10 +19411,6 @@ msgid "Could not execute on device."
msgstr "Kunne ikke oprette mappe."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19292,12 +19488,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19306,25 +19502,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signaler"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19344,6 +19564,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Kan ikke åbne skabelon til eksport:\n"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Kunne ikke starte underproces!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19374,7 +19599,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19385,20 +19610,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Kunne ikke skrive til fil:\n"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19411,7 +19635,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19427,7 +19651,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animations Længde (i sekunder)."
#: platform/android/export/export_plugin.cpp
@@ -19437,15 +19661,12 @@ msgstr "Forbinder..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "Kan ikke åbne skabelon til eksport:\n"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19457,7 +19678,7 @@ msgstr "Filtrer filer..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Kunne ikke skrive til fil:\n"
#: platform/android/export/export_plugin.cpp
@@ -19700,6 +19921,17 @@ msgstr "Indsæt Node"
msgid "Custom BG Color"
msgstr "Indsæt Node"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Organiser Eksport Skabeloner"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Brugerdefineret release skabelonfil ikke fundet."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19723,25 +19955,34 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr "Kan ikke åbne skabelon til eksport:\n"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr "Ugyldigt eksport skabelon:\n"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "Kunne ikke skrive til fil:\n"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Indhold:"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Kunne ikke skrive til fil:\n"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Tællinger:"
@@ -19817,17 +20058,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Kan ikke læse brugerdefineret HTML shell:\n"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Kunne ikke oprette mappe."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Error loading skrifttype."
#: platform/javascript/export/export.cpp
@@ -20124,9 +20365,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Kunne ikke skrive til fil:\n"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Kunne ikke starte underproces!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Rediger Poly"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20142,21 +20402,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Ikke fundet!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Fejl, kan ikke gemme TileSet!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Retninger"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Kunne ikke starte underproces!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Opretter Thumbnail"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Kan ikke åbne skabelon til eksport:\n"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Ugyldigt eksport skabelon:\n"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20164,7 +20479,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20206,6 +20521,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Kan ikke åbne skabelon til eksport:\n"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Navnet er ikke et gyldigt id:"
@@ -20520,6 +20845,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Kan ikke fjerne:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20566,6 +20896,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Konstant"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Kan ikke åbne skabelon til eksport:\n"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Kan ikke åbne skabelon til eksport:\n"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Du skal bruge en gyldig udvidelse."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Kan ikke åbne skabelon til eksport:\n"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Kan ikke åbne skabelon til eksport:\n"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Navnet er ikke et gyldigt id:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Ugyldigt navn."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Du skal bruge en gyldig udvidelse."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Kan ikke fjerne:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20587,6 +20981,23 @@ msgid "Invalid product version:"
msgstr "Ugyldig skriftstørrelse."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Du skal bruge en gyldig udvidelse."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -20602,6 +21013,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20726,7 +21141,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Instans"
@@ -20776,7 +21192,7 @@ msgstr "Zoom Ind"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21500,34 +21916,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Redigér Forbindelse:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Konstant"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Vælg en Main Scene"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Balanceret"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Aktivér"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Aktivér"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21553,23 +21991,25 @@ msgstr ""
"virke. Sæt venligst en egenskab eller tegn en polygon."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance skal være et barn eller barnebarn til en "
-"Navigation2D node. Det giver kun navigationsdata."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Vælg Node"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Rejse"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstant"
@@ -22710,6 +23150,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Opret Poly"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22733,14 +23180,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance skal være et barn eller barnebarn til en Navigation "
-"node. Det giver kun navigationsdata."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23594,6 +24033,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Anim Skift Transformering"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24798,6 +25242,11 @@ msgstr "Opret Mappe"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Kun Valgte"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Aktivér"
@@ -25193,20 +25642,17 @@ msgstr "Eksporter Projekt"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
-"Denne viewport er ikke angivet som render target. Hvis du har tænkt dig for "
-"at vise dens indhold direkte til skærmen, gør det til et barn af Control, så "
-"den kan opnå en størrelse. Ellers gør den til en RenderTarget og tildel dens "
-"indre textur til en node så den kan vises."
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25363,6 +25809,16 @@ msgid "3D Physics"
msgstr "Fysik Frame %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Rediger Poly"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Rediger Poly"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26762,7 +27218,7 @@ msgstr "Overgang: "
msgid "Refraction"
msgstr "Tællinger:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26843,7 +27299,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Skalér:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Sæt Variabel Type"
#: scene/resources/navigation_mesh.cpp
@@ -26860,10 +27321,15 @@ msgid "Source Group Name"
msgstr "Ressource"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Argumenter:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26872,11 +27338,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Interpolationsmetode"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26889,6 +27360,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Indlæs Default"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26905,9 +27381,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Fjern Template"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27310,6 +27795,11 @@ msgid "Scenario"
msgstr "Scene"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Rediger Poly"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27327,6 +27817,26 @@ msgstr "Lineær"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Standard"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Forhåndsvisning:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Tester"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Redigér Forbindelse:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/de.po b/editor/translations/de.po
index 130ea5ecf1..aa92914ada 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -68,7 +68,7 @@
# Daniel Plaster <danimineiromc@googlemail.com>, 2021.
# El Captian <elcaptian@posteo.me>, 2021.
# Ron Eric Hackländer <mail@roneric.net>, 2021.
-# Stephan Kerbl <stephankerbl@gmail.com>, 2021.
+# Stephan Kerbl <stephankerbl@gmail.com>, 2021, 2022.
# Philipp Wabnitz <philipp.wabnitz@s2011.tu-chemnitz.de>, 2021.
# jmih03 <joerni@mail.de>, 2021.
# Dominik Moos <dominik.moos@protonmail.com>, 2021.
@@ -81,13 +81,15 @@
# ARez <dark.gaming@fantasymail.de>, 2022.
# Christian Packenius <christian@packenius.com>, 2022.
# Sajeg <jfx@posteo.de>, 2022.
+# Tobias Jacobs <tobi@jacobs.rocks>, 2022.
+# JeremyStarTM <jeremystartm@tuta.io>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-17 17:18+0000\n"
-"Last-Translator: Sajeg <jfx@posteo.de>\n"
+"PO-Revision-Date: 2022-07-31 18:34+0000\n"
+"Last-Translator: JeremyStarTM <jeremystartm@tuta.io>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -95,7 +97,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -279,9 +281,10 @@ msgid "Data"
msgstr "Daten"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Netzwerk"
@@ -385,8 +388,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nicht genügend Bytes zur Dekodierung oder ungültiges Format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Ungültige Eingabe %i (nicht übergeben) im Ausdruck"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Ungültige Eingabe %d (nicht übergeben) im Ausdruck"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -430,6 +433,14 @@ msgstr "Nachrichtenwarteschlange"
msgid "Max Size (KB)"
msgstr "Maximalgröße (KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Mausmodus"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Kumulierte Eingabe verwenden"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -455,6 +466,10 @@ msgstr "Meta"
msgid "Command"
msgstr "Befehl"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "Physisch"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -506,6 +521,10 @@ msgid "Pressure"
msgstr "Druck"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "Stift invertiert"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relativ"
@@ -609,7 +628,8 @@ msgstr "Beschreibung"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Ausführen"
@@ -692,6 +712,10 @@ msgid "Main Run Args"
msgstr "Laufzeitargumente für Main"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Szenenbenennung"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "In Dateierweiterungen suchen"
@@ -699,18 +723,13 @@ msgstr "In Dateierweiterungen suchen"
msgid "Script Templates Search Path"
msgstr "Suchpfad für Skriptvorlagen"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Versionsverwaltung"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "Autoladen beim Start"
+msgid "Version Control Autoload On Startup"
+msgstr "Automatisches Laden der Versionskontrolle beim Start"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Pluginname"
+msgid "Version Control Plugin Name"
+msgstr "Name des Plugins zur Versionskontrolle"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -817,7 +836,8 @@ msgid "Quality"
msgstr "Qualität"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filter"
@@ -1084,6 +1104,7 @@ msgstr "Hohe Qualität"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Blend-Shape Maximale Puffergröße (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Kostenlos"
@@ -1100,7 +1121,7 @@ msgstr "Gespiegelt"
msgid "Time:"
msgstr "Zeit:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Wert:"
@@ -1182,9 +1203,8 @@ msgid "Value"
msgstr "Wert"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Anzahl"
+msgstr "Anzahl der Argumente"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -1199,14 +1219,12 @@ msgid "Type"
msgstr "Art"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Wähle Griff"
+msgstr "Eingehender Handle"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Wähle Griff"
+msgstr "Ausgehender Handle"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1216,14 +1234,12 @@ msgid "Stream"
msgstr "Stream"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Port-Versatz"
+msgstr "Startversatz"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "H Versatz"
+msgstr "Endeversatz"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1236,7 +1252,6 @@ msgid "Animation"
msgstr "Animation"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
msgstr "Glätten Ein-Aus"
@@ -1347,8 +1362,62 @@ msgid "Remove this track."
msgstr "Diese Spur entfernen."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Zeit (s): "
+msgid "Time (s):"
+msgstr "Zeit (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Position:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotation:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skalierung:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Typ:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Ungültig, erwarteter Typ: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Glätten:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "Eingehender Handle:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Ausgehender Handle:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Stream:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Start (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Ende (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Animations-Clip:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1563,8 +1632,8 @@ msgid "Add Method Track Key"
msgstr "Methodenaufrufsspurschlüssel hinzufügen"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Methode nicht im Objekt gefunden: "
+msgid "Method not found in object:"
+msgstr "Methode im Objekt nicht gefunden:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2100,14 +2169,15 @@ msgstr "Favoriten:"
msgid "Recent:"
msgstr "Kürzlich:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Suche:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Treffer:"
@@ -2167,8 +2237,8 @@ msgstr "Ersatzressource suchen:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2176,8 +2246,8 @@ msgid "Open"
msgstr "Öffnen"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Besitzer von:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Besitzer von: %s (Insgesamt: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2478,14 +2548,14 @@ msgstr "Stummschalten"
#: editor/editor_audio_buses.cpp
msgid "Bypass"
-msgstr "Überbrückung"
+msgstr "Bypass"
#: editor/editor_audio_buses.cpp
msgid "Bus Options"
msgstr "Audiobusoptionen"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplizieren"
@@ -2537,9 +2607,9 @@ msgstr "Öffne Audiobus-Layout"
msgid "There is no '%s' file."
msgstr "Datei ‚%s‘ existiert nicht."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Layout:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2741,6 +2811,23 @@ msgid "Choose"
msgstr "Wählen"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Projektexport für Plattform:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Fertiggestellt mit Fehlern."
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Erfolgreich fertiggestellt."
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "Fehlgeschlagen."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Speichere Datei:"
@@ -2753,6 +2840,26 @@ msgid "Packing"
msgstr "Packe"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "PCK speichern"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "Datei „%s“ konnte nicht erstellt werden."
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "Projektdateien konnten nicht exportiert werden."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Datei im Pfad „%s“kann nicht zum Lesen geöffnet werden."
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr "ZIP speichern"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2870,9 +2977,26 @@ msgstr "Selbst konfigurierte Debug-Exportvorlage nicht gefunden."
msgid "Custom release template not found."
msgstr "Selbst konfigurierte Release-Exportvorlage nicht gefunden."
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr "Vorlage vorbereiten"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "Der angegebene Export-Pfad existiert nicht."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "Vorlagendatei nicht gefunden:"
+msgid "Template file not found: \"%s\"."
+msgstr "Vorlagendatei nicht gefunden: „%s“."
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "Fehler beim Kopieren der Exportvorlage."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "PCK-Einbettung"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3054,9 +3178,9 @@ msgid "Import"
msgstr "Importieren"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportieren"
@@ -4219,14 +4343,6 @@ msgstr ""
"In Datei ‚%s‘ kann nicht geschrieben werden. Die Datei wird bereits "
"verwendet, sie ist gesperrt, oder es ist keine Schreibberechtigung vorhanden."
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Szene"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Szenenbenennung"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4341,6 +4457,10 @@ msgid "Default Color Picker Mode"
msgstr "Standard Farbwahlmodus"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Versionsverwaltung"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Nutzername"
@@ -4368,6 +4488,10 @@ msgstr "Ablenkungsfreien Modus umschalten."
msgid "Add a new scene."
msgstr "Eine neue Szene hinzufügen."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Szene"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Gehe zu vorher geöffneter Szene."
@@ -5056,12 +5180,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Ausgewähltes Node ist kein Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Größe: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Größe:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Seite: "
+msgid "Page:"
+msgstr "Seite:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5156,6 +5282,10 @@ msgstr ""
"Keine ausführbare Exportvorlage für diese Plattform gefunden.\n"
"Im Exportmenü kann eine Vorlage als ausführbar erstellt oder markiert werden."
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr "Projektdurchlauf"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Spiellogik sollte mit der _run()-Methode beginnen."
@@ -5409,7 +5539,9 @@ msgid "Draw Spaces"
msgstr "Leerzeichen anzeigen"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigation"
@@ -5434,6 +5566,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Extramaustasten blättern durch Verlauf"
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr "Auswahl ziehen und fallen lassen"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr "Im Skript Editor bei ausgewähltem Node bleiben"
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Aussehen"
@@ -5941,10 +6081,12 @@ msgstr "Hostname"
msgid "Port"
msgstr "Port"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Projektverwaltung"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Sortierreihenfolge"
@@ -6102,9 +6244,8 @@ msgid "Flat"
msgstr "Flach"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "Schieber"
+msgstr "Regler ausblenden"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6696,14 +6837,6 @@ msgid "Replace in Files"
msgstr "In Dateien ersetzen"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Suche: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Ersetzen: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Alle ersetzen (KEIN RÜCKGÄNGIG MACHEN)"
@@ -6819,7 +6952,7 @@ msgstr "Kein BPTC falls RGB"
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
msgid "Flags"
-msgstr "Flags"
+msgstr "Kennzeichnungen"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
@@ -6829,7 +6962,7 @@ msgstr "Wiederholen"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Filter"
@@ -7063,8 +7196,8 @@ msgid "Generating Lightmaps"
msgstr "Generiere Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Generierung für Mesh: "
+msgid "Generating for Mesh:"
+msgstr "Generierung für Mesh:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7093,6 +7226,23 @@ msgid "Saving..."
msgstr "Speichere..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+"%s: Verwendung der Textur als Normalen-Map in 3D festgestellt. Rot-Grün-"
+"Texturkompression wurde aktiviert um Speicherverbrauch zu reduzieren (der "
+"blaue Kanal wird verworfen)."
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+"%s: Verwendung der Textur in 3D festgestellt. Filter, Wiederholung, Mipmap-"
+"Erzeugung und VRAM-Texturkompression wurden aktiviert."
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr "2D, 3D erkennen"
@@ -7771,11 +7921,20 @@ msgid "New Anim"
msgstr "Neue Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Neue Animation erstellen"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Animationsname ändern:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Animation umbenennen"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animation löschen?"
@@ -7793,11 +7952,6 @@ msgid "Animation name already exists!"
msgstr "Animationsname existiert bereits!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Animation umbenennen"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Animation duplizieren"
@@ -7860,7 +8014,7 @@ msgstr "Animationswerkzeuge"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
-msgstr "Neu"
+msgstr "Erstelle"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Paste As Reference"
@@ -7894,10 +8048,12 @@ msgstr "Zwiebelhaut-Einstellungen"
msgid "Directions"
msgstr "Richtungen"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Vergangenheit"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Zukunft"
@@ -7938,10 +8094,6 @@ msgid "Pin AnimationPlayer"
msgstr "Animationsspieler anheften"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Neue Animation erstellen"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Animationsname:"
@@ -8057,8 +8209,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "End-Animation festlegen. Hilfreich bei Sub-Transitionen."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Übergang: "
+msgid "Transition:"
+msgstr "Übergang:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8074,11 +8226,6 @@ msgid "New name:"
msgstr "Neuer Name:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skalierung:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Einblenden (s):"
@@ -8990,6 +9137,7 @@ msgstr "Erstelle eigenständige(n) Knochen aus Node(s)"
msgid "Clear Custom Bones"
msgstr "Spezielle Knochen löschen"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9053,6 +9201,10 @@ msgid "Preview Canvas Scale"
msgstr "Vorschau Canvas-Skalierung"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Layout"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Verschiebungsmaske für Schlüsselbildeingabe."
@@ -9285,7 +9437,7 @@ msgstr "Flach 0"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 1"
-msgstr "Flach 1"
+msgstr "Ebene 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -9383,9 +9535,8 @@ msgid "Icon"
msgstr "Symbol"
#: editor/plugins/item_list_editor_plugin.cpp
-#, fuzzy
msgid "ID"
-msgstr "IOD"
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -9827,8 +9978,8 @@ msgid "Volume"
msgstr "Volumen"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Emissionsquelle: "
+msgid "Emission Source:"
+msgstr "Emissionsquelle:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10062,6 +10213,7 @@ msgid "Points"
msgstr "Punkte"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polygone"
@@ -10183,9 +10335,8 @@ msgid "Sync Bones to Polygon"
msgstr "Knochen mit Polygon synchronisieren"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
-#, fuzzy
msgid "Set cast_to"
-msgstr "Setzte cast_to"
+msgstr "cast_to festlegen"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -10218,13 +10369,6 @@ msgid "Instance:"
msgstr "Instanz:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Typ:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Im Editor öffnen"
@@ -10233,10 +10377,6 @@ msgstr "Im Editor öffnen"
msgid "Load Resource"
msgstr "Ressource laden"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Ressourcen-Vorlader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Portale umdrehen"
@@ -10933,13 +11073,15 @@ msgstr "Rotierung"
msgid "Translate"
msgstr "Verschiebung"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Skalierung: "
+msgid "Scaling:"
+msgstr "Skalierung:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Verschiebe: "
+msgid "Translating:"
+msgstr "Verschiebung:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10962,11 +11104,6 @@ msgid "Yaw:"
msgstr "Gierung:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Größe:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Gezeichnete Objekte:"
@@ -11458,8 +11595,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Ungültige Geometrie, Mesh kann nicht ersetzt werden."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr "Zu Mesh2D umwandeln"
+msgid "Convert to MeshInstance2D"
+msgstr "Zu MeshInstance2D umwandeln"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11490,16 +11627,16 @@ msgid "Sprite"
msgstr "Bild"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Vereinfachung: "
+msgid "Simplification:"
+msgstr "Vereinfachung:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Schrumpfen (Pixel): "
+msgid "Shrink (Pixels):"
+msgstr "Schrumpfen (Pixel):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Wachsen (Pixel): "
+msgid "Grow (Pixels):"
+msgstr "Wachsen (Pixel):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11562,6 +11699,10 @@ msgid "New Animation"
msgstr "Neue Animation"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Filter animations"
+msgstr "Animationen filtern"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Geschwindigkeit:"
@@ -12442,8 +12583,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Die vorherige Form oder (Unter-)Kachel auswählen."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Bereich"
@@ -12736,7 +12876,6 @@ msgid "This property can't be changed."
msgstr "Diese Eigenschaft kann nicht geändert werden."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "Einrasteinstellungen"
@@ -12765,9 +12904,8 @@ msgid "Separation"
msgstr "Trennung"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Ausgewählt"
+msgstr "Ausgewählte Kachel"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12780,9 +12918,8 @@ msgid "Texture"
msgstr "Textur"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "Titelversatz"
+msgstr "Textur Offset"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12796,74 +12933,60 @@ msgid "Modulate"
msgstr "Modulierung"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Modus umschalten"
+msgstr "Kachelmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "Bitmaskenmodus"
+msgstr "Autotile-Bitmask-Modus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "Umrissgröße"
+msgstr "Subkachelgröße"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "Zeilenzwischenraum"
+msgstr "Subkachelabstand"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "Occluder-Loch"
+msgstr "Verdeckungsversatz"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "Navigationsgefühl"
+msgstr "Steuerungsversatz"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Grundversatz"
+msgstr "Formabstand"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Transformation"
+msgstr "Form-Transform"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "Kollisionen verwenden"
+msgstr "Ausgewählte Kollision"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "Nur Auswahl"
+msgstr "Ausgewählte Kollision nur in eine Richtung"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "BVH-Kollisionsspielraum"
+msgstr "Ausgewählter einseitiger Kollisionsabstand"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "Navigation sichtbar"
+msgstr "Ausgewählte Steuerung"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "Ausgewählt Fokus"
+msgstr "Ausgewählte Verdeckung"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Skript filtern"
+msgstr "Tileset-Skript"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -13953,40 +14076,24 @@ msgid "Runnable"
msgstr "Soforteinsatz"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Vorlage ‚%s‘ löschen?"
+msgid "Export the project for all the presets defined."
+msgstr "Dieses Projekt durch alle festgelegten Exportvorlagen exportieren."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Export des Projekts für die Plattform ‚%s‘ fehlgeschlagen.\n"
-"Exportvorlagen scheinen zu fehlen oder ungültig zu sein."
+"Alle Exportvorlagen müssen einen Export-Pfad festlegen damit „Alle "
+"exportieren“ funktioniert."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Export des Projekts für die Plattform ‚%s‘ fehlgeschlagen.\n"
-"Es könnte an einen fehlerhaften Einstellung in den Voreinstellungen oder den "
-"individuellen Exporteinstellugen liegen."
+msgid "Delete preset '%s'?"
+msgstr "Vorlage ‚%s‘ löschen?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Exportiere alles"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Der angegebene Export-Pfad existiert nicht:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Export-Vorlagen für dieses Systeme fehlen / sind fehlerhaft:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Exportpfad"
@@ -14097,34 +14204,42 @@ msgid "More Info..."
msgstr "Mehr Infos…"
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "Exportiere PCK/Zip"
+msgid "Export PCK/Zip..."
+msgstr "PCK/Zip exportieren…"
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "Projekt exportieren"
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Export-Modus?"
+msgid "Export Project..."
+msgstr "Projekt exportieren…"
#: editor/project_export.cpp
msgid "Export All"
msgstr "Alles exportieren"
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr "Export-Modus auswählen:"
+
+#: editor/project_export.cpp
+msgid "Export All..."
+msgstr "Alle exportieren…"
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "ZIP-Datei"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr "Godot-Game-Pack"
+msgid "Godot Project Pack"
+msgstr "Godot-Projekt-Pack"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "Export-Templates für diese Systeme fehlen:"
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr "Projektexport"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Verwalte Exportvorlagen"
@@ -14442,14 +14557,14 @@ msgid "Project Manager"
msgstr "Projektverwaltung"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Projekte werden geladen, bitte warten..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Zuletzt bearbeitet"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Projekte werden geladen, bitte warten..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Projekt bearbeiten"
@@ -15251,12 +15366,11 @@ msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Enable Scene Unique Name"
-msgstr "Einzigartigen Namen der Szene aktivieren"
+msgstr "Szenen-eindeutigen Namen aktivieren"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "Szene eindeutiger Name deaktivieren"
+msgstr "Szenen-eindeutigen Namen deaktivieren"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15331,9 +15445,8 @@ msgid "Sub-Resources"
msgstr "Unter-Ressourcen"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Access as Scene Unique Name"
-msgstr "Zugrif als einzigartige Szene"
+msgstr "Über Szenen-eindeutigen Namen zugreifen"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15469,6 +15582,9 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"Dieses Node kann an jeder beliebigen Stelle der Szene, unter der Verwendung "
+"des Präfix ‚%s‘ im Node-Pfad, aufgerufen werden.\n"
+"Zum deaktivieren, hier klicken."
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15680,8 +15796,8 @@ msgid "Attach Node Script"
msgstr "Node-Skript hinzufügen"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Fern "
+msgid "Remote %s:"
+msgstr "Fern %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16223,9 +16339,8 @@ msgid "Physics Interpolation"
msgstr "Physikinterpolation"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "Filtern aktivieren"
+msgstr "Warnhinweise aktivieren"
#: main/main.cpp
msgid "Frame Delay Msec"
@@ -16497,7 +16612,7 @@ msgstr "Ringseiten"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr "Polygon"
@@ -16657,8 +16772,8 @@ msgid "Disabled GDNative Singleton"
msgstr "GDNative Singleton wurde deaktiviert"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Bibliotheken: "
+msgid "Libraries:"
+msgstr "Bibliotheken:"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
@@ -17053,7 +17168,6 @@ msgid "Use In Baked Light"
msgstr "In Baked-Light verwenden"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr "Zelle"
@@ -17079,6 +17193,17 @@ msgstr "Z zentrieren"
msgid "Mask"
msgstr "Maske"
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+msgid "Bake Navigation"
+msgstr "Navigation backen"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "Navigation Layers"
+msgstr "Navigationsschichten"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Nächste Ebene"
@@ -17482,8 +17607,8 @@ msgstr ""
"sein! Bitte entsprechendes Node anpassen."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "Node gab ungültige Sequenzausgabe zurück: "
+msgid "Node returned an invalid sequence output:"
+msgstr "Node gab ungültige Sequenzausgabe zurück:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
@@ -17492,8 +17617,8 @@ msgstr ""
"melden Sie den Bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "Stack-Overflow mit Stack-Tiefe: "
+msgid "Stack overflow with stack depth:"
+msgstr "Stack-Overflow mit Stack-Tiefe:"
#: modules/visual_script/visual_script.cpp
msgid "Visual Script"
@@ -17862,16 +17987,16 @@ msgid "for (elem) in (input):"
msgstr "for (Element) in (Eingabe):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "Eingabetyp nicht wiederholbar: "
+msgid "Input type not iterable:"
+msgstr "Eingabetyp nicht iterierbar:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "Iterator wurde ungültig"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "Iterator wurde ungültig: "
+msgid "Iterator became invalid:"
+msgstr "Iterator wurde ungültig:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18001,7 +18126,6 @@ msgid "Base object is not a Node!"
msgstr "Basis-Objekt ist kein Node!"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Path does not lead to Node!"
msgstr "Pfad führt nicht zu einem Node!"
@@ -18023,12 +18147,12 @@ msgid "Operator"
msgstr "Operator"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": Ungültiger Parameter vom Typ: "
+msgid "Invalid argument of type:"
+msgstr "Ungültiges Argument vom Typ:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": Ungültige Parameter: "
+msgid "Invalid arguments:"
+msgstr "Ungültige Parameter:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18039,12 +18163,12 @@ msgid "Var Name"
msgstr "Variablenname"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "VariableGet nicht im Skript gefunden: "
+msgid "VariableGet not found in script:"
+msgstr "VariableGet nicht im Skript gefunden:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "VariableSet nicht im Skript gefunden: "
+msgid "VariableSet not found in script:"
+msgstr "VariableSet nicht im Skript gefunden:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18298,20 +18422,19 @@ msgstr "ADB beim Beenden herunterfahren"
#: platform/android/export/export_plugin.cpp
msgid "Launcher Icons"
-msgstr ""
+msgstr "Start Icon"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Main 192 X 192"
-msgstr "iPhone 120 X 120"
+msgstr "Haupticon 192 x 192"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Foreground 432 X 432"
-msgstr ""
+msgstr "Angepasster Vordergrund 432 x 432"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Background 432 X 432"
-msgstr ""
+msgstr "Angepasster Hintergrund 432 x 432"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -18339,6 +18462,10 @@ msgid "The package must have at least one '.' separator."
msgstr "Das Paket muss mindestens einen Punkt-Unterteiler ‚.‘ haben."
#: platform/android/export/export_plugin.cpp
+msgid "Custom Build"
+msgstr "Eigener Build"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr "Einen Build verwenden"
@@ -18346,10 +18473,17 @@ msgstr "Einen Build verwenden"
msgid "Export Format"
msgstr "Exportformat"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "Min SDK"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "Ziel SDK"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#, fuzzy
msgid "Architectures"
-msgstr "Architektur"
+msgstr "Architekturen"
#: platform/android/export/export_plugin.cpp
msgid "Keystore"
@@ -18383,14 +18517,6 @@ msgstr "Vorherige Installation löschen"
msgid "Code"
msgstr "Code"
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr "Min SDK"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr "Ziel SDK"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr "Packet"
@@ -18532,10 +18658,6 @@ msgid "Could not execute on device."
msgstr "Ließ sich nicht auf Gerät ausführen."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Das ‚apksigner‘-Hilfswerkzeug konnte nicht gefunden werden."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18634,16 +18756,16 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
-"„Hand Tracking“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile VrApi“ "
-"oder „OpenXR“ gesetzt wurde."
+"„Hand Tracking“ ist nur gültig wenn „XR Mode“ als „Oculus Mobile VrApi“ oder "
+"„OpenXR“ gesetzt wurde."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
-"„Passthrough“ ist nur gültig wenn „Xr Mode“ als „OpenXR“ gesetzt wurde."
+"„Passthrough“ ist nur gültig wenn „XR Mode“ als „OpenXR“ gesetzt wurde."
#: platform/android/export/export_plugin.cpp
msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
@@ -18651,34 +18773,64 @@ msgstr "„Export AAB“ ist nur gültig wenn „Use Custom Build“ aktiviert i
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+"Das „Min SDK“ zu überschreiben ist nur möglich wenn „Use Custom Build“ "
+"aktiviert ist."
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+"„Min SDK“ sollte eine gültige Ganzzahl sein, war aber „%s“, was ungültig ist."
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+"„Min SDK“ kann nicht niedriger als %d sein, der Version, die die Godot-"
+"Bibliothek benötigt."
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"Das „Min Sdk“ zu ändern ist nur möglich wenn „Use Custom Build“ aktiviert "
+"„Target SDK“ kann nur überschrieben werden wenn „Use Custom Build“ aktiviert "
"ist."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
-"Das „Target Sdk“ zu ändern ist nur möglich wenn „Use Custom Build“ aktiviert "
+"„Taret SDK“ sollte eine gültige Ganzzahl sein, war aber „%s“, was ungültig "
"ist."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+"„Target SDK“ %d ist höher als die Standardversion %d. Diese Kombination "
+"könnte funktionieren, wurde aber nicht getestet und könnte gegebenenfalls "
+"instabil sein."
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
-"Die Version des „Target Sdk“ muss größer gleich der des „Min Sdk“ sein."
+"Die „Target SDK“-Version muss größer gleich der „Min SDK“-Version sein."
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr "Code-Signieren"
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"‚apksigner‘ konnte nicht gefunden werden.\n"
-"Ist das Programm im Android SDK build-tools-Verzeichnis vorhanden?\n"
-"Das resultierende %s ist nicht signiert."
+"‚apksigner‘ konnte nicht gefunden werden. Ist die Anwendung im Android-SDK "
+"build-tools-Verzeichnis vorhanden? Das resultierende %s ist nicht signiert."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -18693,6 +18845,10 @@ msgid "Could not find keystore, unable to export."
msgstr "Keystore konnte nicht gefunden werden, Export fehlgeschlagen."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "Apksigner-Anwendung konnte nicht gestartet werden."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "‚apksigner‘ gab Fehlercode #%d zurück"
@@ -18724,8 +18880,8 @@ msgstr ""
"Ungültiger Dateiname. Android APKs benötigen .apk als Dateinamenendung."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Nicht unterstütztes Exportformat!\n"
+msgid "Unsupported export format!"
+msgstr "Nicht unterstütztes Exportformat!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -18738,26 +18894,23 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Android-Build-Versionsinkompatibilität:\n"
-" Installierte Vorlage: %s\n"
-" Godot-Version: %s\n"
-"Bitte Android-Build-Vorlage im ‚Projekt‘-Menü neu installieren."
+"Android-Build-Versionsinkompatibilität: Installierte Vorlage: %s, Godot-"
+"Version: %s. Bitte Android-Build-Vorlage über das ‚Projekt‘-Menü neu "
+"installieren."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
-"Kann res://android/build/res/*.xml Dateien nicht mit Projektnamen "
-"überschreiben"
+"res://android/build/res/*.xml-Dateien können nicht mit Projektnamen "
+"überschrieben werden."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "Konnte Projektdateien nicht als Gradle-Projekt exportieren\n"
+msgid "Could not export project files to gradle project."
+msgstr "Projektdateien konnten nicht als Gradle-Projekt exportiert werden."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18769,13 +18922,12 @@ msgstr "Baue Android-Projekt (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Bauen des Android-Projekts fehlgeschlagen, Fehlerdetails befinden ich in der "
-"Textausgabe.\n"
-"Alternativ befindet sich die Android-Build-Dokumentation auf docs."
-"godotengine.org."
+"Textausgabe. Alternativ befindet sich die Android-Build-Dokumentation auf "
+"docs.godotengine.org."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -18790,31 +18942,25 @@ msgstr ""
"im Gradle Projektverzeichnis erscheinen."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr "Paket nicht gefunden: %s"
+msgid "Package not found: \"%s\"."
+msgstr "Paket nicht gefunden: „%s“."
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "Erzeuge APK…"
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"Konnte keine APK-Vorlage zum Exportieren finden:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Keine APK-Vorlage zum Exportieren gefunden: „%s“."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
"Fehlende Bibliotheken in Exportvorlage für die ausgewählten Architekturen: "
-"%s.\n"
-"Es muss entweder eine Exportvorlage mit den allen benötigten Bibliotheken "
+"%s. Es muss entweder eine Exportvorlage mit allen benötigten Bibliotheken "
"gebaut werden oder die angegebenen Architekturen müssen abgewählt werden."
#: platform/android/export/export_plugin.cpp
@@ -18822,8 +18968,8 @@ msgid "Adding files..."
msgstr "Füge Dateien hinzu…"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr "Projektdateien konnten nicht exportiert werden"
+msgid "Could not export project files."
+msgstr "Projektdateien konnten nicht exportiert werden."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -18842,68 +18988,56 @@ msgid "The character '%s' is not allowed in Identifier."
msgstr "Das Zeichen ‚%s‘ ist in Bezeichnern nicht gestattet."
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Landscape Launch Screens"
-msgstr "Startbildschirm Storyboard verwenden"
+msgstr "Startbildschirm im Landscape Modus"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 2436 X 1125"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 2436 x 1125"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 2208 X 1242"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 2208 x 1242"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 1024 X 768"
-msgstr "iPad 76 X 76"
+msgstr "iPad 1024 x 768"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 2048 X 1536"
-msgstr "iPad 152 X 152"
+msgstr "iPad 2048 x 1536"
#: platform/iphone/export/export.cpp
msgid "Portrait Launch Screens"
-msgstr ""
+msgstr "Startbildschirm im Portrait Modus"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 640 X 960"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 640 x 960"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 640 X 1136"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 640 x 1136"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 750 X 1334"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 750 x 1334"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 1125 X 2436"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 1125 x 2436"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 768 X 1024"
-msgstr "iPad 76 X 76"
+msgstr "iPad 768 x 1024"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 1536 X 2048"
-msgstr "iPad 152 X 152"
+msgstr "iPad 1536 x 2048"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 1242 X 2208"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 1242 x 2208"
#: platform/iphone/export/export.cpp
msgid "App Store Team ID"
@@ -19000,35 +19134,35 @@ msgstr "Fotobibliotheknutzungsrechtfertigung"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
-msgstr "iPhone 120 X 120"
+msgstr "iPhone 120 x 120"
#: platform/iphone/export/export.cpp
msgid "iPhone 180 X 180"
-msgstr "iPhone 180 X 180"
+msgstr "iPhone 180 x 180"
#: platform/iphone/export/export.cpp
msgid "iPad 76 X 76"
-msgstr "iPad 76 X 76"
+msgstr "iPad 76 x 76"
#: platform/iphone/export/export.cpp
msgid "iPad 152 X 152"
-msgstr "iPad 152 X 152"
+msgstr "iPad 152 x 152"
#: platform/iphone/export/export.cpp
msgid "iPad 167 X 167"
-msgstr "iPad 167 X 167"
+msgstr "iPad 167 x 167"
#: platform/iphone/export/export.cpp
msgid "App Store 1024 X 1024"
-msgstr "App Store 1024 X 1024"
+msgstr "App Store 1024 x 1024"
#: platform/iphone/export/export.cpp
msgid "Spotlight 40 X 40"
-msgstr "Spotlight 40 X 40"
+msgstr "Spotlight 40 x 40"
#: platform/iphone/export/export.cpp
msgid "Spotlight 80 X 80"
-msgstr "Spotlight 80 X 80"
+msgstr "Spotlight 80 x 80"
#: platform/iphone/export/export.cpp
msgid "Storyboard"
@@ -19058,6 +19192,15 @@ msgstr "Eigene Hintergrundfarbe verwenden"
msgid "Custom BG Color"
msgstr "Eigene Hintergrundfarbe"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr "Vorlagen vorbereiten"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr "Exportvorlage wurde nicht gefunden."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19080,20 +19223,28 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Führe exportiertes HTML im Standard-Browser des Betriebssystems aus."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr "Konnte Vorlage nicht zum Export öffnen:"
+msgid "Could not open template for export: \"%s\"."
+msgstr "Vorlage zum Export konnte nicht geöffnet werden: „%s“."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr "Ungültige Exportvorlage:"
+msgid "Invalid export template: \"%s\"."
+msgstr "Ungültige Exportvorlage: „%s“."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr "Konnte Datei nicht schreiben:"
+msgid "Could not write file: \"%s\"."
+msgstr "Datei konnte nicht geschrieben werden: „%s“."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+msgid "Icon Creation"
+msgstr "Symbolbilderzeugung"
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr "Konnte Datei nicht lesen:"
+msgid "Could not read file: \"%s\"."
+msgstr "Datei konnte nicht gelesen werden: „%s“."
+
+#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr "PWA"
#: platform/javascript/export/export.cpp
msgid "Variant"
@@ -19164,16 +19315,16 @@ msgid "Icon 512 X 512"
msgstr "Symbol 512 X 512"
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr "Konnte HTML-Shell nicht lesen:"
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "HTML-Shell konnte nicht gelesen werden „%s“."
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr "Konnte HTTP-Server-Verzeichnis nicht erstellen:"
+msgid "Could not create HTTP server directory: %s."
+msgstr "HTTP-Server-Verzeichnis konnte nicht erstellt werden: %s."
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr "Fehler beim Starten des HTTP-Servers:"
+msgid "Error starting HTTP server: %d."
+msgstr "Fehler beim Starten des HTTP-Servers: %d."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19437,12 +19588,28 @@ msgid "Apple Team ID"
msgstr "Apple-Team-ID"
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr "Symbolbilddatei „%s“ konnte nicht geöffnet werden."
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "Xcrun-Anwendung konnte nicht gestartet werden."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr "Beglaubigung fehlgeschlagen."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr "Beglaubigungsanfrage-UUID: „%s“"
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
-"Hinweis: Der Beglaubigungsprozess dauert gewöhnlich weniger als eine Stunde. "
-"Nach Ablauf wird eine Bestätigungsmail versandt."
+"Der Beglaubigungsprozess dauert gewöhnlich weniger als eine Stunde. Nach "
+"Ablauf wird eine Bestätigungsmail versandt."
#: platform/osx/export/export.cpp
msgid ""
@@ -19461,16 +19628,75 @@ msgstr ""
"Anwendung geheftet werden (optional):"
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Zeitstempel sind nicht mit Ad-hoc-Signaturen kompatibel, und wurden "
+"deaktiviert!"
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Die abgehärtete Laufzeitumgebung ist nicht mit Ad-hoc-Signaturen kompatibel, "
+"und wurde deaktiviert!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr "Eingebettetes CodeSign fehlgeschlagen mit Fehler „%s“."
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr "Eingebettetes CodeSign benötigt Regex-Modul."
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+"Codesign-Anwendung konnte nicht gestartet werden, stelle sicher dass die "
+"Xcode-Kommandozeilen-Tools installiert sind."
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Keine Identität gefunden."
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr "Datei %s konnte nicht signiert werden."
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Relative symbolische Links werden nicht unterstützt, exportiertes „%s“ "
+"könnte fehlerhaft sein!"
+
+#: platform/osx/export/export.cpp
+msgid "DMG Creation"
+msgstr "DMG-Erzeugung"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "Hdiutil-Anwendung konnte nicht gestartet werden."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr "„hdiutil create“ ist fehlgeschlagen - Datei existiert bereits."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr "„hdiutil create“ ist fehlgeschlagen."
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Erzeuge App-Bundle"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr "Es konnte keine Vorlagen-App zum Exportieren gefunden werden:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Es konnte keine Vorlagen-App zum Exportieren gefunden werden: „%s“."
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
+msgstr "Ungültiges Exportformat."
#: platform/osx/export/export.cpp
msgid ""
@@ -19482,10 +19708,10 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
-"Benötigte Vorlagen-Binary ‚%s‘ nicht gefunden. Es könnte im Vorlagen-Archiv "
+"Benötigte Vorlagen-Binary „%s“ nicht gefunden. Es könnte im Vorlagen-Archiv "
"fehlen."
#: platform/osx/export/export.cpp
@@ -19529,6 +19755,14 @@ msgid "Sending archive for notarization"
msgstr "Sende Archiv zur Beglaubigung"
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr "ZIP-Erstellung"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Datei im Pfad „%s“ konnte nicht zum Lesen geöffnet werden."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Ungültiger Bundle-Bezeichner:"
@@ -19856,6 +20090,10 @@ msgid "Debug Algorithm"
msgstr "Debug-Algorithmus"
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Temporäre Datei „%s“ konnte nicht umbenannt werden."
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr "Identitäts-Typ"
@@ -19868,9 +20106,8 @@ msgid "Digest Algorithm"
msgstr "Digest-Algorithmus"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Modify Resources"
-msgstr "Ressource kopieren"
+msgstr "Ressource ändern"
#: platform/windows/export/export.cpp
msgid "File Version"
@@ -19897,6 +20134,72 @@ msgid "Trademarks"
msgstr "Handelsmarken"
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr "Ressourcen-Modifikationen"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Anwendung rcedit konnte nicht gefunden werden in „%s“."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Anwendung wine konnte nicht gefunden werden in „%s“."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"Anwendung rcedit konnte nicht gestartet werden. Bitte rcedit-Pfad in "
+"Editoreinstellungen festlegen (Export > Windows > Rcedit)."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+"Modifikation der Anwendung durch rcedit fehlgeschlagen:\n"
+"%s"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Anwendung signtool konnte nicht gefunden werden in: „%s“."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Anwendung osslsigncode konnte nicht gefunden werden in: „%s“."
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr "Ungültiger Identitäts-Typ."
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr "Ungültiger Zeitstempelserver."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"Anwendung signtool konnte nicht gestartet werden. Bitte signtool-Pfad in "
+"Editoreinstellungen festlegen (Export > Windows > Signtool)."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+"Signieren der Anwendung durch Signtool ist fehlgeschlagen:\n"
+"%s"
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Fehler beim entfernen temporärer Datei „%s“."
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19918,6 +20221,22 @@ msgid "Invalid product version:"
msgstr "Ungültige Produktversion:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr "Windows-Anwendungen können nicht größer als 4 GiB sein."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr "Fehler beim Öffnen von ausführbarer Datei „%s“."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr "Header von ausführbarer Datei beschädigt."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr "„pck“-Sektor von ausführbarer Datei nicht gefunden."
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr "Windows"
@@ -19933,6 +20252,12 @@ msgstr "Osslsigncode"
msgid "Wine"
msgstr "Wine"
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+"32-bit-Anwendungen können keine eingebetteten Daten größer als 4 GiB "
+"beinhalten."
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -20043,7 +20368,8 @@ msgstr "Abspielen pausiert"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "Max Distanz"
@@ -20057,9 +20383,8 @@ msgid "Bus"
msgstr "Bus"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Area Mask"
-msgstr "Flächenblende"
+msgstr "Fläche maskieren"
#: scene/2d/back_buffer_copy.cpp
msgid "Copy Mode"
@@ -20086,7 +20411,7 @@ msgstr "Vergrößerung"
msgid "Custom Viewport"
msgstr "Eigenes Ansichtsfenster"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20266,6 +20591,8 @@ msgstr ""
msgid ""
"The One Way Collision property will be ignored when the parent is an Area2D."
msgstr ""
+"Die Eigenschaft der Einwegkollision wird ignoriert, wenn das übergeordnete "
+"Element ein Area2D ist."
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
@@ -20719,7 +21046,7 @@ msgstr "Füllung"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
msgid "Gradient"
-msgstr "Gradient"
+msgstr "Steigung"
#: scene/2d/line_2d.cpp
msgid "Texture Mode"
@@ -20772,11 +21099,41 @@ msgstr "Zellen Größe"
msgid "Edge Connection Margin"
msgstr "Kantenverbindungsbegrenzung"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+"‚Navigation2D‘ und ‚Navigation2D.get_simple_path()‘ sind veraltet und werden "
+"in einer zukünftigen Version entfernt. Als Ersatz ist ‚Navigation2DServer."
+"map_get_path()‘ zu verwenden."
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Pathfinding"
+msgstr "Pfadfinden"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr "Gewünschte Pfaddistanz"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr "Gewünschte Zieldistanz"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr "Max Pfad-Distanz"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance"
+msgstr "Vermeiden"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance Enabled"
+msgstr "Vermeiden aktiviert"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr "Nachbardistanz"
@@ -20792,17 +21149,7 @@ msgstr "Zeithorizont"
msgid "Max Speed"
msgstr "Max Geschw"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr "Max Pfad-Distanz"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Verstecken aktiviert"
-
#: scene/2d/navigation_agent_2d.cpp
-#, fuzzy
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
msgstr "NavigationAgent2D kann nur unter einem Node2D-Node genutzt werden."
@@ -20829,24 +21176,23 @@ msgstr ""
"Polygon zeichnen."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance muss ein Unterobjekt erster oder zweiter Ordnung "
-"unterhalb eines Navigation2D-Node sein. Es liefert nur "
-"Navigationsinformationen."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr "Navpolygon"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr "Eintrittskosten"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
+msgstr "Reisekosten"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Rotationswinkel"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr "Globale Rotation"
@@ -21821,14 +22167,12 @@ msgid "Render Priority"
msgstr "Render-Priorität"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Render Priority"
msgstr "Render-Priorität"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Modulate"
-msgstr "Schriftumrissmodulierung"
+msgstr "Übersicht ändern"
#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
@@ -21836,14 +22180,12 @@ msgid "Font"
msgstr "Schriftart"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Horizontal Alignment"
-msgstr "Horizontal aktiviert"
+msgstr "Horizontale Ausrichtung"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Vertical Alignment"
-msgstr "Ausrichtung"
+msgstr "Vertikale Ausrichtung"
#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
msgid "Autowrap"
@@ -21936,6 +22278,16 @@ msgstr "Software-Skinning"
msgid "Transform Normals"
msgstr "Normalen transformieren"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+"‚Navigation‘ und ‚Navigation.get_simple_path()‘ sind veraltet und werden in "
+"einer zukünftigen Version entfernt. Als Ersatz ist ‚NavigationServer."
+"map_get_path()‘ zu verwenden."
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr "Hoch-Vektor"
@@ -21953,26 +22305,15 @@ msgid "Ignore Y"
msgstr "Y ignorieren"
#: scene/3d/navigation_agent.cpp
-#, fuzzy
msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent kann nur unter einem Spatial-Node genutzt werden."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance muss ein Unterobjekt erster oder zweiter Ordnung "
-"eines Navigation-Nodes sein. Es liefert nur Navigationsinformationen."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-#, fuzzy
msgid "NavMesh"
-msgstr "NavMesh backen"
+msgstr "NavMesh"
#: scene/3d/navigation_obstacle.cpp
-#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
"Spatial inheriting parent object."
@@ -22108,9 +22449,8 @@ msgid "Motion Z"
msgstr "Z Bewegung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint Constraints"
-msgstr "Konstanten"
+msgstr "Allgemeine Bedingung"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Impulse Clamp"
@@ -22130,150 +22470,124 @@ msgid "Relaxation"
msgstr "Entspannung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Enabled"
-msgstr "Winkelgrenze X"
+msgstr "Winkelbegrenzung aktiviert"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Upper"
-msgstr "Winkelgrenze X"
+msgstr "Obere Winkelgrenze"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Lower"
-msgstr "Winkelgrenze X"
+msgstr "Untere Winkelgrenze"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Bias"
-msgstr "Winkelgrenze X"
+msgstr "Winkelgrenzen Neigung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Softness"
-msgstr "Winkelgrenze X"
+msgstr "Winkelgrenzen-Glättung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Relaxation"
-msgstr "Winkelgrenze X"
+msgstr "Winkelgrenzen-Entspannung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Upper"
-msgstr "Lineargrenze X"
+msgstr "Obere lineare Grenze"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Lower"
-msgstr "Lineargrenze X"
+msgstr "Untere lineare Grenze"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Softness"
-msgstr "Lineargrenze X"
+msgstr "Glättung linearer Grenze"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Restitution"
-msgstr "Lineargrenze X"
+msgstr "Wiederherstellung der linearen Grenze"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Damping"
-msgstr "Lineargrenze X"
+msgstr "Dämpfung des linearen Limits"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Restitution"
-msgstr "Winkelgrenze X"
+msgstr "Wiederherstellung der Winkelgrenze"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Damping"
-msgstr "Winkelgrenze X"
+msgstr "Dämpfung der Winkelgrenze"
#: scene/3d/physics_body.cpp
msgid "X"
-msgstr ""
+msgstr "X"
#: scene/3d/physics_body.cpp
msgid "Y"
-msgstr ""
+msgstr "Y"
#: scene/3d/physics_body.cpp
msgid "Z"
-msgstr ""
+msgstr "Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Enabled"
-msgstr "Lineargrenze X"
+msgstr "Lineare Grenze aktiviert"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Enabled"
-msgstr "Linearfeder X"
+msgstr "Lineare Feder aktiviert"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Stiffness"
-msgstr "Lineare Steifheit"
+msgstr "Lineare Federungsstärke"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Damping"
-msgstr "Linearfeder X"
+msgstr "Lineare Federdämpfung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Equilibrium Point"
-msgstr "Gleichgewichts Punkt"
+msgstr "Linearer Ausgleichspunkt"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Restitution"
-msgstr "Rückbildung"
+msgstr "Lineare Rückstellung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Damping"
msgstr "Lineare Dämpfung"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Restitution"
-msgstr "Rückbildung"
+msgstr "Rückstellung von Winkeln"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Damping"
-msgstr "Dämpfung nach Winkel"
+msgstr "Winkeldämpfung"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "ERP"
msgstr "ERP"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Enabled"
-msgstr "Winkelfeder X"
+msgstr "Winkelfeder aktiviert"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Stiffness"
-msgstr "Winkelgebiet-Steifheit"
+msgstr "Steifigkeit der Winkelfeder"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Damping"
-msgstr "Winkelfeder X"
+msgstr "Dämpfung der Winkelfeder"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Equilibrium Point"
-msgstr "Gleichgewichts Punkt"
+msgstr "Winkel Ausgleichspunkt"
#: scene/3d/physics_body.cpp
msgid "Body Offset"
@@ -22724,33 +23038,28 @@ msgstr ""
"enthalten."
#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-#, fuzzy
msgid "Pose"
-msgstr "Pose kopieren"
+msgstr "Stellung kopieren"
#: scene/3d/skeleton.cpp
-#, fuzzy
msgid "Bound Children"
-msgstr "Kinder"
+msgstr "Gebundene Komponenten"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Pinned Points"
-msgstr "%s angeheftet"
+msgstr "Angeheftete Elemente"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Attachments"
-msgstr "Anpassungen"
+msgstr "Anhänge"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Point Index"
-msgstr "Index lesen"
+msgstr "Punkte-Index"
#: scene/3d/soft_body.cpp
msgid "Spatial Attachment Path"
-msgstr ""
+msgstr "Pfad der räumlichen Anhänge"
#: scene/3d/soft_body.cpp
msgid "Physics Enabled"
@@ -22812,6 +23121,10 @@ msgstr ""
"geändert werden."
#: scene/3d/spatial.cpp
+msgid "Global Translation"
+msgstr "Globale Verschiebung"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr "Matrix"
@@ -23006,29 +23319,24 @@ msgid "Autorestart"
msgstr "Auto-Neustarten"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Delay"
-msgstr "Verzögerung (ms)"
+msgstr "Zeitverzögerung"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Random Delay"
-msgstr "Auto-Neustarten zufällige Verzögerung"
+msgstr "Zufällige Zeitverzögerung"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Add Amount"
-msgstr "Menge"
+msgstr "Menge hinzufügen"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Blend Amount"
-msgstr "Skalierungsbetrag"
+msgstr "Abbildungsmenge"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Seek Position"
-msgstr "Streamposition"
+msgstr "Position aufsuchen"
#: scene/animation/animation_blend_tree.cpp
msgid "Input Count"
@@ -23696,9 +24004,8 @@ msgid "Hide On Item Selection"
msgstr "Bei Elementauswahl verstecken"
#: scene/gui/popup_menu.cpp
-#, fuzzy
msgid "Hide On Checkable Item Selection"
-msgstr "Bei kontrollierbarer Elementauswahl verstecken"
+msgstr "Ausblenden bei der Auswahl eines anklickbaren Elements"
#: scene/gui/popup_menu.cpp
msgid "Hide On State Item Selection"
@@ -23925,6 +24232,10 @@ msgid "Fold Gutter"
msgstr "Einklappenspalte"
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr "Ziehen-und-Fallenlassen-Auswahl aktiviert"
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr "Verstecken aktiviert"
@@ -24110,15 +24421,17 @@ msgid ""
"Setting node name '%s' to be unique within scene for '%s', but it's already "
"claimed by '%s'. This node is no longer set unique."
msgstr ""
+"Der verwendete Node-Name '%s' wurde als einzigartig in der Szene '%s' "
+"deklariert, jedoch wurde der Name bereits von '%s' verwendet. Das Node wird "
+"nicht mehr als einzigartig geführt."
#: scene/main/node.cpp
msgid "Name Num Separator"
msgstr "Name des numerischen Separators"
#: scene/main/node.cpp
-#, fuzzy
msgid "Name Casing"
-msgstr "Name der Hülle"
+msgstr "Namensgebung"
#: scene/main/node.cpp
msgid "Editor Description"
@@ -24129,9 +24442,8 @@ msgid "Pause Mode"
msgstr "Pausiermodus"
#: scene/main/node.cpp
-#, fuzzy
msgid "Physics Interpolation Mode"
-msgstr "Physikinterpolation"
+msgstr "Physikinterpolationsmodus"
#: scene/main/node.cpp
msgid "Display Folded"
@@ -24284,19 +24596,6 @@ msgstr "Ansichtsfensterpfad"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Dieser Viewport ist nicht als Render-Ziel eingestellt. Soll sein Inhalt "
-"direkt auf dem Bildschirm angezeigt werden, muss er als Unterobjekt eines "
-"Controls eingehängt werden um dessen Größe zu erben. Andernfalls sollte die "
-"Eigenschaft ‚Render Target‘ des Viewports aktiviert und seine Textur "
-"irgendeinem Node zum Anzeigen zugewiesen werden."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -24304,6 +24603,20 @@ msgstr ""
"betragen um überhaupt irgendetwas rendern zu können."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+"In diesem Ansichtsfenster ist HDR aktiv, jedoch wurde dessen Nutzung auf 2D "
+"oder 2D-No-Sampling eingestellt.\n"
+"HDR wird nur in Ansichtsfenstern deren Nutzung auf 3D oder 3D-No-Effects "
+"eingestellt sind unterstützt.\n"
+"HDR wird für dieses Ansichtsfenster deaktiviert."
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr "ARVR"
@@ -24440,6 +24753,14 @@ msgid "3D Physics"
msgstr "3D-Physik"
#: scene/register_scene_types.cpp
+msgid "2D Navigation"
+msgstr "2D-Navigation"
+
+#: scene/register_scene_types.cpp
+msgid "3D Navigation"
+msgstr "3D-Navigation"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr "hiDPI verwenden"
@@ -24763,9 +25084,8 @@ msgid "Labeled Separator Right"
msgstr "Benannter Trenner Rechts"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Separator"
-msgstr "Schriftfarbe Trenner"
+msgstr "Schriftarten-Trennzeichen"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
@@ -25133,7 +25453,7 @@ msgstr "Port-Greifdistanz vertikal"
#: scene/resources/dynamic_font.cpp
msgid "Hinting"
-msgstr "Hinting"
+msgstr "Hinweisen"
#: scene/resources/dynamic_font.cpp
msgid "Override Oversampling"
@@ -25436,9 +25756,8 @@ msgid "Distance Field"
msgstr "Distanzfeld"
#: scene/resources/gradient.cpp
-#, fuzzy
msgid "Raw Data"
-msgstr "Kartendaten"
+msgstr "Rohdaten"
#: scene/resources/gradient.cpp
msgid "Offsets"
@@ -25501,9 +25820,8 @@ msgid "Ensure Correct Normals"
msgstr "Korrekte Normalen sicherstellen"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Albedo Tex MSDF"
-msgstr "Albedo Texturen erzwingen sRGB"
+msgstr "Albedo Text Rendering (MSDF)"
#: scene/resources/material.cpp
msgid "Vertex Color"
@@ -25607,7 +25925,7 @@ msgstr "Klarlack"
#: scene/resources/material.cpp
msgid "Gloss"
-msgstr ""
+msgstr "Glanz"
#: scene/resources/material.cpp
msgid "Anisotropy"
@@ -25615,7 +25933,7 @@ msgstr "Anisotropie"
#: scene/resources/material.cpp
msgid "Flowmap"
-msgstr ""
+msgstr "Texturen für Animationen (z.B. Wasser)"
#: scene/resources/material.cpp
msgid "Ambient Occlusion"
@@ -25653,7 +25971,7 @@ msgstr "Übertragung"
msgid "Refraction"
msgstr "Brechung"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr "Details"
@@ -25698,14 +26016,12 @@ msgid "Custom AABB"
msgstr "Eigenes AABB"
#: scene/resources/mesh_library.cpp
-#, fuzzy
msgid "Mesh Transform"
-msgstr "Transformation"
+msgstr "Mesh-Transformation"
#: scene/resources/mesh_library.cpp
-#, fuzzy
msgid "NavMesh Transform"
-msgstr "Leinwand-Transform"
+msgstr "NavMesh-Transformation"
#: scene/resources/multimesh.cpp
msgid "Color Format"
@@ -25728,8 +26044,12 @@ msgid "Visible Instance Count"
msgstr "Sichtbare Instanzen Anzahl"
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr "Probeneinteilunstyp"
+msgid "Sampling"
+msgstr "Abtastung"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Partition Type"
+msgstr "Einteilungstyp"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -25744,8 +26064,12 @@ msgid "Source Group Name"
msgstr "Quellen-Gruppenname"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr "Agent"
+msgid "Cells"
+msgstr "Zellen"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
+msgstr "Agenten"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
@@ -25756,12 +26080,16 @@ msgid "Max Slope"
msgstr "Maximale Neigung"
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr "Bereiche"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr "Größe der Zusammenführung"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr "Kante"
+msgid "Edges"
+msgstr "Kanten"
#: scene/resources/navigation_mesh.cpp
msgid "Max Error"
@@ -25772,6 +26100,10 @@ msgid "Verts Per Poly"
msgstr "Vert per Poly"
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr "Details"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr "Probendistanz"
@@ -25788,8 +26120,16 @@ msgid "Ledge Spans"
msgstr "Vorsprünge"
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
-msgstr "Ablaufbare Abstände niedriger Höhe aussortiern"
+msgid "Walkable Low Height Spans"
+msgstr "Ablaufbare Abstände niedriger Höhe"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr "Backe AABB"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
+msgstr "Backe AABB-Versatz"
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
@@ -25900,9 +26240,8 @@ msgid "Is Hemisphere"
msgstr "Ist Halbkugel"
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Curve Step"
-msgstr "Kurve"
+msgstr "Kurven-Stufen"
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Slips On Slope"
@@ -25917,17 +26256,14 @@ msgid "Custom Solver Bias"
msgstr "Eigenen Bias für Löser"
#: scene/resources/skin.cpp
-#, fuzzy
msgid "Bind Count"
-msgstr "Punktanzahl"
+msgstr "Anzahl festlegen"
#: scene/resources/skin.cpp
-#, fuzzy
msgid "Bind"
msgstr "Zuordnung"
#: scene/resources/skin.cpp
-#, fuzzy
msgid "Bone"
msgstr "Knochen"
@@ -25985,7 +26321,7 @@ msgstr "Erweiterte Abgrenzung"
#: scene/resources/style_box.cpp
msgid "Skew"
-msgstr ""
+msgstr "Neigung"
#: scene/resources/style_box.cpp
msgid "Corner Radius"
@@ -26020,19 +26356,16 @@ msgid "Image Size"
msgstr "Bildgröße"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Side"
-msgstr "Seiten"
+msgstr "Seite"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Front"
-msgstr "Sicht von vorne"
+msgstr "Vorderseite"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Back"
-msgstr "Zurück"
+msgstr "Rückseite"
#: scene/resources/texture.cpp
msgid "Storage Mode"
@@ -26043,14 +26376,12 @@ msgid "Lossy Storage Quality"
msgstr "Verlustbehaftete Speicherqualität"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "From"
-msgstr "Füllen ab"
+msgstr "Von"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "To"
-msgstr "Oben"
+msgstr "Bis"
#: scene/resources/texture.cpp
msgid "Base"
@@ -26065,9 +26396,8 @@ msgid "Pause"
msgstr "Pause"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Which Feed"
-msgstr "Welche Zufuhr"
+msgstr "Welcher Zulauf"
#: scene/resources/texture.cpp
msgid "Camera Is Active"
@@ -26082,27 +26412,22 @@ msgid "Output Port For Preview"
msgstr "Ausgabeschnittstelle für Vorschau"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Depth Draw"
-msgstr "Tiefenzeichenmodus"
+msgstr "Tiefenzeichnung"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Cull"
-msgstr "Aushöhlungsmodus"
+msgstr "Aushöhlung"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Diffuse"
-msgstr "Diffuse Bild"
+msgstr "Zerstreuen"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Async"
-msgstr "Async-Modus"
+msgstr "Asynchron"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Modes"
msgstr "Modus"
@@ -26163,6 +26488,10 @@ msgid "Scenario"
msgstr "Szenario"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Navigation Map"
+msgstr "Navigationskarte"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr "Direkter Raum Zustand"
@@ -26178,6 +26507,22 @@ msgstr "Standard lineare Dämpfung"
msgid "Default Angular Damp"
msgstr "Standard Winkeldämpfung"
+#: scene/resources/world.cpp
+msgid "Default Map Up"
+msgstr "Standard Kartenhoch"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Size"
+msgstr "Standardzellgröße"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Height"
+msgstr "Standardzellhöhe"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Edge Connection Margin"
+msgstr "Standard Kantenverbinungsabstand"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr "Canvas/ Leinwand"
@@ -26308,7 +26653,6 @@ msgid "Keep Hf Hz"
msgstr "Hf Hz behalten"
#: servers/audio/effects/audio_effect_distortion.cpp
-#, fuzzy
msgid "Drive"
msgstr "Schwung"
@@ -26510,9 +26854,8 @@ msgid "Collision Unsafe Fraction"
msgstr "Unsicherer Anteil der Kollision"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Physics Engine"
-msgstr "Physik aktiviert"
+msgstr "Physikengine"
#: servers/physics_server.cpp
msgid "Center Of Mass"
@@ -26527,22 +26870,20 @@ msgid "Varying may not be assigned in the '%s' function."
msgstr "Varyings dürfen nicht in Funktion ‚%s‘ zugewiesen werden."
#: servers/visual/shader_language.cpp
-#, fuzzy
msgid ""
"Varyings which were assigned in 'vertex' function may not be reassigned in "
"'fragment' or 'light'."
msgstr ""
-"Varyings, welche in der ‚vertex‘-Funktion zugewiesen wurden, können nicht "
-"erneut in der ‚fragment‘- oder ‚light‘-Funktion zugewiesen werden."
+"Variationen, welche in einer ‚vertex‘-Funktion zugewiesen wurden, dürfen "
+"innerhalb ‚fragment‘- oder ‚light‘-Funktionen nicht erneut zugewiesen werden."
#: servers/visual/shader_language.cpp
-#, fuzzy
msgid ""
"Varyings which were assigned in 'fragment' function may not be reassigned in "
"'vertex' or 'light'."
msgstr ""
-"Varyings, welche in der ‚fragment‘-Funktion zugewiesen wurden, können nicht "
-"erneut in der ‚vertex‘- oder ‚light‘-Funktion zugewiesen werden."
+"Variationen, welche in einer ‚fragment‘-Funktion zugewiesen wurden, dürfen "
+"innerhalb ‚vertex‘- oder ‚light‘-Funktionen nicht erneut zugewiesen werden."
#: servers/visual/shader_language.cpp
msgid "Assignment to function."
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index 9091e7c09a..23c58c5ffb 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -196,9 +196,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -302,7 +303,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+msgid "Invalid input %d (not passed) in expression"
msgstr ""
#: core/math/expression.cpp
@@ -346,6 +347,14 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr ""
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -371,6 +380,10 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -422,6 +435,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -525,7 +542,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -608,24 +626,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -733,7 +750,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1000,6 +1018,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -1016,7 +1035,7 @@ msgstr ""
msgid "Time:"
msgstr ""
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr ""
@@ -1257,7 +1276,61 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+msgid "Time (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -1467,7 +1540,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -1987,14 +2060,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2050,8 +2124,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2059,7 +2133,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2350,7 +2424,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2402,8 +2476,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2606,6 +2680,22 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Completed with warnings."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2618,6 +2708,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2718,8 +2828,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2889,9 +3016,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3967,14 +4094,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4089,6 +4208,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4116,6 +4239,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4744,11 +4871,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4840,6 +4969,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5093,7 +5226,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5118,6 +5253,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5625,10 +5768,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6346,14 +6491,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6479,7 +6616,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr ""
@@ -6713,7 +6850,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6741,6 +6878,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7390,11 +7539,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7412,11 +7570,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7513,10 +7666,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7557,10 +7712,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7671,7 +7822,7 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+msgid "Transition:"
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
@@ -7688,11 +7839,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8573,6 +8719,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8636,6 +8783,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9375,7 +9526,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9605,6 +9756,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9758,13 +9910,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9773,10 +9918,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10461,12 +10602,14 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+msgid "Translating:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -10490,11 +10633,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -10969,7 +11107,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11001,15 +11139,15 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+msgid "Simplification:"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11073,6 +11211,10 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Filter animations"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -11927,8 +12069,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13326,20 +13467,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13347,14 +13483,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13455,19 +13583,23 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+msgid "Export Project..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13475,7 +13607,7 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+msgid "Godot Project Pack"
msgstr ""
#: editor/project_export.cpp
@@ -13483,6 +13615,10 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13754,11 +13890,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -14912,7 +15048,7 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+msgid "Remote %s:"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -15728,7 +15864,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15888,7 +16024,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16282,7 +16418,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16308,6 +16443,17 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+msgid "Bake Navigation"
+msgstr ""
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "Navigation Layers"
+msgstr ""
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16703,7 +16849,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16711,7 +16857,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17071,7 +17217,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17079,7 +17225,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17231,11 +17377,11 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+msgid "Invalid argument of type:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+msgid "Invalid arguments:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17247,11 +17393,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17541,6 +17687,10 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Custom Build"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17548,6 +17698,14 @@ msgstr ""
msgid "Export Format"
msgstr ""
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr ""
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17584,14 +17742,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17733,10 +17883,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17813,12 +17959,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17827,25 +17973,48 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17861,6 +18030,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -17889,7 +18062,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17900,19 +18073,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17925,7 +18096,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -17940,7 +18111,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17948,15 +18119,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -17966,7 +18134,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18190,6 +18358,15 @@ msgstr ""
msgid "Custom BG Color"
msgstr ""
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18211,19 +18388,27 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Invalid export template: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+msgid "Could not write file: \"%s\"."
+msgstr ""
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+msgid "Icon Creation"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18295,15 +18480,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18568,9 +18753,25 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18586,15 +18787,66 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "DMG Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18605,7 +18857,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18646,6 +18898,14 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -18941,6 +19201,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -18981,6 +19245,60 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -18999,6 +19317,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19014,6 +19348,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19122,7 +19460,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19164,7 +19503,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19818,32 +20157,51 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr ""
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Pathfinding"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Avoidance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Avoidance Enabled"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp
@@ -19868,13 +20226,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -19882,7 +20242,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -20906,6 +21266,13 @@ msgstr ""
msgid "Transform Normals"
msgstr ""
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -20927,12 +21294,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21696,6 +22057,10 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+msgid "Global Translation"
+msgstr ""
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -22764,6 +23129,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23115,16 +23484,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23264,6 +23634,14 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+msgid "2D Navigation"
+msgstr ""
+
+#: scene/register_scene_types.cpp
+msgid "3D Navigation"
+msgstr ""
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24474,7 +24852,7 @@ msgstr ""
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24547,7 +24925,11 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Partition Type"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24563,7 +24945,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24575,11 +24961,15 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24591,6 +24981,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24607,7 +25001,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -24965,6 +25367,10 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Navigation Map"
+msgstr ""
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -24980,6 +25386,22 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+msgid "Default Map Up"
+msgstr ""
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Size"
+msgstr ""
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Height"
+msgstr ""
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Edge Connection Margin"
+msgstr ""
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 8aa63c6697..4b71ed8528 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -218,9 +218,10 @@ msgid "Data"
msgstr "Δεδομένα"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Δίκτυο"
@@ -327,7 +328,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Δεν υπάρχουν αρκετά byte για την αποκωδικοποίηση, ή άκυρη μορφή."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Άκυρη είσοδος %i (δεν πέρασε) στην έκφραση"
#: core/math/expression.cpp
@@ -374,6 +376,16 @@ msgstr "Ουρά Μηνυμάτων"
msgid "Max Size (KB)"
msgstr "Μέγιστο Μέγεθος (KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Λειτουργία Μετακίνησης"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Διαγραφή εισόδου"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -399,6 +411,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (Φυσικό)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -452,6 +469,10 @@ msgid "Pressure"
msgstr "Πίεση"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Σχετικό"
@@ -559,7 +580,8 @@ msgstr "Περιγραφή"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Εκτέλεση"
@@ -647,6 +669,10 @@ msgid "Main Run Args"
msgstr "Ορίσματα κύριας σκηνής"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Όνομα Σκηνής"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Αναζήτηση στις Επεκτάσεις Αρχείων"
@@ -654,18 +680,15 @@ msgstr "Αναζήτηση στις Επεκτάσεις Αρχείων"
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Έλεγχος έκδοσης"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Σύστημα Ελέγχου Έκδοσης"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Όνομα Προσθέτου"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Έλεγχος έκδοσης"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -784,7 +807,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Φίλτρα"
@@ -1063,6 +1087,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Ελεύθερο"
@@ -1079,7 +1104,7 @@ msgstr "Κατοπτρισμός"
msgid "Time:"
msgstr "Χρόνος:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Τιμή:"
@@ -1329,10 +1354,75 @@ msgid "Remove this track."
msgstr "Αφαίρεση κομματιού."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Χρόνος (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Θέση"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Βήμα Περιστροφής:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Κλιμάκωση:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Τύπος:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Άκυρο προτύπο εξαγωγής:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Ομαλή κίνηση από μέσα προς τα έξω"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Ορισμός λαβής"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Ορισμός λαβής"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Στοιχείο επιλογής"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Επανεκκίνηση (δευτερόλεπτα):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Εμφάνιση σε (δευτερόλεπτα):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Κινήσεις:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "(Απ)ενεργοποίηση Κομματιού"
@@ -1551,7 +1641,8 @@ msgid "Add Method Track Key"
msgstr "Προσθήκη κλειδιού μεθόδου"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Δεν βρέθηκε η μέθοδος στο αντικείμενο: "
#: editor/animation_track_editor.cpp
@@ -2093,14 +2184,15 @@ msgstr "Αγαπημένα:"
msgid "Recent:"
msgstr "Πρόσφατα:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Αναζήτηση:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Αντιστοιχίες:"
@@ -2160,8 +2252,8 @@ msgstr "Αναζήτηση αντικαταστάτη πόρου:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2169,8 +2261,8 @@ msgid "Open"
msgstr "Άνοιγμα"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Ιδιοκτήτες του:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2483,7 +2575,7 @@ msgid "Bus Options"
msgstr "Επιλογές διαύλου"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Αναπαραγωγή"
@@ -2535,8 +2627,9 @@ msgstr "Άνοιγμα διάταξης διαύλων ήχου"
msgid "There is no '%s' file."
msgstr "Δεν υπάρχει αρχείο «%s»."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Διάταξη"
#: editor/editor_audio_buses.cpp
@@ -2743,6 +2836,25 @@ msgid "Choose"
msgstr "Επιλέξτε"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Αντιγραφή διαδρομής κόμβου"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Το πακέτο εγκαταστάθηκε επιτυχώς!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Απέτυχε:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Αρχείο αποθήκευσης:"
@@ -2755,6 +2867,31 @@ msgid "Packing"
msgstr "Πακετάρισμα"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Αποθήκευση ώς"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Αδύνατη η δημιουργία φακέλου."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Απέτυχε η εγγραφή σε αρχείο:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Αδύνατο το άνοιγμα αρχείου για εγγραφή:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Αποθήκευση ώς"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2874,11 +3011,33 @@ msgstr "Δεν βρέθηκε προσαρμοσμένο πακέτο αποσφ
msgid "Custom release template not found."
msgstr "Δεν βρέθηκε προσαρμοσμένο πακέτο διανομής."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Διαχείριση Προτύπων"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Η δεδομένη διαδρομή εξαγωγής δεν υπάρχει:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Δεν βρέθηκε αρχείο προτύπου:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Άκυρο προτύπο εξαγωγής:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Αναπλήρωση"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"Σε εξαγωγές 32-bit, το ενσωματωμένο PCK δεν μπορεί να υπερβαίνει τα 4 GiB."
@@ -3053,9 +3212,9 @@ msgid "Import"
msgstr "Εισαγωγή"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Εξαγωγή"
@@ -4229,14 +4388,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Σκηνή"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Όνομα Σκηνής"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4354,6 +4505,10 @@ msgid "Default Color Picker Mode"
msgstr "Προεπιλεγμένη Λειτουργία Επιλογέα Χρώματος"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Έλεγχος έκδοσης"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Ψευδώνυμο"
@@ -4381,6 +4536,10 @@ msgstr "Εναλλαγή λειτουργίας χωρίς περισπασμο
msgid "Add a new scene."
msgstr "Προσθήκη νέας σκηνής."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Σκηνή"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Επιστροφή στην προηγουμένως ανοιγμένη σκηνή."
@@ -5075,11 +5234,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Ο επιλεγμένος κόμβος δεν είναι Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Μέγεθος: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Σελίδα: "
#: editor/editor_properties_array_dict.cpp
@@ -5180,6 +5343,11 @@ msgstr ""
"Δεν βρέθηκε εκτελέσιμη διαμόρφωση εξαγωγής για αυτή την πλατφόρμα.\n"
"Παρακαλούμε προσθέστε μία εκτελέσιμη διαμόρφωση στο μενού εξαγωγής."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Έργο"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Γράψτε τη λογική σας στη μέθοδο _run()."
@@ -5463,7 +5631,9 @@ msgid "Draw Spaces"
msgstr "Κλήσεις σχεδίασης"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Πλοήγηση"
@@ -5489,6 +5659,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap Γέμισμα Επιλογής"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6059,10 +6238,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Διαχειριστής"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6856,14 +7037,6 @@ msgid "Replace in Files"
msgstr "Αντικατάσταση όλων"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Εύρεση: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Αντικατάσταση: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Αντικατάσταση όλων"
@@ -6993,7 +7166,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Φίλτρα:"
@@ -7261,7 +7434,8 @@ msgid "Generating Lightmaps"
msgstr "Δημιουργία χαρτών φωτός"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Δημιουρία για πλέγμα: "
#: editor/import/resource_importer_scene.cpp
@@ -7292,6 +7466,18 @@ msgid "Saving..."
msgstr "Αποθήκευση..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7987,11 +8173,20 @@ msgid "New Anim"
msgstr "Νέα κίνηση"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Δημιουργία νέας κίνησης"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Αλλαγή ονόματος κίνησης:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Μετονομασία κίνησης"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Διαγραφή κίνησης;"
@@ -8009,11 +8204,6 @@ msgid "Animation name already exists!"
msgstr "Ήδη υπαρκτό όνομα κίνησης!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Μετονομασία κίνησης"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Αναπαραγωγή κίνησης"
@@ -8111,10 +8301,12 @@ msgstr "Επιλογές Ξεφλουδίσματος Κρεμμυδιού"
msgid "Directions"
msgstr "Κατευθήνσεις"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Παρελθόν"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Μέλλον"
@@ -8155,10 +8347,6 @@ msgid "Pin AnimationPlayer"
msgstr "Καρφίτσωμα AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Δημιουργία νέας κίνησης"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Όνομα κίνησης:"
@@ -8274,7 +8462,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Ορισμός τελικής κίνησης. Χρήσιμο για υπο-μεταβάσεις."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Μετάβαση: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8291,11 +8480,6 @@ msgid "New name:"
msgstr "Νέο όνομα:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Κλιμάκωση:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Εμφάνιση σε (δευτερόλεπτα):"
@@ -9226,6 +9410,7 @@ msgstr "Δημιουργία Προσαρμοσμένου(ων) Οστού(ών)
msgid "Clear Custom Bones"
msgstr "Εκκαθάριση Προσαρμοσμένων Οστών"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9292,6 +9477,10 @@ msgid "Preview Canvas Scale"
msgstr "Προεπισκόπηση Κλιμάκωσης Καμβά"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Διάταξη"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Μάσκα μεταγλώττισης για εισαγόμενα κλειδιά."
@@ -10081,7 +10270,8 @@ msgid "Volume"
msgstr "Ένταση"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Πηγή εκπομπής: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10315,6 +10505,7 @@ msgid "Points"
msgstr "Σημεία"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Πολύγωνα"
@@ -10476,13 +10667,6 @@ msgid "Instance:"
msgstr "Στιγμιότυπο:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Τύπος:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Άνοιγμα στον επεξεργαστή"
@@ -10491,10 +10675,6 @@ msgstr "Άνοιγμα στον επεξεργαστή"
msgid "Load Resource"
msgstr "Φόρτωση πόρου"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Πρόφραμμα προφόρτωσης"
-
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
msgid "Flip Portals"
@@ -11226,12 +11406,16 @@ msgstr "Λειτουργία Περιστροφής"
msgid "Translate"
msgstr "Μετατόπιση:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Κλιμάκωση: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Μετακίνηση: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11257,12 +11441,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Μέγεθος: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "Ζωγραφισμένα αντικείμενα"
@@ -11763,7 +11941,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Άκυρη γεωμετρία, αδύνατη η αντικατάσταση με πλέγμα."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Μετατροπή σε Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11795,15 +11974,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Απλοποίηση: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Σμίκρυνση (Εικονοστοιχεία): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Αύξηση (Εικονοστοιχεία): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11867,6 +12049,11 @@ msgid "New Animation"
msgstr "Νέα Κίνηση"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Φιλτράρισμα μεθόδων"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Ταχύτητα:"
@@ -12786,8 +12973,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Επιλογή προηγούμενου σχήματος, υπό-πλακιδίου, ή πλακιδίου."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Περιοχή"
@@ -14328,41 +14514,22 @@ msgid "Runnable"
msgstr "Εκτελέσιμο"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Διαγραφή διαμόρφωσης '%s';"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Αποτυχία εξαγωγής έργου στην πλατφόρμα «%s».\n"
-"Τα πρότυπα εξαγωγής λείπουν ή είναι άκυρα."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Αποτυχία εξαγωγής έργου στην πλατφόρμα «%s».\n"
-"Αυτό μπορεί να οφείλεται σε λάθος της διαμόρφωσης εξαγωγής ή στις ρυθμίσεις "
-"εξαγωγής σας."
+msgid "Delete preset '%s'?"
+msgstr "Διαγραφή διαμόρφωσης '%s';"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Εξαγωγή Όλων"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Η δεδομένη διαδρομή εξαγωγής δεν υπάρχει:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Τα πρότυπα εξαγωγής για αυτή την πλατφόρτμα λείπουν ή είναι κατεστραμμένα:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Διαδρομή Εξαγωγής"
@@ -14474,19 +14641,27 @@ msgid "More Info..."
msgstr "Μετακίνηση σε..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Εξαγωγή PCK/ZIP"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Εξαγωγή έργου"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Λειτουργία εξαγωγής;"
+msgid "Export All"
+msgstr "Εξαγωγή Όλων"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Παρακαλούμε επιλέξτε έναν άδειο φάκελο."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Εξαγωγή Όλων"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14494,7 +14669,8 @@ msgid "ZIP File"
msgstr "Αρχείο ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Πακέτο Παιχνιδιού Godot"
#: editor/project_export.cpp
@@ -14502,6 +14678,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Τα πρότυπα εξαγωγής για αυτή την πλατφόρτμα λείπουν:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Ιδρυτές του έργου"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Διαχείριση προτύπων εξαγωγής"
@@ -14821,15 +15002,15 @@ msgid "Project Manager"
msgstr "Διαχειριστής"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr "Τελευταία Τροποποιημένα"
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Ανάκτηση δεδοένων κατοπτρισμού, παρακαλώ περιμένετε..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr "Τελευταία Τροποποιημένα"
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Εξαγωγή έργου"
@@ -16046,7 +16227,8 @@ msgid "Attach Node Script"
msgstr "Σύνδεση Δέσμης Ενεργειών Κόμβου"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Απομακρυσμένο "
#: editor/script_editor_debugger.cpp
@@ -16933,7 +17115,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Πολύγωνα"
@@ -17111,7 +17293,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Απενεργοποίηση Μονοσυνόλου GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Βιβλιοθήκες: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17559,7 +17742,6 @@ msgid "Use In Baked Light"
msgstr "Προετοιμασία Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17589,6 +17771,19 @@ msgstr "Κέντρο"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Πλοήγηση"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Δημιουργία Πλοήγησης"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Επόμενο επίπεδο"
@@ -18013,7 +18208,8 @@ msgstr ""
"εργασίας του κόμβου! Παρακαλούμε διορθώστε τον κόμβο σας."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Ο κόμβος επέστρεψε μία άκυρη ακολουθία ως έξοδο: "
#: modules/visual_script/visual_script.cpp
@@ -18023,7 +18219,8 @@ msgstr ""
"αναφέρετε το bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Υπερχείλιση στοίβας με βάθος στοίβας: "
#: modules/visual_script/visual_script.cpp
@@ -18402,7 +18599,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Δεν μπορεί να γίνει επανάληψη στον εισηγμένο τύπο: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18410,7 +18608,8 @@ msgid "Iterator became invalid"
msgstr "Ο επαναλήπτης έγινε άκυρος"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Ο επαναλήπτης έγινε άκυρος: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18584,11 +18783,13 @@ msgid "Operator"
msgstr "Τελεστής επικάλυψης."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Άκυρη παράμετρος τύπου: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Άκυροι παράμετροι: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18601,11 +18802,13 @@ msgid "Var Name"
msgstr "Όνομα"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "Το VariableGet δεν βρέθηκε στη δέσμη ενεργειών: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "Το VariableSet δεν βρέθηκε στη δέσμη ενεργειών: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18937,6 +19140,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Το πακέτο πρέπει να έχει τουλάχιστον έναν '.' διαχωριστή."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Αποκοπή κόμβων"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18945,6 +19153,16 @@ msgstr ""
msgid "Export Format"
msgstr "Διαδρομή Εξαγωγής"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Μέγεθος περιγράμματος:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Στόχος"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18987,16 +19205,6 @@ msgstr "Επιθεώρηση του προηγούμενου στιγμιοτύ
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Μέγεθος περιγράμματος:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Στόχος"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19166,10 +19374,6 @@ msgid "Could not execute on device."
msgstr "Αδύνατη η δημιουργία φακέλου."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19262,7 +19466,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"Το «Hand Tracking» είναι έγκυρο μόνο όταν το «Xr Mode» είναι «Oculus Mobile "
@@ -19270,7 +19474,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"Το «Hand Tracking» είναι έγκυρο μόνο όταν το «Xr Mode» είναι «Oculus Mobile "
"VR»."
@@ -19281,25 +19485,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Σήμα"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19316,6 +19544,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Σφάλμα κατά το άνοιγμα προτύπου για εξαγωγή:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Αδύνατη η εκκίνηση της υπό-εργασίας!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19346,7 +19579,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19358,10 +19591,9 @@ msgstr ""
"πληροφορίες έκδοσης. Παρακαλούμε κάντε επανεγκατάσταση από το μενού «Έργο»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Ασυμφωνία εκδόσεων δόμησης Android:\n"
@@ -19372,11 +19604,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "Δεν ήταν δυνατή η εξαγωγή των αρχείων έργου στο gradle έργο\n"
#: platform/android/export/export_plugin.cpp
@@ -19389,8 +19622,9 @@ msgid "Building Android Project (gradle)"
msgstr "Δόμηση Έργου Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Αποτυχία δόμησης έργου Android, ελέγξτε την έξοδο για το σφάλμα.\n"
@@ -19409,7 +19643,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Δεν βρέθηκε η κίνηση: «%s»"
#: platform/android/export/export_plugin.cpp
@@ -19418,17 +19652,15 @@ msgid "Creating APK..."
msgstr "Δημιουργία περιγραμμάτων..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Δεν βρέθηκε πρότυπο APK για εξαγωγή:\n"
"%s"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19440,7 +19672,7 @@ msgstr "Προσθήκη %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Απέτυχε η εγγραφή σε αρχείο:"
#: platform/android/export/export_plugin.cpp
@@ -19681,6 +19913,17 @@ msgstr "Αποκοπή κόμβων"
msgid "Custom BG Color"
msgstr "Αποκοπή κόμβων"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Διαχείριση Προτύπων"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Δεν βρέθηκε προσαρμοσμένο πακέτο διανομής."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19704,23 +19947,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Εκτέλεση εξαγόμενης HTMP στον προεπιλεγμένο περιηγητή του συστήματος."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Σφάλμα κατά το άνοιγμα προτύπου για εξαγωγή:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Άκυρο προτύπο εξαγωγής:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Απέτυχε η εγγραφή σε αρχείο:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Ορισμός Περιθωρίου"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Απέτυχε η εγγραφή σε αρχείο:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Διαχωρισμός:"
@@ -19796,17 +20051,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Σφάλμα κατά την ανάγνωση προσαρμοσμένου κελύφους HTML:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Αδύνατη η δημιουργία φακέλου."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Σφάλμα κατά την αποθήκευση σκηνής."
#: platform/javascript/export/export.cpp
@@ -20106,9 +20361,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Απέτυχε η εγγραφή σε αρχείο:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Αδύνατη η εκκίνηση της υπό-εργασίας!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Τοπική προσαρμογή"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20124,21 +20398,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Δεν βρέθηκε!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Σφάλμα αποθήκευσης αρχείου: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Κατευθήνσεις"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Αδύνατη η εκκίνηση της υπό-εργασίας!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Δημιουργία μικρογραφίας"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Σφάλμα κατά το άνοιγμα προτύπου για εξαγωγή:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Άκυρο προτύπο εξαγωγής:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20146,7 +20475,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20188,6 +20517,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Έργο"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Δεν ήταν δυνατή η εξαγωγή των αρχείων έργου στο gradle έργο\n"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Άκυρο Αναγνωριστικό:"
@@ -20500,6 +20839,11 @@ msgid "Debug Algorithm"
msgstr "Αποσφαλματωτής"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Αδυναμία αφαίρεσης προσωρινού αρχείου:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20547,6 +20891,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Τυχαία περιστροφή:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Σφάλμα κατά το άνοιγμα προτύπου για εξαγωγή:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Σφάλμα κατά το άνοιγμα προτύπου για εξαγωγή:"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Άκυρη επέκταση."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Σφάλμα κατά το άνοιγμα προτύπου για εξαγωγή:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Σφάλμα κατά το άνοιγμα προτύπου για εξαγωγή:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Άκυρο Αναγνωριστικό:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Μη έγκυρο όνομα."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Άκυρη επέκταση."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Αδυναμία αφαίρεσης προσωρινού αρχείου:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20568,6 +20976,23 @@ msgid "Invalid product version:"
msgstr "Άκυρο GUID προϊόντος."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Άκυρη επέκταση."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Νέο Παράθυρο"
@@ -20584,6 +21009,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20711,7 +21140,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Επιλογή απόστασης:"
@@ -20762,7 +21192,7 @@ msgstr "Μεγέθυνση"
msgid "Custom Viewport"
msgstr "1 Οπτική γωνία"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21524,11 +21954,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Επεξεργασία Σύνδεσης:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Δεσμός"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Επιλογή απόστασης:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Επιλογή απόστασης:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Για προχωρημένους"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Ενεργοποίηση"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21546,16 +22008,6 @@ msgstr "Αναστροφή Οριζόντια"
msgid "Max Speed"
msgstr "Ταχύτητα:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Επιλογή απόστασης:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Ενεργοποίηση"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21581,24 +22033,26 @@ msgstr ""
"λειτουργήσει αυτός ο κόμβος. Ορίστε μία ιδιότητα ή ζωγραφίστε ένα πολύγωνο."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"Το NavigationPolygonInstance πρέπει να κληρονομεί έναν κόμβο τύπου "
-"Navigation2D, διότι διαθέτει μόνο δεδομένα πλοήγησης."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Κέντρο Κάτω"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Ταξίδι"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Περιστροφή %s μοίρες."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Σταθερή"
@@ -22812,6 +23266,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Ο μετασχηματισμός ματαιώθηκε."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22836,14 +23297,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"Ένας κόμβος τύπου στιγμιοτύπου πλέγματος πλοήγησης πρέπει να κληρονομεί έναν "
-"κόμβο τύπου πλοήγηση, διότι διαθέτει μόνο δεδομένα πλοήγησης."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23724,6 +24177,11 @@ msgstr ""
"Αλλάξτε μέγεθος στα σχήματα σύγκρουσης των παιδιών."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Διατήρηση παγκόσμιου μετασχηματισμού"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24982,6 +25440,11 @@ msgstr "Φάκελος:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Μόνο στην επιλογή"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Ενεργοποίηση"
@@ -25387,18 +25850,6 @@ msgid "Viewport Path"
msgstr "Διαδρομή Εξαγωγής"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Το Viewport δεν έχει ορισθεί ως στόχος απόδοσης. Αν σκοπεύετε να δείχνει τα "
-"περιεχόμενα του, κάντε το να κληρονομεί ένα Control, ώστε να αποκτήσει "
-"μέγεθος. Αλλιώς, κάντε το ένα RenderTarget και ορίστε το internal texture σε "
-"έναν κόμβο για απεικόνιση."
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25408,6 +25859,15 @@ msgstr ""
"απόδοση."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25566,6 +26026,16 @@ msgid "3D Physics"
msgstr "Kαρέ φυσικής %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Πλοήγηση"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Πλοήγηση"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26992,7 +27462,7 @@ msgstr "Μετάβαση: "
msgid "Refraction"
msgstr "Διάθλαση"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -27077,7 +27547,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Κλιμάκωση: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Ορισμός τύπου μεταβλητής"
#: scene/resources/navigation_mesh.cpp
@@ -27095,10 +27570,15 @@ msgid "Source Group Name"
msgstr "Πηγή"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Ορίσματα κύριας σκηνής:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -27108,11 +27588,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Περιοχή"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Συγχώνευση από σκηνή"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -27126,6 +27611,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Φόρτωση προεπιλογής"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Επιλογή απόστασης:"
@@ -27143,9 +27633,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Δημιουρία AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Μετατόπιση:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27558,6 +28058,11 @@ msgid "Scenario"
msgstr "Σκηνή"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Πλοήγηση"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27575,6 +28080,26 @@ msgstr "Αριστερή Γραμμική"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Προεπιλεγμένο Βήμα Κινητής Υποδιαστολής"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Ανανέωση Προεπισκόπησης"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Δοκιμαστικά"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Επεξεργασία Σύνδεσης:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/en_Shaw.po b/editor/translations/en_Shaw.po
index 4d7807e6f3..361c10ce1a 100644
--- a/editor/translations/en_Shaw.po
+++ b/editor/translations/en_Shaw.po
@@ -203,9 +203,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -311,7 +312,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "𐑯𐑪𐑑 𐑦𐑯𐑳𐑓 𐑚𐑲𐑑𐑕 𐑓 𐑛𐑰𐑒𐑴𐑛𐑦𐑙 𐑚𐑲𐑑𐑕, 𐑹 𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑓𐑹𐑥𐑨𐑑."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑦𐑯𐑐𐑫𐑑 %i (𐑯𐑪𐑑 𐑐𐑭𐑕𐑑) 𐑦𐑯 𐑦𐑒𐑕𐑐𐑮𐑧𐑖𐑩𐑯"
#: core/math/expression.cpp
@@ -355,6 +357,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "𐑒𐑷𐑤 𐑥𐑧𐑔𐑩𐑛 𐑑𐑮𐑨𐑒"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -380,6 +391,11 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -431,6 +447,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -535,7 +555,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -618,24 +639,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -743,7 +763,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1011,6 +1032,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "𐑓𐑮𐑰"
@@ -1027,7 +1049,7 @@ msgstr "𐑥𐑦𐑮𐑼"
msgid "Time:"
msgstr "𐑑𐑲𐑥:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "𐑝𐑨𐑤𐑿:"
@@ -1271,10 +1293,70 @@ msgid "Remove this track."
msgstr "𐑮𐑦𐑥𐑵𐑝 𐑞𐑦𐑕 𐑑𐑮𐑨𐑒."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "𐑑𐑲𐑥(𐑟): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑦𐑯𐑛𐑧𐑒𐑕 𐑝 𐑑𐑲𐑐 %s 𐑓 𐑚𐑱𐑕 𐑑𐑲𐑐 %s"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "𐑨𐑯𐑦𐑥𐑱𐑖𐑩𐑯 𐑒𐑤𐑦𐑐𐑕:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
@@ -1481,7 +1563,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2001,14 +2083,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2064,8 +2147,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2073,7 +2156,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2364,7 +2447,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2416,8 +2499,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2620,6 +2703,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2632,6 +2732,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2734,8 +2854,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2905,9 +3042,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3983,14 +4120,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4105,6 +4234,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4132,6 +4265,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4760,11 +4897,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4856,6 +4995,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5112,7 +5255,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5137,6 +5282,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5646,10 +5799,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6368,14 +6523,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6502,7 +6649,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
@@ -6745,7 +6892,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6773,6 +6920,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7428,11 +7587,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7450,11 +7618,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7551,10 +7714,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7595,10 +7760,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7709,8 +7870,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7726,11 +7888,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8611,6 +8768,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8674,6 +8832,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9415,7 +9577,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9645,6 +9807,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9798,13 +9961,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9813,10 +9969,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10501,13 +10653,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10530,11 +10685,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11009,7 +11159,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11041,15 +11191,15 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+msgid "Simplification:"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11113,6 +11263,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -11967,8 +12122,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13374,20 +13528,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13395,14 +13544,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13503,19 +13644,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "3-𐑛 𐑑𐑮𐑨𐑯𐑕𐑓𐑹𐑥 𐑑𐑮𐑨𐑒"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13523,7 +13669,7 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+msgid "Godot Project Pack"
msgstr ""
#: editor/project_export.cpp
@@ -13531,6 +13677,10 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13802,11 +13952,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -14962,7 +15112,7 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+msgid "Remote %s:"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -15779,7 +15929,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15940,7 +16090,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16337,7 +16487,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16363,6 +16512,18 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+msgid "Bake Navigation"
+msgstr ""
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "𐑝𐑨𐑤𐑿:"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16758,7 +16919,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16766,7 +16927,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17127,7 +17288,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17135,7 +17296,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17289,12 +17450,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑸𐑜𐑘𐑩𐑥𐑩𐑯𐑑𐑕 𐑑 𐑒𐑩𐑯𐑕𐑑𐑮𐑳𐑒𐑑 '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑸𐑜𐑘𐑩𐑥𐑩𐑯𐑑𐑕 𐑑 𐑒𐑩𐑯𐑕𐑑𐑮𐑳𐑒𐑑 '%s'"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17305,11 +17468,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17600,6 +17763,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17608,6 +17776,14 @@ msgstr ""
msgid "Export Format"
msgstr "3-𐑛 𐑑𐑮𐑨𐑯𐑕𐑓𐑹𐑥 𐑑𐑮𐑨𐑒"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr ""
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17644,14 +17820,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17797,10 +17965,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17877,12 +18041,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17891,25 +18055,48 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17925,6 +18112,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -17953,7 +18144,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17964,19 +18155,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17989,7 +18178,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18004,7 +18193,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18012,15 +18201,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18030,7 +18216,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18257,6 +18443,15 @@ msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
msgid "Custom BG Color"
msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18278,19 +18473,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑦𐑯𐑛𐑧𐑒𐑕 𐑝 𐑑𐑲𐑐 %s 𐑓 𐑚𐑱𐑕 𐑑𐑲𐑐 %s"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18363,15 +18568,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18641,9 +18846,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18659,18 +18881,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "3-𐑛 𐑑𐑮𐑨𐑯𐑕𐑓𐑹𐑥 𐑑𐑮𐑨𐑒"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -18678,7 +18953,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18719,6 +18994,14 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19014,6 +19297,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19054,6 +19341,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑸𐑜𐑘𐑩𐑥𐑩𐑯𐑑𐑕 𐑑 𐑒𐑩𐑯𐑕𐑑𐑮𐑳𐑒𐑑 '%s'"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19072,6 +19414,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19087,6 +19445,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19197,7 +19559,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19240,7 +19603,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19900,35 +20263,55 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -19951,13 +20334,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -19965,7 +20350,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21010,6 +21395,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "3-𐑛 𐑑𐑮𐑨𐑯𐑕𐑓𐑹𐑥 𐑑𐑮𐑨𐑒"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21031,12 +21423,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21845,6 +22231,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -22939,6 +23330,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛"
@@ -23296,16 +23692,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23449,6 +23846,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24713,7 +25120,7 @@ msgstr ""
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24789,10 +25196,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -24805,7 +25217,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24817,11 +25233,15 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24834,6 +25254,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24850,7 +25274,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25218,6 +25650,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25233,6 +25670,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "𐑝𐑨𐑤𐑿:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "𐑝𐑨𐑤𐑿:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "𐑝𐑨𐑤𐑿:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index 6d333214ca..0139382972 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -14,42 +14,41 @@
# mourning20s <mourning20s@protonmail.com>, 2021.
# Manuel González <mgoopazo@gmail.com>, 2021.
# Wang Tseryui <2251439097@qq.com>, 2021.
+# Kedr <lava20121991@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-10-06 00:12+0000\n"
-"Last-Translator: Manuel González <mgoopazo@gmail.com>\n"
+"PO-Revision-Date: 2022-06-03 02:51+0000\n"
+"Last-Translator: Kedr <lava20121991@gmail.com>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/"
"godot/eo/>\n"
"Language: eo\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
+#, fuzzy
msgid "Tablet Driver"
-msgstr ""
+msgstr "Pelilo de tabulo"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "La tondujo estas malplena!"
+msgstr "Tondujo"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Aktuala sceno"
+msgstr "Kuranta ekrano"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Kodo de eliro"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "Ŝaltita"
+msgstr "V-sync ŝaltita"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
@@ -232,9 +231,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Reta Profililo"
@@ -348,7 +348,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ne sufiĉas bitokoj por malĉifri bitokojn, aŭ nevalida formo."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Nevalida enigo %i (ne pasitis) en esprimo"
#: core/math/expression.cpp
@@ -393,6 +394,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Movada reĝimo"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -421,6 +431,11 @@ msgstr ""
msgid "Command"
msgstr "Komunumo"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fiziko-kadro %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -478,6 +493,10 @@ msgid "Pressure"
msgstr "Antaŭagordo"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Kapti relative"
@@ -592,7 +611,8 @@ msgstr "Priskribo"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Ruli"
@@ -680,6 +700,11 @@ msgid "Main Run Args"
msgstr "Parametroj de ĉefa sceno:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Scena dosierindiko:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -687,19 +712,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Versikontrolo"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Versikontrolo"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Nomo de kromprogramon:"
+msgid "Version Control Plugin Name"
+msgstr "Versikontrolo"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -819,7 +840,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtriloj:"
@@ -1101,6 +1123,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Senkosta"
@@ -1117,7 +1140,7 @@ msgstr "Spegulo"
msgid "Time:"
msgstr "Tempo:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valoro:"
@@ -1366,10 +1389,74 @@ msgid "Remove this track."
msgstr "Forigi ĉi tiun trakon."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Fojo (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Pozicio de doko"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Rotacia paŝo:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skalo:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Nevalida kromprogramo."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Averto:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Defini stirilon"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Defini stirilon"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Komenci"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Maldissolvo (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animado Filmitaĵero:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Ŝalti/malŝalti trakon"
@@ -1582,7 +1669,8 @@ msgid "Add Method Track Key"
msgstr "Aldoni metodan trakan ŝlosilon"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metodon ne trovis en objekto: "
#: editor/animation_track_editor.cpp
@@ -2118,14 +2206,15 @@ msgstr "Favoritaj:"
msgid "Recent:"
msgstr "Lastatempe:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Serĉo:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Matĉoj:"
@@ -2185,8 +2274,8 @@ msgstr "Serĉi anstataŭiga risurco:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2194,8 +2283,8 @@ msgid "Open"
msgstr "Malfermi"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Proprietuloj de:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2500,7 +2589,7 @@ msgid "Bus Options"
msgstr "Agordoj de buso"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duobligi"
@@ -2552,8 +2641,9 @@ msgstr "Malfermi aranĝon de aŭdia buso"
msgid "There is no '%s' file."
msgstr "Estas neniu dosiero '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Aranĝo"
#: editor/editor_audio_buses.cpp
@@ -2758,6 +2848,25 @@ msgid "Choose"
msgstr "Elekti"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopii elektaron"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pakaĵo instalis sukcese!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Eraris:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Memoras dosieron:"
@@ -2770,6 +2879,31 @@ msgid "Packing"
msgstr "Pakas"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Konservi kiel"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Ne povis krei dosierujon."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Ne eble komencas subprocezon!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Ne malfermeblas dosieron por skribi:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Konservi kiel"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2889,11 +3023,32 @@ msgstr "Propra sencimiga ŝablonon ne trovitis."
msgid "Custom release template not found."
msgstr "Propra eldona ŝablono ne trovitis."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Ŝablono:"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "La provizinta dosierindiko ne ekzistas."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Ŝablonan dosieron ne trovis:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Ne eblas malfermi ZIP de eksportaj ŝablonoj."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"Sur 32-bita eksportoj la enigita PCK ne eblas esti pli granda ol 4 GiB."
@@ -3065,9 +3220,9 @@ msgid "Import"
msgstr "Enporti"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Eksporti"
@@ -4232,15 +4387,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Sceno"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Scena dosierindiko:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4369,6 +4515,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Versikontrolo"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Renomi"
@@ -4397,6 +4547,10 @@ msgstr "Baskuli sendistran reĝimon."
msgid "Add a new scene."
msgstr "Aldoni novan scenon."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Sceno"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Iri al antaŭe malfermitan scenon."
@@ -5074,11 +5228,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Elektinta nodo ne estas Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Grando: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Paĝo: "
#: editor/editor_properties_array_dict.cpp
@@ -5180,6 +5338,11 @@ msgstr ""
"Bonvolu aldoni ruleblan antaŭagordon per la Eksporto menuo aŭ defini "
"ekzistantan antaŭagordon kiel rulebla."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Skribu vian logikon en la _run() metodo."
@@ -5461,7 +5624,9 @@ msgid "Draw Spaces"
msgstr "Alvokoj"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Videbla navigacio"
@@ -5488,6 +5653,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Enkadrigi elekton"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6045,10 +6219,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Mastrumilo de Projektoj"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6840,14 +7016,6 @@ msgid "Replace in Files"
msgstr "Anstataŭigi Ĉiujn"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Trovi: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Anstataŭigi: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Anstataŭigi Ĉiujn"
@@ -6977,7 +7145,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtriloj:"
@@ -7244,7 +7412,8 @@ msgid "Generating Lightmaps"
msgstr "Naskas lummapojn"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Naskas por maŝo: "
#: editor/import/resource_importer_scene.cpp
@@ -7272,6 +7441,18 @@ msgid "Saving..."
msgstr "Konservas..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7965,11 +8146,21 @@ msgid "New Anim"
msgstr "Nova animacio"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Krei novan animacion"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Ŝanĝi nomon de animacio:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Rename Animation"
+msgstr "Renomi animaĵon"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Forigi animacion?"
@@ -7987,12 +8178,6 @@ msgid "Animation name already exists!"
msgstr "Nomo de animacio jam ekzistas!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Rename Animation"
-msgstr "Renomi animaĵon"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplikati animacion"
@@ -8089,10 +8274,12 @@ msgstr "Cepo-haŭtadaj opcioj"
msgid "Directions"
msgstr "Direktoj"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Pasinteco"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Estonteco"
@@ -8133,10 +8320,6 @@ msgid "Pin AnimationPlayer"
msgstr "Fiksi AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Krei novan animacion"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nomo de animacio:"
@@ -8253,7 +8436,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Difinu la finan animacion. Tio ĉi estas utila por sub-transpasoj."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Transpaso: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8270,11 +8454,6 @@ msgid "New name:"
msgstr "Nova nomo:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skalo:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Maldissolvo (s):"
@@ -9187,6 +9366,7 @@ msgstr "Krei propra(j)n osto(j)n el nodo(j)"
msgid "Clear Custom Bones"
msgstr "Vakigi proprajn ostojn"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9252,6 +9432,10 @@ msgid "Preview Canvas Scale"
msgstr "Antaŭvidi la skalon de kanvaso"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Aranĝo"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Translacia masko por enmeti ŝlosilojn."
@@ -10029,8 +10213,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Emisia masko"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10259,6 +10444,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -10413,13 +10599,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Malfermi en la Redaktilo"
@@ -10428,10 +10607,6 @@ msgstr "Malfermi en la Redaktilo"
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11138,13 +11313,17 @@ msgstr "Rotaciada reĝimo"
msgid "Translate"
msgstr "Tradukoj"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Skalo:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Tradukoj:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11167,12 +11346,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Grando: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11664,8 +11837,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Konverti al CPUParticles2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11696,16 +11870,19 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Faro"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
+#, fuzzy
+msgid "Shrink (Pixels):"
+msgstr "Solidaj rastumeroj"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
+#, fuzzy
+msgid "Grow (Pixels):"
+msgstr "Solidaj rastumeroj"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11768,6 +11945,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Forigi animacion?"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12693,8 +12875,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -14141,20 +14322,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14162,14 +14338,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14271,34 +14439,48 @@ msgid "More Info..."
msgstr "Movi al..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Eksporti..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Enportita projekto"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Bonvolu, elektu malplenan dosierujon."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Eksporti..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Projekto"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Fondintoj de la Projekto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Mastrumi eksportaj ŝablonoj"
@@ -14605,14 +14787,14 @@ msgid "Project Manager"
msgstr "Mastrumilo de Projektoj"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Ŝargas, bonvolu atendi..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Lastaj modifitaj"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Ŝargas, bonvolu atendi..."
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Projekto"
@@ -15805,7 +15987,8 @@ msgid "Attach Node Script"
msgstr "Alligi Noda Skripto"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Fora "
#: editor/script_editor_debugger.cpp
@@ -16677,7 +16860,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Redakti plurlateron"
@@ -16853,7 +17036,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17290,7 +17473,6 @@ msgid "Use In Baked Light"
msgstr "Baki lummapojn"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17320,6 +17502,19 @@ msgstr "Centre"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Videbla navigacio"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Videbla navigacio"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17728,7 +17923,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17736,7 +17931,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18114,7 +18309,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18122,7 +18317,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18292,12 +18487,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Malvalidaj argumentoj por konstrui '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Malvalida nomo."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18309,12 +18506,14 @@ msgid "Var Name"
msgstr "Nomo"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metodon ne trovis en objekto: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metodon ne trovis en objekto: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18637,6 +18836,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Eltondi nodo(j)n"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18645,6 +18849,16 @@ msgstr ""
msgid "Export Format"
msgstr "Formo"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Grando de konturo:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Celo"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18684,16 +18898,6 @@ msgstr "Inspekti antaŭan ekzemplon"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Grando de konturo:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Celo"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18863,10 +19067,6 @@ msgid "Could not execute on device."
msgstr "Ne povis krei dosierujon."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18943,12 +19143,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18957,25 +19157,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signalo"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18994,6 +19218,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Ne eble komencas subprocezon!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19023,7 +19252,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19034,20 +19263,18 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr "Ne eblas redakti project.godot en projekta dosierindiko."
#: platform/android/export/export_plugin.cpp
@@ -19060,7 +19287,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19076,7 +19303,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Enhavo de pakaĵo:"
#: platform/android/export/export_plugin.cpp
@@ -19085,15 +19312,13 @@ msgid "Creating APK..."
msgstr "Konektas..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Ne eble komencas subprocezon!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19105,7 +19330,7 @@ msgstr "Aldonas %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Ne eble komencas subprocezon!"
#: platform/android/export/export_plugin.cpp
@@ -19347,6 +19572,17 @@ msgstr "Eltondi nodo(j)n"
msgid "Custom BG Color"
msgstr "Eltondi nodo(j)n"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Mastrumi eksportaj ŝablonoj"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Propra eldona ŝablono ne trovitis."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19368,23 +19604,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Ne povis krei dosierujon."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Nevalida kromprogramo."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Ne povis krei dosierujon."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Enhavo:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Ne povis krei dosierujon."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Versio:"
@@ -19460,17 +19708,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Ne povis krei dosierujon."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Ne povis krei dosierujon."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Eraras konservi TileSet!"
#: platform/javascript/export/export.cpp
@@ -19767,9 +20015,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Ne eble komencas subprocezon!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Ne eble komencas subprocezon!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokaĵigado"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19785,18 +20052,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Ne sub-risurcojn trovis."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Eraris konservi dosieron: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direktoj"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Ne eble komencas subprocezon!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Kreas bildeton"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Ne eble komencas subprocezon!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Malvalida baza dosierindiko."
#: platform/osx/export/export.cpp
msgid ""
@@ -19806,7 +20129,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19847,6 +20170,16 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekto"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Ne eblas redakti project.godot en projekta dosierindiko."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -20157,6 +20490,11 @@ msgid "Debug Algorithm"
msgstr "Sencimigilo"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Ne eblas forigi provizoran dosieron:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20204,6 +20542,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Alglui animacion"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Nevalida kromprogramo."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Malvalidaj argumentoj por konstrui '%s'"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Malvalida nomo."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Nevalida kromprogramo."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Ne eblas forigi provizoran dosieron:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20225,6 +20623,23 @@ msgid "Invalid product version:"
msgstr "Nevalida nomo de projekto."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Nevalida kromprogramo."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nova Fenestro"
@@ -20241,6 +20656,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20365,7 +20784,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Ekzemplodoni"
@@ -20416,7 +20836,7 @@ msgstr "Zomi"
msgid "Custom Viewport"
msgstr "Montri vidujon"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21134,34 +21554,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Redakti Konekton:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Alglui animacion"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Elektu ĉefan scenon"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Altnivela"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Ŝaltita"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Ŝaltita"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21186,22 +21628,26 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centre malsupre"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Vojaĝa"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Rotacia paŝo:"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstanto"
@@ -22334,6 +22780,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformo"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22357,12 +22810,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23222,6 +23669,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Transformo"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24435,6 +24887,11 @@ msgstr "Dosierujo:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Nur Elektaro"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Ŝaltita"
@@ -24837,16 +25294,17 @@ msgstr "Fokusi al dosierindiko"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25007,6 +25465,16 @@ msgid "3D Physics"
msgstr "Fiziko-kadro %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Videbla navigacio"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Videbla navigacio"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26419,7 +26887,7 @@ msgstr "Transpaso: "
msgid "Refraction"
msgstr "Versio:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26501,7 +26969,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Skalo:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Ŝanĝu la tipon de %s"
#: scene/resources/navigation_mesh.cpp
@@ -26518,10 +26991,15 @@ msgid "Source Group Name"
msgstr "Fonto"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Parametroj de ĉefa sceno:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26531,11 +27009,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Malfermi lastaj"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Kunigi el sceno"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26548,6 +27031,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Ŝargi defaŭlton"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26564,9 +27052,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Krada deŝovo:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26974,6 +27471,11 @@ msgid "Scenario"
msgstr "Sceno"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Videbla navigacio"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26991,6 +27493,26 @@ msgstr "Lineara maldekstro"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Defaŭlto"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Defaŭlto"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testada"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Redakti Konekton:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/es.po b/editor/translations/es.po
index d40459a2cc..173b195cc4 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -78,12 +78,19 @@
# Luis Alberto Flores Baca <betofloresbaca@gmail.com>, 2022.
# losfroger <emilioranita@gmail.com>, 2022.
# Ventura Pérez García <vetu@protonmail.com>, 2022.
+# David Martínez <goddrinksjava@gmail.com>, 2022.
+# Nagamine-j <jimmy.kochi@unmsm.edu.pe>, 2022.
+# Esdras Caleb Oliveira Silva <acheicaleb@gmail.com>, 2022.
+# Luis Ortiz <luisortiz66@hotmail.com>, 2022.
+# Angel Andrade <aandradeb99@gmail.com>, 2022.
+# Juan Felipe Gómez López <juanfgomez0912@gmail.com>, 2022.
+# Pineappletooth <yochank003@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-18 23:16+0000\n"
+"PO-Revision-Date: 2022-08-05 01:04+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
@@ -92,7 +99,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -222,7 +229,7 @@ msgstr "Escala de Tiempo"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Physics Jitter Fix"
-msgstr "Arreglo de las Fluctuaciones Físicas"
+msgstr "Corrección de Fluctuaciones de Física"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
@@ -276,9 +283,10 @@ msgid "Data"
msgstr "Datos"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Red"
@@ -348,7 +356,7 @@ msgstr "Tamaño Máximo del Buffer de Salida"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr "Stream Peer"
+msgstr "Stream de Pares"
#: core/io/stream_peer.cpp
msgid "Big Endian"
@@ -385,8 +393,8 @@ msgstr ""
"inválido."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Entrada inválida %i (no aprobada) en la expresión"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Entrada inválida %d (no aprobada) en la expresión"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -429,6 +437,14 @@ msgstr "Cola de Mensajes"
msgid "Max Size (KB)"
msgstr "Tamaño Máximo (KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Modo de Mouse"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Usar entrada acumulada"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -454,6 +470,10 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "Física"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -474,7 +494,7 @@ msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr "Echo"
+msgstr "Eco"
#: core/os/input_event.cpp scene/gui/base_button.cpp
msgid "Button Mask"
@@ -498,13 +518,17 @@ msgstr "Dobleclick"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr "Tilt"
+msgstr "Inclinar"
#: core/os/input_event.cpp
msgid "Pressure"
msgstr "Presionado"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "Pluma Invertida"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relativo"
@@ -577,11 +601,11 @@ msgstr "Valor del Controlador"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
msgid "Application"
-msgstr "Aplicación"
+msgstr "Aplicação"
#: core/project_settings.cpp main/main.cpp
msgid "Config"
-msgstr "Configurar"
+msgstr "Configuração"
#: core/project_settings.cpp
msgid "Project Settings Override"
@@ -608,7 +632,8 @@ msgstr "Descripción"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Ejecutar"
@@ -640,15 +665,14 @@ msgstr "Nombre de Directorio de Usuario Personalizado"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Mostrar Todos"
+msgstr "Monitor"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Anchura"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -656,23 +680,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Luz"
+msgstr "Altura"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Siempre Visible"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Ancho Izquierda"
+msgstr "Anchura de Prueba"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Prueba"
+msgstr "Altura de Prueba"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -695,6 +716,10 @@ msgid "Main Run Args"
msgstr "Argumentos de la Ejecución Principal"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Nombres de Escenas"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Buscar En Extensiones de Archivos"
@@ -702,18 +727,13 @@ msgstr "Buscar En Extensiones de Archivos"
msgid "Script Templates Search Path"
msgstr "Ruta de Búsqueda de Plantillas de Scripts"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Control de Versiones"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "Cargar automáticamente al inicio"
+msgid "Version Control Autoload On Startup"
+msgstr "Carga Automática de Control de Versiones al Inicio"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nombre del Plugin"
+msgid "Version Control Plugin Name"
+msgstr "Nombre del Plugin de Control de Versiones"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -820,7 +840,8 @@ msgid "Quality"
msgstr "Calidad"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filtros"
@@ -904,7 +925,7 @@ msgstr "Tiempo de Espera de Conexión en Segundos"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr "Packet Peer Stream"
+msgstr "Stream de Paquetes de Pares"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
@@ -1077,7 +1098,7 @@ msgstr "Ponderar Muestras"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr "Voxel Cone Tracing"
+msgstr "Trazado de Conos de Vóxeles"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
@@ -1087,6 +1108,7 @@ msgstr "Calidad Alta"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Tamaño Máximo del Búfer de Blend Shape"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libre"
@@ -1103,7 +1125,7 @@ msgstr "Reflejar"
msgid "Time:"
msgstr "Tiempo:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valor:"
@@ -1158,9 +1180,8 @@ msgstr "Cambiar Llamada de Animación"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Fotograma %"
+msgstr "Fotograma"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1171,9 +1192,8 @@ msgstr "Tiempo"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "Traducciones"
+msgstr "Ubicación"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -1187,14 +1207,13 @@ msgid "Value"
msgstr "Valor"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Cuenta"
+msgstr "Conteo de Argumentos"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argumentos"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1204,31 +1223,27 @@ msgid "Type"
msgstr "Tipo"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Establecer Manipulador"
+msgstr "En el Manipulador"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Establecer Manipulador"
+msgstr "Fuera del Manipulador"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "Stream"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Pivote de Desplazamiento"
+msgstr "Desplazamiento de Inicio"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Desplazamiento H"
+msgstr "Desplazamiento Final"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1241,9 +1256,8 @@ msgid "Animation"
msgstr "Animación"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Entrada-Salida Suave"
+msgstr "Suavizar"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1352,8 +1366,62 @@ msgid "Remove this track."
msgstr "Eliminar esta pista."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Tiempo (s): "
+msgid "Time (s):"
+msgstr "Tiempo (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Posición:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotación:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Escala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tipo:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Inválido, tipo esperado: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Relajación:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "In-Handle:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Out-Handle:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Stream:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Inicio (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Fin (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Clip de Animación:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1570,8 +1638,8 @@ msgid "Add Method Track Key"
msgstr "Añadir Clave de Pista de Método"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Método no encontrado en el objeto: "
+msgid "Method not found in object:"
+msgstr "Método no encontrado en el objeto:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1657,7 +1725,7 @@ msgstr "Agrupar las pistas por nodo o mostrarlas como una lista plana."
#: editor/animation_track_editor.cpp
msgid "Snap:"
-msgstr "Ajuste:"
+msgstr "Snap:"
#: editor/animation_track_editor.cpp
msgid "Animation step value."
@@ -2107,14 +2175,15 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recientes:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Buscar:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Coincidencias:"
@@ -2174,8 +2243,8 @@ msgstr "Buscar Recurso de Reemplazo:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2183,8 +2252,8 @@ msgid "Open"
msgstr "Abrir"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Propietarios De:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Propietarios de: %s (Total: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2488,7 +2557,7 @@ msgid "Bus Options"
msgstr "Opciones de Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
@@ -2540,9 +2609,9 @@ msgstr "Abrir Layout de Bus de Audio"
msgid "There is no '%s' file."
msgstr "No hay ningún archivo `%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Layout:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2684,7 +2753,7 @@ msgstr "Nombre del Nodo:"
#: editor/editor_autoload_settings.cpp
msgid "Global Variable"
-msgstr "Variable"
+msgstr "Variable global"
#: editor/editor_data.cpp
msgid "Paste Params"
@@ -2744,6 +2813,23 @@ msgid "Choose"
msgstr "Elegir"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Exportar proyecto para la plataforma:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Completado con errores."
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Completado exitosamente."
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "Falló."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Archivo de Almacenamiento:"
@@ -2757,6 +2843,26 @@ msgid "Packing"
msgstr "Empaquetando"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "Guardar como PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "No se pudo crear el archivo \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "Fallo en la exportación de los archivos del proyecto."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "No se puede abrir el archivo a leer de la ruta \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr "Guardar como ZIP"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2874,9 +2980,26 @@ msgstr "No se encontró la plantilla de depuración personalizada."
msgid "Custom release template not found."
msgstr "Plantilla release personalizada no encontrada."
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr "Preparar Plantilla"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "La ruta de exportación proporcionada no existe."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "Archivo de plantilla no encontrado:"
+msgid "Template file not found: \"%s\"."
+msgstr "Archivo de plantilla no encontrado: \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "Fallo al copiar la plantilla de exportación."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "Integrar PCK"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3057,9 +3180,9 @@ msgid "Import"
msgstr "Importar"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportar"
@@ -3275,7 +3398,7 @@ msgstr "Mostrar/Ocultar archivos ocultos."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
-msgstr "Ver elementos como una cuadrícula de miniaturas."
+msgstr "Sesgo del nivel de división de la cuadrícula."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a list."
@@ -4213,14 +4336,6 @@ msgstr ""
"No se puede escribir en el archivo '%s', archivo en uso, bloqueado o sin "
"permisos."
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Escena"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Nombres de Escenas"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4335,6 +4450,10 @@ msgid "Default Color Picker Mode"
msgstr "Modo De Selección De Color Por Defecto"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Control de Versiones"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Nombre de usuario"
@@ -4362,6 +4481,10 @@ msgstr "Act./Desact. modo sin distracciones."
msgid "Add a new scene."
msgstr "Añadir nueva escena."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Escena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ir a la escena abierta previamente."
@@ -4455,7 +4578,7 @@ msgstr "Exportar…"
#: editor/editor_node.cpp
msgid "Install Android Build Template..."
-msgstr "Instalar plantilla de compilación de Android..."
+msgstr "Instalar Plantilla de Compilación de Android..."
#: editor/editor_node.cpp
msgid "Open User Data Folder"
@@ -4774,8 +4897,8 @@ msgstr ""
"personalizado al exportarlo (agregando módulos, cambiando el AndroidManifest."
"xml, etc.).\n"
"Ten en cuenta que para realizar compilaciones personalizadas en lugar de "
-"usar APKs predefinidos, la opción \"Use Custom Build\" debería estar "
-"habilitada en la configuración de exportación de Android."
+"usar APKs predefinidos, la opción \"Usar Compilación Personalizada\" debería "
+"estar habilitada en la configuración de exportación de Android."
#: editor/editor_node.cpp
msgid ""
@@ -5052,12 +5175,14 @@ msgid "Selected node is not a Viewport!"
msgstr "¡El nodo seleccionado no es un Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Tamaño: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Tamaño:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Página: "
+msgid "Page:"
+msgstr "Página:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5154,6 +5279,10 @@ msgstr ""
"Por favor, añade un preset ejecutable en el menú de exportación o define un "
"preset existente como ejecutable."
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr "Ejecutar Proyecto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Escribe tu lógica en el método _run()."
@@ -5224,11 +5353,11 @@ msgstr "Atenuar Editor en Diálogo de Popup"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Modo de Reposo en Consumo Bajo del Procesador (µsec)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Modo de Bajo Uso del Procesador Desconectado (µseg)"
#: editor/editor_settings.cpp
msgid "Separate Distraction Mode"
@@ -5240,7 +5369,7 @@ msgstr "Abrir Capturas De Pantalla Automáticamente"
#: editor/editor_settings.cpp
msgid "Max Array Dictionary Items Per Page"
-msgstr ""
+msgstr "Cantidad Máxima de Elementos del Diccionario por Página"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5318,7 +5447,7 @@ msgstr "Comprimir Recursos Binarios"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
-msgstr ""
+msgstr "Guardar de Forma Segura en el Backup y luego Renombrar"
#: editor/editor_settings.cpp
msgid "File Dialog"
@@ -5330,7 +5459,7 @@ msgstr "Tamaño de las Miniaturas"
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "Paneles"
#: editor/editor_settings.cpp
msgid "Scene Tree"
@@ -5353,14 +5482,12 @@ msgid "Auto Refresh Interval"
msgstr "Intervalo de Auto Refrescar"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "Sub-Recursos"
+msgstr "Subrecurso Tinte del Tono"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Color Theme"
-msgstr "Editor de Themes"
+msgstr "Tema de Color"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -5386,7 +5513,7 @@ msgstr "Resaltar la Línea Actual"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
-msgstr ""
+msgstr "Resaltar Líneas con Tipado Seguro"
#: editor/editor_settings.cpp
msgid "Indent"
@@ -5397,9 +5524,8 @@ msgid "Auto Indent"
msgstr "Auto Sangría"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "Convertir Sangría en Espacios"
+msgstr "Convertir Sangría al Guardar"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Draw Tabs"
@@ -5410,7 +5536,9 @@ msgid "Draw Spaces"
msgstr "Dibujar Espacios"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navegación"
@@ -5435,6 +5563,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Botones Extra del Ratón Navegar por el Historial"
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr "Arrastrar y Soltar la Selección"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr "Permanecer En Editor de Scripts En Nodo Seleccionado"
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Apariencia"
@@ -5448,36 +5584,35 @@ msgstr "Números de Línea con Cero Relleno"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
-msgstr ""
+msgstr "Mostrar Margen de Marcador"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Breakpoint Gutter"
-msgstr "Saltar Breakpoints"
+msgstr "Mostrar Margen de Puntos de Interrupción"
#: editor/editor_settings.cpp
msgid "Show Info Gutter"
-msgstr ""
+msgstr "Mostrar Margen de Información"
#: editor/editor_settings.cpp
msgid "Code Folding"
-msgstr ""
+msgstr "Plegado de Código"
#: editor/editor_settings.cpp
msgid "Word Wrap"
-msgstr ""
+msgstr "Ajuste de Palabras"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "Mostrar Guías de Longitud de Línea"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "Directriz de longitud de Línea de Columna Flexible"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "Longitud de Línea de la Guía de la Columna Rígida"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Script List"
@@ -5485,7 +5620,7 @@ msgstr "Lista de Scripts"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "Mostrar Vista General de Miembros"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Files"
@@ -5497,19 +5632,19 @@ msgstr "Eliminar Espacios Sobrantes al Guardar"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr ""
+msgstr "Segundos de Intervalo de Autoguardado"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "Restablecer Scripts al Cargar"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "Recarga Automática y Análisis de Scripts al Guardar"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "Recarga Automática de Scripts en Caso de Cambio Externo"
#: editor/editor_settings.cpp
msgid "Create Signal Callbacks"
@@ -5517,27 +5652,27 @@ msgstr "Crear Llamadas de la Señal"
#: editor/editor_settings.cpp
msgid "Sort Members Outline Alphabetically"
-msgstr ""
+msgstr "Ordenar el Esquema de Miembros Alfabéticamente"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr ""
+msgstr "Cursor"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "Desplazarse Más Allá del Final del Archivo"
#: editor/editor_settings.cpp
msgid "Block Caret"
-msgstr ""
+msgstr "Caret de Bloque"
#: editor/editor_settings.cpp
msgid "Caret Blink"
-msgstr ""
+msgstr "Parpadeo de Caret"
#: editor/editor_settings.cpp
msgid "Caret Blink Speed"
-msgstr ""
+msgstr "Velocidad de Parpadeo de Caret"
#: editor/editor_settings.cpp
msgid "Right Click Moves Caret"
@@ -5551,32 +5686,31 @@ msgstr "Completar"
#: editor/editor_settings.cpp
msgid "Idle Parse Delay"
-msgstr ""
+msgstr "Espera de Análisis Después de Inactividad"
#: editor/editor_settings.cpp
msgid "Auto Brace Complete"
-msgstr ""
+msgstr "Autocompletar Paréntesis"
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "Espera de Completado de Código"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
+msgstr "Colocar Tooltip de Llamada Debajo de la Línea Actual"
#: editor/editor_settings.cpp
msgid "Callhint Tooltip Offset"
-msgstr ""
+msgstr "Desplazamiento del Tooltip de Llamada"
#: editor/editor_settings.cpp
msgid "Complete File Paths"
msgstr "Completar Rutas de Archivos"
#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Add Type Hints"
-msgstr "Añadir Tipo"
+msgstr "Añadir Sugerencias de Tipo"
#: editor/editor_settings.cpp
msgid "Use Single Quotes"
@@ -5588,15 +5722,15 @@ msgstr "Mostrar Índice de Ayuda"
#: editor/editor_settings.cpp
msgid "Help Font Size"
-msgstr ""
+msgstr "Tamaño de Fuente de Ayuda"
#: editor/editor_settings.cpp
msgid "Help Source Font Size"
-msgstr ""
+msgstr "Tamaño de Fuente de Código de Ayuda"
#: editor/editor_settings.cpp
msgid "Help Title Font Size"
-msgstr ""
+msgstr "Tamaño de Fuente del Título de Ayuda"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
@@ -5607,17 +5741,16 @@ msgid "Pick Distance"
msgstr "Distancia de Selección"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Preview Size"
-msgstr "Vista Previa"
+msgstr "Tamaño de Vista Previa"
#: editor/editor_settings.cpp
msgid "Primary Grid Color"
-msgstr ""
+msgstr "Color Primario de Cuadrícula"
#: editor/editor_settings.cpp
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "Color Secundario de Cuadrícula"
#: editor/editor_settings.cpp
msgid "Selection Box Color"
@@ -5625,26 +5758,22 @@ msgstr "Color de Caja de Selección"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "3D Gizmos"
-msgstr "Gizmos"
+msgstr "Gizmos 3D"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Gizmo Colors"
-msgstr "Colores de Emisión"
+msgstr "Colores de Gizmo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Instanced"
-msgstr "Instanciar"
+msgstr "Instanciado"
#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint"
-msgstr "Punto"
+msgstr "Articulación"
#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
@@ -5653,7 +5782,7 @@ msgstr "Punto"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "Forma"
#: editor/editor_settings.cpp
msgid "Primary Grid Steps"
@@ -5665,15 +5794,15 @@ msgstr "Tamaño de la Cuadrícula"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
-msgstr ""
+msgstr "Nivel Máximo de División de Cuadrícula"
#: editor/editor_settings.cpp
msgid "Grid Division Level Min"
-msgstr ""
+msgstr "Nivel Mínimo de División de Cuadrícula"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "Sesgo del Nivel de División de la Cuadrícula"
#: editor/editor_settings.cpp
msgid "Grid XZ Plane"
@@ -5701,7 +5830,7 @@ msgstr "Z Lejana por Defecto"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
+msgstr "Número de hilos de la CPU para el Lightmap Baking"
#: editor/editor_settings.cpp
msgid "Navigation Scheme"
@@ -5721,43 +5850,39 @@ msgstr "Estilo de Zoom"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
-msgstr ""
+msgstr "Emular Teclado Numérico"
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "Emular Mouse de 3 Botones"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Orbit Modifier"
-msgstr "Ordenar por Primera Modificación"
+msgstr "Modificador de Órbita"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Modifier"
-msgstr "Modo desplazamiento lateral"
+msgstr "Modificador Panorámico"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Modifier"
-msgstr "Modificado/s"
+msgstr "Modificador de Zoom"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
-msgstr ""
+msgstr "Paneo del Mouse Deformado"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Feel"
-msgstr "Modo de Navegación"
+msgstr "Sensación de Navegación"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "Sensibilidad de Órbita"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
-msgstr ""
+msgstr "Inercia de Órbita"
#: editor/editor_settings.cpp
msgid "Translation Inertia"
@@ -5792,9 +5917,8 @@ msgid "Freelook Activation Modifier"
msgstr "Modificador de Activación de Vista Libre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Speed Zoom Link"
-msgstr "Modificador de Velocidad de Vista Libre"
+msgstr "Velocidad de Zoom de Vista Libre"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Grid Color"
@@ -5805,13 +5929,12 @@ msgid "Guides Color"
msgstr "Color de Guías"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Smart Snapping Line Color"
-msgstr "Ajuste Inteligente"
+msgstr "Color de Línea de Snapping Inteligente"
#: editor/editor_settings.cpp
msgid "Bone Width"
-msgstr ""
+msgstr "Anchura de Hueso"
#: editor/editor_settings.cpp
msgid "Bone Color 1"
@@ -5827,11 +5950,11 @@ msgstr "Selección del Color de los Huesos"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
-msgstr ""
+msgstr "Color del hueso IK"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
-msgstr ""
+msgstr "Color del Contorno del Hueso"
#: editor/editor_settings.cpp
msgid "Bone Outline Size"
@@ -5839,19 +5962,19 @@ msgstr "Tamaño de Contorno de Hueso"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
-msgstr ""
+msgstr "Color del Borde del Viewport"
#: editor/editor_settings.cpp
msgid "Constrain Editor View"
-msgstr ""
+msgstr "Vista del Editor de Restricciones"
#: editor/editor_settings.cpp
msgid "Simple Panning"
-msgstr ""
+msgstr "Paneo Simple"
#: editor/editor_settings.cpp
msgid "Scroll To Pan"
-msgstr ""
+msgstr "Desplazar Para Arrastrar"
#: editor/editor_settings.cpp
msgid "Pan Speed"
@@ -5863,7 +5986,7 @@ msgstr "Editor de Polígonos"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
-msgstr ""
+msgstr "Radio del Punto de Agarre"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Show Previous Outline"
@@ -5875,7 +5998,7 @@ msgstr "Autorrenombrar Pistas de Animación"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
-msgstr ""
+msgstr "Crear Pistas Bézier Predeterminadas"
#: editor/editor_settings.cpp
msgid "Default Create Reset Tracks"
@@ -5883,11 +6006,11 @@ msgstr "Crear Pistas de Reinicio por Defecto"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
-msgstr ""
+msgstr "Color de Capas de Cebolla Pasadas"
#: editor/editor_settings.cpp
msgid "Onion Layers Future Color"
-msgstr ""
+msgstr "Color de Capas de Cebolla Futuras"
#: editor/editor_settings.cpp
msgid "Visual Editors"
@@ -5895,27 +6018,25 @@ msgstr "Editores Visuales"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
-msgstr ""
+msgstr "Opacidad del Minimapa"
#: editor/editor_settings.cpp
msgid "Window Placement"
-msgstr ""
+msgstr "Ubicación de la Ventana"
#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
#: scene/gui/control.cpp
-#, fuzzy
msgid "Rect"
-msgstr "Completo"
+msgstr "Rect"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Rect Custom Position"
-msgstr "Establecer Posición de Salida de Curva"
+msgstr "Posición Personalizada de Rect"
#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
msgid "Screen"
-msgstr ""
+msgstr "Pantalla"
#: editor/editor_settings.cpp
msgid "Auto Save"
@@ -5945,54 +6066,55 @@ msgstr "Editor de Certificados SSL"
#: editor/editor_settings.cpp
msgid "HTTP Proxy"
-msgstr ""
+msgstr "Proxy HTTP"
#: editor/editor_settings.cpp
msgid "Host"
-msgstr ""
+msgstr "Host"
#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Port"
-msgstr ""
+msgstr "Puerto"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Administrador de Proyectos"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Orden de Ordenamiento"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
-msgstr ""
+msgstr "Color del Símbolo"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "Color de Palabra Clave"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "Control de Flujo Color de Palabra Clave"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "Tipo Base"
+msgstr "Tipo de Color Base"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "Tipo de Color del Engine"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "Tipo de Color del Usuario"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "Color de los Comentarios"
#: editor/editor_settings.cpp
msgid "String Color"
@@ -6009,25 +6131,24 @@ msgid "Completion Background Color"
msgstr "Completar Color de Fondo"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Selected Color"
-msgstr "Importar Seleccionado"
+msgstr "Completar Color Seleccionado"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Existing Color"
-msgstr ""
+msgstr "Completar Color Existente"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Scroll Color"
-msgstr ""
+msgstr "Completar Color de Scroll"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Font Color"
-msgstr ""
+msgstr "Completar Color de la Fuente"
#: editor/editor_settings.cpp
msgid "Text Color"
-msgstr "Color de Texto"
+msgstr "Color del Texto"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Line Number Color"
@@ -6039,7 +6160,7 @@ msgstr "Color de Número de Línea Seguro"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
-msgstr ""
+msgstr "Color del Caret"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Background Color"
@@ -6066,56 +6187,48 @@ msgid "Line Length Guideline Color"
msgstr ""
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Word Highlighted Color"
-msgstr "Resaltador de Sintaxis"
+msgstr "Color de la Palabra Resaltada"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "Número del Color"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Function Color"
-msgstr "Función"
+msgstr "Función Color"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Member Variable Color"
-msgstr "Cambiar nombre de variable"
+msgstr "Color de la Variable Miembro"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Mark Color"
-msgstr "Seleccionar Color"
+msgstr "Marcar Color"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bookmark Color"
-msgstr "Marcadores"
+msgstr "Color del Marcador"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Breakpoint Color"
-msgstr "Puntos de interrupción"
+msgstr "Puntos de Interrupción"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Executing Line Color"
-msgstr ""
+msgstr "Color de la línea de ejecución"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Color"
-msgstr "Resultados de la Búsqueda"
+msgstr "Color del Resultado de Búsqueda"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Border Color"
-msgstr "Resultados de la Búsqueda"
+msgstr "Color de los Bordes del Resultado de Búsqueda"
#: editor/editor_spin_slider.cpp
msgid "Hold %s to round to integers. Hold Shift for more precise changes."
@@ -6124,14 +6237,12 @@ msgstr ""
"la tecla Mayús para cambios más precisos."
#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-#, fuzzy
msgid "Flat"
-msgstr "Plano 0"
+msgstr "Plano"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "Modo de Colisión"
+msgstr "Ocultar Deslizador"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6728,14 +6839,6 @@ msgid "Replace in Files"
msgstr "Reemplazar en Archivos"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Buscar: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Reemplazar: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Reemplazar Todo (NO SE PUEDE DESHACER)"
@@ -6817,9 +6920,8 @@ msgid "Use Ambient"
msgstr ""
#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
msgid "Create From"
-msgstr "Crear Carpeta"
+msgstr "Crear Desde"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
@@ -6839,9 +6941,8 @@ msgid "Delimiter"
msgstr "Delimitador"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
-msgstr "Corrección del Color"
+msgstr "Corrección de Color"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
@@ -6863,15 +6964,14 @@ msgstr "Repetir"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Filtro"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Mipmaps"
-msgstr "Señales"
+msgstr "Mipmaps"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
@@ -6902,14 +7002,12 @@ msgid "Vertical"
msgstr "Vertical"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "Generar puntos"
+msgstr "Generar Tangentes"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "Modo de Escalado"
+msgstr "Escalar Mesh"
#: editor/import/resource_importer_obj.cpp
msgid "Offset Mesh"
@@ -6917,14 +7015,12 @@ msgstr "Offset de Malla"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "Compresión"
+msgstr "Compresión Octaédrica"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "Tamaño de los Indicadores"
+msgstr "Optimizar Marcadores de Malla"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -6968,29 +7064,24 @@ msgstr "Importar como Escenas y Materiales Múltiples"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Nodes"
msgstr "Nodos"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Type"
-msgstr "Regresar"
+msgstr "Tipo de Raíz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Name"
-msgstr "Nombre Remoto"
+msgstr "Nombre de Raíz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "Escala"
+msgstr "Escala de Raíz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Custom Script"
-msgstr "CustomNode"
+msgstr "Script Personalizado"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
msgid "Storage"
@@ -7005,62 +7096,52 @@ msgid "Materials"
msgstr "Materiales"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "Reimportar"
+msgstr "Seguir Reimportando"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Meshes"
-msgstr "Malla"
+msgstr "Meshes"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Ensure Tangents"
-msgstr "Modificar Tangente de Curva"
+msgstr "Asegurar Tangentes"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "Lightmapping"
+msgstr "Bake de Luces"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "Calcular Lightmaps"
+msgstr "Tamaño Lightmap Texel"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Use Named Skins"
-msgstr "Usar Ajuste de Escalado"
+msgstr "Usar Skins con Nombre"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "External Files"
-msgstr "Abrir un Archivo"
+msgstr "Archivos Externos"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Filter Script"
-msgstr "Filtrar scripts"
+msgstr "Filtrar Script"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "Transformar"
+msgstr "Mantener Pistas Personalizadas"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
-msgstr "Optimizar"
+msgstr "Optimizador"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
@@ -7074,9 +7155,8 @@ msgstr "Optimizar"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Enabled"
-msgstr "Activar"
+msgstr "Activado"
#: editor/import/resource_importer_scene.cpp
msgid "Max Linear Error"
@@ -7087,19 +7167,16 @@ msgid "Max Angular Error"
msgstr "Error Angular Máximo"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "Valor"
+msgstr "Ángulo Máximo"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Remove Unused Tracks"
-msgstr "Eliminar Pista de Animación"
+msgstr "Eliminar Pistas Sin Usar"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
-msgstr "Clips de Animación"
+msgstr "Clips"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
@@ -7121,8 +7198,8 @@ msgid "Generating Lightmaps"
msgstr "Generando Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Generando para la Malla: "
+msgid "Generating for Mesh:"
+msgstr "Generar para el Mesh:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7150,22 +7227,32 @@ msgid "Saving..."
msgstr "Guardando..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "Pixeles Sólidos"
+msgstr "Pixel 2D"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
msgstr ""
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "HDR Mode"
-msgstr "Modo de Selección"
+msgstr "Modo HDR"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
@@ -7179,45 +7266,40 @@ msgid "Normal Map"
msgstr ""
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "Post procesado"
+msgstr "Proceso"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
msgstr ""
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Premult Alpha"
-msgstr "Editar Polígono"
+msgstr "Premult Alpha"
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
msgstr ""
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "Vértice"
+msgstr "Invertir Color"
#: editor/import/resource_importer_texture.cpp
msgid "Normal Map Invert Y"
msgstr "Invertir Y en Mapa Normal"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Size Limit"
-msgstr "Límites"
+msgstr "Tamaño Límite"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
msgstr ""
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "SVG"
-msgstr "HSV"
+msgstr "SVG"
#: editor/import/resource_importer_texture.cpp
msgid ""
@@ -7234,18 +7316,16 @@ msgid "Import Mode"
msgstr "Modo de Importación"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "Establecer Región de Tile"
+msgstr "Recortar la Región"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
msgstr ""
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "Forzar Push"
+msgstr "Fuerza"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
@@ -7257,41 +7337,35 @@ msgid "Mono"
msgstr ""
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "Nodo Mix"
+msgstr "Tasa Máxima"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "Nodo Mix"
+msgstr "Tasa Máxima Hz"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
msgstr ""
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "Formato"
+msgstr "Normalizar"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Mode"
-msgstr "Modo de Movimiento"
+msgstr "Modo Bucle"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Begin"
-msgstr "Modo de Movimiento"
+msgstr "Inicio del Bucle"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop End"
-msgstr "Modo de Movimiento"
+msgstr "Fin del Bucle"
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -7378,14 +7452,12 @@ msgid "Raw"
msgstr "Raw"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Capitalized"
-msgstr "Capitalizar"
+msgstr "Capitalización"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "Idioma"
+msgstr "Localizado"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
@@ -7643,7 +7715,7 @@ msgstr "Seleccionar y mover puntos, crear puntos con clic derecho."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
msgid "Enable snap and show grid."
-msgstr "Activar ajuste y mostrar cuadrícula."
+msgstr "Activar snap y mostrar cuadrícula."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -7841,11 +7913,20 @@ msgid "New Anim"
msgstr "Nueva Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Crear Animación Nueva"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Cambiar nombre de animación:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Renombrar Animación"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "¿Eliminar Animación?"
@@ -7863,11 +7944,6 @@ msgid "Animation name already exists!"
msgstr "¡El nombre de animación ya existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Renombrar Animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplicar Animación"
@@ -7935,9 +8011,8 @@ msgid "New"
msgstr "Nuevo"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "%s Referencia de Clase"
+msgstr "Pegar Como Referencia"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -7967,10 +8042,12 @@ msgstr "Opciones de Papel Cebolla"
msgid "Directions"
msgstr "Direcciones"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Anterior"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Posterior"
@@ -8011,10 +8088,6 @@ msgid "Pin AnimationPlayer"
msgstr "Fijar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Crear Animación Nueva"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nombre de Animación:"
@@ -8130,8 +8203,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Asignar la animación de fin. Esto es útil para sub-transiciones."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Transición: "
+msgid "Transition:"
+msgstr "Transición:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8147,11 +8220,6 @@ msgid "New name:"
msgstr "Nuevo nombre:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Escala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fundido de entrada (s):"
@@ -8436,25 +8504,21 @@ msgid "Loading..."
msgstr "Cargar..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "First"
msgstr "Primero"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Previous"
msgstr "Anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Next"
msgstr "Siguiente"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Last"
msgstr "Último"
@@ -8578,7 +8642,7 @@ msgstr "Vista Previa"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
-msgstr "Configurar Ajuste"
+msgstr "Configurar Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Offset:"
@@ -8943,48 +9007,48 @@ msgstr "Modo de Regla"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle smart snapping."
-msgstr "Act./Desact. ajuste inteligente."
+msgstr "Act./Desact. snap inteligente."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Smart Snap"
-msgstr "Usar Ajuste Inteligente"
+msgstr "Usar Snap Inteligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle grid snapping."
-msgstr "Act./Desact. ajuste de cuadrícula."
+msgstr "Act./Desact. snapping de cuadrícula."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Grid Snap"
-msgstr "Usar Ajuste de Cuadrícula"
+msgstr "Usar Snap de Cuadrícula"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snapping Options"
-msgstr "Opciones de Ajuste"
+msgstr "Opciones de Snapping"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
-msgstr "Usar Ajuste de Rotación"
+msgstr "Usar Snap de Rotación"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Scale Snap"
-msgstr "Usar Ajuste de Escalado"
+msgstr "Usar Snap de Escala"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
-msgstr "Ajuste Relativo"
+msgstr "Snap Relativo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Pixel Snap"
-msgstr "Usar Ajuste de Píxeles"
+msgstr "Usar Snap de Píxeles"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Smart Snapping"
-msgstr "Ajuste Inteligente"
+msgstr "Snapping Inteligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Configure Snap..."
-msgstr "Configurar Ajuste..."
+msgstr "Configurar Snap..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to Parent"
@@ -9066,29 +9130,27 @@ msgstr "Crear Hueso(s) Personalizados a partir de Nodo(s)"
msgid "Clear Custom Bones"
msgstr "Borrar Huesos Personalizados"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Ver"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show"
-msgstr "Ver Cuadrícula"
+msgstr "Mostrar"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show When Snapping"
-msgstr "Ajuste Inteligente"
+msgstr "Mostrar Al Ajustar"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "Ocultar"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid"
-msgstr "Cambiar Modo"
+msgstr "Cambiar Cuadrícula"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -9132,6 +9194,10 @@ msgid "Preview Canvas Scale"
msgstr "Previsualizar Escala de Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Layout"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Máscara de desplazamiento para insertar claves."
@@ -9443,9 +9509,8 @@ msgid "Swap Gradient Fill Points"
msgstr ""
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid Snap"
-msgstr "Cambiar Modo"
+msgstr "Cambiar Snap de Cuadrícula"
#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
@@ -9468,9 +9533,8 @@ msgstr ""
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "Separación:"
+msgstr "Separador"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9708,7 +9772,6 @@ msgstr ""
"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "MeshLibrary"
msgstr "Librería de Mallas"
@@ -9733,14 +9796,12 @@ msgid "Update from Scene"
msgstr "Actualizar desde escena"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply without Transforms"
-msgstr "Aplicar Transformaciones al MeshInstance"
+msgstr "Aplicar sin Transformaciones"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply with Transforms"
-msgstr "Aplicar Transformaciones al MeshInstance"
+msgstr "Aplicar con Transformaciones"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
@@ -9912,8 +9973,8 @@ msgid "Volume"
msgstr "Volumen"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Fuente de Emisión: "
+msgid "Emission Source:"
+msgstr "Fuente de Emisión:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10088,7 +10149,7 @@ msgid ""
"viewport."
msgstr ""
"El polígono 2D tiene vértices internos, por lo que ya no se puede editar en "
-"la ventanilla."
+"el viewport."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Polygon & UV"
@@ -10146,6 +10207,7 @@ msgid "Points"
msgstr "Puntos"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polígonos"
@@ -10234,11 +10296,11 @@ msgstr "Configuración de la Cuadrícula"
#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Snap"
-msgstr "Ajuste"
+msgstr "Snap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
-msgstr "Activar Ajuste"
+msgstr "Activar Snap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Show Grid"
@@ -10303,13 +10365,6 @@ msgid "Instance:"
msgstr "Instancia:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tipo:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Abrir en el Editor"
@@ -10318,10 +10373,6 @@ msgstr "Abrir en el Editor"
msgid "Load Resource"
msgstr "Cargar Recurso"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Precargador de Recursos"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Voltear Portales"
@@ -10619,19 +10670,16 @@ msgid "External"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Use External Editor"
-msgstr "Depurar con Editor Externo"
+msgstr "Usar un Editor Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Exec Path"
-msgstr "Ruta de Exportación"
+msgstr "Ruta de Ejecución"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "Seleccionar el archivo de la plantilla"
+msgstr "Temperatura del Script Activada"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
@@ -10646,14 +10694,12 @@ msgid "Current Script Background Color"
msgstr "Color de Fondo del Script Actual"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Group Help Pages"
-msgstr "Agrupar Seleccionados"
+msgstr "Páginas de Ayuda para Grupos"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Sort Scripts By"
-msgstr "Crear Script"
+msgstr "Ordenar Scripts por"
#: editor/plugins/script_editor_plugin.cpp
msgid "List Script Names As"
@@ -10747,7 +10793,7 @@ msgstr "Marcadores"
#: editor/plugins/script_text_editor.cpp
msgid "Breakpoints"
-msgstr "Puntos de interrupción"
+msgstr "Puntos de Interrupción"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
@@ -10870,8 +10916,8 @@ msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Este shader ha sido modificado en disco.\n"
-"¿Qué acciones deben tomarse?"
+"Este shader ha sido modificado en el disco.\n"
+"¿Qué acción debe tomarse?"
#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp
msgid "Shader"
@@ -11020,13 +11066,15 @@ msgstr "Rotar"
msgid "Translate"
msgstr "Mover"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Escalado: "
+msgid "Scaling:"
+msgstr "Escala:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Trasladar: "
+msgid "Translating:"
+msgstr "Trasladar:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11049,11 +11097,6 @@ msgid "Yaw:"
msgstr "Eje de guiñada:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Tamaño:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Objetos Dibujados:"
@@ -11372,27 +11415,27 @@ msgstr "Dialogo de Transformación..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "1 Viewport"
-msgstr "1 Ventana"
+msgstr "1 Viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports"
-msgstr "2 Ventanas"
+msgstr "2 Viewports"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports (Alt)"
-msgstr "2 Ventanas (Alt)"
+msgstr "2 Viewports (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports"
-msgstr "3 Ventanas"
+msgstr "3 Viewports"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports (Alt)"
-msgstr "3 Ventanas (Alt)"
+msgstr "3 Viewports (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "4 Viewports"
-msgstr "4 Ventanas"
+msgstr "4 Viewports"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Gizmos"
@@ -11437,7 +11480,7 @@ msgstr "Ajuste de Escala (%):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
-msgstr "Configuración de ventanilla"
+msgstr "Configuración del Viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Perspective FOV (deg.):"
@@ -11488,9 +11531,8 @@ msgid "Manipulator Gizmo Opacity"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Show Viewport Rotation Gizmo"
-msgstr "Bloquear Rotación de Vista"
+msgstr "Mostrar Gizmo de Rotación del Viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unnamed Gizmo"
@@ -11542,8 +11584,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geometría inválida, no puede ser reemplazada por una malla."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr "Convertir a Mesh2D"
+msgid "Convert to MeshInstance2D"
+msgstr "Convertir a MeshInstance2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11574,16 +11616,16 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Simplificación: "
+msgid "Simplification:"
+msgstr "Simplificación:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Encoger (Píxeles): "
+msgid "Shrink (Pixels):"
+msgstr "Reducción (Píxeles):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Crecer (Pixeles): "
+msgid "Grow (Pixels):"
+msgstr "Crecimiento (Píxeles):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11646,6 +11688,10 @@ msgid "New Animation"
msgstr "Nueva Animación"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Filter animations"
+msgstr "Filtrar animaciones"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Velocidad:"
@@ -11943,9 +11989,8 @@ msgstr ""
"¿Cerrar de todos modos?"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "Eliminar Tile"
+msgstr "Eliminar Tipo"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -11989,14 +12034,12 @@ msgstr ""
"Añade más propiedades manualmente o impórtalas desde otro Theme."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "Añadir Tipo de Elemento"
+msgstr "Añadir Tipo de Theme"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "Eliminar Remoto"
+msgstr "Eliminar Tipo de Theme"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12443,55 +12486,46 @@ msgid "Clear Transform"
msgstr "Reestablecer Transformación"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Tile Map"
-msgstr "Dibujar TileMap"
+msgstr "Mapa de Tiles"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Palette Min Width"
-msgstr ""
+msgstr "Ancho Mínimo de la Paleta"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Palette Item H Separation"
-msgstr "Separador con nombre"
+msgstr "Separación del Elemento H de la Paleta"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Names"
-msgstr "Mostrar Todos los Idiomas"
+msgstr "Mostrar Nombres de Tiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Ids"
-msgstr "Mostrar Reglas"
+msgstr "Mostrar ID de los Tiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Sort Tiles By Name"
-msgstr "Ordenar archivos"
+msgstr "Ordenar Tiles por Nombre"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Bucket Fill Preview"
-msgstr "Bote de Relleno"
+msgstr "Vista previa del Bote de Relleno"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editor Side"
-msgstr "Editor"
+msgstr "Lado del Editor"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Display Grid"
-msgstr "Mostrar Overdraw"
+msgstr "Mostrar Cuadrícula"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Axis Color"
-msgstr "Seleccionar Color"
+msgstr "Color de los Ejes"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
@@ -12538,8 +12572,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Seleccionar la anterior forma, subtile, o Tile."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Región"
@@ -12831,7 +12864,6 @@ msgid "This property can't be changed."
msgstr "Esta propiedad no se puede cambiar."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "Opciones de Ajuste"
@@ -12856,14 +12888,12 @@ msgstr "Paso"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "Separación:"
+msgstr "Separación"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Seleccionar"
+msgstr "Tiles Seleccionados"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12872,14 +12902,12 @@ msgstr "Seleccionar"
#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Texture"
-msgstr "Texto"
+msgstr "Textura"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "Desplazamiento de Byte"
+msgstr "Desplazamiento de Textura"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12889,79 +12917,64 @@ msgstr "Material"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Modulate"
-msgstr "Rellenar"
+msgstr "Modular"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Cambiar Modo"
+msgstr "Modo Tile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "Modo de Bitmask"
+msgstr "Modo Bitmask Automático"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "Tamaño del Contorno"
+msgstr "Tamaño de Subtile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "Espaciado de Línea"
+msgstr "Espaciado de Subtile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "Crear Polígono Oclusor"
+msgstr "Desplazamiento del Oclusor"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "Modo de Navegación"
+msgstr "Desplazamiento de Navegación"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Desplazamiento Base"
+msgstr "Desplazamiento del Shape"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Transformar"
+msgstr "Transformar Shape"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "Colisión"
+msgstr "Colisión Seleccionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "Sólo selección"
+msgstr "Colisión Seleccionada en Una Dirección"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "Modo de Colisión"
+msgstr "Margen Seleccionado de Colisión en Una Dirección"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "Navegación Visible"
+msgstr "Navegación Seleccionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "Seleccionar"
+msgstr "Oclusión Seleccionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Filtrar scripts"
+msgstr "Script de Tileset"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -14052,41 +14065,22 @@ msgid "Runnable"
msgstr "Ejecutable"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "¿Eliminar preajuste '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"No se pudo exportar el proyecto para la plataforma '%s'.\n"
-"Las plantillas de exportación parecen faltar o ser inválidas."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"No se pudo exportar el proyecto para la plataforma '%s'.\n"
-"Esto puede ser debido a un problema de configuración en el preset de "
-"exportación o en la configuración de exportación."
+msgid "Delete preset '%s'?"
+msgstr "¿Eliminar preajuste '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Exportar Todo"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "La ruta de exportación especificada no existe:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Las plantillas de exportación para esta plataforma faltan/están corruptas:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Ruta de Exportación"
@@ -14191,39 +14185,46 @@ msgid ""
msgstr ""
#: editor/project_export.cpp
-#, fuzzy
msgid "More Info..."
-msgstr "Mover a..."
+msgstr "Más información..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "Exportar PCK/Zip"
+msgid "Export PCK/Zip..."
+msgstr "Exportar PCK/Zip..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "Exportar Proyecto"
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "¿Modo de Exportación?"
+msgid "Export Project..."
+msgstr "Exportar Proyecto..."
#: editor/project_export.cpp
msgid "Export All"
msgstr "Exportar Todo"
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr "Elige un modo de exportación:"
+
+#: editor/project_export.cpp
+msgid "Export All..."
+msgstr "Exportar Todo..."
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "Archivo ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr "Godot Game Pack"
+msgid "Godot Project Pack"
+msgstr "Paquete de Proyectos de Godot"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "Faltan plantillas de exportación para esta plataforma:"
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr "Exportación del Proyecto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Administrar Plantillas de Exportación"
@@ -14536,20 +14537,19 @@ msgstr ""
#. TRANSLATORS: This refers to the application where users manage their Godot projects.
#: editor/project_manager.cpp
-#, fuzzy
msgctxt "Application"
msgid "Project Manager"
msgstr "Administrador de Proyectos"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Cargando, espera por favor..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Ultima Modificación"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Cargando, espera por favor..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Editar Proyecto"
@@ -15344,14 +15344,12 @@ msgid "Another node already uses this unique name in the scene."
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name"
-msgstr "Nombre Único"
+msgstr "Activar Nombre Único de Escena"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "Nombre Único"
+msgstr "Desactivar Nombre Único de Escena"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15526,18 +15524,16 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "¿Quieres limpiar la herencia? (No se puede deshacer)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "Centrar Selección"
+msgstr "Mostrar Selección de la Raíz del Árbol de Escenas"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Use Favorites Root Selection"
-msgstr "Seleccionar Fotogramas"
+msgstr "Usar Selección de Raíces Favoritas"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -15776,8 +15772,8 @@ msgid "Attach Node Script"
msgstr "Añadir Script de Nodo"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Remoto "
+msgid "Remote %s:"
+msgstr "Remoto %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15996,23 +15992,20 @@ msgid "Change Particles AABB"
msgstr "Cambiar partículas AABB"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Reflection Probe"
-msgstr "Seleccionar Propiedad"
+msgstr "Sonda de Reflexión"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
msgstr "Cambiar Alcance de la Sonda"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "GI Probe"
-msgstr "Calcular GI Probe"
+msgstr "Sonda GI"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Baked Indirect Light"
-msgstr "Iluminación indirecta"
+msgstr "Iluminación Indirecta Bakeada"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
@@ -16043,24 +16036,20 @@ msgid "Change Ray Shape Length"
msgstr "Cambiar Longitud de la Forma del Rayo"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge"
-msgstr "Modo de Navegación"
+msgstr "Borde de Navegación"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge Disabled"
-msgstr "Modo de Navegación"
+msgstr "Borde de Navegación Desactivado"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid"
-msgstr "Modo de Navegación"
+msgstr "Navegación Sólida"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid Disabled"
-msgstr "Modo de Navegación"
+msgstr "Navegación Sólida Desactivada"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body A"
@@ -16083,9 +16072,8 @@ msgid "Set Room Point Position"
msgstr "Establecer Posición del Room Point"
#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Margin"
-msgstr "Asignar Margen"
+msgstr "Margen del Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Edge"
@@ -16104,15 +16092,13 @@ msgid "Portal Front"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Portal Back"
-msgstr "Retroceder"
+msgstr "Portal de Regreso"
#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Occluder"
-msgstr "Modo de Oclusión"
+msgstr "Oclusor"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Occluder Sphere Radius"
@@ -16131,19 +16117,16 @@ msgid "Set Occluder Hole Point Position"
msgstr "Establecer posición del orificio del oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Front"
-msgstr "Crear Polígono Oclusor"
+msgstr "Frente del Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Back"
-msgstr "Crear Polígono Oclusor"
+msgstr "Posterior del Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Hole"
-msgstr "Crear Polígono Oclusor"
+msgstr "Orificio Oclusor"
#: main/main.cpp
msgid "Godot Physics"
@@ -16152,32 +16135,28 @@ msgstr ""
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
msgid "Use BVH"
-msgstr ""
+msgstr "Usar BVH"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
-#, fuzzy
msgid "BVH Collision Margin"
-msgstr "Modo de Colisión"
+msgstr "Margen de Colisión BVH"
#: main/main.cpp
-#, fuzzy
msgid "Crash Handler"
-msgstr "Establecer Manipulador"
+msgstr "Manipulador de Colisiones"
#: main/main.cpp
-#, fuzzy
msgid "Multithreaded Server"
-msgstr "Establecer multinodo"
+msgstr "Servidor Multihilo"
#: main/main.cpp
msgid "RID Pool Prealloc"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Debugger stdout"
-msgstr "Depurador"
+msgstr "Depurador stdout"
#: main/main.cpp
msgid "Max Chars Per Second"
@@ -16208,14 +16187,12 @@ msgid "File Logging"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Enable File Logging"
-msgstr "Habilitar Filtrado"
+msgstr "Activar Registro de Archivos"
#: main/main.cpp
-#, fuzzy
msgid "Log Path"
-msgstr "Copiar Ruta"
+msgstr "Ruta del Registro"
#: main/main.cpp
msgid "Max Log Files"
@@ -16246,14 +16223,12 @@ msgid "Allow hiDPI"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "V-Sync"
-msgstr "Sincronizar"
+msgstr "Sincronización Vertical"
#: main/main.cpp
-#, fuzzy
msgid "Use V-Sync"
-msgstr "Usar Snap"
+msgstr "Usar Sincronización Vertical"
#: main/main.cpp
msgid "Per Pixel Transparency"
@@ -16268,23 +16243,20 @@ msgid "Intended Usage"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Framebuffer Allocation"
-msgstr "Seleccionar Fotogramas"
+msgstr "Asignación del Buffer de Imágenes"
#: main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Energy Saving"
-msgstr "Error al Guardar"
+msgstr "Ahorro de Energía"
#: main/main.cpp
msgid "Threads"
msgstr ""
#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-#, fuzzy
msgid "Thread Model"
-msgstr "Cambiar Modo"
+msgstr "Modelo de Hilo"
#: main/main.cpp
msgid "Thread Safe BVH"
@@ -16296,25 +16268,21 @@ msgstr ""
#: main/main.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Orientation"
-msgstr "Documentación en línea"
+msgstr "Orientación"
#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-#, fuzzy
msgid "Common"
-msgstr "Comunidad"
+msgstr "Común"
#: main/main.cpp
-#, fuzzy
msgid "Physics FPS"
-msgstr "Fotogramas de Física %"
+msgstr "Física FPS"
#: main/main.cpp
-#, fuzzy
msgid "Force FPS"
-msgstr "Forzar Push"
+msgstr "Forzar FPS"
#: main/main.cpp
msgid "Enable Pause Aware Picking"
@@ -16343,19 +16311,16 @@ msgid "Verbose stdout"
msgstr ""
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-#, fuzzy
msgid "Physics Interpolation"
-msgstr "Modo de Interpolación"
+msgstr "Interpolación de Física"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "Habilitar Filtrado"
+msgstr "Activar Advertencias"
#: main/main.cpp
-#, fuzzy
msgid "Frame Delay Msec"
-msgstr "Seleccionar Fotogramas"
+msgstr "Retraso de los Fotogramas Msec"
#: main/main.cpp
msgid "Low Processor Mode"
@@ -16374,14 +16339,12 @@ msgid "Hide Home Indicator"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Input Devices"
-msgstr "Todos los Dispositivos"
+msgstr "Dispositivos de Entrada"
#: main/main.cpp
-#, fuzzy
msgid "Pointing"
-msgstr "Punto"
+msgstr "Apuntador"
#: main/main.cpp
msgid "Touch Delay"
@@ -16392,21 +16355,18 @@ msgid "GLES3"
msgstr ""
#: main/main.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Shaders"
-msgstr "Shader"
+msgstr "Shaders"
#: main/main.cpp
-#, fuzzy
msgid "Debug Shader Fallbacks"
-msgstr "Forzar Shader Fallbacks"
+msgstr "Depurar Fallbacks de Shader"
#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
#: scene/resources/world.cpp
-#, fuzzy
msgid "Environment"
-msgstr "Ver Entorno"
+msgstr "Entorno"
#: main/main.cpp
msgid "Default Clear Color"
@@ -16417,9 +16377,8 @@ msgid "Boot Splash"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Show Image"
-msgstr "Mostrar Huesos"
+msgstr "Mostrar Imagen"
#: main/main.cpp
msgid "Image"
@@ -16434,14 +16393,12 @@ msgid "Use Filter"
msgstr "Usar Filtro"
#: main/main.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "BG Color"
-msgstr "Colores"
+msgstr "Color de Fondo"
#: main/main.cpp
-#, fuzzy
msgid "macOS Native Icon"
-msgstr "Establecer Icono de Tile"
+msgstr "Icono Nativo de macOS"
#: main/main.cpp
msgid "Windows Native Icon"
@@ -16464,14 +16421,12 @@ msgid "Emulate Mouse From Touch"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Mouse Cursor"
-msgstr "Botón del Mouse"
+msgstr "Cursor del Mouse"
#: main/main.cpp
-#, fuzzy
msgid "Custom Image"
-msgstr "CustomNode"
+msgstr "Imagen Personalizada"
#: main/main.cpp
msgid "Custom Image Hotspot"
@@ -16479,17 +16434,15 @@ msgstr ""
#: main/main.cpp
msgid "Tooltip Position Offset"
-msgstr "Offset de la Posición del Tooltip"
+msgstr "Desplazamiento de Posición del Tooltip"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Debugger Agent"
-msgstr "Depurador"
+msgstr "Agente de Depuración"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Wait For Debugger"
-msgstr "Depurador"
+msgstr "Esperar al Depurador"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Wait Timeout"
@@ -16504,20 +16457,17 @@ msgid "Unhandled Exception Policy"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Main Loop Type"
-msgstr "Buscar Tipo de Nodo"
+msgstr "Tipo de Bucle Principal"
#: main/main.cpp scene/gui/texture_progress.cpp
#: scene/gui/viewport_container.cpp
-#, fuzzy
msgid "Stretch"
-msgstr "Buscar"
+msgstr "Estirar"
#: main/main.cpp
-#, fuzzy
msgid "Aspect"
-msgstr "Inspector"
+msgstr "Aspecto"
#: main/main.cpp
msgid "Shrink"
@@ -16528,14 +16478,12 @@ msgid "Auto Accept Quit"
msgstr ""
#: main/main.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Quit On Go Back"
-msgstr "Retroceder"
+msgstr "Salir y Regresar"
#: main/main.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Snap Controls To Pixels"
-msgstr "Ajustar a los Lados del Nodo"
+msgstr "Ajustar Controles a Píxeles"
#: main/main.cpp
msgid "Dynamic Fonts"
@@ -16570,35 +16518,30 @@ msgid "Change Torus Outer Radius"
msgstr "Cambiar Radio Externo de Torus"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Operation"
-msgstr "Opciones"
+msgstr "Operación"
#: modules/csg/csg_shape.cpp
msgid "Calculate Tangents"
msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Use Collision"
-msgstr "Colisión"
+msgstr "Usar Colisión"
#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-#, fuzzy
msgid "Collision Layer"
-msgstr "Modo de Colisión"
+msgstr "Capa de Colisión"
#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Mask"
-msgstr "Modo de Colisión"
+msgstr "Máscara de Colisión"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Invert Faces"
-msgstr "Convertir Mayúsculas/Minúsculas"
+msgstr "Invertir Caras"
#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
@@ -16616,33 +16559,28 @@ msgid "Radial Segments"
msgstr "Segmentos Radiales"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Rings"
-msgstr "Advertencias"
+msgstr "Anillos"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Smooth Faces"
-msgstr "Suavizado"
+msgstr "Caras Suaves"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Sides"
-msgstr "Mostrar Guías"
+msgstr "Lados"
#: modules/csg/csg_shape.cpp
msgid "Cone"
msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Inner Radius"
-msgstr "Cambiar Radio Interno de Torus"
+msgstr "Radio Interior"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Outer Radius"
-msgstr "Cambiar Radio Externo de Torus"
+msgstr "Radio Exterior"
#: modules/csg/csg_shape.cpp
msgid "Ring Sides"
@@ -16650,10 +16588,9 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
-msgstr "Polígonos"
+msgstr "Polígono"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
@@ -16664,14 +16601,12 @@ msgid "Spin Sides"
msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Node"
-msgstr "Pegar Nodos"
+msgstr "Ruta del Nodo"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Interval Type"
-msgstr "Crear Vértice Interno"
+msgstr "Tipo de Intervalo de Ruta"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
@@ -16686,14 +16621,12 @@ msgid "Path Rotation"
msgstr "Rotación de Trayectoria"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Local"
-msgstr "Crear Local"
+msgstr "Ruta Local"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Continuous U"
-msgstr "Continuo"
+msgstr "Ruta Continua U"
#: modules/csg/csg_shape.cpp
msgid "Path U Distance"
@@ -16704,24 +16637,20 @@ msgid "Path Joined"
msgstr "Ruta Unida"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Compression Mode"
-msgstr "Modo de Colisión"
+msgstr "Modo de Compresión"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Transfer Channel"
-msgstr "Cambio de Transformación"
+msgstr "Canal de Transferencia"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Channel Count"
-msgstr "Instanciar"
+msgstr "Conteo de Canales"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Always Ordered"
-msgstr "Mostrar Siempre la Cuadrícula"
+msgstr "Siempre Ordenado"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Server Relay"
@@ -16736,9 +16665,8 @@ msgid "DTLS Hostname"
msgstr ""
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Use DTLS"
-msgstr "Usar Snap"
+msgstr "Usar DTLS"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
@@ -16753,24 +16681,21 @@ msgid "Config File"
msgstr "Archivo de Configuración"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Load Once"
-msgstr "Cargar Recurso"
+msgstr "Cargar Una Vez"
#: modules/gdnative/gdnative.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Singleton"
-msgstr "Esqueleto"
+msgstr "Singleton"
#: modules/gdnative/gdnative.cpp
msgid "Symbol Prefix"
msgstr "Prefijo de Símbolo"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Reloadable"
-msgstr "Recargar"
+msgstr "Recargable"
#: modules/gdnative/gdnative.cpp
#: modules/gdnative/gdnative_library_singleton_editor.cpp
@@ -16823,8 +16748,8 @@ msgid "Disabled GDNative Singleton"
msgstr "GDNative Singleton desactivado"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Bibliotecas: "
+msgid "Libraries:"
+msgstr "Librerías:"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
@@ -16835,9 +16760,8 @@ msgid "Script Class"
msgstr "Clase del Script"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Icon Path"
-msgstr "Foco en Ruta"
+msgstr "Ruta del Icono"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
@@ -16845,18 +16769,16 @@ msgstr "GDNative"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "Script"
+msgstr "GDScript"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
msgstr ""
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Node Path Color"
-msgstr "Copiar Ruta del Nodo"
+msgstr "Color de la Ruta del Nodo"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
@@ -16919,9 +16841,8 @@ msgid "Language Server"
msgstr "Servidor de Lenguaje"
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Enable Smart Resolve"
-msgstr "No se puede resolver"
+msgstr "Activar Smart Resolve"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Show Native Symbols In Editor"
@@ -16940,42 +16861,36 @@ msgid "Export GLTF..."
msgstr "Exportar GLTF..."
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Buffer View"
-msgstr "Vista Trasera"
+msgstr "Vista del Buffer"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
msgid "Byte Offset"
msgstr "Desplazamiento de Byte"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Component Type"
-msgstr "Componentes"
+msgstr "Tipo de Componente"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Normalized"
-msgstr "Formato"
+msgstr "Normalizado"
#: modules/gltf/gltf_accessor.cpp
msgid "Count"
msgstr "Cuenta"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Min"
-msgstr "MiB"
+msgstr "Min"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "Mix"
+msgstr "Max"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Count"
-msgstr "Instanciar"
+msgstr "Recuento Parcial"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
@@ -16998,23 +16913,20 @@ msgid "Sparse Values Byte Offset"
msgstr ""
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Buffer"
-msgstr "Vista Trasera"
+msgstr "Buffer"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Length"
-msgstr "Theme Predeterminado"
+msgstr "Longitud de Bytes"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
msgstr ""
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Indices"
-msgstr "Todos los Dispositivos"
+msgstr "Índices"
#: modules/gltf/gltf_camera.cpp
msgid "FOV Size"
@@ -17025,9 +16937,8 @@ msgid "Zfar"
msgstr ""
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "Znear"
-msgstr "Lineal"
+msgstr "Znear"
#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
@@ -17037,9 +16948,8 @@ msgstr "Lineal"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Color"
-msgstr "Colores"
+msgstr "Color"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
@@ -17047,9 +16957,8 @@ msgid "Intensity"
msgstr ""
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Range"
-msgstr "Cambiar"
+msgstr "Rango"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
@@ -17060,42 +16969,36 @@ msgid "Outer Cone Angle"
msgstr ""
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Blend Weights"
-msgstr "Calcular Lightmaps"
+msgstr "Mezcla de Pesos"
#: modules/gltf/gltf_mesh.cpp
msgid "Instance Materials"
msgstr "Materiales de Instancia"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-#, fuzzy
msgid "Parent"
-msgstr "Reemparentar"
+msgstr "Padre"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Xform"
-msgstr "Plataforma"
+msgstr "Xform"
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
msgstr ""
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Translation"
-msgstr "Traducciones"
+msgstr "Traducción"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Children"
-msgstr "Hijos Editables"
+msgstr "Hijos"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints"
-msgstr "Punto"
+msgstr "Articulaciones"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
@@ -17106,28 +17009,24 @@ msgid "Unique Names"
msgstr ""
#: modules/gltf/gltf_skeleton.cpp
-#, fuzzy
msgid "Godot Bone Node"
-msgstr "Obtener Nodo de Escena"
+msgstr "Nodo de Huesos de Godot"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Skin Root"
-msgstr "Nueva Raíz de Escena"
+msgstr "Raíz de la Skin"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints Original"
-msgstr "Foco en Origen"
+msgstr "Articulaciones Originales"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
msgstr ""
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Non Joints"
-msgstr "Mover Unión"
+msgstr "Sin Articulaciones"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
@@ -17166,28 +17065,24 @@ msgid "Json"
msgstr ""
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Major Version"
-msgstr "Versión"
+msgstr "Versión Mayor"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Minor Version"
-msgstr "Versión"
+msgstr "Versión Menor"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "GLB Data"
-msgstr "Con Datos"
+msgstr "Datos GLB"
#: modules/gltf/gltf_state.cpp
msgid "Use Named Skin Binds"
msgstr ""
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Buffer Views"
-msgstr "Vista Trasera"
+msgstr "Vistas del Buffer"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
@@ -17198,15 +17093,13 @@ msgid "Scene Name"
msgstr "Nombre de la Escena"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Root Nodes"
-msgstr "Nombre del nodo raíz"
+msgstr "Nodos Raíz"
#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Textures"
-msgstr "Características"
+msgstr "Texturas"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
@@ -17217,71 +17110,60 @@ msgid "Cameras"
msgstr ""
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Lights"
-msgstr "Luz"
+msgstr "Luces"
#: modules/gltf/gltf_state.cpp
msgid "Unique Animation Names"
msgstr "Nombres Únicos de Animación"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeletons"
-msgstr "Esqueleto"
+msgstr "Esqueletos"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "Selecciona un Nodo"
+msgstr "Esqueleto a Nodo"
#: modules/gltf/gltf_state.cpp
msgid "Animations"
msgstr "Animaciones"
#: modules/gltf/gltf_texture.cpp
-#, fuzzy
msgid "Src Image"
-msgstr "Mostrar Huesos"
+msgstr "Imagen de Origen"
#: modules/gridmap/grid_map.cpp
msgid "Mesh Library"
msgstr "Librería de Mallas"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Physics Material"
-msgstr "Fotogramas de Física %"
+msgstr "Material de Física"
#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Use In Baked Light"
-msgstr "Calcular Lightmaps"
+msgstr "Uso en Luz Bakeada"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Octant Size"
-msgstr "Vista Frontal"
+msgstr "Tamaño del Octante"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center X"
-msgstr "Centro"
+msgstr "Centro X"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Y"
-msgstr "Centro"
+msgstr "Centro Y"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Z"
-msgstr "Centro"
+msgstr "Centro Z"
#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
@@ -17289,6 +17171,17 @@ msgstr "Centro"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+msgid "Bake Navigation"
+msgstr "Bakear Navegación"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "Navigation Layers"
+msgstr "Capas de Navegación"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Siguiente Plano"
@@ -17447,9 +17340,8 @@ msgid "Plotting lightmaps"
msgstr "Trazar lightmaps"
#: modules/lightmapper_cpu/register_types.cpp
-#, fuzzy
msgid "CPU Lightmapper"
-msgstr "Calcular Lightmaps"
+msgstr "CPU Lightmapper"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Low Quality Ray Count"
@@ -17483,14 +17375,12 @@ msgid "IOD"
msgstr ""
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display Width"
-msgstr "Mostrar Wireframe"
+msgstr "Ancho de Pantalla"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display To Lens"
-msgstr "Mostrar Sin Sombreado"
+msgstr "Pantalla a Lente"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
@@ -17513,9 +17403,8 @@ msgid "Build Solution"
msgstr "Crear Solución"
#: modules/mono/editor/csharp_project.cpp
-#, fuzzy
msgid "Auto Update Project"
-msgstr "Proyecto Sin Nombre"
+msgstr "Actualización Automática del Proyecto"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
@@ -17617,9 +17506,8 @@ msgid "Period"
msgstr ""
#: modules/opensimplex/open_simplex_noise.cpp
-#, fuzzy
msgid "Persistence"
-msgstr "Perspectiva"
+msgstr "Persistencia"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Lacunarity"
@@ -17630,9 +17518,8 @@ msgid "Subject"
msgstr ""
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Names"
-msgstr "Nombre"
+msgstr "Nombres"
#: modules/regex/regex.cpp
msgid "Strings"
@@ -17651,32 +17538,28 @@ msgid "Discover IPv6"
msgstr ""
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Description URL"
-msgstr "Descripción"
+msgstr "Descripción URL"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Service Type"
-msgstr "Establecer Tipo de la Variable"
+msgstr "Tipo de Servicio"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
msgstr ""
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Service Type"
-msgstr "Establecer Tipo de la Variable"
+msgstr "Tipo de Servicio IGD"
#: modules/upnp/upnp_device.cpp
msgid "IGD Our Addr"
msgstr ""
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Status"
-msgstr "Estado"
+msgstr "Estado del IGD"
#: modules/visual_script/visual_script.cpp
msgid ""
@@ -17703,8 +17586,8 @@ msgstr ""
"trabajo de nodos. Prueba arreglando el nodo."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "El nodo devolvió una secuencia de salida incorrecta: "
+msgid "Node returned an invalid sequence output:"
+msgstr "El nodo ha devuelto una secuencia de salida inválida:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
@@ -17713,13 +17596,12 @@ msgstr ""
"problema!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "Desbordamiento de pila en el nivel: "
+msgid "Stack overflow with stack depth:"
+msgstr "Desbordamiento de pila con profundidad de pila:"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Visual Script"
-msgstr "Buscar en VisualScript"
+msgstr "Visual Script"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
@@ -18049,14 +17931,12 @@ msgid "Return"
msgstr "Regresar"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Enabled"
-msgstr "Ejecutable"
+msgstr "Retorno Activado"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Type"
-msgstr "Regresar"
+msgstr "Tipo de Retorno"
#: modules/visual_script/visual_script_flow_control.cpp
#: scene/resources/visual_shader_nodes.cpp
@@ -18084,16 +17964,16 @@ msgid "for (elem) in (input):"
msgstr "for (elem) in (input):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "El tipo de entrada no es iterable: "
+msgid "Input type not iterable:"
+msgstr "Tipo de entrada no iterable:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "El iterador ya no es correcto"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "El iterador ya no es correcto: "
+msgid "Iterator became invalid:"
+msgstr "El iterador es inválido:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18104,9 +17984,8 @@ msgid "in order:"
msgstr "en orden:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Steps"
-msgstr "Paso"
+msgstr "Pasos"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Switch"
@@ -18126,9 +18005,8 @@ msgstr "¿Es %s?"
#: modules/visual_script/visual_script_flow_control.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Base Script"
-msgstr "Nuevo Script"
+msgstr "Script Base"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
@@ -18140,36 +18018,31 @@ msgstr "Sobre Sí Mismo"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Call Mode"
-msgstr "Modo de Escalado"
+msgstr "Modo de Llamada"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Basic Type"
-msgstr "Tipo Base"
+msgstr "Tipo Básico"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Node Path"
-msgstr "Copiar Ruta del Nodo"
+msgstr "Ruta del Nodo"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Use Default Args"
-msgstr "Restablecer Valores por Defecto"
+msgstr "Usar Argumentos por Defecto"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Validate"
msgstr "Validar"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "RPC Call Mode"
-msgstr "Modo de Escalado"
+msgstr "Modo de Llamada RPC"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Subtract %s"
@@ -18208,14 +18081,12 @@ msgid "BitXor %s"
msgstr "BitXor %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Set Mode"
-msgstr "Modo de Selección"
+msgstr "Modo de Ajuste"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Assign Op"
-msgstr "Asignar"
+msgstr "Asignar Op"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -18232,9 +18103,8 @@ msgid "Base object is not a Node!"
msgstr "¡El objeto base no es un nodo!"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Path does not lead to Node!"
-msgstr "¡La ruta no apunta a un Nodo!"
+msgstr "¡La ruta no lleva al nodo!"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Invalid index property name '%s' in node %s."
@@ -18250,34 +18120,32 @@ msgstr "Ordenar Array"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "Iterador"
+msgstr "Operador"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": Argumento incorrecto de tipo: "
+msgid "Invalid argument of type:"
+msgstr "Argumento inválido de tipo:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": Argumentos incorrectos: "
+msgid "Invalid arguments:"
+msgstr "Argumentos inválidos:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
msgstr "a si cond, sino b"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Var Name"
-msgstr "Nombre"
+msgstr "Nombre de la Variable"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "VariableGet no encontrado en el script: "
+msgid "VariableGet not found in script:"
+msgstr "VariableGet no encontrada en el script:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "VariableSet no encontrado en el script: "
+msgid "VariableSet not found in script:"
+msgstr "VariableSet no encontrada en el script:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18394,9 +18262,8 @@ msgid "%s sec(s)"
msgstr "%s seg(s)"
#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-#, fuzzy
msgid "Wait Time"
-msgstr "Dibujar Tile"
+msgstr "Tiempo de Espera"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "WaitSignal"
@@ -18411,18 +18278,16 @@ msgid "WaitInstanceSignal"
msgstr "WaitInstanceSignal"
#: modules/webrtc/webrtc_data_channel.cpp
-#, fuzzy
msgid "Write Mode"
-msgstr "Modo de Prioridad"
+msgstr "Modo de Escritura"
#: modules/webrtc/webrtc_data_channel.h
msgid "WebRTC"
msgstr ""
#: modules/webrtc/webrtc_data_channel.h
-#, fuzzy
msgid "Max Channel In Buffer (KB)"
-msgstr "Tamaño del buffer del índice del polígono del lienzo (KB)"
+msgstr "Buffer de Canal Máximo (KB)"
#: modules/websocket/websocket_client.cpp
msgid "Verify SSL"
@@ -18433,59 +18298,52 @@ msgid "Trusted SSL Certificate"
msgstr ""
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Client"
-msgstr "Red de Pares"
+msgstr "Cliente WebSocket"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max In Buffer (KB)"
-msgstr "Tamaño Máximo (KB)"
+msgstr "Buffer de Entrada Máximo (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max In Packets"
msgstr ""
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max Out Buffer (KB)"
-msgstr "Tamaño Máximo (KB)"
+msgstr "Buffer de Salida Máximo (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max Out Packets"
msgstr ""
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Server"
-msgstr "Red de Pares"
+msgstr "Servidor WebSocket"
#: modules/websocket/websocket_server.cpp
msgid "Bind IP"
msgstr ""
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "Private Key"
-msgstr "Ruta de la Clave Privada SSH"
+msgstr "Clave Privada"
#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
msgid "SSL Certificate"
msgstr ""
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "CA Chain"
-msgstr "Reestrablecer cadena IK"
+msgstr "Cadena CA"
#: modules/websocket/websocket_server.cpp
msgid "Handshake Timeout"
msgstr "Tiempo de Espera del Handshake"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Session Mode"
-msgstr "Modo de Región"
+msgstr "Modo de Sesión"
#: modules/webxr/webxr_interface.cpp
msgid "Required Features"
@@ -18504,28 +18362,24 @@ msgid "Reference Space Type"
msgstr ""
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Visibility State"
-msgstr "Cambiar Visibilidad"
+msgstr "Estado de Visibilidad"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Bounds Geometry"
-msgstr "Reintentar"
+msgstr "Límites Geométricos"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "XR Standard Mapping"
-msgstr "Ajuste Inteligente"
+msgstr "Mapeo Estándar XR"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
msgstr ""
#: platform/android/export/export.cpp
-#, fuzzy
msgid "Debug Keystore"
-msgstr "Depurador"
+msgstr "Debug Keystore"
#: platform/android/export/export.cpp
msgid "Debug Keystore User"
@@ -18587,79 +18441,72 @@ msgid "The package must have at least one '.' separator."
msgstr "El paquete debe tener al menos un '.' como separador."
#: platform/android/export/export_plugin.cpp
+msgid "Custom Build"
+msgstr "Build Personalizada"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
-msgstr ""
+msgstr "Usar Compilación Personalizada"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Export Format"
-msgstr "Ruta de Exportación"
+msgstr "Formato de Exportación"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "SDK Mínimo"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "SDK de Destino"
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#, fuzzy
msgid "Architectures"
-msgstr "Añadir una entrada de arquitectura"
+msgstr "Arquitecturas"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Keystore"
-msgstr "Depurador"
+msgstr "Keystore"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Debug User"
-msgstr "Depurador"
+msgstr "Usuario de Depuración"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Debug Password"
-msgstr "Contraseña"
+msgstr "Contraseña de Depuración"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release User"
-msgstr "Release"
+msgstr "Usuario de Release"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release Password"
-msgstr "Contraseña"
+msgstr "Contraseña de Release"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Clear Previous Install"
-msgstr "Inspeccionar Instancia Anterior"
+msgstr "Limpiar Instalación Previa"
#: platform/android/export/export_plugin.cpp
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr "SDK Mínimo"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Objetivo de FPS"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Package"
-msgstr "Empaquetando"
+msgstr "Paquete"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Unique Name"
msgstr "Nombre Único"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Signed"
-msgstr "Señal"
+msgstr "Firmado"
#: platform/android/export/export_plugin.cpp
msgid "Classify As Game"
@@ -18670,33 +18517,28 @@ msgid "Retain Data On Uninstall"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Exclude From Recents"
-msgstr "Eliminar Nodos"
+msgstr "Excluir de los Recientes"
#: platform/android/export/export_plugin.cpp
msgid "Graphics"
msgstr "Gráficos"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "OpenGL Debug"
-msgstr "Abrir"
+msgstr "Depuración de OpenGL"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Features"
-msgstr "Características"
+msgstr "Características del XR"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Mode"
-msgstr "Modo desplazamiento lateral"
+msgstr "Modo XR"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Hand Tracking"
-msgstr "Empaquetando"
+msgstr "Seguimiento de Manos"
#: platform/android/export/export_plugin.cpp
msgid "Hand Tracking Frequency"
@@ -18707,71 +18549,60 @@ msgid "Passthrough"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Immersive Mode"
-msgstr "Modo de Prioridad"
+msgstr "Modo Inmersivo"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Small"
-msgstr "Soporte"
+msgstr "Soporte Pequeño"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Normal"
-msgstr "Soporte"
+msgstr "Soporte Normal"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Large"
-msgstr "Soporte"
+msgstr "Soporte Grande"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Xlarge"
-msgstr "Soporte"
+msgstr "Soporte Xlarge"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "User Data Backup"
-msgstr "Interfaz de usuario"
+msgstr "Backup de Datos del Usuario"
#: platform/android/export/export_plugin.cpp
msgid "Allow"
msgstr ""
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Command Line"
-msgstr "Command"
+msgstr "Línea de Comandos"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Extra Args"
msgstr "Argumentos extras"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "APK Expansion"
-msgstr "Expresión"
+msgstr "Expansión del APK"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Public Key"
-msgstr "Ruta de la clave pública SSH"
+msgstr "Clave Pública"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Permissions"
-msgstr "Máscara de Emisión"
+msgstr "Permisos"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Custom Permissions"
-msgstr "Reproducir Escena Personalizada"
+msgstr "Permisos Personalizados"
#: platform/android/export/export_plugin.cpp
msgid "Select device from the list"
@@ -18806,10 +18637,6 @@ msgid "Could not execute on device."
msgstr "No se ha podido ejecutar en el dispositivo."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "No se pudo encontrar la herramienta 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18904,57 +18731,84 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
-msgstr "\"Use Custom Build\" debe estar activado para usar los plugins."
+msgstr ""
+"\"Usar Compilación Personalizada\" debe estar activado para usar los plugins."
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
-"\"Hand Tracking\" solo es válido cuando \"Xr Mode\" es \"Oculus Mobile "
-"VrApi\" u \"OpenXR\"."
+"\"Seguimiento de Manos\" solo es válido cuando el \"Modo XR\" es \"Oculus "
+"Mobile VrApi\" u \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
-msgstr "\"Passthrough\" solo es válido cuando \"Xr Mode\" es \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
+msgstr "\"Passthrough\" solo es válido cuando el \"Modo XR\" es \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
msgstr ""
-"\"Export AAB\" sólo es válido cuando \"Use Custom Build\" está activado."
+"\"Exportar AAB\" solo es válido cuando \"Usar Compilación Personalizada\" "
+"está activado."
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+"\"Min SDK\" solo puede sobrescribirse cuando está activada la opción \"Usar "
+"Compilación Personalizada\"."
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+"\"SDK de Destino\" solo se puede sobrescribir cuando \"Usar Compilación "
+"Personalizada\" está activado."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
-"Cambiar el \"Min Sdk\" solo es válido cuando \"Use Custom Build\" está "
-"activado."
+"\"SDK de Destino\" debería ser un entero válido, pero obtuvo \"%s\" inválido."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
-"Cambiar el \"Target Sdk\" solo es válido cuando \"Use Custom Build\" está "
-"activado."
+"\"SDK de Destino\" %d es superior a la versión por defecto %d. Podría "
+"funcionar, pero no se ha probado y puede ser inestable."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
-"La versión de \"Target Sdk\" debe ser mayor o igual que la versión de \"Min "
-"Sdk\"."
+"La versión \"SDK de Destino\" debe ser mayor o igual a la versión \"Min "
+"SDK\"."
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr "Firma del Código"
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"No se ha encontrado 'apksigner'.\n"
-"Por favor, compruebe que el comando está disponible en el directorio Android "
-"SDK build-tools.\n"
-"El resultado %s es sin firma."
+"No se ha encontrado el 'apksigner'. Por favor, comprueba que el comando está "
+"disponible en el directorio Android SDK build-tools. El resultado %s es sin "
+"firma."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -18969,6 +18823,10 @@ msgid "Could not find keystore, unable to export."
msgstr "No se pudo encontrar la keystore, no se puedo exportar."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "No se ha podido iniciar el ejecutable apksigner."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' ha retornado con error #%d"
@@ -18998,8 +18856,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "¡Nombre de archivo inválido! Android APK requiere la extensión *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "¡Formato de exportación no compatible!\n"
+msgid "Unsupported export format!"
+msgstr "¡Formato de exportación no compatible!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19012,27 +18870,23 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"La versión de compilación de Android no coincide:\n"
-" Plantilla instalada: %s\n"
-" Versión de Godot: %s\n"
-"Por favor, reinstala la plantilla de compilación de Android desde el menú "
-"'Proyecto'."
+"La versión de compilación de Android no coincide: Plantilla instalada: %s, "
+"versión de Godot: %s. Reinstala la plantilla de compilación de Android desde "
+"el menú \"Proyecto\"."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"No se puede sobrescribir los archivos res://android/build/res/*.xml con el "
-"nombre del proyecto"
+"mismo nombre del proyecto."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "No se pueden exportar los archivos del proyecto a un proyecto gradle\n"
+msgid "Could not export project files to gradle project."
+msgstr "No se pueden exportar los archivos del proyecto a un proyecto gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19044,11 +18898,11 @@ msgstr "Construir Proyecto Android (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"La construcción del proyecto Android falló, comprueba la salida del error.\n"
-"También puedes visitar docs.godotengine.org para consultar la documentación "
+"La compilación del proyecto Android ha fallado, comprueba la salida del "
+"error. También puedes visitar docs.godotengine.org para ver la documentación "
"de compilación de Android."
#: platform/android/export/export_plugin.cpp
@@ -19064,40 +18918,35 @@ msgstr ""
"directorio del proyecto de gradle para ver los resultados."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr "Paquete no encontrado:% s"
+msgid "Package not found: \"%s\"."
+msgstr "Paquete no encontrado: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "Creando APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"No se pudo encontrar la plantilla APK para exportar:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "No se pudo encontrar la plantilla APK para exportar: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
-"Faltan bibliotecas en la plantilla de exportación para las arquitecturas "
-"seleccionadas: %s.\n"
-"Por favor, construya una plantilla con todas las bibliotecas necesarias, o "
-"desmarque las arquitecturas que faltan en el preajuste de exportación."
+"Faltan librerías en la plantilla de exportación para las arquitecturas "
+"seleccionadas: %s. Por favor, crea una plantilla con todas las librerías "
+"necesarias, o desmarca las arquitecturas que faltan en el preset de "
+"exportación."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "Añadiendo archivos ..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr "No se pudieron exportar los archivos del proyecto"
+msgid "Could not export project files."
+msgstr "No se han podido exportar los archivos del proyecto."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19180,9 +19029,8 @@ msgid "Code Sign Identity Debug"
msgstr ""
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Method Debug"
-msgstr "Exportar Con Depuración"
+msgstr "Exportar Método de Depuración"
#: platform/iphone/export/export.cpp
msgid "Provisioning Profile UUID Release"
@@ -19209,39 +19057,33 @@ msgid "Identifier"
msgstr "Identificador"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Signature"
-msgstr "Señal"
+msgstr "Firma"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Short Version"
-msgstr "Versión"
+msgstr "Versión Corta"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Copyright"
-msgstr "Superior Derecha"
+msgstr "Copyright"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Capabilities"
-msgstr "Capitalizar Propiedades"
+msgstr "Capacidades"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Access Wi-Fi"
-msgstr "Acceso"
+msgstr "Acceso Wi-Fi"
#: platform/iphone/export/export.cpp
msgid "Push Notifications"
msgstr "Notificaciones Push"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "User Data"
-msgstr "Interfaz de usuario"
+msgstr "Datos de Usuario"
#: platform/iphone/export/export.cpp
msgid "Accessible From Files App"
@@ -19252,24 +19094,20 @@ msgid "Accessible From iTunes Sharing"
msgstr ""
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Privacy"
-msgstr "Ruta de la Clave Privada SSH"
+msgstr "Privacidad"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Camera Usage Description"
-msgstr "Descripción"
+msgstr "Descripción del Uso de la Cámara"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Microphone Usage Description"
-msgstr "Descripciones de Propiedades"
+msgstr "Descripción del Uso del Micrófono"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Photolibrary Usage Description"
-msgstr "Descripciones de Propiedades"
+msgstr "Descripción del Uso de la Fotolibrería"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
@@ -19312,29 +19150,33 @@ msgid "Use Launch Screen Storyboard"
msgstr ""
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Image Scale Mode"
-msgstr "Modo de Escalado"
+msgstr "Modo de Escalado de Imagen"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom Image @2x"
-msgstr "CustomNode"
+msgstr "Imagen Personalizada @2x"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom Image @3x"
-msgstr "CustomNode"
+msgstr "Imagen Personalizada @3x"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Use Custom BG Color"
-msgstr "CustomNode"
+msgstr "Usar Color de Fondo Personalizado"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom BG Color"
-msgstr "CustomNode"
+msgstr "Color de Fondo Personalizado"
+
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr "Preparar Plantillas"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr "No se ha encontrado la plantilla de exportación."
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
@@ -19358,34 +19200,40 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Ejecutar HTML exportado en el navegador predeterminado del sistema."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr "No se pudo abrir la plantilla para exportar:"
+msgid "Could not open template for export: \"%s\"."
+msgstr "No se pudo abrir la plantilla para la exportación: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr "Plantilla de exportación inválida:"
+msgid "Invalid export template: \"%s\"."
+msgstr "Plantilla de exportación inválida: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr "No se puede escribir en el archivo:"
+msgid "Could not write file: \"%s\"."
+msgstr "No se pudo escribir el archivo: \"%s\"."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+msgid "Icon Creation"
+msgstr "Creación de Iconos"
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr "No se pudo leer el archivo:"
+msgid "Could not read file: \"%s\"."
+msgstr "No se pudo leer el archivo: \"%s\"."
+
+#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
#: platform/javascript/export/export.cpp
msgid "Variant"
msgstr "Variante"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Export Type"
-msgstr "Exportar"
+msgstr "Tipo de Exportación"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "VRAM Texture Compression"
-msgstr "Expresión"
+msgstr "Compresión de Texturas en la VRAM"
#: platform/javascript/export/export.cpp
msgid "For Desktop"
@@ -19400,14 +19248,12 @@ msgid "HTML"
msgstr ""
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Export Icon"
-msgstr "Expandir Todo"
+msgstr "Icono de Exportación"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Custom HTML Shell"
-msgstr "CustomNode"
+msgstr "HTML Shell Personalizado"
#: platform/javascript/export/export.cpp
msgid "Head Include"
@@ -19422,9 +19268,8 @@ msgid "Focus Canvas On Start"
msgstr ""
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Experimental Virtual Keyboard"
-msgstr "Filtrar señales"
+msgstr "Teclado Virtual Experimental"
#: platform/javascript/export/export.cpp
msgid "Progressive Web App"
@@ -19447,16 +19292,16 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr "No se pudo leer el shell HTML:"
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "No se ha podido leer el HTML shell: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr "No se pudo crear el directorio del servidor HTTP:"
+msgid "Could not create HTTP server directory: %s."
+msgstr "No se ha podido crear el directorio del servidor HTTP: %s."
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr "Error al iniciar el servidor HTTP:"
+msgid "Error starting HTTP server: %d."
+msgstr "Error al iniciar el servidor HTTP: %d."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19471,9 +19316,8 @@ msgid "HTTP Port"
msgstr ""
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Use SSL"
-msgstr "Usar Snap"
+msgstr "Usar SSL"
#: platform/javascript/export/export.cpp
msgid "SSL Key"
@@ -19560,33 +19404,28 @@ msgid "High Res"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location Usage Description"
-msgstr "Descripción"
+msgstr "Ubicación de la Descripción de Uso"
#: platform/osx/export/export.cpp
msgid "Address Book Usage Description"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Calendar Usage Description"
-msgstr "Descripción"
+msgstr "Descripción del Uso del Calendario"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Photos Library Usage Description"
-msgstr "Descripciones de Propiedades"
+msgstr "Descripción de Uso de la Librería de Fotos"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Desktop Folder Usage Description"
-msgstr "Descripciones de Métodos"
+msgstr "Descripción de Uso de la Carpeta de Escritorio"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Documents Folder Usage Description"
-msgstr "Descripciones de Métodos"
+msgstr "Descripción de Uso de la Carpeta de Documentos"
#: platform/osx/export/export.cpp
msgid "Downloads Folder Usage Description"
@@ -19601,39 +19440,33 @@ msgid "Removable Volumes Usage Description"
msgstr ""
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Codesign"
-msgstr "Firma de código DMG"
+msgstr "Codesign"
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Identity"
-msgstr "Indentar a la Izquierda"
+msgstr "Identidad"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Timestamp"
-msgstr "Tiempo"
+msgstr "Marca de Tiempo"
#: platform/osx/export/export.cpp
msgid "Hardened Runtime"
-msgstr ""
+msgstr "Hardened Runtime"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Replace Existing Signature"
-msgstr "Reemplazar en Archivos"
+msgstr "Reemplazar Firma Existente"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Entitlements"
-msgstr "Gizmos"
+msgstr "Derechos"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Custom File"
-msgstr "CustomNode"
+msgstr "Archivo Personalizado"
#: platform/osx/export/export.cpp
msgid "Allow JIT Code Execution"
@@ -19648,14 +19481,12 @@ msgid "Allow Dyld Environment Variables"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Disable Library Validation"
-msgstr "Botón Desactivado"
+msgstr "Desactivar Validación de Bibliotecas"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Audio Input"
-msgstr "Añadir Entrada"
+msgstr "Entrada de Audio"
#: platform/osx/export/export.cpp
msgid "Address Book"
@@ -19666,93 +19497,96 @@ msgid "Calendars"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Photos Library"
-msgstr "Exportar Librería"
+msgstr "Librería de Fotos"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Apple Events"
-msgstr "Añadir Evento"
+msgstr "Eventos de Apple"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Debugging"
-msgstr "Depurar"
+msgstr "Depuración"
#: platform/osx/export/export.cpp
msgid "App Sandbox"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Server"
-msgstr "Red de Pares"
+msgstr "Servidor de Red"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Client"
-msgstr "Red de Pares"
+msgstr "Cliente de Red"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Device USB"
-msgstr "Dispositivo"
+msgstr "Dispositivo USB"
#: platform/osx/export/export.cpp
msgid "Device Bluetooth"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Downloads"
-msgstr "Descargar"
+msgstr "Descargas de Archivos"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Pictures"
-msgstr "Características"
+msgstr "Archivos de Imágenes"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Music"
-msgstr "Archivo"
+msgstr "Archivos de Música"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Movies"
-msgstr "Filtrar tiles"
+msgstr "Archivos de Vídeo"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Custom Options"
-msgstr "Opciones de Bus"
+msgstr "Opciones Personalizadas"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization"
-msgstr "Traducciones"
+msgstr "Notarización"
#: platform/osx/export/export.cpp
msgid "Apple ID Name"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Apple ID Password"
-msgstr "Contraseña"
+msgstr "Contraseña del ID de Apple"
#: platform/osx/export/export.cpp
msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr "No se ha podido abrir el archivo de icono \"%s\"."
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "No se ha podido iniciar el ejecutable xcrun."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr "La notarización ha fallado."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
-"Nota: El proceso de notarización generalmente toma menos de una hora. Cuando "
-"se complete el proceso, recibirá un correo electrónico."
+"El proceso de notarización suele durar menos de una hora. Cuando el proceso "
+"haya finalizado, recibirás un correo electrónico."
#: platform/osx/export/export.cpp
msgid ""
@@ -19771,16 +19605,72 @@ msgstr ""
"notarial a la aplicación exportada (opcional):"
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"¡La marca de tiempo no es compatible con la firma ad-hoc, y fue desactivada!"
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"¡Hardened Runtime no es compatible con la firma ad-hoc, y fue desactivado!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "No se encontró identidad."
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr "No se puede firmar el archivo %s."
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Los enlaces simbólicos relativos no son compatibles, ¡los \"%s\" exportados "
+"podrían estar rotos!"
+
+#: platform/osx/export/export.cpp
+msgid "DMG Creation"
+msgstr "Creación de DMG"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "No se ha podido iniciar el ejecutable hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Crear paquete de aplicaciones"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr "No se pudo encontrar la aplicación de plantilla para exportar:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+"No se ha podido encontrar la plantilla de la aplicación a exportar: \"%s\"."
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
+msgstr "Formato de exportación inválido."
#: platform/osx/export/export.cpp
msgid ""
@@ -19792,11 +19682,11 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
-"Plantilla binaria solicitada '%s' no encontrada. Es posible que falte en el "
-"archivo de plantillas."
+"No se ha encontrado la plantilla binaria \"%s\" solicitada. Es posible que "
+"no se encuentre en el archivo de plantillas."
#: platform/osx/export/export.cpp
msgid "Making PKG"
@@ -19839,6 +19729,14 @@ msgid "Sending archive for notarization"
msgstr "Enviando archivo para notarización"
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr "Creación de ZIP"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "No se pudo abrir el archivo a leer de la ruta \"%s\"."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Identificador de paquete no válido:"
@@ -19871,9 +19769,7 @@ msgstr "Notarización: Se requiere la firma del código para la notarización."
#: platform/osx/export/export.cpp
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr ""
-"Notarización: se requiere tiempo de ejecución endurecido para la "
-"certificación notarial."
+msgstr "Notarización: Se requiere Hardened runtime para la notarización."
#: platform/osx/export/export.cpp
msgid "Notarization: Timestamp runtime is required for notarization."
@@ -19910,7 +19806,7 @@ msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
-"Hardened Runtime no es compatible con la firma ad-hoc, y se desactivará!"
+"¡Hardened Runtime no es compatible con la firma ad-hoc, y se desactivará!"
#: platform/osx/export/export.cpp
msgid ""
@@ -19982,14 +19878,12 @@ msgid "Force Builtin Codesign"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Architecture"
-msgstr "Añadir una entrada de arquitectura"
+msgstr "Arquitectura"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Display Name"
-msgstr "Escala de Visualización"
+msgstr "Nombre a Mostrar"
#: platform/uwp/export/export.cpp
msgid "Short Name"
@@ -20008,24 +19902,20 @@ msgid "Product GUID"
msgstr "GUID del producto"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Publisher GUID"
-msgstr "Limpiar Guías"
+msgstr "GUID del Editor"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Signing"
-msgstr "Señal"
+msgstr "Firmando"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Certificate"
-msgstr "Certificados"
+msgstr "Certificado"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Algorithm"
-msgstr "Depurador"
+msgstr "Algoritmo"
#: platform/uwp/export/export.cpp
msgid "Major"
@@ -20036,23 +19926,20 @@ msgid "Minor"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Build"
-msgstr "Modo de Regla"
+msgstr "Compilación"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Revision"
-msgstr "Expresión"
+msgstr "Revisión"
#: platform/uwp/export/export.cpp
msgid "Landscape"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Portrait"
-msgstr "Voltear Portales"
+msgstr "Retrato"
#: platform/uwp/export/export.cpp
msgid "Landscape Flipped"
@@ -20063,9 +19950,8 @@ msgid "Portrait Flipped"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Store Logo"
-msgstr "Modo de Escalado"
+msgstr "Logo de Tienda"
#: platform/uwp/export/export.cpp
msgid "Square 44 X 44 Logo"
@@ -20092,9 +19978,8 @@ msgid "Splash Screen"
msgstr "Pantalla de Bienvenida"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Tiles"
-msgstr "Archivo"
+msgstr "Tiles"
#: platform/uwp/export/export.cpp
msgid "Show Name On Square 150 X 150"
@@ -20178,18 +20063,20 @@ msgid "UWP"
msgstr ""
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Signtool"
-msgstr "Señal"
+msgstr "Signtool"
#: platform/uwp/export/export.cpp
msgid "Debug Certificate"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Debug Algorithm"
-msgstr "Depurador"
+msgstr "Algoritmo de Depuración"
+
+#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Fallo al renombrar el archivo temporal \"%s\"."
#: platform/windows/export/export.cpp
msgid "Identity Type"
@@ -20200,19 +20087,16 @@ msgid "Timestamp Server URL"
msgstr ""
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Digest Algorithm"
-msgstr "Depurador"
+msgstr "Algoritmo de Compilación"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Modify Resources"
-msgstr "Copiar Recurso"
+msgstr "Modificar Recursos"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "File Version"
-msgstr "Versión"
+msgstr "Versión del Archivo"
#: platform/windows/export/export.cpp
msgid "Product Version"
@@ -20227,15 +20111,76 @@ msgid "Product Name"
msgstr "Nombre del Producto"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "File Description"
-msgstr "Descripción"
+msgstr "Descripción del Archivo"
#: platform/windows/export/export.cpp
msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr "Modificación de los Recursos"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "No se pudo encontrar el ejecutable rcedit en \"%s\"."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr "No se pudo encontrar el ejecutable de wine en \"%s\"."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"No se ha podido iniciar el ejecutable rcedit, configura la ruta de rcedit en "
+"la configuración del editor (Exportar > Windows > Rcedit)."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Fallo al abrir el archivo ejecutable \"%s\"."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "No se pudo encontrar el ejecutable de signtool en \"%s\"."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "No se pudo encontrar el ejecutable osslsigncode en \"%s\"."
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr "Tipo de identificador inválido."
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr "Servidor de marcas de tiempo inválido."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"No se ha podido iniciar el ejecutable de signtool, configura la ruta de "
+"signtool en la configuración del editor (Exportar > Windows > Signtool)."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Fallo al abrir el archivo ejecutable \"%s\"."
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "No se ha podido eliminar el archivo temporal \"%s\"."
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20257,9 +20202,24 @@ msgid "Invalid product version:"
msgstr "Versión de producto no válida:"
#: platform/windows/export/export.cpp
-#, fuzzy
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr "Fallo al abrir el archivo ejecutable \"%s\"."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
-msgstr "Nueva Ventana"
+msgstr "Windows"
#: platform/windows/export/export.cpp
msgid "Rcedit"
@@ -20273,11 +20233,14 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Frames"
-msgstr "Fotograma %"
+msgstr "Fotogramas"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -20289,21 +20252,18 @@ msgstr ""
#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Speed Scale"
-msgstr "Escala"
+msgstr "Escala de Velocidad"
#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
#: scene/audio/audio_stream_player.cpp
-#, fuzzy
msgid "Playing"
msgstr "Reproducir"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Centered"
-msgstr "Centro"
+msgstr "Centrado"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
@@ -20316,39 +20276,32 @@ msgid "Flip V"
msgstr ""
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Monitoring"
-msgstr "Monitor"
+msgstr "Monitorización"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Monitorable"
-msgstr "Monitor"
+msgstr "Monitorizable"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Physics Overrides"
-msgstr "Anulaciones"
+msgstr "Anulaciones de Físicas"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Space Override"
-msgstr "Anulaciones"
+msgstr "Anulación de Espacio"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Gravity Point"
-msgstr "Generar puntos"
+msgstr "Punto de Gravedad"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Gravity Distance Scale"
-msgstr "WaitInstanceSignal"
+msgstr "Escala de Distancia de la Gravedad"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Gravity Vec"
-msgstr "Vista Previa Por Defecto"
+msgstr "Velocidad de la Gravedad"
#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
@@ -20356,42 +20309,36 @@ msgid "Gravity"
msgstr ""
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Linear Damp"
-msgstr "Lineal"
+msgstr "Amortiguación Lineal"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
msgid "Angular Damp"
msgstr ""
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Audio Bus"
-msgstr "Añadir Bus de Audio"
+msgstr "Bus de Audio"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Override"
-msgstr "Anulaciones"
+msgstr "Anular"
#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-#, fuzzy
msgid "Volume dB"
-msgstr "Volumen"
+msgstr "Volumen dB"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#, fuzzy
msgid "Pitch Scale"
-msgstr "Escala"
+msgstr "Escala de Tono"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Autoplay"
-msgstr "Act./Desact. Reproducción Automática"
+msgstr "Reproducción Automática"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
@@ -20400,34 +20347,31 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "Distancia Maxima"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Attenuation"
-msgstr "Animación"
+msgstr "Atenuación"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Bus"
-msgstr "Añadir Bus"
+msgstr "Bus"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
msgid "Area Mask"
msgstr ""
#: scene/2d/back_buffer_copy.cpp
-#, fuzzy
msgid "Copy Mode"
-msgstr "Copiar Nodos"
+msgstr "Modo de Copia"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Anchor Mode"
-msgstr "Modo de Icono"
+msgstr "Modo de Anclaje"
#: scene/2d/camera_2d.cpp
msgid "Rotating"
@@ -20439,83 +20383,70 @@ msgid "Current"
msgstr "Actual"
#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom"
-msgstr "Acercar Zoom"
+msgstr "Zoom"
#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Custom Viewport"
-msgstr "1 Viewport"
+msgstr "Viewport Personalizado"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
-#, fuzzy
msgid "Process Mode"
-msgstr "Modo de Movimiento"
+msgstr "Modo de Proceso"
#: scene/2d/camera_2d.cpp
msgid "Limit"
-msgstr ""
+msgstr "Limite"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Left"
-msgstr "UI Izquierda"
+msgstr "Izquierda"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Right"
-msgstr "Luz"
+msgstr "Derecha"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Bottom"
-msgstr "Inferior Izquierda"
+msgstr "Inferior"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Smoothed"
msgstr "Suavizado"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Margin"
-msgstr "Asignar Margen"
+msgstr "Margen de Arrastre"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Drag Margin H Enabled"
-msgstr "Asignar Margen"
+msgstr "Margen de Arrastre H Activado"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Drag Margin V Enabled"
-msgstr "Asignar Margen"
+msgstr "Margen de Arrastre V Activado"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Smoothing"
-msgstr "Suavizado"
+msgstr "Suavizar"
#: scene/2d/camera_2d.cpp
msgid "H"
msgstr ""
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "V"
-msgstr "UV"
+msgstr "V"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Drag Margin"
-msgstr "Asignar Margen"
+msgstr "Margen de Arrastre"
#: scene/2d/camera_2d.cpp
msgid "Draw Screen"
@@ -20526,25 +20457,21 @@ msgid "Draw Limits"
msgstr "Límites de Dibujo"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Drag Margin"
-msgstr "Asignar Margen"
+msgstr "Margen de Arrastre del Trazado"
#: scene/2d/canvas_item.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
-#, fuzzy
msgid "Blend Mode"
-msgstr "Nodo Blend2"
+msgstr "Modo de Fusión"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Light Mode"
-msgstr "Ancho Derecha"
+msgstr "Modo de Iluminación"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Particles Animation"
-msgstr "Partículas"
+msgstr "Animación de Partículas"
#: scene/2d/canvas_item.cpp
msgid "Particles Anim H Frames"
@@ -20555,40 +20482,34 @@ msgid "Particles Anim V Frames"
msgstr ""
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Particles Anim Loop"
-msgstr "Partículas"
+msgstr "Bucle de Animación de Partículas"
#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Visibility"
-msgstr "Cambiar Visibilidad"
+msgstr "Visibilidad"
#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Visible"
-msgstr "Cambiar Visibilidad"
+msgstr "Visible"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Self Modulate"
-msgstr "Rellenar"
+msgstr "Modulación Automática"
#: scene/2d/canvas_item.cpp
msgid "Show Behind Parent"
msgstr ""
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Show On Top"
-msgstr "Mostrar Origen"
+msgstr "Mostrar Arriba"
#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Light Mask"
-msgstr "Luz"
+msgstr "Máscara de Luz"
#: scene/2d/canvas_item.cpp
msgid "Use Parent Material"
@@ -20615,9 +20536,8 @@ msgstr ""
"CollisionPolygon2D para definir su forma."
#: scene/2d/collision_object_2d.cpp
-#, fuzzy
msgid "Pickable"
-msgstr "Elegir Tile"
+msgstr "Seleccionable"
#: scene/2d/collision_polygon_2d.cpp
msgid ""
@@ -20650,29 +20570,27 @@ msgstr ""
msgid ""
"The One Way Collision property will be ignored when the parent is an Area2D."
msgstr ""
+"La propiedad Colisión en Una Dirección será ignorada cuando el padre sea un "
+"Area2D."
#: scene/2d/collision_polygon_2d.cpp
-#, fuzzy
msgid "Build Mode"
-msgstr "Modo de Regla"
+msgstr "Modo de Compilación"
#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Disabled"
-msgstr "Desactivar Elemento"
+msgstr "Desactivado"
#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#, fuzzy
msgid "One Way Collision"
-msgstr "Crear Polígono de Colisión"
+msgstr "Colisión en Una Dirección"
#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#, fuzzy
msgid "One Way Collision Margin"
-msgstr "Crear Polígono de Colisión"
+msgstr "Margen de Colisión en Una Dirección"
#: scene/2d/collision_shape_2d.cpp
msgid ""
@@ -20721,15 +20639,13 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-#, fuzzy
msgid "One Shot"
-msgstr "Nodo OneShot"
+msgstr "Un Disparo"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Preprocess"
-msgstr "Post procesado"
+msgstr "Preproceso"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20748,9 +20664,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Fixed FPS"
-msgstr "Ver FPS"
+msgstr "FPS Fijos"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20764,9 +20679,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Local Coords"
-msgstr "Proyectos Locales"
+msgstr "Coordenadas Locales"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20775,9 +20689,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Emission Shape"
-msgstr "Máscara de Emisión"
+msgstr "Forma de la Emisión"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20785,26 +20698,22 @@ msgid "Sphere Radius"
msgstr "Radio de la Esfera"
#: scene/2d/cpu_particles_2d.cpp
-#, fuzzy
msgid "Rect Extents"
-msgstr "Gizmos"
+msgstr "Extender Completo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Normals"
-msgstr "Formato"
+msgstr "Normales"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Align Y"
-msgstr "Asignar"
+msgstr "Alineación Y"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Direction"
-msgstr "Direcciones"
+msgstr "Dirección"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20814,15 +20723,13 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Initial Velocity"
-msgstr "Inicializar"
+msgstr "Velocidad Inicial"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Random"
-msgstr "Velocidad"
+msgstr "Velocidad Aleatoria"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
@@ -20832,27 +20739,23 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Curve"
-msgstr "Velocidad"
+msgstr "Curva de Velocidad"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Orbit Velocity"
-msgstr "Vista de Órbita Derecha"
+msgstr "Velocidad de la Órbita"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Linear Accel"
-msgstr "Lineal"
+msgstr "Aceleración Lineal"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel"
-msgstr "Acceso"
+msgstr "Aceleración"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20861,9 +20764,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel Curve"
-msgstr "Partir Curva"
+msgstr "Curva de Aceleración"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20890,9 +20792,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Damping Curve"
-msgstr "Partir Curva"
+msgstr "Curva de Amortiguación"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
@@ -20906,9 +20807,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Angle Curve"
-msgstr "Cerrar Curva"
+msgstr "Curva de Ángulo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount"
@@ -20919,15 +20819,13 @@ msgid "Scale Amount Random"
msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Scale Amount Curve"
-msgstr "Escalar Desde Cursor"
+msgstr "Curva de Cantidad de Escala"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Color Ramp"
-msgstr "Colores"
+msgstr "Rampa de Color"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20956,15 +20854,13 @@ msgstr "Curva de Variación"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed Random"
-msgstr "Escala"
+msgstr "Velocidad Aleatoria"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed Curve"
-msgstr "Partir Curva"
+msgstr "Curva de Velocidad"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20973,9 +20869,8 @@ msgstr "Desplazamiento Aleatorio"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Offset Curve"
-msgstr "Cerrar Curva"
+msgstr "Curva de Desplazamiento"
#: scene/2d/joints_2d.cpp
msgid "Node A and Node B must be PhysicsBody2Ds"
@@ -20998,14 +20893,12 @@ msgid "Node A and Node B must be different PhysicsBody2Ds"
msgstr "El Nodo A y el Nodo B deben ser diferentes PhysicsBody2D"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Node A"
-msgstr "Nodos"
+msgstr "Nodo A"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Node B"
-msgstr "Nodos"
+msgstr "Nodo B"
#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
@@ -21014,9 +20907,8 @@ msgid "Bias"
msgstr ""
#: scene/2d/joints_2d.cpp
-#, fuzzy
msgid "Disable Collision"
-msgstr "Botón Desactivado"
+msgstr "Desactivar Colisión"
#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Softness"
@@ -21028,9 +20920,8 @@ msgid "Length"
msgstr ""
#: scene/2d/joints_2d.cpp
-#, fuzzy
msgid "Initial Offset"
-msgstr "Inicializar"
+msgstr "Desplazamiento Inicial"
#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
msgid "Rest Length"
@@ -21049,14 +20940,12 @@ msgstr ""
"Texture\"."
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-#, fuzzy
msgid "Editor Only"
-msgstr "Editor"
+msgstr "Sólo para el Editor"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Texture Scale"
-msgstr "Región de Textura"
+msgstr "Escala de Textura"
#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/resources/environment.cpp
@@ -21073,48 +20962,40 @@ msgid "Z Max"
msgstr ""
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Layer Min"
-msgstr "Cambiar Tamaño de Cámara"
+msgstr "Capa Mínima"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Layer Max"
-msgstr "Capa"
+msgstr "Capa Máxima"
#: scene/2d/light_2d.cpp
msgid "Item Cull Mask"
msgstr ""
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Shadow"
-msgstr "Shader"
+msgstr "Sombra"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Buffer Size"
-msgstr "Vista Trasera"
+msgstr "Tamaño del Buffer"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Gradient Length"
-msgstr "Degradado Editado"
+msgstr "Longitud del Gradiente"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Filter Smooth"
-msgstr "Filtrar métodos"
+msgstr "Filtro Suavizado"
#: scene/2d/light_occluder_2d.cpp
-#, fuzzy
msgid "Closed"
-msgstr "Cerrar"
+msgstr "Cerrado"
#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Cull Mode"
-msgstr "Modo de Regla"
+msgstr "Modo de Sacrificio"
#: scene/2d/light_occluder_2d.cpp
msgid ""
@@ -21130,47 +21011,40 @@ msgstr ""
"polígono."
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Width Curve"
-msgstr "Partir Curva"
+msgstr "Curva de Ancho"
#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Default Color"
-msgstr "Por defecto"
+msgstr "Color por Defecto"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
msgid "Fill"
-msgstr ""
+msgstr "Rellenar"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Gradient"
-msgstr "Degradado Editado"
+msgstr "Gradiente"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Texture Mode"
-msgstr "Región de Textura"
+msgstr "Modo de Textura"
#: scene/2d/line_2d.cpp
msgid "Capping"
-msgstr ""
+msgstr "Tapado"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Joint Mode"
-msgstr "Modo de Icono"
+msgstr "Modo de Unión"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Begin Cap Mode"
-msgstr "Modo de Región"
+msgstr "Iniciar Modo Cap"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "End Cap Mode"
-msgstr "Modo de Ajuste:"
+msgstr "Modo Tapón"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
msgid "Border"
@@ -21186,14 +21060,12 @@ msgstr ""
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Antialiased"
-msgstr "Inicializar"
+msgstr "Suavizado Espacial"
#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-#, fuzzy
msgid "Multimesh"
-msgstr "Multiplicar %s"
+msgstr "Multimesh"
#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
@@ -21205,46 +21077,62 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Margen de Conexión de Bordes"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Pathfinding"
+msgstr "Pathfinding"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr "Ruta Distancia Deseada"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
-msgstr ""
+msgstr "Distancia Deseada del Objetivo"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr "Distancia Máxima de la Ruta"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance"
+msgstr "Evasión"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance Enabled"
+msgstr "Evasión Activada"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
-msgstr ""
+msgstr "Dist. de Vecinos"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Max Neighbors"
-msgstr ""
+msgstr "Máximo de Vecinos"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Time Horizon"
-msgstr "Voltear Horizontalmente"
+msgstr "Horizonte del Tiempo"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Max Speed"
msgstr "Velocidad Máxima"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr "Distancia Máxima de Ruta"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Activar"
-
#: scene/2d/navigation_agent_2d.cpp
-#, fuzzy
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr "El NavigationAgent2D sólo puede utilizarse bajo un nodo Node2D."
+msgstr ""
+"El NavigationAgent2D sólo puede utilizarse bajo un nodo padre hijo de Node2D."
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-#, fuzzy
msgid "Estimate Radius"
-msgstr "Cambiar Radio Externo de Torus"
+msgstr "Estimación del Radio"
#: scene/2d/navigation_obstacle_2d.cpp
msgid ""
@@ -21259,30 +21147,29 @@ msgid ""
"A NavigationPolygon resource must be set or created for this node to work. "
"Please set a property or draw a polygon."
msgstr ""
-"Se debe crear o asignar un recurso NavigationPolygon a este nodo para que "
-"funcione. Por favor, establece la propiedad o dibuja un polígono."
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance debe ser hijo o nieto de un nodo Navigation2D. "
-"Solo provee datos de navegación."
+"Un recurso NavigationPolygon debe ser establecido o creado para que este "
+"nodo funcione. Por favor, establece una propiedad o dibuja un polígono."
#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
-msgstr ""
+msgstr "Navpoly"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr "Introduce Costo"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
+msgstr "Costo del Viaje"
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Grados de Rotación"
-#: scene/2d/node_2d.cpp
-#, fuzzy
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
-msgstr "Constante Global"
+msgstr "Rotación Global"
#: scene/2d/node_2d.cpp
msgid "Global Rotation Degrees"
@@ -21293,41 +21180,37 @@ msgid "Global Scale"
msgstr "Escala Global"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Global Transform"
-msgstr "Mantener transformación global"
+msgstr "Transformación Global"
#: scene/2d/node_2d.cpp
-#, fuzzy
msgid "Z As Relative"
-msgstr "Ajuste Relativo"
+msgstr "Z Como Relativo"
#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Scroll"
-msgstr ""
+msgstr "Scroll"
#: scene/2d/parallax_background.cpp
msgid "Base Offset"
msgstr "Desplazamiento Base"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Base Scale"
-msgstr "Usar Ajuste de Escalado"
+msgstr "Escala Base"
#: scene/2d/parallax_background.cpp
msgid "Limit Begin"
-msgstr ""
+msgstr "Inicio del Límite"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Limit End"
-msgstr "Al Final"
+msgstr "Fin del Límite"
#: scene/2d/parallax_background.cpp
msgid "Ignore Camera Zoom"
-msgstr ""
+msgstr "Ignorar Zoom de la Cámara"
#: scene/2d/parallax_layer.cpp
msgid ""
@@ -21339,12 +21222,10 @@ msgstr ""
#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Motion"
-msgstr "Acción"
+msgstr "Movimiento"
#: scene/2d/parallax_layer.cpp
-#, fuzzy
msgid "Mirroring"
msgstr "Reflejar"
@@ -21391,9 +21272,8 @@ msgstr ""
"\"Particles Animation\" activado."
#: scene/2d/particles_2d.cpp
-#, fuzzy
msgid "Visibility Rect"
-msgstr "Modo de Prioridad"
+msgstr "Visibilidad Rect"
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
msgid "Process Material"
@@ -21401,9 +21281,8 @@ msgstr ""
#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Curve"
-msgstr "Partir Curva"
+msgstr "Curva"
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
@@ -21431,25 +21310,21 @@ msgid "Lookahead"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Layers"
-msgstr "Capa"
+msgstr "Capas"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Constant Linear Velocity"
-msgstr "Inicializar"
+msgstr "Velocidad Lineal Constante"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Constant Angular Velocity"
-msgstr "Inicializar"
+msgstr "Velocidad Angular Constante"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
-#, fuzzy
msgid "Friction"
-msgstr "Función"
+msgstr "Fricción"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
@@ -21462,9 +21337,8 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#, fuzzy
msgid "Default Gravity"
-msgstr "Vista Previa Por Defecto"
+msgstr "Gravedad por Defecto"
#: scene/2d/physics_body_2d.cpp
msgid ""
@@ -21485,38 +21359,33 @@ msgid "Inertia"
msgstr "Inercia"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Weight"
-msgstr "Luz"
+msgstr "Peso"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Gravity Scale"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Custom Integrator"
-msgstr "CustomNode"
+msgstr "Integrador Personalizado"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Continuous CD"
-msgstr "Continuo"
+msgstr "CD Continuo"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Contacts Reported"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Contact Monitor"
-msgstr "Seleccionar Color"
+msgstr "Monitor de Contacto"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Sleeping"
-msgstr "Ajuste Inteligente"
+msgstr "Resposo"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Can Sleep"
@@ -21539,18 +21408,16 @@ msgid "Torque"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Safe Margin"
-msgstr "Asignar Margen"
+msgstr "Margen de Seguridad"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Sync To Physics"
msgstr "Sincronización Con La Física"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Moving Platform"
-msgstr "Moviendo salida"
+msgstr "Plataforma Móvil"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Apply Velocity On Leave"
@@ -21560,24 +21427,21 @@ msgstr ""
#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Normal"
-msgstr "Formato"
+msgstr "Normal"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Remainder"
msgstr "Recordatorio"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Local Shape"
-msgstr "Idioma"
+msgstr "Forma Local"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider"
-msgstr "Modo de Colisión"
+msgstr "Colisionador"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
@@ -21586,26 +21450,22 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider RID"
-msgstr "RID inválido"
+msgstr "Colisionador RID"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider Shape"
-msgstr "Modo de Colisión"
+msgstr "Forma de Colisión"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Collider Shape Index"
-msgstr "Modo de Colisión"
+msgstr "Índice de Formas de Colisión"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider Velocity"
-msgstr "Vista de Órbita Derecha"
+msgstr "Velocidad del Colisionador"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Collider Metadata"
@@ -21616,28 +21476,24 @@ msgid "Invert"
msgstr ""
#: scene/2d/polygon_2d.cpp
-#, fuzzy
msgid "Vertex Colors"
-msgstr "Vértice"
+msgstr "Color de los Vértices"
#: scene/2d/polygon_2d.cpp
-#, fuzzy
msgid "Internal Vertex Count"
-msgstr "Crear Vértice Interno"
+msgstr "Conteo de Vértices Internos"
#: scene/2d/position_2d.cpp
-#, fuzzy
msgid "Gizmo Extents"
-msgstr "Gizmos"
+msgstr "Extensión de Gizmos"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Exclude Parent"
msgstr ""
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Cast To"
-msgstr "Crear Nodo Shader"
+msgstr "Lanzar A"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Collide With"
@@ -21656,24 +21512,20 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr "La propiedad Path debe apuntar a un nodo Node2D válido para funcionar."
#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-#, fuzzy
msgid "Remote Path"
-msgstr "Eliminar Punto"
+msgstr "Ruta Remota"
#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-#, fuzzy
msgid "Use Global Coordinates"
-msgstr "Siguiente Coordenada"
+msgstr "Utilizar Coordenadas Globales"
#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
-#, fuzzy
msgid "Rest"
-msgstr "Reiniciar"
+msgstr "Reposo"
#: scene/2d/skeleton_2d.cpp
-#, fuzzy
msgid "Default Length"
-msgstr "Theme Predeterminado"
+msgstr "Longitud por Defecto"
#: scene/2d/skeleton_2d.cpp
msgid "This Bone2D chain should end at a Skeleton2D node."
@@ -21700,14 +21552,12 @@ msgid "Vframes"
msgstr ""
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Frame Coords"
-msgstr "Fotograma %"
+msgstr "Coordenadas del Marco"
#: scene/2d/sprite.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Filter Clip"
-msgstr "Filtrar scripts"
+msgstr "Filtrar Clips"
#: scene/2d/tile_map.cpp
msgid ""
@@ -21720,44 +21570,36 @@ msgstr ""
"RigidBody2D, KinematicBody2D, etc. para que puedan tener forma."
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Tile Set"
-msgstr "TileSet"
+msgstr "Tile Set"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Quadrant Size"
-msgstr "Cambiar Tamaño de Cámara"
+msgstr "Tamaño del Cuadrante"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Custom Transform"
-msgstr "Transformar"
+msgstr "Transformación Personalizada"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Half Offset"
-msgstr "Inicializar"
+msgstr "Medio Desplazamiento"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Tile Origin"
-msgstr "Ver Origen"
+msgstr "Origen de los Tiles"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Y Sort"
-msgstr "Ordenar"
+msgstr "Ordenar Y"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Show Collision"
-msgstr "Colisión"
+msgstr "Mostrar Colisión"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Compatibility Mode"
-msgstr "Modo de Prioridad"
+msgstr "Modo de Compatibilidad"
#: scene/2d/tile_map.cpp
msgid "Centered Textures"
@@ -21768,32 +21610,28 @@ msgid "Cell Clip UV"
msgstr ""
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Use Parent"
-msgstr "Modo de Colisión"
+msgstr "Usar Padres"
#: scene/2d/tile_map.cpp
msgid "Use Kinematic"
msgstr ""
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Shape Centered"
-msgstr "Ajustar al Centro del Nodo"
+msgstr "Forma Centrada"
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Shape Visible"
-msgstr "Act./Desact. Visible"
+msgstr "Forma Visible"
#: scene/2d/touch_screen_button.cpp
msgid "Passby Press"
msgstr ""
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Visibility Mode"
-msgstr "Modo de Prioridad"
+msgstr "Modo de Visibilidad"
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
@@ -21804,28 +21642,24 @@ msgstr ""
"editada directamente como padre."
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-#, fuzzy
msgid "Pause Animations"
-msgstr "Pegar Animación"
+msgstr "Pausar Animaciones"
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
msgid "Freeze Bodies"
msgstr ""
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Pause Particles"
-msgstr "Partículas"
+msgstr "Pausar Partículas"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Pause Animated Sprites"
-msgstr "Pegar Animación"
+msgstr "Pausar Sprites Animados"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Process Parent"
-msgstr "Activar Prioridad"
+msgstr "Procesamiento de los Padres"
#: scene/2d/visibility_notifier_2d.cpp
msgid "Physics Process Parent"
@@ -21836,9 +21670,8 @@ msgid "Reverb Bus"
msgstr ""
#: scene/3d/area.cpp
-#, fuzzy
msgid "Uniformity"
-msgstr "Establecer Nombre de Uniform"
+msgstr "Uniformidad"
#: scene/3d/arvr_nodes.cpp
msgid "ARVRCamera must have an ARVROrigin node as its parent."
@@ -21865,9 +21698,8 @@ msgstr ""
"un controlador real."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "Anchor ID"
-msgstr "Sólo anclado"
+msgstr "ID de Ancla"
#: scene/3d/arvr_nodes.cpp
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
@@ -21890,9 +21722,8 @@ msgid "World Scale"
msgstr "Escala del Mundo"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Attenuation Model"
-msgstr "Nodo de Animación"
+msgstr "Modelo de Atenuación"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit dB"
@@ -21911,18 +21742,16 @@ msgid "Out Of Range Mode"
msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Emission Angle"
-msgstr "Colores de Emisión"
+msgstr "Ángulo de Emisión"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Degrees"
msgstr "Grados"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Filter Attenuation dB"
-msgstr "Animación"
+msgstr "Filtro de Atenuación dB"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Attenuation Filter"
@@ -21936,19 +21765,16 @@ msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_filter.cpp
-#, fuzzy
msgid "dB"
-msgstr "B"
+msgstr "dB"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Doppler"
-msgstr "Activar Doppler"
+msgstr "Doppler"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Tracking"
-msgstr "Empaquetando"
+msgstr "Seguimiento"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
@@ -21982,9 +21808,8 @@ msgstr "Hecho"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp
#: scene/resources/rectangle_shape_2d.cpp
-#, fuzzy
msgid "Extents"
-msgstr "Gizmos"
+msgstr "Extensiones"
#: scene/3d/baked_lightmap.cpp
msgid "Tweaks"
@@ -22007,66 +21832,56 @@ msgid "Use HDR"
msgstr ""
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Use Color"
-msgstr "Colores"
+msgstr "Usar Color"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Default Texels Per Unit"
-msgstr "Theme Predeterminado"
+msgstr "Texeles Por Unidad Predeterminados"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Atlas"
-msgstr "Nuevo Atlas"
+msgstr "Atlas"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Generate"
-msgstr "General"
+msgstr "Generar"
#: scene/3d/baked_lightmap.cpp
msgid "Max Size"
msgstr "Tamaño Máximo"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Sky"
-msgstr "CustomNode"
+msgstr "Cielo Personalizado"
#: scene/3d/baked_lightmap.cpp
msgid "Custom Sky Rotation Degrees"
msgstr "Grados de Rotación del Cielo Personalizados"
#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Custom Color"
-msgstr "CustomNode"
+msgstr "Color Personalizado"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Energy"
-msgstr "Mover Efecto de Bus"
+msgstr "Energía Personalizada"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Min Light"
-msgstr "Indentar a la Derecha"
+msgstr "Luz Mínima"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Propagation"
-msgstr "Navegación"
+msgstr "Propagación"
#: scene/3d/baked_lightmap.cpp
msgid "Image Path"
msgstr ""
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Light Data"
-msgstr "Con Datos"
+msgstr "Datos de Iluminación"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
msgid "Bone Name"
@@ -22081,14 +21896,12 @@ msgid "Cull Mask"
msgstr ""
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Doppler Tracking"
-msgstr "Pista de Propiedades"
+msgstr "Seguimiento de Doppler"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Projection"
-msgstr "Proyecto"
+msgstr "Proyección"
#: scene/3d/camera.cpp
msgid "FOV"
@@ -22099,9 +21912,8 @@ msgid "Frustum Offset"
msgstr "Offset de Frustum"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Near"
-msgstr "Más Cercano"
+msgstr "Cercano"
#: scene/3d/camera.cpp
msgid "Far"
@@ -22112,23 +21924,20 @@ msgstr ""
#: scene/resources/shape.cpp scene/resources/style_box.cpp
#: scene/resources/texture.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Margin"
-msgstr "Asignar Margen"
+msgstr "Margen"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Clip To"
-msgstr "Clip Arriba"
+msgstr "Recortar A"
#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
msgid "Ray Pickable"
msgstr ""
#: scene/3d/collision_object.cpp
-#, fuzzy
msgid "Capture On Drag"
-msgstr "Captura"
+msgstr "Captura Al Arrastrar"
#: scene/3d/collision_object.cpp
msgid ""
@@ -22200,53 +22009,44 @@ msgstr ""
"Billboard esté ajustado a \"Particle Billboard\"."
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Box Extents"
-msgstr "Gizmos"
+msgstr "Extensión de Cajas"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Radius"
-msgstr "Máscara de Emisión"
+msgstr "Radio del Anillo"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Inner Radius"
-msgstr "Cambiar Radio Interno de Torus"
+msgstr "Radio Interior del Anillo"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Height"
-msgstr "Rotar a la Derecha"
+msgstr "Altura del Anillo"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Axis"
-msgstr "Advertencias"
+msgstr "Eje del Anillo"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Rotate Y"
-msgstr "Rotar"
+msgstr "Rotar Y"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Disable Z"
-msgstr "Desactivar Elemento"
+msgstr "Desactivar Z"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Flatness"
msgstr ""
#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Portals"
-msgstr "Voltear Portales"
+msgstr "Portales"
#: scene/3d/cull_instance.cpp
-#, fuzzy
msgid "Portal Mode"
-msgstr "Modo de Prioridad"
+msgstr "Modo Portal"
#: scene/3d/cull_instance.cpp
msgid "Include In Bound"
@@ -22257,9 +22057,8 @@ msgid "Allow Merging"
msgstr ""
#: scene/3d/cull_instance.cpp
-#, fuzzy
msgid "Autoplace Priority"
-msgstr "Activar Prioridad"
+msgstr "Prioridad de Autoemplazamiento"
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -22292,9 +22091,8 @@ msgid "Subdiv"
msgstr ""
#: scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Dynamic Range"
-msgstr "Librería Dinámica"
+msgstr "Rango Dinámico"
#: scene/3d/gi_probe.cpp scene/3d/light.cpp
msgid "Normal Bias"
@@ -22302,18 +22100,16 @@ msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Pixel Size"
-msgstr "Ajuste de Píxeles"
+msgstr "Tamaño de Píxeles"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Billboard"
msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Shaded"
-msgstr "Shader"
+msgstr "Sombreado"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Double Sided"
@@ -22324,9 +22120,8 @@ msgid "No Depth Test"
msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Fixed Size"
-msgstr "Vista Frontal"
+msgstr "Tamaño Fijo"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Alpha Cut"
@@ -22337,119 +22132,98 @@ msgid "Alpha Scissor Threshold"
msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Render Priority"
-msgstr "Activar Prioridad"
+msgstr "Prioridad de Renderización"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Render Priority"
-msgstr "Activar Prioridad"
+msgstr "Prioridad de Renderización del Contorno"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Modulate"
-msgstr "Forzar Modulación en Blanco"
+msgstr "Modular Contorno"
#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Font"
-msgstr "Fuentes"
+msgstr "Fuente"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Horizontal Alignment"
-msgstr "Horizontal Activado"
+msgstr "Alineación Horizontal"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Vertical Alignment"
-msgstr "Filtrar señales"
+msgstr "Alineación Vertical"
#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
-#, fuzzy
msgid "Autowrap"
-msgstr "AutoLoad"
+msgstr "Envoltura Automática"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Indirect Energy"
-msgstr "Colores de Emisión"
+msgstr "Energía Indirecta"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Negative"
-msgstr "GDNative"
+msgstr "Negativo"
#: scene/3d/light.cpp scene/resources/material.cpp
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Specular"
-msgstr "Modo de Regla"
+msgstr "Especular"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Bake Mode"
-msgstr "Modo de Bitmask"
+msgstr "Modo de Bakeo"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Contact"
-msgstr "Seleccionar Color"
+msgstr "Contacto"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Reverse Cull Face"
-msgstr "Restablecer Volumen de Bus"
+msgstr "Eliminar Caras Invertidas"
#: scene/3d/light.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Directional Shadow"
-msgstr "Direcciones"
+msgstr "Sombra Direccional"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 1"
-msgstr "Dividir"
+msgstr "Dividir 1"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 2"
-msgstr "Dividir"
+msgstr "Dividir 2"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 3"
-msgstr "Dividir"
+msgstr "Dividir 3"
#: scene/3d/light.cpp
msgid "Blend Splits"
msgstr "Mezclar Divisiones"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Bias Split Scale"
-msgstr "Usar Ajuste de Escalado"
+msgstr "Escala de División del Sesgo"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Depth Range"
-msgstr "Profundidad"
+msgstr "Rango de Profundidad"
#: scene/3d/light.cpp
msgid "Omni"
msgstr ""
#: scene/3d/light.cpp
-#, fuzzy
msgid "Shadow Mode"
-msgstr "Shader"
+msgstr "Modo de Sombreado"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Shadow Detail"
-msgstr "Mostrar Por Defecto"
+msgstr "Detalle de la Sombra"
#: scene/3d/light.cpp
msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
@@ -22461,9 +22235,8 @@ msgid "Spot"
msgstr ""
#: scene/3d/light.cpp
-#, fuzzy
msgid "Angle Attenuation"
-msgstr "Animación"
+msgstr "Atenuación del Ángulo"
#: scene/3d/mesh_instance.cpp
msgid "Software Skinning"
@@ -22473,52 +22246,46 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformar Normales"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
-#, fuzzy
msgid "Up Vector"
-msgstr "Vector"
+msgstr "Vector Superior"
#: scene/3d/navigation.cpp
-#, fuzzy
msgid "Cell Height"
-msgstr "Prueba"
+msgstr "Altura de la Celda"
#: scene/3d/navigation_agent.cpp
msgid "Agent Height Offset"
msgstr ""
#: scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Ignore Y"
-msgstr "[Ignorar]"
+msgstr "Ignorar Y"
#: scene/3d/navigation_agent.cpp
-#, fuzzy
msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr "El NavigationAgent sólo puede utilizarse bajo un nodo spatial."
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
msgstr ""
-"NavigationMeshInstance debe ser hijo o nieto de un nodo Navigation. Ya que "
-"sólo proporciona los datos de navegación."
+"El NavigationAgent solo puede utilizarse en un nodo padre de tipo Spatial."
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-#, fuzzy
msgid "NavMesh"
-msgstr "Calcular NavMesh"
+msgstr "NavMesh"
#: scene/3d/navigation_obstacle.cpp
-#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
"Spatial inheriting parent object."
msgstr ""
-"El NavigationObstacle sólo sirve para evitar la colisión de un objeto "
-"spatial."
+"El NavigationObstacle solo sirve para evitar colisiones en un objeto padre "
+"de tipo Spatial."
#: scene/3d/occluder.cpp
msgid "No shape is set."
@@ -22569,9 +22336,8 @@ msgstr ""
"Billboard esté ajustado a \"Particle Billboard\"."
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Visibility AABB"
-msgstr "Cambiar Visibilidad"
+msgstr "Visibilidad AABB"
#: scene/3d/particles.cpp
msgid "Draw Passes"
@@ -22595,7 +22361,6 @@ msgstr ""
"el recurso Curve de su Path padre."
#: scene/3d/path.cpp
-#, fuzzy
msgid "Rotation Mode"
msgstr "Modo de Rotación"
@@ -22610,65 +22375,56 @@ msgstr ""
"En su lugar, cambia el tamaño en las formas de colisión de los hijos."
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Axis Lock"
-msgstr "Eje"
+msgstr "Bloquear Ejes"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear X"
-msgstr "Lineal"
+msgstr "Lineal X"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Y"
-msgstr "Lineal"
+msgstr "Lineal Y"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Z"
-msgstr "Lineal"
+msgstr "Lineal Z"
#: scene/3d/physics_body.cpp
msgid "Angular X"
-msgstr ""
+msgstr "Angular X"
#: scene/3d/physics_body.cpp
msgid "Angular Y"
-msgstr ""
+msgstr "Angular Y"
#: scene/3d/physics_body.cpp
msgid "Angular Z"
-msgstr ""
+msgstr "Angular Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion X"
-msgstr "Acción"
+msgstr "Movimiento X"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Y"
-msgstr "Acción"
+msgstr "Movimiento Y"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Z"
-msgstr "Acción"
+msgstr "Movimiento Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint Constraints"
-msgstr "Constantes"
+msgstr "Restringir Articulaciones"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Impulse Clamp"
msgstr ""
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Swing Span"
-msgstr "Guardar Escena"
+msgstr "Expansión de Swing"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Twist Span"
@@ -22680,147 +22436,124 @@ msgid "Relaxation"
msgstr "Relajación"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Enabled"
-msgstr "Filtrar señales"
+msgstr "Límite Angular Activado"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Upper"
-msgstr "Lineal"
+msgstr "Límite Angular Superior"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Lower"
-msgstr "Ortogonal Angular"
+msgstr "Límite Angular Inferior"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Bias"
-msgstr "Lineal"
+msgstr "Sesgo de Límite Angular"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Softness"
-msgstr "Animación"
+msgstr "Límite Angular de Suavizado"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Relaxation"
-msgstr "Animación"
+msgstr "Relajación del Límite Angular"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Upper"
-msgstr "Lineal"
+msgstr "Límite Lineal Superior"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Lower"
-msgstr "Lineal"
+msgstr "Límite Lineal Inferior"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Softness"
-msgstr "Lineal"
+msgstr "Límite Lineal de Suavizado"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Restitution"
-msgstr "Lineal"
+msgstr "Restitución del Límite Lineal"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Damping"
-msgstr "Lineal"
+msgstr "Amortiguación de Límite Lineal"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Restitution"
-msgstr "Animación"
+msgstr "Restitución del Límite Angular"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Damping"
-msgstr "Animación"
+msgstr "Amortiguación de Límite Angular"
#: scene/3d/physics_body.cpp
msgid "X"
-msgstr ""
+msgstr "X"
#: scene/3d/physics_body.cpp
msgid "Y"
-msgstr ""
+msgstr "Y"
#: scene/3d/physics_body.cpp
msgid "Z"
-msgstr ""
+msgstr "Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Enabled"
-msgstr "Lineal"
+msgstr "Límite Lineal Activado"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Enabled"
-msgstr "Lineal"
+msgstr "Amortiguador Lineal Activado"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Stiffness"
-msgstr "Lineal"
+msgstr "Rigidez Lineal del Amortiguador"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Damping"
-msgstr "Lineal"
+msgstr "Atenuación Lineal del Amortiguador"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Equilibrium Point"
-msgstr "Lineal"
+msgstr "Punto de Equilibrio Lineal"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Restitution"
-msgstr "Descripción"
+msgstr "Restitución Lineal"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Damping"
-msgstr "Lineal"
+msgstr "Amortiguación Lineal"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Restitution"
-msgstr "Descripción"
+msgstr "Restitución Angular"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Damping"
-msgstr "Animación"
+msgstr "Amortiguación Angular"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "ERP"
-msgstr ""
+msgstr "ERP"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Enabled"
-msgstr "Filtrar señales"
+msgstr "Amortiguación Angular Activada"
#: scene/3d/physics_body.cpp
msgid "Angular Spring Stiffness"
-msgstr ""
+msgstr "Rigidez del Amortiguador Angular"
#: scene/3d/physics_body.cpp
msgid "Angular Spring Damping"
-msgstr ""
+msgstr "Amortiguación Angular del Muelle"
#: scene/3d/physics_body.cpp
msgid "Angular Equilibrium Point"
-msgstr ""
+msgstr "Punto de Equilibrio Angular"
#: scene/3d/physics_body.cpp
msgid "Body Offset"
@@ -22851,9 +22584,8 @@ msgid "Solver"
msgstr ""
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Exclude Nodes"
-msgstr "Eliminar Nodos"
+msgstr "Excluir Nodos"
#: scene/3d/physics_joint.cpp
msgid "Params"
@@ -22864,32 +22596,28 @@ msgid "Angular Limit"
msgstr ""
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper"
-msgstr "Mayúsculas"
+msgstr "Superior"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower"
-msgstr "Minúsculas"
+msgstr "Inferior"
#: scene/3d/physics_joint.cpp
msgid "Motor"
-msgstr ""
+msgstr "Motor"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Target Velocity"
-msgstr "Vista de Órbita Derecha"
+msgstr "Velocidad del Objetivo"
#: scene/3d/physics_joint.cpp
msgid "Max Impulse"
msgstr "Impulso Máximo"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit"
-msgstr "Lineal"
+msgstr "Límite Lineal"
#: scene/3d/physics_joint.cpp
msgid "Upper Distance"
@@ -22900,57 +22628,48 @@ msgid "Lower Distance"
msgstr "Distancia Inferior"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Restitution"
-msgstr "Descripción"
+msgstr "Restitución"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motion"
-msgstr "Inicializar"
+msgstr "Movimiento Lineal"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Ortho"
-msgstr "Ortogonal Trasera"
+msgstr "Ortogonal Lineal"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper Angle"
-msgstr "Mayúsculas"
+msgstr "Ángulo Superior"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower Angle"
-msgstr "Minúsculas"
+msgstr "Ángulo Inferior"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Angular Motion"
-msgstr "Animación"
+msgstr "Movimiento Angular"
#: scene/3d/physics_joint.cpp
msgid "Angular Ortho"
msgstr "Ortogonal Angular"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit X"
-msgstr "Lineal"
+msgstr "Límite Lineal X"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motor X"
-msgstr "Inicializar"
+msgstr "Motor Lineal X"
#: scene/3d/physics_joint.cpp
msgid "Force Limit"
msgstr "Forzar Límite"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Spring X"
-msgstr "Lineal"
+msgstr "Amortiguación Lineal X"
#: scene/3d/physics_joint.cpp
msgid "Equilibrium Point"
@@ -22966,22 +22685,19 @@ msgstr ""
#: scene/3d/physics_joint.cpp
msgid "Angular Spring X"
-msgstr ""
+msgstr "Amortiguación Angular X"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit Y"
-msgstr "Lineal"
+msgstr "Límite Lineal Y"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motor Y"
-msgstr "Inicializar"
+msgstr "Motor Lineal Y"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Spring Y"
-msgstr "Lineal"
+msgstr "Amortiguación Lineal Y"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Y"
@@ -22993,22 +22709,19 @@ msgstr ""
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Y"
-msgstr ""
+msgstr "Amortiguación Angular Y"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit Z"
-msgstr "Lineal"
+msgstr "Límite Lineal Z"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motor Z"
-msgstr "Inicializar"
+msgstr "Motor Lineal Z"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Spring Z"
-msgstr "Lineal"
+msgstr "Amortiguación Lineal Z"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Z"
@@ -23020,7 +22733,7 @@ msgstr ""
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Z"
-msgstr ""
+msgstr "Amortiguación Angular Z"
#: scene/3d/portal.cpp
msgid "The RoomManager should not be a child or grandchild of a Portal."
@@ -23047,14 +22760,12 @@ msgid "Linked Room"
msgstr "Sala Vinculada"
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Use Default Margin"
-msgstr "Por defecto"
+msgstr "Usar Margen por Defecto"
#: scene/3d/proximity_group.cpp
-#, fuzzy
msgid "Group Name"
-msgstr "Agrupado"
+msgstr "Nombre del Grupo"
#: scene/3d/proximity_group.cpp
msgid "Dispatch Mode"
@@ -23065,47 +22776,40 @@ msgid "Grid Radius"
msgstr "Radio de Cuadrícula"
#: scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Debug Shape"
-msgstr "Depurador"
+msgstr "Depurar Shape"
#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
msgid "Thickness"
msgstr ""
#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Update Mode"
-msgstr "Modo de Rotación"
+msgstr "Modo de Actualización"
#: scene/3d/reflection_probe.cpp
msgid "Origin Offset"
msgstr "Desplazamiento de Origen"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Box Projection"
-msgstr "Proyecto"
+msgstr "Proyección de Cajas"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Enable Shadows"
-msgstr "Activar Ajuste"
+msgstr "Activar Sombras"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Color"
-msgstr "Seleccionar Color"
+msgstr "Color de Ambiente"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Energy"
-msgstr "Colores de Emisión"
+msgstr "Energía Ambiental"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Contrib"
-msgstr "Indentar a la Derecha"
+msgstr "Contribución Ambiental"
#: scene/3d/remote_transform.cpp
msgid ""
@@ -23149,9 +22853,8 @@ msgid "Bound"
msgstr ""
#: scene/3d/room_group.cpp
-#, fuzzy
msgid "Roomgroup Priority"
-msgstr "Prioridad"
+msgstr "Prioridad del Roomgroup"
#: scene/3d/room_group.cpp
msgid "The RoomManager should not be placed inside a RoomGroup."
@@ -23185,80 +22888,68 @@ msgstr ""
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp
#: servers/audio/effects/audio_effect_delay.cpp
-#, fuzzy
msgid "Active"
-msgstr "Acción"
+msgstr "Activo"
#: scene/3d/room_manager.cpp
msgid "Roomlist"
msgstr ""
#: scene/3d/room_manager.cpp servers/visual_server.cpp
-#, fuzzy
msgid "PVS"
-msgstr "FPS"
+msgstr "PVS"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Mode"
-msgstr "Modo desplazamiento lateral"
+msgstr "Modo PVS"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Filename"
-msgstr "Archivo ZIP"
+msgstr "Nombre del Archivo PVS"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
msgid "Gameplay"
msgstr ""
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Gameplay Monitor"
-msgstr "Monitor"
+msgstr "Monitor de Juego"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Use Secondary PVS"
-msgstr "Usar Ajuste de Escalado"
+msgstr "Usar PVS Secundario"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Merge Meshes"
-msgstr "Malla"
+msgstr "Fusionar Mallas"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Show Margins"
-msgstr "Mostrar Origen"
+msgstr "Mostrar Márgenes"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Debug Sprawl"
-msgstr "Depurar"
+msgstr "Depurar Extensión"
#: scene/3d/room_manager.cpp
msgid "Overlap Warning Threshold"
msgstr ""
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Preview Camera"
-msgstr "Vista Previa"
+msgstr "Vista previa de la Cámara"
#: scene/3d/room_manager.cpp
msgid "Portal Depth Limit"
msgstr ""
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Default Portal Margin"
-msgstr "Asignar Margen"
+msgstr "Margen del Portal por Defecto"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Roaming Expansion Margin"
-msgstr "Expandir Todo"
+msgstr "Margen de Expansión del Roaming"
#: scene/3d/room_manager.cpp
msgid ""
@@ -23311,43 +23002,36 @@ msgstr ""
"Asegúrate de que todas las rooms contienen geometría o límites manuales."
#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-#, fuzzy
msgid "Pose"
-msgstr "Copiar Pose"
+msgstr "Pose"
#: scene/3d/skeleton.cpp
-#, fuzzy
msgid "Bound Children"
-msgstr "Hijos Editables"
+msgstr "Hijos Vinculados"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Pinned Points"
-msgstr "Fijado %s"
+msgstr "Puntos de Anclaje"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Attachments"
-msgstr "Gizmos"
+msgstr "Adjuntos"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Point Index"
-msgstr "Obtener Índice"
+msgstr "Índice de Puntos"
#: scene/3d/soft_body.cpp
msgid "Spatial Attachment Path"
msgstr ""
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Physics Enabled"
-msgstr "Fotogramas de Física %"
+msgstr "Física Activada"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Parent Collision Ignore"
-msgstr "Crear Polígono de Colisión"
+msgstr "Ignorar Colisión de los Padres"
#: scene/3d/soft_body.cpp
msgid "Simulation Precision"
@@ -23400,31 +23084,32 @@ msgstr ""
"En su lugar, cambia el tamaño en las formas de colisión de los hijos."
#: scene/3d/spatial.cpp
+msgid "Global Translation"
+msgstr "Transformación Global"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
-msgstr ""
+msgstr "Matriz"
#: scene/3d/spatial.cpp
-#, fuzzy
msgid "Gizmo"
-msgstr "Gizmos"
+msgstr "Gizmo"
#: scene/3d/spatial_velocity_tracker.cpp
-#, fuzzy
msgid "Track Physics Step"
-msgstr "Fotogramas de Física %"
+msgstr "Paso de Física de Pistas"
#: scene/3d/spring_arm.cpp
msgid "Spring Length"
-msgstr ""
+msgstr "Cantidad de Amortiguación"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
msgid "Opacity"
msgstr ""
#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Transparent"
-msgstr "Transponer"
+msgstr "Transparente"
#: scene/3d/sprite_3d.cpp
msgid ""
@@ -23443,14 +23128,12 @@ msgstr ""
"Por favor, úselo como hijo de un VehicleBody."
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Per-Wheel Motion"
-msgstr "Botón Bajar la Rueda"
+msgstr "Movimiento por Rueda"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Engine Force"
-msgstr "Documentación Online"
+msgstr "Fuerza del Motor"
#: scene/3d/vehicle_body.cpp
msgid "Brake"
@@ -23481,19 +23164,16 @@ msgid "Roll Influence"
msgstr ""
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Friction Slip"
-msgstr "Función"
+msgstr "Deslizamiento por Fricción"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Suspension"
-msgstr "Expresión"
+msgstr "Suspensión"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Max Force"
-msgstr "Error"
+msgstr "Fuerza Máxima"
#: scene/3d/visibility_notifier.cpp
msgid "AABB"
@@ -23516,19 +23196,16 @@ msgid "Cast Shadow"
msgstr "Sombra Proyectada"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Extra Cull Margin"
-msgstr "Argumentos extras de llamada:"
+msgstr "Margen de Sacrificio Extra"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Baked Light"
-msgstr "Calcular Lightmaps"
+msgstr "Bakear Luces"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Generate Lightmap"
-msgstr "Generando Lightmaps"
+msgstr "Generar Lightmap"
#: scene/3d/visual_instance.cpp
msgid "Lightmap Scale"
@@ -23584,9 +23261,8 @@ msgid "Animation not found: '%s'"
msgstr "No se encontró la animación: '%s'"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Mix Mode"
-msgstr "Nodo Mix"
+msgstr "Modo Mix"
#: scene/animation/animation_blend_tree.cpp
msgid "Fadein Time"
@@ -23609,29 +23285,24 @@ msgid "Delay"
msgstr ""
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Random Delay"
-msgstr "Inclinación al azar:"
+msgstr "Retraso Aleatorio"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Add Amount"
-msgstr "Cantidad"
+msgstr "Añadir Cantidad"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Blend Amount"
-msgstr "Cantidad de Escala"
+msgstr "Cantidad de Mezcla"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Seek Position"
-msgstr "Establecer Posición de Entrada de Curva"
+msgstr "Buscar Posición"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Input Count"
-msgstr "Añadir Puerto de Entrada"
+msgstr "Conteo de Entradas"
#: scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_node_state_machine.cpp
@@ -23639,56 +23310,48 @@ msgid "Xfade Time"
msgstr "Tiempo de Fundido Cruzado"
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Switch Mode"
-msgstr "Cambiar"
+msgstr "Modo de Conmutación"
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Auto Advance"
-msgstr "Establecer avance automático"
+msgstr "Auto Avance"
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Advance Condition"
-msgstr "Opciones Avanzadas"
+msgstr "Condición de Avance"
#: scene/animation/animation_player.cpp
msgid "Anim Apply Reset"
msgstr "Aplicar Reset de la Animación"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Current Animation"
-msgstr "Establecer Animación"
+msgstr "Animación Actual"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Assigned Animation"
-msgstr "Añadir Animación"
+msgstr "Animación Asignada"
#: scene/animation/animation_player.cpp
msgid "Reset On Save"
msgstr ""
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Current Animation Length"
-msgstr "Cambiar Duración de la Animación"
+msgstr "Duración Actual de la Animación"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Current Animation Position"
-msgstr "Añadir Punto de Animación"
+msgstr "Posición Actual de la Animación"
#: scene/animation/animation_player.cpp
msgid "Playback Options"
msgstr "Opciones de Reproducción"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Default Blend Time"
-msgstr "Theme Predeterminado"
+msgstr "Tiempo de Mezcla por Defecto"
#: scene/animation/animation_player.cpp
msgid "Method Call Mode"
@@ -23729,67 +23392,56 @@ msgid "Tree Root"
msgstr "Raíz del Árbol"
#: scene/animation/animation_tree.cpp
-#, fuzzy
msgid "Anim Player"
-msgstr "Fijar AnimationPlayer"
+msgstr "Reproductor de Animación"
#: scene/animation/animation_tree.cpp
msgid "Root Motion"
msgstr ""
#: scene/animation/animation_tree.cpp
-#, fuzzy
msgid "Track"
-msgstr "Agregar Pista"
+msgstr "Pista"
#: scene/animation/animation_tree_player.cpp
msgid "This node has been deprecated. Use AnimationTree instead."
msgstr "Este nodo ha quedado obsoleto. Usa AnimationTree en su lugar."
#: scene/animation/animation_tree_player.cpp
-#, fuzzy
msgid "Playback"
msgstr "Reproducir"
#: scene/animation/animation_tree_player.cpp
-#, fuzzy
msgid "Master Player"
-msgstr "Pegar Parámetros"
+msgstr "Reproductor Principal"
#: scene/animation/animation_tree_player.cpp
-#, fuzzy
msgid "Base Path"
-msgstr "Ruta de Exportación"
+msgstr "Ruta Base"
#: scene/animation/root_motion_view.cpp
-#, fuzzy
msgid "Animation Path"
-msgstr "Animación"
+msgstr "Ruta de la Animación"
#: scene/animation/root_motion_view.cpp
-#, fuzzy
msgid "Zero Y"
-msgstr "Cero"
+msgstr "Cero Y"
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Root Bone"
-msgstr "Nombre del nodo raíz"
+msgstr "Hueso Raíz"
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Tip Bone"
-msgstr "Huesos"
+msgstr "Punta del Hueso"
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Interpolation"
-msgstr "Modo de Interpolación"
+msgstr "Interpolación"
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Override Tip Basis"
-msgstr "Anulaciones"
+msgstr "Anular Base de la Punta"
#: scene/animation/skeleton_ik.cpp
msgid "Use Magnet"
@@ -23800,54 +23452,46 @@ msgid "Magnet"
msgstr ""
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Target Node"
-msgstr "Reemparentar nodo"
+msgstr "Nodo Objetivo"
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Max Iterations"
-msgstr "Crear Función"
+msgstr "Iteraciones Máximas"
#: scene/animation/tween.cpp
msgid "Playback Process Mode"
msgstr ""
#: scene/animation/tween.cpp
-#, fuzzy
msgid "Playback Speed"
-msgstr "Reproducir Escena"
+msgstr "Velocidad de Reproducción"
#: scene/audio/audio_stream_player.cpp
-#, fuzzy
msgid "Mix Target"
-msgstr "Objetivo"
+msgstr "Objetivo de la Mezcla"
#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
-#, fuzzy
msgid "Ratio"
-msgstr "Mantener Proporciones"
+msgstr "Proporción"
#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp
#: scene/gui/texture_rect.cpp
-#, fuzzy
msgid "Stretch Mode"
-msgstr "Modo de Selección"
+msgstr "Modo de Estiramiento"
#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
msgid "Alignment"
msgstr ""
#: scene/gui/base_button.cpp
-#, fuzzy
msgid "Shortcut In Tooltip"
-msgstr "Mostrar Origen"
+msgstr "Atajo en el Tooltip"
#: scene/gui/base_button.cpp
-#, fuzzy
msgid "Action Mode"
-msgstr "Modo de Icono"
+msgstr "Modo de Acción"
#: scene/gui/base_button.cpp
msgid "Enabled Focus Mode"
@@ -23858,38 +23502,33 @@ msgid "Keep Pressed Outside"
msgstr ""
#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
-#, fuzzy
msgid "Shortcut"
-msgstr "Atajos"
+msgstr "Atajo"
#: scene/gui/base_button.cpp
-#, fuzzy
msgid "Group"
-msgstr "Grupos"
+msgstr "Grupo"
#: scene/gui/button.cpp scene/gui/label.cpp
-#, fuzzy
msgid "Clip Text"
-msgstr "Copiar Texto"
+msgstr "Texto del Clip"
#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
#: scene/gui/spin_box.cpp
msgid "Align"
-msgstr ""
+msgstr "Alinear"
#: scene/gui/button.cpp
msgid "Icon Align"
-msgstr ""
+msgstr "Alinear Icono"
#: scene/gui/button.cpp
-#, fuzzy
msgid "Expand Icon"
-msgstr "Expandir Todo"
+msgstr "Expandir Icono"
#: scene/gui/center_container.cpp
-#, fuzzy
msgid "Use Top Left"
-msgstr "Superior Izquierda"
+msgstr "Usar Superior Izquierda"
#: scene/gui/color_picker.cpp
msgid ""
@@ -23902,34 +23541,28 @@ msgstr ""
"Clic der: Borrar configuración predeterminada"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Edit Alpha"
-msgstr "Editar Polígono"
+msgstr "Editar Alfa"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "HSV Mode"
-msgstr "Modo de Selección"
+msgstr "Modo HSV"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Raw Mode"
-msgstr "Modo desplazamiento lateral"
+msgstr "Modo Raw"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Deferred Mode"
-msgstr "Diferido"
+msgstr "Modo Diferido"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Presets Enabled"
-msgstr "Ajustes preestablecidos"
+msgstr "Preajustes Activados"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Presets Visible"
-msgstr "Act./Desact. Visible"
+msgstr "Preajustes Visibles"
#: scene/gui/color_picker.cpp
msgid "Pick a color from the editor window."
@@ -23959,9 +23592,8 @@ msgstr ""
"sencillo."
#: scene/gui/control.cpp
-#, fuzzy
msgid "Theme Overrides"
-msgstr "Anulaciones"
+msgstr "Anulación de Temas"
#: scene/gui/control.cpp
msgid ""
@@ -23973,14 +23605,12 @@ msgstr ""
"Filtro del Ratón en \"Stop\" o \"Pass\"."
#: scene/gui/control.cpp
-#, fuzzy
msgid "Anchor"
-msgstr "Sólo anclado"
+msgstr "Anclaje"
#: scene/gui/control.cpp
-#, fuzzy
msgid "Grow Direction"
-msgstr "Direcciones"
+msgstr "Dirección de Crecimiento"
#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
msgid "Min Size"
@@ -23991,40 +23621,36 @@ msgid "Pivot Offset"
msgstr "Pivote de Desplazamiento"
#: scene/gui/control.cpp
-#, fuzzy
msgid "Clip Content"
-msgstr "Constante de Clase"
+msgstr "Contenido del Clip"
#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp
msgid "Hint"
msgstr ""
#: scene/gui/control.cpp
-#, fuzzy
msgid "Tooltip"
-msgstr "Herramientas"
+msgstr "Tooltip"
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Focus"
-msgstr "Foco en Ruta"
+msgstr "Foco"
#: scene/gui/control.cpp
msgid "Neighbour Left"
-msgstr ""
+msgstr "Vecino Izquierda"
#: scene/gui/control.cpp
msgid "Neighbour Top"
-msgstr ""
+msgstr "Vecino Superior"
#: scene/gui/control.cpp
msgid "Neighbour Right"
-msgstr ""
+msgstr "Vecino Derecha"
#: scene/gui/control.cpp
-#, fuzzy
msgid "Neighbour Bottom"
-msgstr "Centro Inferior"
+msgstr "Vecino Inferior"
#: scene/gui/control.cpp
msgid "Next"
@@ -24051,23 +23677,20 @@ msgid "Size Flags"
msgstr "Tamaño de los Indicadores"
#: scene/gui/control.cpp
-#, fuzzy
msgid "Stretch Ratio"
-msgstr "Modo de Selección"
+msgstr "Relación de Estiramiento"
#: scene/gui/control.cpp
-#, fuzzy
msgid "Theme Type Variation"
-msgstr "Propiedades del Theme"
+msgstr "Propiedades del Tema"
#: scene/gui/dialogs.cpp
msgid "Window Title"
msgstr ""
#: scene/gui/dialogs.cpp
-#, fuzzy
msgid "Dialog"
-msgstr "Diálogo XForm"
+msgstr "Diálogo"
#: scene/gui/dialogs.cpp
msgid "Hide On OK"
@@ -24082,48 +23705,40 @@ msgid "Please Confirm..."
msgstr "Por favor, Confirma..."
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Mode Overrides Title"
-msgstr "Elemento de Anulación"
+msgstr "Sobreescritura"
#: scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Debe tener una extensión válida."
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Right Disconnects"
-msgstr "Desconectar"
+msgstr "Desconexión Correcta"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Scroll Offset"
-msgstr "Desplazamiento de Cuadrícula:"
+msgstr "Desplazamiento de Scroll"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Snap Distance"
-msgstr "Seleccionar Distancia:"
+msgstr "Ajustar Distancia"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Min"
-msgstr "Acercar Zoom"
+msgstr "Zoom Mínimo"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Max"
-msgstr "Acercar Zoom"
+msgstr "Zoom Máximo"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Step"
-msgstr "Alejar Zoom"
+msgstr "Paso Zoom"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Show Zoom Label"
-msgstr "Mostrar Huesos"
+msgstr "Mostrar Etiqueta Zoom"
#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -24135,58 +23750,50 @@ msgid "Enable grid minimap."
msgstr "Activar minimapa de cuadrícula."
#: scene/gui/graph_node.cpp
-#, fuzzy
msgid "Show Close"
-msgstr "Mostrar Huesos"
+msgstr "Mostrar Cerrar"
#: scene/gui/graph_node.cpp scene/gui/option_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Selected"
-msgstr "Seleccionar"
+msgstr "Seleccionado"
#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Comment"
-msgstr "Confirmar"
+msgstr "Comentario"
#: scene/gui/graph_node.cpp
msgid "Overlay"
msgstr ""
#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Columns"
-msgstr "Volumen"
+msgstr "Columnas"
#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp
#: scene/gui/tree.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Timers"
-msgstr "Tiempo"
+msgstr "Temporizadores"
#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
msgid "Incremental Search Max Interval Msec"
msgstr ""
#: scene/gui/item_list.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Allow Reselect"
-msgstr "Aplicar Restablecer"
+msgstr "Permitir Volver A Seleccionar"
#: scene/gui/item_list.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Allow RMB Select"
-msgstr "Rellenar Selección"
+msgstr "Permitir Selección Con Botón Derecho Del Ratón"
#: scene/gui/item_list.cpp
msgid "Max Text Lines"
msgstr ""
#: scene/gui/item_list.cpp
-#, fuzzy
msgid "Auto Height"
-msgstr "Prueba"
+msgstr "Altura Automática"
#: scene/gui/item_list.cpp
msgid "Max Columns"
@@ -24205,23 +23812,20 @@ msgid "Icon Scale"
msgstr "Escala de Icono"
#: scene/gui/item_list.cpp
-#, fuzzy
msgid "Fixed Icon Size"
-msgstr "Vista Frontal"
+msgstr "Tamaño Fijo de Icono"
#: scene/gui/label.cpp
-#, fuzzy
msgid "V Align"
-msgstr "Asignar"
+msgstr "Alineamiento V"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
msgid "Visible Characters"
msgstr "Caracteres Visibles"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Percent Visible"
-msgstr "Act./Desact. Visible"
+msgstr "Porcentaje Visible"
#: scene/gui/label.cpp
msgid "Lines Skipped"
@@ -24248,34 +23852,28 @@ msgid "Expand To Text Length"
msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Context Menu Enabled"
-msgstr "Ayuda Contextual"
+msgstr "Menú Contextual Activado"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Virtual Keyboard Enabled"
-msgstr "Filtrar señales"
+msgstr "Teclado Virtual Activado"
#: scene/gui/line_edit.cpp
-#, fuzzy
msgid "Clear Button Enabled"
-msgstr "Filtrar señales"
+msgstr "Botón de Borrado Activado"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Shortcut Keys Enabled"
-msgstr "Atajos"
+msgstr "Atajos Activados"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Middle Mouse Paste Enabled"
-msgstr "Filtrar señales"
+msgstr "Pegar Con Botón Intermedio Ratón Activado"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Selecting Enabled"
-msgstr "Sólo selección"
+msgstr "Selección Activada"
#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
#: scene/gui/text_edit.cpp
@@ -24283,14 +23881,12 @@ msgid "Deselect On Focus Loss Enabled"
msgstr ""
#: scene/gui/line_edit.cpp
-#, fuzzy
msgid "Right Icon"
-msgstr "Botón Derecho"
+msgstr "Icono Derecho"
#: scene/gui/line_edit.cpp
-#, fuzzy
msgid "Placeholder"
-msgstr "Cargar Como Placeholder"
+msgstr "Marcador"
#: scene/gui/line_edit.cpp
msgid "Alpha"
@@ -24313,24 +23909,20 @@ msgid "Underline"
msgstr ""
#: scene/gui/menu_button.cpp
-#, fuzzy
msgid "Switch On Hover"
-msgstr "Cambiar"
+msgstr "Cambiar Al Pasar Por Encima"
#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Draw Center"
-msgstr "Centro"
+msgstr "Dibujar al Centro"
#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Region Rect"
-msgstr "Establecer Region Rect"
+msgstr "Región Rectángulo"
#: scene/gui/nine_patch_rect.cpp
-#, fuzzy
msgid "Patch Margin"
-msgstr "Asignar Margen"
+msgstr "Parche de Margen"
#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
msgid "Axis Stretch"
@@ -24349,14 +23941,12 @@ msgstr ""
"como Stretch en su lugar."
#: scene/gui/popup.cpp
-#, fuzzy
msgid "Popup"
-msgstr "Rellenar"
+msgstr "Popup"
#: scene/gui/popup.cpp
-#, fuzzy
msgid "Exclusive"
-msgstr "Inclusivo"
+msgstr "Exclusivo"
#: scene/gui/popup.cpp
msgid ""
@@ -24369,28 +23959,24 @@ msgstr ""
"edición, pero se esconderán al iniciar."
#: scene/gui/popup_menu.cpp
-#, fuzzy
msgid "Hide On Item Selection"
-msgstr "Centrar Selección"
+msgstr "Ocultar Al Seleccionar Elemento"
#: scene/gui/popup_menu.cpp
-#, fuzzy
msgid "Hide On Checkable Item Selection"
-msgstr "Eliminar Selección de GridMap"
+msgstr "Ocultar Al Seleccionar Elemento Activable"
#: scene/gui/popup_menu.cpp
-#, fuzzy
msgid "Hide On State Item Selection"
-msgstr "Eliminar Selección"
+msgstr "Ocultar Al Seleccionar Elemento de Estado"
#: scene/gui/popup_menu.cpp
msgid "Submenu Popup Delay"
msgstr ""
#: scene/gui/popup_menu.cpp
-#, fuzzy
msgid "Allow Search"
-msgstr "Buscar"
+msgstr "Permitir Búsqueda"
#: scene/gui/progress_bar.cpp
msgid "Percent"
@@ -24401,28 +23987,24 @@ msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
msgstr "Si \"Exp Edit\" está activado, \"Min Value\" debe ser mayor que 0."
#: scene/gui/range.cpp scene/resources/curve.cpp
-#, fuzzy
msgid "Min Value"
-msgstr "Fijar Valor"
+msgstr "Valor Mínimo"
#: scene/gui/range.cpp scene/resources/curve.cpp
-#, fuzzy
msgid "Max Value"
-msgstr "Valor"
+msgstr "Valor Máximo"
#: scene/gui/range.cpp
msgid "Page"
msgstr "Página"
#: scene/gui/range.cpp
-#, fuzzy
msgid "Exp Edit"
-msgstr "Editar"
+msgstr "Editar Exp"
#: scene/gui/range.cpp
-#, fuzzy
msgid "Rounded"
-msgstr "Agrupado"
+msgstr "Redondeado"
#: scene/gui/range.cpp
msgid "Allow Greater"
@@ -24433,24 +24015,20 @@ msgid "Allow Lesser"
msgstr ""
#: scene/gui/reference_rect.cpp
-#, fuzzy
msgid "Border Color"
-msgstr "Cambiar Nombre del Elemento Color"
+msgstr "Color Del Borde"
#: scene/gui/reference_rect.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Border Width"
-msgstr "Píxeles del Borde"
+msgstr "Anchura Del Borde"
#: scene/gui/rich_text_effect.cpp
-#, fuzzy
msgid "Relative Index"
-msgstr "Obtener Índice"
+msgstr "Índice Relativo"
#: scene/gui/rich_text_effect.cpp
-#, fuzzy
msgid "Absolute Index"
-msgstr "Auto Sangría"
+msgstr "Índice Absoluto"
#: scene/gui/rich_text_effect.cpp
msgid "Elapsed Time"
@@ -24459,7 +24037,7 @@ msgstr "Tiempo Transcurrido"
#: scene/gui/rich_text_effect.cpp
#, fuzzy
msgid "Env"
-msgstr "Fin"
+msgstr "Env"
#: scene/gui/rich_text_effect.cpp
msgid "Character"
@@ -24478,9 +24056,8 @@ msgid "Tab Size"
msgstr "Tamaño de Tabulación"
#: scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Fit Content Height"
-msgstr "Pintar Peso de Huesos"
+msgstr "Ajustar Altura Del Contenido"
#: scene/gui/rich_text_label.cpp
msgid "Scroll Active"
@@ -24491,23 +24068,20 @@ msgid "Scroll Following"
msgstr ""
#: scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Selection Enabled"
-msgstr "Sólo selección"
+msgstr "Selección Activada"
#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
msgid "Override Selected Font Color"
msgstr "Sobrescribir Color de Fuente Seleccionada"
#: scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Custom Effects"
-msgstr "Mover Efecto de Bus"
+msgstr "Efectos Personalizados"
#: scene/gui/scroll_bar.cpp
-#, fuzzy
msgid "Custom Step"
-msgstr "CustomNode"
+msgstr "Paso Personalizado"
#: scene/gui/scroll_container.cpp
msgid ""
@@ -24520,18 +24094,16 @@ msgstr ""
"manualmente el tamaño mínimo personalizado."
#: scene/gui/scroll_container.cpp
-#, fuzzy
msgid "Follow Focus"
-msgstr "Llenar superficie"
+msgstr "Seguir Focus"
#: scene/gui/scroll_container.cpp
msgid "Horizontal Enabled"
msgstr "Horizontal Activado"
#: scene/gui/scroll_container.cpp
-#, fuzzy
msgid "Vertical Enabled"
-msgstr "Filtrar señales"
+msgstr "Vertical Activada"
#: scene/gui/scroll_container.cpp
msgid "Default Scroll Deadzone"
@@ -24542,9 +24114,8 @@ msgid "Scrollable"
msgstr ""
#: scene/gui/slider.cpp
-#, fuzzy
msgid "Tick Count"
-msgstr "Seleccionar Color"
+msgstr "Cantidad De Marcas"
#: scene/gui/slider.cpp
msgid "Ticks On Borders"
@@ -24563,14 +24134,12 @@ msgid "Split Offset"
msgstr "Desplazamiento de División"
#: scene/gui/split_container.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Collapsed"
-msgstr "Colapsar Todo"
+msgstr "Colapsado"
#: scene/gui/split_container.cpp
-#, fuzzy
msgid "Dragger Visibility"
-msgstr "Cambiar Visibilidad"
+msgstr "Visibilidad de los Arrastradores"
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
msgid "Tab Align"
@@ -24581,9 +24150,8 @@ msgid "Current Tab"
msgstr "Pestaña Actual"
#: scene/gui/tab_container.cpp
-#, fuzzy
msgid "Tabs Visible"
-msgstr "Act./Desact. Visible"
+msgstr "Pestañas Visibles"
#: scene/gui/tab_container.cpp
msgid "All Tabs In Front"
@@ -24610,28 +24178,28 @@ msgid "Readonly"
msgstr ""
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Bookmark Gutter"
-msgstr "Marcadores"
+msgstr "Canalón de Marcadores"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Breakpoint Gutter"
-msgstr "Saltar Breakpoints"
+msgstr "Canalón de Puntos de Ruptura"
#: scene/gui/text_edit.cpp
msgid "Fold Gutter"
-msgstr "Plegar Gutter"
+msgstr "Canalón Plegable"
+
+#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr "Selección de Arrastrar y Soltar Activada"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Hiding Enabled"
-msgstr "Activar"
+msgstr "Ocultación Activada"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Wrap Enabled"
-msgstr "Activar"
+msgstr "Ajuste Activado"
#: scene/gui/text_edit.cpp
msgid "Scroll Vertical"
@@ -24646,9 +24214,8 @@ msgid "Draw"
msgstr "Dibujar"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Block Mode"
-msgstr "Desbloquear Nodo"
+msgstr "Modo Bloque"
#: scene/gui/text_edit.cpp
msgid "Moving By Right Click"
@@ -24667,34 +24234,29 @@ msgid "Hover"
msgstr ""
#: scene/gui/texture_button.cpp
-#, fuzzy
msgid "Focused"
-msgstr "Foco en Ruta"
+msgstr "Enfocado"
#: scene/gui/texture_button.cpp
-#, fuzzy
msgid "Click Mask"
-msgstr "Modo de Colisión"
+msgstr "Máscara de Clic"
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
#: scene/gui/video_player.cpp
-#, fuzzy
msgid "Expand"
-msgstr "Expandir Todo"
+msgstr "Expandir"
#: scene/gui/texture_progress.cpp
msgid "Under"
msgstr ""
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Over"
-msgstr "Sobreescribir"
+msgstr "Sobre"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Progress"
-msgstr "Propiedades del Theme"
+msgstr "Progreso"
#: scene/gui/texture_progress.cpp
msgid "Progress Offset"
@@ -24713,43 +24275,36 @@ msgid "Radial Fill"
msgstr ""
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Initial Angle"
-msgstr "Inicializar"
+msgstr "Ángulo Inicial"
#: scene/gui/texture_progress.cpp
msgid "Fill Degrees"
msgstr "Completar Grados"
#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Center Offset"
-msgstr "Centro Izquierda"
+msgstr "Desplazamiento Central"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Nine Patch Stretch"
-msgstr "Modo de Interpolación"
+msgstr "Estiramiento de Nine Patch"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Stretch Margin Left"
-msgstr "Asignar Margen"
+msgstr "Estiramiento de Margen Izquierdo"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Stretch Margin Top"
-msgstr "Asignar Margen"
+msgstr "Estiramiento de Margen Superior"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Stretch Margin Right"
-msgstr "Asignar Margen"
+msgstr "Estiramiento de Margen Derecho"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Stretch Margin Bottom"
-msgstr "Modo de Selección"
+msgstr "Estiramiento de Margen Inferior"
#: scene/gui/tree.cpp
msgid "Custom Minimum Height"
@@ -24760,14 +24315,12 @@ msgid "(Other)"
msgstr "(Otros)"
#: scene/gui/tree.cpp
-#, fuzzy
msgid "Column Titles Visible"
-msgstr "Act./Desact. Visible"
+msgstr "Títulos de Columnas Visibles"
#: scene/gui/tree.cpp
-#, fuzzy
msgid "Hide Folding"
-msgstr "Botón Desactivado"
+msgstr "Plegado de Pieles"
#: scene/gui/tree.cpp
msgid "Hide Root"
@@ -24778,43 +24331,36 @@ msgid "Drop Mode Flags"
msgstr ""
#: scene/gui/video_player.cpp
-#, fuzzy
msgid "Audio Track"
-msgstr "Agregar Pista"
+msgstr "Pista de Audio"
#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Paused"
-msgstr ""
+msgstr "Pausado"
#: scene/gui/video_player.cpp
-#, fuzzy
msgid "Buffering Msec"
-msgstr "Vista Trasera"
+msgstr "Buffering Msec"
#: scene/gui/video_player.cpp
-#, fuzzy
msgid "Stream Position"
-msgstr "Establecer Posición de Entrada de Curva"
+msgstr "Posición del Stream"
#: scene/gui/viewport_container.cpp
-#, fuzzy
msgid "Stretch Shrink"
-msgstr "Buscar"
+msgstr "Encogimiento por Estiramiento"
#: scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Follow Viewport"
-msgstr "Mostrar Viewport"
+msgstr "Seguir el Viewport"
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Download File"
-msgstr "Descargar"
+msgstr "Descargar Archivo"
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Download Chunk Size"
-msgstr "Descargando"
+msgstr "Descargar Tamaño del Fragmento"
#: scene/main/http_request.cpp
msgid "Body Size Limit"
@@ -24835,89 +24381,76 @@ msgid ""
msgstr ""
#: scene/main/node.cpp
-#, fuzzy
msgid "Name Num Separator"
-msgstr "Separador con nombre"
+msgstr "Separador Numérico del Nombre"
#: scene/main/node.cpp
msgid "Name Casing"
msgstr ""
#: scene/main/node.cpp
-#, fuzzy
msgid "Editor Description"
-msgstr "Descripción"
+msgstr "Descripción del Editor"
#: scene/main/node.cpp
-#, fuzzy
msgid "Pause Mode"
-msgstr "Modo desplazamiento lateral"
+msgstr "Modo Pausa"
#: scene/main/node.cpp
-#, fuzzy
msgid "Physics Interpolation Mode"
-msgstr "Modo de Interpolación"
+msgstr "Modo de Interpolación Física"
#: scene/main/node.cpp
-#, fuzzy
msgid "Display Folded"
-msgstr "Mostrar Sin Sombreado"
+msgstr "Vista Plegada"
#: scene/main/node.cpp
-#, fuzzy
msgid "Filename"
-msgstr "Renombrar"
+msgstr "Nombre del Archivo"
#: scene/main/node.cpp
msgid "Owner"
msgstr "Propietario"
#: scene/main/node.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Multiplayer"
-msgstr "Multiplicar %s"
+msgstr "Multijugador"
#: scene/main/node.cpp
msgid "Custom Multiplayer"
msgstr "Multijugador Personalizado"
#: scene/main/node.cpp
-#, fuzzy
msgid "Process Priority"
-msgstr "Activar Prioridad"
+msgstr "Prioridad del Proceso"
#: scene/main/scene_tree.cpp scene/main/timer.cpp
-#, fuzzy
msgid "Time Left"
-msgstr "Superior Izquierda"
+msgstr "Tiempo Restante"
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Debug Collisions Hint"
-msgstr "Modo de Colisión"
+msgstr "Sugerencia de Depuración de Colisiones"
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Debug Navigation Hint"
-msgstr "Modo de Navegación"
+msgstr "Sugerencia de Depuración de Navegación"
#: scene/main/scene_tree.cpp
msgid "Use Font Oversampling"
msgstr ""
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Edited Scene Root"
-msgstr "Nueva Raíz de Escena"
+msgstr "Escena Raíz Editada"
#: scene/main/scene_tree.cpp
msgid "Root"
msgstr ""
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Multiplayer Poll"
-msgstr "Multiplicar %s"
+msgstr "Encuesta Multijugador"
#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
#: scene/resources/shape_2d.cpp
@@ -24929,32 +24462,28 @@ msgid "Shape Color"
msgstr ""
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Contact Color"
-msgstr "Seleccionar Color"
+msgstr "Color de Contacto"
#: scene/main/scene_tree.cpp
msgid "Geometry Color"
msgstr ""
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Disabled Geometry Color"
-msgstr "Desactivar Elemento"
+msgstr "Color de la Geometría Desactivada"
#: scene/main/scene_tree.cpp
msgid "Max Contacts Displayed"
msgstr ""
#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-#, fuzzy
msgid "Draw 2D Outlines"
-msgstr "Crear Outline"
+msgstr "Dibujar Contornos 2D"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "Direcciones"
+msgstr "Reflexiones"
#: scene/main/scene_tree.cpp
msgid "Atlas Size"
@@ -24985,9 +24514,8 @@ msgid "Use 32 BPC Depth"
msgstr ""
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Default Environment"
-msgstr "Ver Entorno"
+msgstr "Entorno por Defecto"
#: scene/main/scene_tree.cpp
msgid ""
@@ -24998,9 +24526,8 @@ msgstr ""
"(Rendering -> Environment -> Default Environment) no se ha podido cargar."
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Enable Object Picking"
-msgstr "Activar Papel Cebolla"
+msgstr "Activar Selección de Objetos"
#: scene/main/timer.cpp
msgid ""
@@ -25020,22 +24547,8 @@ msgid "Autostart"
msgstr "Inicio Automático"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Viewport Path"
-msgstr "Ruta de Exportación"
-
-#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Esta ventanilla no está configurada como destino de representación. Si "
-"quiere que su contenido se muestre directamente en la pantalla, hágalo un "
-"elemento secundario de un control para que pueda recibir dimensiones. O "
-"bien, conviértalo en un RenderTarget y asigne su textura interna a algún "
-"nodo para que se muestre."
+msgstr "Ruta del Viewport"
#: scene/main/viewport.cpp
msgid ""
@@ -25046,63 +24559,71 @@ msgstr ""
"dimensiones para renderizar cualquier cosa."
#: scene/main/viewport.cpp
-msgid "ARVR"
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
+"Este Viewport tiene HDR habilitado, pero su uso está establecido en 2D o 2D "
+"sin muestreo.\n"
+"El HDR solo está soportado en los Viewports que tienen su uso establecido en "
+"3D o 3D Sin Efectos.\n"
+"El HDR estará desactivado para esta ventana."
+
+#: scene/main/viewport.cpp
+msgid "ARVR"
+msgstr "ARVR"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Size Override Stretch"
-msgstr "Elemento de Anulación"
+msgstr "Anulación del Tamaño de Estiramiento"
#: scene/main/viewport.cpp
msgid "Own World"
-msgstr ""
+msgstr "Mundo Propio"
#: scene/main/viewport.cpp scene/resources/world_2d.cpp
msgid "World"
-msgstr ""
+msgstr "Mundo"
#: scene/main/viewport.cpp
msgid "World 2D"
-msgstr ""
+msgstr "Mundo 2D"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Transparent BG"
-msgstr "Transponer"
+msgstr "Fondo Transparente"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Handle Input Locally"
-msgstr "Cambiar Valor de Entrada"
+msgstr "Manejar Entradas Localmente"
#: scene/main/viewport.cpp
msgid "FXAA"
-msgstr ""
+msgstr "FXAA"
#: scene/main/viewport.cpp
#, fuzzy
msgid "Debanding"
-msgstr "Vinculación"
+msgstr "Debanding"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Disable 3D"
-msgstr "Desactivar Elemento"
+msgstr "Desactivar 3D"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Keep 3D Linear"
-msgstr "Izquierda Lineal"
+msgstr "Mantener 3D Lineal"
#: scene/main/viewport.cpp
msgid "Render Direct To Screen"
-msgstr ""
+msgstr "Renderización Directa en Pantalla"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Debug Draw"
-msgstr "Depurar"
+msgstr "Depurar Dibujo"
#: scene/main/viewport.cpp
msgid "Render Target"
@@ -25113,34 +24634,28 @@ msgid "V Flip"
msgstr ""
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Clear Mode"
-msgstr "Modo de Regla"
+msgstr "Modo de Limpieza"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Enable 2D"
-msgstr "Activar"
+msgstr "Activar 2D"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Enable 3D"
-msgstr "Activar"
+msgstr "Activar 3D"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Object Picking"
-msgstr "Activar Papel Cebolla"
+msgstr "Selección de Objetos"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Disable Input"
-msgstr "Desactivar Elemento"
+msgstr "Desactivar Entrada"
#: scene/main/viewport.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Shadow Atlas"
-msgstr "Nuevo Atlas"
+msgstr "Sombra del Atlas"
#: scene/main/viewport.cpp
msgid "Quad 0"
@@ -25159,68 +24674,66 @@ msgid "Quad 3"
msgstr ""
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Canvas Transform"
-msgstr "Reestablecer Transformación"
+msgstr "Transformación del Canvas"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Global Canvas Transform"
-msgstr "Mantener transformación global"
+msgstr "Transformación Global del Canvas"
#: scene/main/viewport.cpp
msgid "Tooltip Delay (sec)"
-msgstr ""
+msgstr "Retraso del Tooltip (sec)"
#: scene/register_scene_types.cpp
#, fuzzy
msgid "Swap OK Cancel"
-msgstr "Cancelar UI"
+msgstr "Intercambio OK Cancelar"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "Layer Names"
-msgstr "Nombre"
+msgstr "Nombres de las Capas"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "2D Render"
-msgstr "Renderización"
+msgstr "Renderización 2D"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "3D Render"
-msgstr "Renderización"
+msgstr "Renderización 3D"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "2D Physics"
-msgstr "Física"
+msgstr "Física 2D"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "3D Physics"
-msgstr "Física"
+msgstr "Física 3D"
+
+#: scene/register_scene_types.cpp
+msgid "2D Navigation"
+msgstr "Navegación 2D"
+
+#: scene/register_scene_types.cpp
+msgid "3D Navigation"
+msgstr "Navegación 3D"
#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "Custom"
-msgstr "CustomNode"
+msgstr "Personalizado"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "Custom Font"
-msgstr "CustomNode"
+msgstr "Fuente Personalizada"
#: scene/resources/audio_stream_sample.cpp
#: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp
-#, fuzzy
msgid "Mix Rate"
-msgstr "Nodo Mix"
+msgstr "Tasa de Mezcla"
#: scene/resources/audio_stream_sample.cpp
msgid "Stereo"
@@ -25231,9 +24744,8 @@ msgid "Segments"
msgstr "Segmentos"
#: scene/resources/curve.cpp
-#, fuzzy
msgid "Bake Resolution"
-msgstr "Media Resolución"
+msgstr "Bakear Resolución"
#: scene/resources/curve.cpp
msgid "Bake Interval"
@@ -25244,78 +24756,64 @@ msgid "Panel"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color"
-msgstr "Seleccionar Color"
+msgstr "Color de la Fuente"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Pressed"
-msgstr "Color Hueso 1"
+msgstr "Color de la Fuente Presionada"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Hover"
-msgstr "Color Hueso 1"
+msgstr "Color de la Fuente por Encima"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Focus"
-msgstr "Llenar superficie"
+msgstr "Color de la Fuente Enfocada"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Disabled"
-msgstr "Clip Deshabilitado"
+msgstr "Color de la Fuente Desactivada"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "H Separation"
-msgstr "Separación:"
+msgstr "Separación en H"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Underline Spacing"
-msgstr "Espaciado de Línea"
+msgstr "Espaciado del Subrayado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Arrow"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Arrow Margin"
-msgstr "Asignar Margen"
+msgstr "Margen de la Flecha"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Hover Pressed"
-msgstr "Preset"
+msgstr "Presionado por Encima"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Checked Disabled"
-msgstr "Chequeable"
+msgstr "Marcado Desactivado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Unchecked"
-msgstr "Chequeado"
+msgstr "Sin marcar"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Unchecked Disabled"
-msgstr "Desactivar Elemento"
+msgstr "Sin marcar Desactivado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Radio Checked"
-msgstr "Chequeado"
+msgstr "Radio Marcado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Radio Checked Disabled"
-msgstr "(Editor Desactivado)"
+msgstr "Radio Marcado Desactivado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Radio Unchecked"
@@ -25336,111 +24834,93 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "On Disabled"
-msgstr "Desactivar Elemento"
+msgstr "Desactivado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Off"
-msgstr "Desplazamiento"
+msgstr "Apagado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Off Disabled"
-msgstr "Desactivar Elemento"
+msgstr "Apagado Desactivado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Shadow"
-msgstr "Color Hueso 1"
+msgstr "Color de la Sombra de la Fuente"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Outline Modulate"
-msgstr "Forzar Modulación en Blanco"
+msgstr "Modulación del Contorno de la Fuente"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset X"
-msgstr "Desplazamiento de Cuadrícula en X:"
+msgstr "Desplazamiento de la Sombra en X"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset Y"
-msgstr "Desplazamiento de Cuadrícula en Y:"
+msgstr "Desplazamiento de la Sombra en Y"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow As Outline"
-msgstr "Mostrar Contorno Anterior"
+msgstr "Sombra como Contorno"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Selected"
-msgstr "Desbloquear Seleccionado"
+msgstr "Color de Fuente Seleccionada"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Uneditable"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Cursor Color"
-msgstr "CustomNode"
+msgstr "Color del Cursor"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Clear Button Color"
-msgstr "Filtrar señales"
+msgstr "Limpiar Color del Botón"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Clear Button Color Pressed"
-msgstr "Filtrar señales"
+msgstr "Limpiar Color del Botón Presionado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Minimum Spaces"
-msgstr "Escena Principal"
+msgstr "Espacios Mínimos"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "BG"
-msgstr "B"
+msgstr "BG"
#: scene/resources/default_theme/default_theme.cpp
msgid "FG"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Tab"
-msgstr "Tab 1"
+msgstr "Tab"
#: scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/world.cpp
#: scene/resources/world_2d.cpp
-#, fuzzy
msgid "Space"
-msgstr "Escena Principal"
+msgstr "Espacio"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folded"
-msgstr "Carpeta:"
+msgstr "Plegado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Fold"
-msgstr "Carpeta:"
+msgstr "Plegar"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Readonly"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Lines"
-msgstr "Completar"
+msgstr "Finalización de Líneas"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25499,9 +24979,8 @@ msgid "Decrement Pressed"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Slider"
-msgstr "Modo de Colisión"
+msgstr "Deslizador"
#: scene/resources/default_theme/default_theme.cpp
msgid "Grabber Area"
@@ -25599,9 +25078,8 @@ msgid "Font Color Separator"
msgstr "Separador de Color de Fuentes"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "V Separation"
-msgstr "Separación:"
+msgstr "Separación en V"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25782,9 +25260,8 @@ msgid "Icon Margin"
msgstr "Asignar Margen"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Separation"
-msgstr "Separación:"
+msgstr "Separación de Líneas"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25844,9 +25321,8 @@ msgid "Large"
msgstr "Objetivo"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folder"
-msgstr "Carpeta:"
+msgstr "Carpeta"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25922,23 +25398,20 @@ msgid "Preset BG Icon"
msgstr "Preajuste"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Normal Font"
-msgstr "Formato"
+msgstr "Fuente Normal"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bold Font"
-msgstr "Código Fuente"
+msgstr "Fuente Negrita"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Italics Font"
-msgstr "Fuente Principal"
+msgstr "Fuente Cursiva"
#: scene/resources/default_theme/default_theme.cpp
msgid "Bold Italics Font"
-msgstr ""
+msgstr "Fuente Negrita y Cursiva"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25946,34 +25419,28 @@ msgid "Mono Font"
msgstr "Fuente Principal"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table H Separation"
-msgstr "Separación:"
+msgstr "Separación H de Tabla"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table V Separation"
-msgstr "Separación:"
+msgstr "Separación V de Tabla"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Margin Left"
-msgstr "Asignar Margen"
+msgstr "Margen Izquierdo"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Margin Top"
-msgstr "Asignar Margen"
+msgstr "Margen Superior"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Margin Right"
-msgstr "Indentar a la Derecha"
+msgstr "Margen Derecho"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Margin Bottom"
-msgstr "Modo de Selección"
+msgstr "Margen Inferior"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26216,9 +25683,8 @@ msgid "Max Steps"
msgstr "Paso"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Fade In"
-msgstr "Fundido de entrada (s):"
+msgstr "Fundido de Entrada"
#: scene/resources/environment.cpp
msgid "Fade Out"
@@ -26360,9 +25826,8 @@ msgid "Color Correction"
msgstr "Corrección del Color"
#: scene/resources/font.cpp
-#, fuzzy
msgid "Ascent"
-msgstr "Recientes:"
+msgstr "Aumento"
#: scene/resources/font.cpp
#, fuzzy
@@ -26375,9 +25840,8 @@ msgid "Raw Data"
msgstr "Profundidad"
#: scene/resources/gradient.cpp
-#, fuzzy
msgid "Offsets"
-msgstr "Offset:"
+msgstr "Desplazamientos"
#: scene/resources/height_map_shape.cpp
msgid "Map Width"
@@ -26613,7 +26077,7 @@ msgstr "Transmisión"
msgid "Refraction"
msgstr "Refracción"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26695,8 +26159,12 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Sampling"
+msgstr "Muestreo"
+
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Partition Type"
msgstr "Establecer tipo de base de variación"
#: scene/resources/navigation_mesh.cpp
@@ -26713,10 +26181,15 @@ msgid "Source Group Name"
msgstr "Fuente"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Segmentos"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26726,11 +26199,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Región"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Unir desde escena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26742,6 +26220,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Mostrar Por Defecto"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr "Distancia de Muestreo"
@@ -26758,9 +26241,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Generando AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Desplazamiento Base"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27160,6 +26653,11 @@ msgid "Scenario"
msgstr "Escena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navegación"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27177,9 +26675,29 @@ msgstr "Izquierda Lineal"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Escalonado de Flotantes por Defecto"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Vista Previa Por Defecto"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Prueba"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Margen de Conexión de Bordes"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
-msgstr ""
+msgstr "Lienzo"
#: servers/arvr/arvr_interface.cpp
msgid "Is Primary"
@@ -27260,9 +26778,8 @@ msgstr ""
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_panner.cpp
-#, fuzzy
msgid "Pan"
-msgstr "Plano:"
+msgstr "Pan"
#: servers/audio/effects/audio_effect_compressor.cpp
#: servers/audio/effects/audio_effect_filter.cpp
@@ -27880,7 +27397,7 @@ msgstr "Ver Eliminación de Oclusión"
#: servers/visual_server.cpp
msgid "Max Active Spheres"
-msgstr ""
+msgstr "Esferas Activas Máximas"
#: servers/visual_server.cpp
msgid "Max Active Polygons"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index 8b25e207cb..10a562d0b8 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -19,13 +19,15 @@
# Joakker <joaquinandresleon108@gmail.com>, 2020.
# M3CG <cgmario1999@gmail.com>, 2021, 2022.
# Manuel González <mgoopazo@gmail.com>, 2021.
+# emnrx <emanuelermancia@gmail.com>, 2022.
+# Mau_Restor <restor@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-02-28 13:54+0000\n"
-"Last-Translator: M3CG <cgmario1999@gmail.com>\n"
+"PO-Revision-Date: 2022-07-23 03:57+0000\n"
+"Last-Translator: Mau_Restor <restor@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
"Language: es_AR\n"
@@ -33,110 +35,97 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.11.1-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Controlador de Tableta"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "El portapapeles está vacío!"
+msgstr "Portapapeles"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
msgstr "Escena Actual"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Código de Salida"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "Activar"
+msgstr "V-Sync Activado"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync Via Compositor"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Suavizado Delta"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Modo Mover"
+msgstr "Modo de Bajo Uso del Procesador"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
msgstr ""
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Keep Screen On"
-msgstr "Mantener el Depurador Abierto"
+msgstr "Mantener Pantalla Encendida"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "Tamaño de Outline:"
+msgstr "Tamaño Mínimo de Ventana"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "Tamaño de Outline:"
+msgstr "Tamaño Máximo de Ventana"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "Operador Screen(trama)."
+msgstr "Orientación de Pantalla"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Window"
-msgstr "Nueva Ventana"
+msgstr "Ventana"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Borderless"
-msgstr "Píxeles del Borde"
+msgstr "Sin Bordes"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Transparencia Por Píxel Activada"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "Act./Desact. Pantalla Completa"
+msgstr "Pantalla Completa"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Maximizada"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Minimized"
-msgstr "Inicializar"
+msgstr "Minimizada"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Redimensionable"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "Posición del Panel"
+msgstr "Posición"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -147,65 +136,56 @@ msgstr "Posición del Panel"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "Tamaño:"
+msgstr "Tamaño"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Editor"
+msgstr "Sugerencia del Editor"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Imprimir Mensajes de Error"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "Modo de Interpolación"
+msgstr "Iteraciones Por Segundo"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Target FPS"
-msgstr "Objetivo"
+msgstr "Objetivo de FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "Nodo TimeScale"
+msgstr "Escala de Tiempo"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Frames de Física %"
+msgstr "Corrección de Fluctuaciones(Jitter) de Física"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
msgstr "Error"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "Error al Guardar"
+msgstr "String de Error"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "Error al Guardar"
+msgstr "Línea de Error"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "Resultados de la Búsqueda"
+msgstr "Resultado"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Memoria"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -216,16 +196,15 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Límites"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Command: Rotar"
+msgstr "Cola de comando"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Tamaño de la Cola de Multithreading (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -236,27 +215,24 @@ msgstr "Función"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Data"
-msgstr "Con Data"
+msgstr "Datos"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr "Profiler de Red"
+msgstr "Red"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Remoto "
+msgstr "FS Remoto"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "Página: "
+msgstr "Tamaño de Página"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
@@ -264,21 +240,19 @@ msgstr ""
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Modo Bloqueante Activado"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Conectar"
+msgstr "Conección"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
msgstr ""
#: core/io/marshalls.cpp
-#, fuzzy
msgid "Object ID"
-msgstr "Objetos Dibujados:"
+msgstr "ID de Objeto"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
#, fuzzy
@@ -295,19 +269,16 @@ msgid "Network Peer"
msgstr "Profiler de Red"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "Nombre del nodo raíz"
+msgstr "Nodo raíz"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "Conectar"
+msgstr "Rechazar Nuevas Conexiones"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "Tipo de Transformación"
+msgstr "Modo de Transferencia"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
@@ -331,7 +302,7 @@ msgstr ""
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Array de datos"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
@@ -360,8 +331,8 @@ msgstr ""
"No hay suficientes bytes para decodificar bytes, o el formato es inválido."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Entrada inválida %i (no se transmitió) en la expresión"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Entrada inválida %d (no se transmitió) en la expresión"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -390,7 +361,7 @@ msgstr "En la llamada a '%s':"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "Semilla"
#: core/math/random_number_generator.cpp
#, fuzzy
@@ -399,11 +370,20 @@ msgstr "Estado"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Cola de mesajes"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "Tamaño máximo (KB)"
+
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Modo Mouse"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Eliminar Entrada"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
@@ -411,34 +391,35 @@ msgid "Device"
msgstr "Dispositivo"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Alt"
-msgstr "Todos"
+msgstr "Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "Shift"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Control"
-msgstr "Control de Versiones"
+msgstr "Control"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "Comunidad"
+msgstr "Comando"
+
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (Física)"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
-msgstr "Preset"
+msgstr "Presionado"
#: core/os/input_event.cpp
#, fuzzy
@@ -452,39 +433,35 @@ msgstr "Tecla Física"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "Echo"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
-msgstr "Botón"
+msgstr "Máscara de Botón"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "Constante Global"
+msgstr "Posición Global"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "Vector"
+msgstr "Factor"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Button Index"
-msgstr "Indice de Botones de Mouse:"
+msgstr "Índice de Botones"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "Dobleclick"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "Inclinación"
#: core/os/input_event.cpp
#, fuzzy
@@ -493,16 +470,19 @@ msgstr "Preset"
#: core/os/input_event.cpp
#, fuzzy
+msgid "Pen Inverted"
+msgstr "Invertir"
+
+#: core/os/input_event.cpp
msgid "Relative"
-msgstr "Ajuste Relativo"
+msgstr "Relativo"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed"
-msgstr "Velocidad:"
+msgstr "Velocidad"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
@@ -510,14 +490,12 @@ msgid "Axis"
msgstr "Eje"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "Fijar Valor"
+msgstr "Valor de Eje"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Index"
-msgstr "Indice:"
+msgstr "Índice"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -528,53 +506,48 @@ msgstr "Acción"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "Fuerza"
#: core/os/input_event.cpp
msgid "Delta"
msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "Cambiar"
+msgstr "Canal"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "Mensaje de Commit"
+msgstr "Mensaje"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pitch"
-msgstr "Cabeceo:"
+msgstr "Tono"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
#, fuzzy
msgid "Velocity"
-msgstr "Orbitar Vista Hacia La Derecha"
+msgstr "Velocidad"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "Instrumento"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "Numero de Línea:"
+msgstr "Número de Controlador"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "Valor del controlador"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "Acción"
+msgstr "Aplicación"
#: core/project_settings.cpp main/main.cpp
#, fuzzy
@@ -607,7 +580,8 @@ msgstr "Descripción"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Ejecutar"
@@ -617,39 +591,36 @@ msgid "Main Scene"
msgstr "Escena Principal"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "Desactivar Autotile"
+msgstr "Desactivar stdout"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "Desactivar Ítem"
+msgstr "Desactivar stderr"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "Utilizar el Directorio de Datos Ocultos del Proyecto"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Utilizar Directorio de Usuario Personalizado"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "Nombre de Directorio de Usuario Personalizado"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Mostrar Todo"
+msgstr "Mostrar"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Ancho"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -657,23 +628,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Luz"
+msgstr "Altura"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Siempre encima"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Izquierda Ancha"
+msgstr "probar ancho"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Prueba"
+msgstr "probar altura"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -698,46 +666,42 @@ msgid "Main Run Args"
msgstr "Argumentos de Escena Principal:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Ruta a la Escena:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "Buscar En Extensiones de Archivos"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Control de Versiones"
+msgstr "Ruta de Búsqueda de Plantillas de Scripts"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+msgid "Version Control Autoload On Startup"
+msgstr "Al iniciar el Sistema de Control de Versiones"
#: core/project_settings.cpp
-#, fuzzy
-msgid "Plugin Name"
-msgstr "Nombre del Plugin:"
+msgid "Version Control Plugin Name"
+msgstr "Nombre del sistema de control de versiones"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "Agregar Entrada"
+msgstr "Entrada"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "Aceptar Interfaz del usuario"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "Seleccionar"
+msgstr "Seleccionar Interfaz de Usuario"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
-msgstr "Cancelar"
+msgstr "Cancelar la interfaz de usuario"
#: core/project_settings.cpp
#, fuzzy
@@ -779,12 +743,11 @@ msgstr ""
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "Inicio de la interfaz de usuario"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI End"
-msgstr "Al Final"
+msgstr "Al Final de la interfaz de usuario"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -806,12 +769,11 @@ msgstr " (Física)"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "3D"
#: core/project_settings.cpp
-#, fuzzy
msgid "Smooth Trimesh Collision"
-msgstr "Crear Collider Triangular Hermano"
+msgstr "Colisión Suave de Trimesh"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -822,9 +784,8 @@ msgstr "Crear Collider Triangular Hermano"
#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
-#, fuzzy
msgid "Rendering"
-msgstr "Renderizador:"
+msgstr "Renderización"
#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
@@ -834,17 +795,17 @@ msgstr "Renderizador:"
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "Calidad"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
-msgstr "Filtros:"
+msgstr "Filtros"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "Intensidad de la nitidez"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -860,9 +821,8 @@ msgstr "Depurar"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Settings"
-msgstr "Configuración:"
+msgstr "Configuración"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -870,23 +830,20 @@ msgid "Profiler"
msgstr "Profiler"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "Crear Función"
+msgstr "Funciones Máximas"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Compression"
-msgstr "Expresión"
+msgstr "Compresión"
#: core/project_settings.cpp
-#, fuzzy
msgid "Formats"
-msgstr "Formato"
+msgstr "Formatos"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
@@ -894,36 +851,35 @@ msgstr ""
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "Nivel de Compresión"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "medida del registro de la ventana"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "Módulos"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "Conexiones al método:"
+msgstr "Tiempo de espera en segundos de la conexion"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
@@ -931,16 +887,15 @@ msgstr ""
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Búfer Máximo (Potencia de 2)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
-msgstr "Vértices:"
+msgstr "Certificados"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
@@ -949,9 +904,8 @@ msgid "Resource"
msgstr "Recursos"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "Cerrar Escena"
+msgstr "Local a la escena"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -961,9 +915,8 @@ msgid "Path"
msgstr "Ruta"
#: core/script_language.cpp
-#, fuzzy
msgid "Source Code"
-msgstr "Fuente"
+msgstr "Código Fuente"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
@@ -1012,7 +965,7 @@ msgstr "EiB"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "Búferes"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1034,7 +987,7 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1051,18 +1004,17 @@ msgstr "Usar Ajuste a Pixeles"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Tamaño de Búfer Inmediato (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
-#, fuzzy
msgid "Lightmapping"
-msgstr "Bake Lightmaps"
+msgstr "Mapeo de Luz"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Usar Muestreo Bicúbico"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
@@ -1079,11 +1031,11 @@ msgstr "Centrar Selección"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Luces Máximas Por Objeto"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Dispersión Subsuperficial"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1099,9 +1051,8 @@ msgid "Scale"
msgstr "Escalar"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Follow Surface"
-msgstr "Poblar Superficie"
+msgstr "Seguir Superficie"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
@@ -1113,12 +1064,13 @@ msgstr ""
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "Alta Calidad"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratis"
@@ -1135,7 +1087,7 @@ msgstr "Espejar"
msgid "Time:"
msgstr "Tiempo:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valor:"
@@ -1190,9 +1142,8 @@ msgstr "Cambiar Call de Anim"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Frame %"
+msgstr "Fotograma"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1210,9 +1161,8 @@ msgstr "Localización"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Step de Rotación:"
+msgstr "Rotación"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1220,14 +1170,13 @@ msgid "Value"
msgstr "Valor"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Cantidad:"
+msgstr "Cantidad de Argumentos"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argumentos"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1237,9 +1186,8 @@ msgid "Type"
msgstr "Tipo"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Setear Handle"
+msgstr "En manejo"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1385,10 +1333,74 @@ msgid "Remove this track."
msgstr "Quitar esta pista."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Tiempo (s): "
#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Posición:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Step de Rotación:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Escala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tipo:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Plantilla de exportación inválida:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Easing In-Out"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Setear Handle"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Setear Handle"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Radio Ítem"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Reiniciar (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Fade In (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animaciones:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Activar/Desactivar Pista"
@@ -1603,7 +1615,8 @@ msgid "Add Method Track Key"
msgstr "Agregar Clave de Pista de Método"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Método no encontrado en el objeto: "
#: editor/animation_track_editor.cpp
@@ -2139,14 +2152,15 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recientes:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Buscar:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Coincidencias:"
@@ -2206,8 +2220,8 @@ msgstr "Buscar Reemplazo de Recurso:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2215,8 +2229,8 @@ msgid "Open"
msgstr "Abrir"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Dueños De:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2523,7 +2537,7 @@ msgid "Bus Options"
msgstr "Opciones de Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
@@ -2575,8 +2589,9 @@ msgstr "Abrir Layout de Bus de Audio"
msgid "There is no '%s' file."
msgstr "No hay ningún archivo '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Layout"
#: editor/editor_audio_buses.cpp
@@ -2780,6 +2795,25 @@ msgid "Choose"
msgstr "Elegir"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Copiar Ruta del Nodo"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "El Paquete se instaló exitosamente!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Fallido:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Almacenando Archivo:"
@@ -2792,6 +2826,31 @@ msgid "Packing"
msgstr "Empaquetando"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Guardar Como"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "No se pudo crear la carpeta."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "No se pudieron exportar los archivos del proyecto"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "No se puede abrir el archivo para escribir:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Guardar Como"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2913,11 +2972,33 @@ msgstr "Plantilla debug personalizada no encontrada."
msgid "Custom release template not found."
msgstr "Plantilla release personalizada no encontrada."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Administrar Plantillas"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "La ruta de exportación especificada no existe:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Plantilla no encontrada:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Plantilla de exportación inválida:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Relleno"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"En la exportación de 32 bits el PCK embebido no puede ser mayor de 4 GiB."
@@ -3094,9 +3175,9 @@ msgid "Import"
msgstr "Importar"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportar"
@@ -4268,15 +4349,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Escena"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Ruta a la Escena:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4405,6 +4477,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Control de Versiones"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Nombre de usuario"
@@ -4432,6 +4508,10 @@ msgstr "Act./Desact. modo sin distracciones."
msgid "Add a new scene."
msgstr "Agregar nueva escena."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Escena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ir a la escena abierta previamente."
@@ -5120,11 +5200,14 @@ msgid "Selected node is not a Viewport!"
msgstr "El nodo seleccionado no es un Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Tamaño: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Tamaño:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Página: "
#: editor/editor_properties_array_dict.cpp
@@ -5226,6 +5309,11 @@ msgstr ""
"Por favor agregá un preset ejecutable en el menú Exportar o definí un preset "
"como ejecutable."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Proyecto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Escribir tu lógica en el método _run()."
@@ -5509,7 +5597,9 @@ msgid "Draw Spaces"
msgstr "Llamadas de Dibujado:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navegación"
@@ -5535,6 +5625,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Selección de GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6108,10 +6207,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Gestor de Proyectos"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6891,14 +6992,6 @@ msgid "Replace in Files"
msgstr "eemplazar en Archivos"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Encontrar: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Reemplazar: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Reemplazar Todo (NO SE PUEDE DESHACER)"
@@ -6994,9 +7087,8 @@ msgstr ""
#: editor/import/resource_importer_scene.cpp
#: editor/import/resource_importer_texture.cpp
#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Compress"
-msgstr "Componentes"
+msgstr "Comprimir"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
@@ -7027,7 +7119,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtros:"
@@ -7295,7 +7387,8 @@ msgid "Generating Lightmaps"
msgstr "Generando Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Generando para Mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7323,6 +7416,18 @@ msgid "Saving..."
msgstr "Guardando..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8019,11 +8124,20 @@ msgid "New Anim"
msgstr "Nueva Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Crear Nueva Animación"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Cambiar Nombre de Animación:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Renombrar Animación"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Eliminar Animación?"
@@ -8041,11 +8155,6 @@ msgid "Animation name already exists!"
msgstr "El nombre de animación ya existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Renombrar Animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplicar Animación"
@@ -8145,10 +8254,12 @@ msgstr "Opciones de Papel Cebolla"
msgid "Directions"
msgstr "Direcciones"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Pasado"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Posterior"
@@ -8189,10 +8300,6 @@ msgid "Pin AnimationPlayer"
msgstr "Fijar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Crear Nueva Animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nombre de Animación:"
@@ -8308,7 +8415,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Asignar la animación de fin. Esto es útil para sub-transiciones."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Transición: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8325,11 +8433,6 @@ msgid "New name:"
msgstr "Nuevo nombre:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Escala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade In (s):"
@@ -9244,6 +9347,7 @@ msgstr "Crear Hueso(s) Personalizados a partir de Nodo(s)"
msgid "Clear Custom Bones"
msgstr "Restablecer Huesos Personalizados"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9310,6 +9414,10 @@ msgid "Preview Canvas Scale"
msgstr "Vista Previa de Escala de Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Layout"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Máscara de traslación para insertar claves."
@@ -10085,7 +10193,8 @@ msgid "Volume"
msgstr "Volumen"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Fuente de Emisión: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10319,6 +10428,7 @@ msgid "Points"
msgstr "Puntos"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polígonos"
@@ -10476,13 +10586,6 @@ msgid "Instance:"
msgstr "Instancia:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tipo:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Abrir en Editor"
@@ -10491,10 +10594,6 @@ msgstr "Abrir en Editor"
msgid "Load Resource"
msgstr "Cargar Recurso"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Invertir Portales"
@@ -11195,12 +11294,16 @@ msgstr "Rotar"
msgid "Translate"
msgstr "Trasladar"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Escalando: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Trasladar: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11224,11 +11327,6 @@ msgid "Yaw:"
msgstr "Guiñada:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Tamaño:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Objetos Dibujados:"
@@ -11715,7 +11813,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geometría inválida, no se puede reemplazar por mesh."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Convertir a Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11747,15 +11846,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Simplificación: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Achicar (Pixeles): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Crecer (Pixeles): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11819,6 +11921,11 @@ msgid "New Animation"
msgstr "Nueva Animación"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filtrar métodos"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Velocidad:"
@@ -12710,8 +12817,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Seleccionar la forma, subtile o Tile anterior."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Región"
@@ -14224,42 +14330,22 @@ msgid "Runnable"
msgstr "Ejecutable"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Eliminar preset '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"No se pudo exportar el proyecto para la plataforma '%s'.\n"
-"Las plantillas de exportación parecen faltar o ser inválidas."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"No se pudo exportar el proyecto para la plataforma '%s'.\n"
-"Esto puede ser debido a un problema de configuración en el preset de "
-"exportación o en los ajustes de exportación."
+msgid "Delete preset '%s'?"
+msgstr "Eliminar preset '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Exportar Todo"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "La ruta de exportación especificada no existe:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Las plantillas de exportación para esta plataforma están faltando o "
-"corruptas:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Ruta de Exportación"
@@ -14370,19 +14456,27 @@ msgid "More Info..."
msgstr "Mover A..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Exportar PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Exportar Proyecto"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "¿Modo de Exportación?"
+msgid "Export All"
+msgstr "Exportar Todos"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Por favor elegí una carpeta vacía."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Exportar Todos"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14390,7 +14484,8 @@ msgid "ZIP File"
msgstr "Archivo ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godot Game Pack"
#: editor/project_export.cpp
@@ -14398,6 +14493,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Faltan las plantillas de exportación para esta plataforma:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Fundadores del Proyecto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gestionar Plantillas de Exportación"
@@ -14717,14 +14817,14 @@ msgid "Project Manager"
msgstr "Gestor de Proyectos"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Cargando, esperá, por favor..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Ultima Modificación"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Cargando, esperá, por favor..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Editar Proyecto"
@@ -15952,7 +16052,8 @@ msgid "Attach Node Script"
msgstr "Adjuntar Script de Nodo"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Remoto "
#: editor/script_editor_debugger.cpp
@@ -16833,7 +16934,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Polígonos"
@@ -17011,7 +17112,8 @@ msgid "Disabled GDNative Singleton"
msgstr "GDNative Singleton desactivado"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Bibliotecas: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17238,7 +17340,7 @@ msgstr "Colores"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
msgid "Intensity"
-msgstr ""
+msgstr "Intensidad"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
#, fuzzy
@@ -17458,7 +17560,6 @@ msgid "Use In Baked Light"
msgstr "Bake Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17488,6 +17589,19 @@ msgstr "Centro"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navegación"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Modo Navegación"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Plano siguiente"
@@ -17904,7 +18018,8 @@ msgstr ""
"trabajo nodos! Arreglá tu nodo, por favor."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "El nodo retornó una secuencia de salida inválida: "
#: modules/visual_script/visual_script.cpp
@@ -17913,7 +18028,8 @@ msgstr ""
"Se encontró un bit de secuencia pero no el nodo en el stack, reportá el bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Stack overflow con la profundidad del stack: "
#: modules/visual_script/visual_script.cpp
@@ -18284,7 +18400,8 @@ msgid "for (elem) in (input):"
msgstr "for (elem) in (input):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Tipo de input no iterable: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18292,7 +18409,8 @@ msgid "Iterator became invalid"
msgstr "El iterador se volvió inválido"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "El iterador se volvió inválido: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18456,11 +18574,13 @@ msgid "Operator"
msgstr "Iterador"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Argumento inválido de tipo: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Argumentos inválidos: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18473,11 +18593,13 @@ msgid "Var Name"
msgstr "Nombre"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet no encontrado en el script: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet no encontrado en el script: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18788,6 +18910,11 @@ msgid "The package must have at least one '.' separator."
msgstr "El paquete debe tener al menos un '.' como separador."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "CustomNode"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18796,6 +18923,16 @@ msgstr ""
msgid "Export Format"
msgstr "Ruta de Exportación"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Tamaño de Outline:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Objetivo"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18839,16 +18976,6 @@ msgstr "Inspeccionar Instancia Previa"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Tamaño de Outline:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Objetivo"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19012,10 +19139,6 @@ msgid "Could not execute on device."
msgstr "No se ha podido ejecutar en el dispositivo."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "No se pudo encontrar la herramienta 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19104,15 +19227,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins."
msgstr "\"Use Custom Build\" debe estar activado para usar los plugins."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile "
"VrApi\" o \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "\"Passthrough\" sólo es válido cuando \"Xr Mode\" es \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
@@ -19121,32 +19246,60 @@ msgstr ""
"\"Export AAB\" sólo es válido cuando \"Use Custom Build\" está activado."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Cambiar el \"Min Sdk\" sólo es válido cuando \"Use Custom Build\" está "
"activado."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Cambiar el \"Target Sdk\" sólo es válido cuando \"Use Custom Build\" está "
"activado."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"La versión de \"Target Sdk\" debe ser mayor o igual a la versión de \"Min "
"Sdk\"."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Firmando código de DMG"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"No se ha encontrado 'apksigner'.\n"
"Por favor, comprobá que el comando esté disponible en el directorio Android "
@@ -19166,6 +19319,11 @@ msgid "Could not find keystore, unable to export."
msgstr "No se pudo encontrar la keystore, no se puedo exportar."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "No se pudo comenzar el subproceso!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' ha retornado con error #%d"
@@ -19195,7 +19353,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "¡Nombre de archivo inválido! Android APK requiere la extensión *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "¡Formato de exportación no soportado!\n"
#: platform/android/export/export_plugin.cpp
@@ -19208,10 +19367,9 @@ msgstr ""
"'Proyecto'."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"La versión de compilación de Android no coincide:\n"
@@ -19221,14 +19379,16 @@ msgstr ""
"'Proyecto'."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"No se pudieron sobrescribir los archivos res://android/build/res/*.xml con "
"el nombre del proyecto"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr ""
"No se pudieron exportar los archivos del proyecto a un proyecto gradle\n"
@@ -19241,8 +19401,9 @@ msgid "Building Android Project (gradle)"
msgstr "Construir Proyecto Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"La construcción del proyecto Android falló, comprueba la salida del error.\n"
@@ -19262,7 +19423,8 @@ msgstr ""
"directorio del proyecto de gradle para ver los resultados."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Paquete no encontrado:% s"
#: platform/android/export/export_plugin.cpp
@@ -19270,17 +19432,16 @@ msgid "Creating APK..."
msgstr "Creando APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"No se pudo encontrar la plantilla APK para exportar:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19294,7 +19455,8 @@ msgid "Adding files..."
msgstr "Agregando archivos..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "No se pudieron exportar los archivos del proyecto"
#: platform/android/export/export_plugin.cpp
@@ -19440,9 +19602,8 @@ msgid "Push Notifications"
msgstr "Rotación al Azar:"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "User Data"
-msgstr "Interfaz de Usuario"
+msgstr "Datos de Usuario"
#: platform/iphone/export/export.cpp
msgid "Accessible From Files App"
@@ -19537,6 +19698,17 @@ msgstr "CustomNode"
msgid "Custom BG Color"
msgstr "CustomNode"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Administrar Plantillas"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Plantilla release personalizada no encontrada."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19559,22 +19731,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Ejecutar HTML exportado en el navegador por defecto del sistema."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "No se pudo abrir la plantilla para exportar:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Plantilla de exportación inválida:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "No se pudo escribir el archivo:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Asignar Margen"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "No se pudo leer el archivo:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Separación:"
@@ -19649,15 +19834,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "No se pudo leer el shell HTML:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "No se pudo crear el directorio del servidor HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Error al iniciar el servidor HTTP:"
#: platform/javascript/export/export.cpp
@@ -19950,9 +20138,29 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "No se pudieron exportar los archivos del proyecto"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "No se pudo comenzar el subproceso!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Localización"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
"Nota: El proceso de notarización generalmente toma menos de una hora. Cuando "
"se complete el proceso, recibirás un correo electrónico."
@@ -19974,18 +20182,80 @@ msgstr ""
"notarial a la aplicación exportada (opcional):"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr "Timestamping no es compatible con la firma ad-hoc y se desactivará!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Hardened Runtime no es compatible con la firma ad-hoc y se desactivará!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "No se encontró identidad."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Error guardando el archivo: %s"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Los enlaces simbólicos relativos no son compatibles con este sistema "
+"operativo, ¡el proyecto exportado podría estar dañado!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direcciones"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "No se pudo comenzar el subproceso!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Crearndo paquete de aplicaciones"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "No se pudo encontrar la aplicación de plantilla para exportar:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Plantilla de exportación inválida:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19994,8 +20264,9 @@ msgstr ""
"operativo, ¡el proyecto exportado podría estar dañado!"
#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
"Plantilla binaria solicitada '%s' no encontrada. Es posible que falte en el "
@@ -20042,6 +20313,17 @@ msgid "Sending archive for notarization"
msgstr "Enviando archivo para notarización"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proyección"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+"No se pudieron exportar los archivos del proyecto a un proyecto gradle\n"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Identificador de paquete no válido:"
@@ -20392,6 +20674,11 @@ msgid "Debug Algorithm"
msgstr "Depurador"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "No se puede eliminar el archivo temporal:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20439,6 +20726,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Rotación al Azar:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "No se pudo encontrar la keystore, no se puedo exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "No se pudo encontrar la keystore, no se puedo exportar."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Archivo ejecutable no válido."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "No se pudo encontrar la keystore, no se puedo exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "No se pudo encontrar la keystore, no se puedo exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Identificador inválido:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nombre inválido."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Archivo ejecutable no válido."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "No se puede eliminar el archivo temporal:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20457,6 +20808,23 @@ msgid "Invalid product version:"
msgstr "versión de producto inválida."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Archivo ejecutable no válido."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nueva Ventana"
@@ -20473,6 +20841,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20589,9 +20961,8 @@ msgstr "Escalar"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Autoplay"
-msgstr "Activar/Desact. Autoplay"
+msgstr "Autoreproducción"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
@@ -20600,7 +20971,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Elegir Instancia:"
@@ -20651,7 +21023,7 @@ msgstr "Zoom In"
msgid "Custom Viewport"
msgstr "1 Viewport"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21413,34 +21785,33 @@ msgstr "Multiplicar %s"
#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
msgid "Cell Size"
-msgstr ""
+msgstr "Tamaño de Celda"
#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
#, fuzzy
msgid "Edge Connection Margin"
msgstr "Editar Conexión:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Binding"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
-msgid "Time Horizon"
-msgstr "Espejar Horizontalmente"
+msgid "Path Desired Distance"
+msgstr "Elegir Instancia:"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Max Speed"
-msgstr "Velocidad:"
+msgid "Target Desired Distance"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
@@ -21449,9 +21820,31 @@ msgstr "Elegir Instancia:"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
+msgid "Avoidance"
+msgstr "Avanzado"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
msgid "Avoidance Enabled"
msgstr "Activar"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr "Vecinos Máximos"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Time Horizon"
+msgstr "Espejar Horizontalmente"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr "Velocidad Máxima"
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21477,24 +21870,26 @@ msgstr ""
"funcione. Por favor creá una propiedad o dibujá un polígono."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance debe ser un hijo o nieto de un nodo Navigation2D. "
-"Solo provee datos de navegación."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centro Inferior"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Viaje"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Rotando %s grados."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Constante Global"
@@ -21557,9 +21952,8 @@ msgstr ""
#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Motion"
-msgstr "Acción"
+msgstr "Movimiento"
#: scene/2d/parallax_layer.cpp
#, fuzzy
@@ -21614,9 +22008,8 @@ msgstr ""
#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Curve"
-msgstr "Partir Curva"
+msgstr "Curva"
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
@@ -21624,9 +22017,8 @@ msgstr ""
"PathFollow2D sólo funciona cuando está seteado como hijo de un nodo Path2D."
#: scene/2d/path_2d.cpp scene/3d/path.cpp
-#, fuzzy
msgid "Unit Offset"
-msgstr "Offset de Grilla:"
+msgstr "Desplazamiento de Unidad"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
#, fuzzy
@@ -21647,9 +22039,8 @@ msgid "Lookahead"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Layers"
-msgstr "Capa"
+msgstr "Capas"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21663,14 +22054,13 @@ msgstr "Inicializar"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
-#, fuzzy
msgid "Friction"
-msgstr "Función"
+msgstr "Fricción"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
msgid "Bounce"
-msgstr ""
+msgstr "Rebote"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Physics Material Override"
@@ -21678,9 +22068,8 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#, fuzzy
msgid "Default Gravity"
-msgstr "Vista Previa Por Defecto"
+msgstr "Gravedad Predeterminada"
#: scene/2d/physics_body_2d.cpp
msgid ""
@@ -21694,21 +22083,19 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Mass"
-msgstr ""
+msgstr "Masa"
#: scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Inertia"
-msgstr "Vertical:"
+msgstr "Inercia"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Weight"
-msgstr "Luz"
+msgstr "Peso"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Gravity Scale"
-msgstr ""
+msgstr "Escala de Gravedad"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21746,20 +22133,19 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Angular"
-msgstr ""
+msgstr "Angular"
#: scene/2d/physics_body_2d.cpp
msgid "Applied Forces"
-msgstr ""
+msgstr "Fuerzas Aplicadas"
#: scene/2d/physics_body_2d.cpp
msgid "Torque"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Safe Margin"
-msgstr "Asignar Margen"
+msgstr "Margen Seguro"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21833,7 +22219,7 @@ msgstr ""
#: scene/2d/polygon_2d.cpp
msgid "Invert"
-msgstr ""
+msgstr "Invertir"
#: scene/2d/polygon_2d.cpp
#, fuzzy
@@ -21841,9 +22227,8 @@ msgid "Vertex Colors"
msgstr "Vértice"
#: scene/2d/polygon_2d.cpp
-#, fuzzy
msgid "Internal Vertex Count"
-msgstr "Crear Vértice Interno"
+msgstr "Recuento de Vértices Internos"
#: scene/2d/position_2d.cpp
#, fuzzy
@@ -21861,7 +22246,7 @@ msgstr "Crear Nodo Shader"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Collide With"
-msgstr ""
+msgstr "Colisionar Con"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Areas"
@@ -21891,9 +22276,8 @@ msgid "Rest"
msgstr "Reiniciar"
#: scene/2d/skeleton_2d.cpp
-#, fuzzy
msgid "Default Length"
-msgstr "Theme Predeterminado"
+msgstr "Longitud Predeterminada"
#: scene/2d/skeleton_2d.cpp
msgid "This Bone2D chain should end at a Skeleton2D node."
@@ -21913,11 +22297,11 @@ msgstr ""
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Hframes"
-msgstr ""
+msgstr "FotogramasH"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Vframes"
-msgstr ""
+msgstr "FotogramasV"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#, fuzzy
@@ -22012,9 +22396,8 @@ msgid "Passby Press"
msgstr ""
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Visibility Mode"
-msgstr "Modo Prioridad"
+msgstr "Modo de Visibilidad"
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
@@ -22054,7 +22437,7 @@ msgstr ""
#: scene/3d/area.cpp
msgid "Reverb Bus"
-msgstr ""
+msgstr "Bus de Reverberación"
#: scene/3d/area.cpp
#, fuzzy
@@ -22112,9 +22495,8 @@ msgid "World Scale"
msgstr "Escala al Azar:"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Attenuation Model"
-msgstr "Nodo de Animación"
+msgstr "Modelo de Atenuación"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit dB"
@@ -22122,20 +22504,19 @@ msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit Size"
-msgstr ""
+msgstr "Tamaño de Unidad"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Max dB"
-msgstr ""
+msgstr "dB Máximos"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
-msgstr ""
+msgstr "Modo Fuera de Rango"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Emission Angle"
-msgstr "Colores de Emisión"
+msgstr "Ángulo de Emisión"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -22149,7 +22530,7 @@ msgstr "Animación"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Attenuation Filter"
-msgstr ""
+msgstr "Filtro de Atenuación"
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
@@ -22164,9 +22545,8 @@ msgid "dB"
msgstr "B"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Doppler"
-msgstr "Activar Doppler"
+msgstr "Doppler"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -22176,7 +22556,7 @@ msgstr "Empaquetando"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
msgid "Interior"
-msgstr ""
+msgstr "Interior"
#: scene/3d/baked_lightmap.cpp
msgid "Finding meshes and lights"
@@ -22211,15 +22591,15 @@ msgstr "Gizmos"
#: scene/3d/baked_lightmap.cpp
msgid "Tweaks"
-msgstr ""
+msgstr "Ajustes"
#: scene/3d/baked_lightmap.cpp
msgid "Bounces"
-msgstr ""
+msgstr "Rebotes"
#: scene/3d/baked_lightmap.cpp
msgid "Bounce Indirect Energy"
-msgstr ""
+msgstr "Energía Indirecta de Rebotes"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22241,9 +22621,8 @@ msgid "Default Texels Per Unit"
msgstr "Theme Predeterminado"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Atlas"
-msgstr "Nuevo Atlas"
+msgstr "Atlas"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22281,18 +22660,16 @@ msgid "Min Light"
msgstr "Indentar a la Der"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Propagation"
-msgstr "Navegación"
+msgstr "Propagación"
#: scene/3d/baked_lightmap.cpp
msgid "Image Path"
-msgstr ""
+msgstr "Ruta de la Imagen"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Light Data"
-msgstr "Con Data"
+msgstr "Datos de Luz"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -22301,7 +22678,7 @@ msgstr "Nombre de Nodo:"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
-msgstr ""
+msgstr "Mantener Aspecto"
#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
msgid "Cull Mask"
@@ -22313,13 +22690,12 @@ msgid "Doppler Tracking"
msgstr "Pista de Propiedades"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Projection"
-msgstr "Proyecto"
+msgstr "Proyección"
#: scene/3d/camera.cpp
msgid "FOV"
-msgstr ""
+msgstr "FOV"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22327,22 +22703,20 @@ msgid "Frustum Offset"
msgstr "Offset de Grilla:"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Near"
-msgstr "Mas Cercano"
+msgstr "Cercano"
#: scene/3d/camera.cpp
msgid "Far"
-msgstr ""
+msgstr "Lejano"
#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/shape.cpp scene/resources/style_box.cpp
#: scene/resources/texture.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Margin"
-msgstr "Asignar Margen"
+msgstr "Margen"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22467,9 +22841,8 @@ msgid "Flatness"
msgstr ""
#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Portals"
-msgstr "Invertir Portales"
+msgstr "Portales"
#: scene/3d/cull_instance.cpp
#, fuzzy
@@ -22517,12 +22890,11 @@ msgstr ""
#: scene/3d/gi_probe.cpp
msgid "Subdiv"
-msgstr ""
+msgstr "Subdivisiones"
#: scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Dynamic Range"
-msgstr "Biblioteca Dinámica"
+msgstr "Rango Dinámico"
#: scene/3d/gi_probe.cpp scene/3d/light.cpp
msgid "Normal Bias"
@@ -22530,9 +22902,8 @@ msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Pixel Size"
-msgstr "Ajustar a Pixeles"
+msgstr "Tamaño de Píxel"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Billboard"
@@ -22704,6 +23075,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformación Abortada."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22728,14 +23106,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance debe ser un hijo o nieto de un nodo Navigation. Solo "
-"provee datos de navegación."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -22794,9 +23164,8 @@ msgid "Visibility AABB"
msgstr "Act/Desact. Visibilidad"
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Draw Passes"
-msgstr "Llamadas de Dibujado:"
+msgstr "Pases de Dibujo"
#: scene/3d/particles.cpp
#, fuzzy
@@ -22817,9 +23186,8 @@ msgstr ""
"el recurso Curve de su Path padre."
#: scene/3d/path.cpp
-#, fuzzy
msgid "Rotation Mode"
-msgstr "Modo Rotar"
+msgstr "Modo de Rotación"
#: scene/3d/physics_body.cpp
msgid ""
@@ -23086,17 +23454,15 @@ msgstr "Parámetro Modificado:"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit"
-msgstr ""
+msgstr "Límite Angular"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper"
-msgstr "Mayúsculas"
+msgstr "Superior"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower"
-msgstr "Minúsculas"
+msgstr "Inferior"
#: scene/3d/physics_joint.cpp
msgid "Motor"
@@ -23143,14 +23509,12 @@ msgid "Linear Ortho"
msgstr "Ortogonal Trasera"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper Angle"
-msgstr "Mayúsculas"
+msgstr "Ángulo Superior"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower Angle"
-msgstr "Minúsculas"
+msgstr "Ángulo Inferior"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23188,7 +23552,7 @@ msgstr ""
#: scene/3d/physics_joint.cpp
msgid "Angular Limit X"
-msgstr ""
+msgstr "Límite Angular X"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor X"
@@ -23215,7 +23579,7 @@ msgstr "Lineal"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Y"
-msgstr ""
+msgstr "Límite Angular Y"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor Y"
@@ -23298,18 +23662,16 @@ msgid "Grid Radius"
msgstr "Radio:"
#: scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Debug Shape"
-msgstr "Depurador"
+msgstr "Forma de Depuración"
#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
msgid "Thickness"
msgstr ""
#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Update Mode"
-msgstr "Modo Rotar"
+msgstr "Modo de Actualización"
#: scene/3d/reflection_probe.cpp
#, fuzzy
@@ -23376,11 +23738,11 @@ msgstr ""
#: scene/3d/room.cpp scene/3d/room_manager.cpp
msgid "Room Simplify"
-msgstr ""
+msgstr "Simplificación de Habitación"
#: scene/3d/room.cpp
msgid "Bound"
-msgstr ""
+msgstr "Límite"
#: scene/3d/room_group.cpp
#, fuzzy
@@ -23413,7 +23775,7 @@ msgstr "Sólo debe haber un RoomManager en el SceneTree."
#: scene/3d/room_manager.cpp
msgid "Main"
-msgstr ""
+msgstr "Principal"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
@@ -23433,14 +23795,12 @@ msgid "PVS"
msgstr "FPS"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Mode"
-msgstr "Modo Paneo"
+msgstr "Modo de CPV"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Filename"
-msgstr "Archivo ZIP"
+msgstr "Nombre de CPV"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
msgid "Gameplay"
@@ -23584,14 +23944,12 @@ msgid "Parent Collision Ignore"
msgstr "Crear Polígono de Colisión"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Simulation Precision"
-msgstr "El árbol de animación es inválido."
+msgstr "Precisión de Simulación"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Total Mass"
-msgstr "Total:"
+msgstr "Masa Total"
#: scene/3d/soft_body.cpp
msgid "Linear Stiffness"
@@ -23611,7 +23969,7 @@ msgstr ""
#: scene/3d/soft_body.cpp
msgid "Damping Coefficient"
-msgstr ""
+msgstr "Coeficiente de Amortiguación"
#: scene/3d/soft_body.cpp
msgid "Drag Coefficient"
@@ -23636,8 +23994,13 @@ msgstr ""
"En su lugar, cambiá el tamaño de los collision shapes hijos."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Mantener Transformación Global"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
-msgstr ""
+msgstr "Matriz"
#: scene/3d/spatial.cpp
#, fuzzy
@@ -23655,7 +24018,7 @@ msgstr ""
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
msgid "Opacity"
-msgstr ""
+msgstr "Opacidad"
#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
#, fuzzy
@@ -23684,9 +24047,8 @@ msgid "Per-Wheel Motion"
msgstr "Botón Rueda Abajo"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Engine Force"
-msgstr "Documentación Online"
+msgstr "Fuerza del Motor"
#: scene/3d/vehicle_body.cpp
msgid "Brake"
@@ -23710,9 +24072,8 @@ msgid "Use As Steering"
msgstr ""
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Wheel"
-msgstr "Rueda Arriba."
+msgstr "Rueda"
#: scene/3d/vehicle_body.cpp
msgid "Roll Influence"
@@ -23724,9 +24085,8 @@ msgid "Friction Slip"
msgstr "Función"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Suspension"
-msgstr "Expresión"
+msgstr "Suspensión"
#: scene/3d/vehicle_body.cpp
#, fuzzy
@@ -23738,9 +24098,8 @@ msgid "AABB"
msgstr ""
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Geometry"
-msgstr "Reintentar"
+msgstr "Geometría"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23778,7 +24137,7 @@ msgstr ""
#: scene/3d/visual_instance.cpp
msgid "LOD"
-msgstr ""
+msgstr "LOD"
#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
#: scene/resources/material.cpp
@@ -23827,19 +24186,16 @@ msgid "Animation not found: '%s'"
msgstr "No se encontró la animación: '%s'"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Mix Mode"
-msgstr "Nodo Mix"
+msgstr "Modo de Mezcla"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadein Time"
-msgstr "Tiempo de Crossfade (s):"
+msgstr "Tiempo de Fundido"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadeout Time"
-msgstr "Tiempo de Crossfade (s):"
+msgstr "Tiempo de Desvanecimiento"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -23882,9 +24238,8 @@ msgstr "Agregar Puerto de Entrada"
#: scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Xfade Time"
-msgstr "Tiempo de Crossfade (s):"
+msgstr "Tiempo de Fundido Cruzado"
#: scene/animation/animation_node_state_machine.cpp
#, fuzzy
@@ -23906,23 +24261,20 @@ msgid "Anim Apply Reset"
msgstr "Aplicar Reset de Animación"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Current Animation"
-msgstr "Establecer Animación"
+msgstr "Animación Actual"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Assigned Animation"
-msgstr "Agregar Animación"
+msgstr "Animación Asignada"
#: scene/animation/animation_player.cpp
msgid "Reset On Save"
-msgstr ""
+msgstr "Reiniciar al Guardar"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Current Animation Length"
-msgstr "Cambiar Duración de la Animación"
+msgstr "Duración de la Animación Actual"
#: scene/animation/animation_player.cpp
#, fuzzy
@@ -23930,9 +24282,8 @@ msgid "Current Animation Position"
msgstr "Añadir Punto de Animación"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Playback Options"
-msgstr "Opciones de Clase:"
+msgstr "Opciones de Reproducción"
#: scene/animation/animation_player.cpp
#, fuzzy
@@ -23941,7 +24292,7 @@ msgstr "Theme Predeterminado"
#: scene/animation/animation_player.cpp
msgid "Method Call Mode"
-msgstr ""
+msgstr "Modo de Llamada del Método"
#: scene/animation/animation_tree.cpp
msgid "In node '%s', invalid animation: '%s'."
@@ -24032,9 +24383,8 @@ msgid "Tip Bone"
msgstr "Huesos"
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Interpolation"
-msgstr "Modo de Interpolación"
+msgstr "Interpolación"
#: scene/animation/skeleton_ik.cpp
#, fuzzy
@@ -24064,9 +24414,8 @@ msgid "Playback Process Mode"
msgstr ""
#: scene/animation/tween.cpp
-#, fuzzy
msgid "Playback Speed"
-msgstr "Reproducir Escena"
+msgstr "Velocidad de Reproducción"
#: scene/audio/audio_stream_player.cpp
#, fuzzy
@@ -24081,13 +24430,12 @@ msgstr "Mantener Proporciones"
#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp
#: scene/gui/texture_rect.cpp
-#, fuzzy
msgid "Stretch Mode"
-msgstr "Modo Seleccionar"
+msgstr "Modo de Estiramiento"
#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
msgid "Alignment"
-msgstr ""
+msgstr "Alineación"
#: scene/gui/base_button.cpp
#, fuzzy
@@ -24095,9 +24443,8 @@ msgid "Shortcut In Tooltip"
msgstr "Mostrar Orígen"
#: scene/gui/base_button.cpp
-#, fuzzy
msgid "Action Mode"
-msgstr "Modo Icono"
+msgstr "Modo de Acción"
#: scene/gui/base_button.cpp
msgid "Enabled Focus Mode"
@@ -24108,9 +24455,8 @@ msgid "Keep Pressed Outside"
msgstr ""
#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
-#, fuzzy
msgid "Shortcut"
-msgstr "Atajos"
+msgstr "Atajo"
#: scene/gui/base_button.cpp
#, fuzzy
@@ -24125,7 +24471,7 @@ msgstr "Copiar Texto"
#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
#: scene/gui/spin_box.cpp
msgid "Align"
-msgstr ""
+msgstr "Alinear"
#: scene/gui/button.cpp
msgid "Icon Align"
@@ -24289,7 +24635,7 @@ msgstr "Anterior"
#: scene/gui/control.cpp
msgid "Mouse"
-msgstr ""
+msgstr "Ratón"
#: scene/gui/control.cpp
#, fuzzy
@@ -24898,6 +25244,11 @@ msgstr "Carpeta:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Solo Selección"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Activar"
@@ -25310,18 +25661,6 @@ msgstr "Ruta de Exportación"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Este viewport no está seteado como render target. Si tienes intención de que "
-"muestre contenidos directo a la pantalla, haz un hijo de un Control para que "
-"pueda obtener un tamaño. Alternativamente, haz un RenderTarget y asigna su "
-"textura interna a algún otro nodo para mostrar."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -25329,6 +25668,15 @@ msgstr ""
"dimensiones para renderizar cualquier cosa."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25487,6 +25835,16 @@ msgid "3D Physics"
msgstr " (Física)"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navegación"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navegación"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26914,7 +27272,7 @@ msgstr "Transición: "
msgid "Refraction"
msgstr "Separación:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26999,7 +27357,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Escalando: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Editar Tipo de Variable"
#: scene/resources/navigation_mesh.cpp
@@ -27017,10 +27380,15 @@ msgid "Source Group Name"
msgstr "Fuente"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Argumentos de Escena Principal:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -27030,11 +27398,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Región"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Mergear desde Escena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -27048,6 +27421,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Mostrar Valores por Defecto"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Elegir Instancia:"
@@ -27065,9 +27443,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Generando AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Offset:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27483,6 +27871,11 @@ msgid "Scenario"
msgstr "Escena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navegación"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27500,6 +27893,26 @@ msgstr "Lineal Izquierda"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Por Defecto"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Tamaño de Celda"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Prueba"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Editar Conexión:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/et.po b/editor/translations/et.po
index 1c6444233b..3976c9f0bd 100644
--- a/editor/translations/et.po
+++ b/editor/translations/et.po
@@ -219,9 +219,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Võrgu profileerija"
@@ -334,7 +335,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ebapiisav kogus baite nende dekodeerimiseks või kehtetu formaat."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Väljendis on kehtetu sisend %i (mitte edastatud)"
#: core/math/expression.cpp
@@ -379,6 +381,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Liigutamisrežiim"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -406,6 +417,11 @@ msgstr ""
msgid "Command"
msgstr "Kogukond"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Luba"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -461,6 +477,10 @@ msgid "Pressure"
msgstr "Eelseadistus"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -571,7 +591,8 @@ msgstr "Kirjeldus"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Käivita"
@@ -657,6 +678,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Stseeni tee:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -664,19 +690,13 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr ""
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-#, fuzzy
-msgid "Plugin Name"
-msgstr "Pistikprogrammi nimi:"
+msgid "Version Control Plugin Name"
+msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -788,7 +808,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtreeri sõlmed"
@@ -1065,6 +1086,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Vaba"
@@ -1081,7 +1103,7 @@ msgstr "Peegel"
msgid "Time:"
msgstr "Aeg:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Väärtus:"
@@ -1328,10 +1350,71 @@ msgid "Remove this track."
msgstr "Eemalda see rada."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Aeg (sek): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Doki asukoht"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Pööramisrežiim"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tüüp:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Vigane nimi."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Heli kuulaja"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Käivita"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animatsiooni klipid:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Lülita rada sisse"
@@ -1546,7 +1629,8 @@ msgid "Add Method Track Key"
msgstr "Lisa meetodi raja võti"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Meetod ei ole leitud objektis: "
#: editor/animation_track_editor.cpp
@@ -2070,14 +2154,15 @@ msgstr "Lemmikud:"
msgid "Recent:"
msgstr "Hiljutised:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Otsi:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Vasted:"
@@ -2133,8 +2218,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2142,7 +2227,7 @@ msgid "Open"
msgstr "Ava"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2440,7 +2525,7 @@ msgid "Bus Options"
msgstr "Klassi valikud"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikeeri"
@@ -2492,8 +2577,9 @@ msgstr "Ava heliliinide paigutus"
msgid "There is no '%s' file."
msgstr "Faili '%s' ei ole eksisteeri."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Paigutus"
#: editor/editor_audio_buses.cpp
@@ -2698,6 +2784,23 @@ msgid "Choose"
msgstr "Vali"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopeeri sõlme tee"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Salvestan faili:"
@@ -2710,6 +2813,31 @@ msgid "Packing"
msgstr "Pakin"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Salvesta kui"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Ei saanud luua kausta."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Ei saanud luua kausta."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Faili ei saa kirjutamiseks avada:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Salvesta kui"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2830,11 +2958,29 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Mallifaili ei leitud:"
#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -3012,9 +3158,9 @@ msgid "Import"
msgstr "Impordi"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Ekspordi"
@@ -4128,15 +4274,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Stseen"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Stseeni tee:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4262,6 +4399,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Nimeta ümber"
@@ -4290,6 +4431,10 @@ msgstr ""
msgid "Add a new scene."
msgstr "Lisa uus stseen."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Stseen"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4931,11 +5076,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Suurus: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5032,6 +5180,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5302,7 +5455,9 @@ msgid "Draw Spaces"
msgstr "Kuvamise kutsungid"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5328,6 +5483,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Kopeeri valik"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5865,10 +6029,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "projektihaldur"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6603,14 +6769,6 @@ msgid "Replace in Files"
msgstr "Ava fail(id)"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6739,7 +6897,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtreeri sõlmed"
@@ -7000,7 +7158,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -7028,6 +7186,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7703,11 +7873,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Kustuta animatsioon?"
@@ -7725,11 +7904,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7826,10 +8000,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7870,10 +8046,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7984,8 +8156,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Tõlked"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8001,11 +8174,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8894,6 +9062,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8958,6 +9127,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Paigutus"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9701,7 +9874,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9931,6 +10104,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -10084,13 +10258,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tüüp:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10099,10 +10266,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10805,13 +10968,17 @@ msgstr "Pööramisrežiim"
msgid "Translate"
msgstr "Tõlked"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Skaleerimisrežiim"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Tõlked:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10835,12 +11002,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Suurus: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "Objekte kuvatud"
@@ -11327,8 +11488,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Teisenda..."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11359,15 +11521,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Animatsioon"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11431,6 +11594,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Kustuta animatsioon?"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12330,8 +12498,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13766,20 +13933,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13787,14 +13949,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13896,34 +14050,48 @@ msgid "More Info..."
msgstr "Teisalda..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Ekspordi..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Impordi profiil(id)"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Vali kataloog"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Ekspordi..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Projekt"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projekti asutajad"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14204,11 +14372,11 @@ msgid "Project Manager"
msgstr "projektihaldur"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15376,8 +15544,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Eemalda"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16219,7 +16388,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -16389,7 +16558,8 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Teegid: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16815,7 +16985,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16845,6 +17014,19 @@ msgstr "Kustuta sõlm(ed)"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Kustuta animatsioon?"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Kustuta sõlm(ed)"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17253,7 +17435,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17261,7 +17443,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17628,7 +17810,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17636,7 +17818,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17799,12 +17981,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Kehtetud argumendid '%s' ehitamise jaoks"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Vigane nimi."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17816,12 +18000,14 @@ msgid "Var Name"
msgstr "Nimi"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Meetod ei ole leitud objektis: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Meetod ei ole leitud objektis: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18135,6 +18321,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Kustuta sõlm(ed)"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18143,6 +18334,16 @@ msgstr ""
msgid "Export Format"
msgstr "Formaat"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Suurus: "
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Ressursi tee"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18181,16 +18382,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Suurus: "
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Ressursi tee"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18353,10 +18544,6 @@ msgid "Could not execute on device."
msgstr "Ei saanud luua kausta."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18433,12 +18620,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18447,25 +18634,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signaal"
+
+#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18481,6 +18692,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18510,7 +18725,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18521,20 +18736,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Ei saanud luua kausta."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18546,7 +18760,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18562,7 +18776,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Paigutuse nime ei leitud!"
#: platform/android/export/export_plugin.cpp
@@ -18571,15 +18785,12 @@ msgid "Creating APK..."
msgstr "Sätted..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18590,7 +18801,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Ei saanud luua kausta."
#: platform/android/export/export_plugin.cpp
@@ -18831,6 +19042,16 @@ msgstr "Kustuta sõlm(ed)"
msgid "Custom BG Color"
msgstr "Kustuta sõlm(ed)"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Mallifaili ei leitud:"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18852,23 +19073,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Ei saanud luua kausta."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Vigane nimi."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Ei saanud luua kausta."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Kuva failikuvajas"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Ei saanud luua kausta."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Versioon:"
@@ -18943,17 +19176,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Ei saanud luua kausta."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Ei saanud luua kausta."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Viga TileSeti salvestamisel!"
#: platform/javascript/export/export.cpp
@@ -19244,9 +19477,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Ei saanud luua kausta."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Ei saanud luua kausta."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Tõlked"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19262,20 +19514,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Ainult konstandid"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Tõrge faili '%s' salvestamisel"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Kirjeldus"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Loon pisipilti"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Vigane nimi."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19283,7 +19589,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19324,6 +19630,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19632,6 +19947,11 @@ msgid "Debug Algorithm"
msgstr "Siluja"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Ei saanud luua kausta."
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19679,6 +19999,65 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Konstant"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Vigane nimi."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Kehtetud argumendid '%s' ehitamise jaoks"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Vigane nimi."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Vigane nimi."
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19700,6 +20079,23 @@ msgid "Invalid product version:"
msgstr "Vigane nimi."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Vigane nimi."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Uus aken"
@@ -19716,6 +20112,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19837,7 +20237,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19886,7 +20287,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr "1 vaateaken"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20590,34 +20991,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Ühenda"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Kombinatsioon"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Paigalda"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Täpsem"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Luba"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Luba"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20642,13 +21065,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Kustuta sõlm(ed)"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20656,7 +21082,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstant"
@@ -21758,6 +22184,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "3D muundus rada"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -21781,12 +22214,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22628,6 +23055,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Tõlked"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23802,6 +24234,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Vali see kaust"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Luba"
@@ -24188,14 +24625,6 @@ msgid "Viewport Path"
msgstr "1 vaateaken"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -24203,6 +24632,15 @@ msgid ""
msgstr "Vaateakne suurus peab olema suurem kui 0, et kuvada."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -24350,6 +24788,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Kustuta animatsioon?"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Kustuta animatsioon?"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25726,7 +26174,7 @@ msgstr "Tõlked"
msgid "Refraction"
msgstr "Versioon:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25806,8 +26254,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Skaleerimisrežiim"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Versioon:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -25823,10 +26277,15 @@ msgid "Source Group Name"
msgstr "Skripti nimi:"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Vidinad"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -25836,11 +26295,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Hiljuti avatud"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Liida stseenist"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25853,6 +26317,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Laadi vaikimisi"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25869,9 +26338,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Muuda tüüpi"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26272,6 +26750,11 @@ msgid "Scenario"
msgstr "Stseen"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Kustuta sõlm(ed)"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26289,6 +26772,26 @@ msgstr "Vaikimisi"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Vaikimisi"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Kinemaatiline eelvaade"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testimine"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Ühenda"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/eu.po b/editor/translations/eu.po
index 9e58964de2..3e69f3c4b9 100644
--- a/editor/translations/eu.po
+++ b/editor/translations/eu.po
@@ -204,9 +204,10 @@ msgid "Data"
msgstr "Datuak"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Sarea"
@@ -311,7 +312,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ez daude byte nahikoa byteak deskodetzeko, edo formatua ez da zuzena."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "%i (onartu gabea) sarrera baliogabea espresioan"
#: core/math/expression.cpp
@@ -356,6 +358,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Atxikitze modua:"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -383,6 +394,11 @@ msgstr ""
msgid "Command"
msgstr "Komunitatea"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Gaitu atxikitzea"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -435,6 +451,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Atxikitze erlatiboa"
@@ -543,7 +563,8 @@ msgstr "Deskripzioa"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -627,6 +648,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Eszenaren bidea:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -634,18 +660,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Bertsio kontrola"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Bertsio kontrola"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr ""
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Bertsio kontrola"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -753,7 +776,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Iragazkiak..."
@@ -1027,6 +1051,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libre"
@@ -1043,7 +1068,7 @@ msgstr "Ispilua"
msgid "Time:"
msgstr "Denbora:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Balioa:"
@@ -1290,10 +1315,70 @@ msgid "Remove this track."
msgstr "Pista hau ezabatu."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Denbora (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Kokapena"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Erabili biraketa atxikitzea"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Animazio izen baliogabea!"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Atxikitze modua:"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animazio klipak:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Pista Akt./Desakt."
@@ -1510,7 +1595,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2031,14 +2116,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2094,8 +2180,8 @@ msgstr "Bilatu ordezko baliabidea:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2103,8 +2189,8 @@ msgid "Open"
msgstr "Ireki"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Hauen jabeak:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2410,7 +2496,7 @@ msgid "Bus Options"
msgstr "Klaseko aukerak"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Bikoiztu"
@@ -2462,8 +2548,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2666,6 +2752,24 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kargatu animazioa"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Paketea ondo instalatu da!"
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2678,6 +2782,28 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Gorde honela"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Gorde honela"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2781,8 +2907,28 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Hautatu txantiloi fitxategia"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "Paketearen edukia:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Kudeatu esportazio txantiloiak..."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2957,9 +3103,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Esportatu"
@@ -4053,15 +4199,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Eszenaren bidea:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4182,6 +4319,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Bertsio kontrola"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4209,6 +4350,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4847,11 +4992,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4947,6 +5094,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Proiektua"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5212,7 +5364,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5237,6 +5391,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5766,10 +5928,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6512,14 +6676,6 @@ msgid "Replace in Files"
msgstr "Ireki fitxategia(k)"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6648,7 +6804,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Iragazkiak..."
@@ -6902,7 +7058,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6930,6 +7086,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7600,11 +7768,20 @@ msgid "New Anim"
msgstr "Animazio berria"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Aldatu animazioaren izena:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Aldatu izena animazioari"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Ezabatu animazioa?"
@@ -7622,11 +7799,6 @@ msgid "Animation name already exists!"
msgstr "Animazio izena existitzen da jada!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Aldatu izena animazioari"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Bikoiztu animazioa"
@@ -7723,10 +7895,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7767,10 +7941,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7881,8 +8051,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Trantsizio nodoa"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7898,11 +8069,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8791,6 +8957,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8856,6 +9023,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9602,8 +9773,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Talka formak ikusgai"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -9832,6 +10004,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9985,13 +10158,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10000,10 +10166,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10697,13 +10859,16 @@ msgstr ""
msgid "Translate"
msgstr "Translazio atzikitzea:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Translazio atzikitzea:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10726,11 +10891,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11208,7 +11368,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11240,15 +11400,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Bikoiztu animazioa"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11312,6 +11473,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Ezabatu animazioa?"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12210,8 +12376,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13635,20 +13800,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13656,14 +13816,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13764,34 +13916,47 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Esportatu..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Inportatu profila(k)"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
msgstr ""
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Esportatu..."
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Proiektua"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Proiektuaren sortzaileak"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14069,6 +14234,10 @@ msgid "Project Manager"
msgstr "Proiektu-kudeatzailea "
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr ""
@@ -14076,10 +14245,6 @@ msgstr ""
"Itxaron mesedez..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Proiektua"
@@ -15244,8 +15409,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Kendu elementu guztiak"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16080,7 +16246,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -16251,7 +16417,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16668,7 +16834,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16697,6 +16862,19 @@ msgstr "Blend4 nodoa"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Ezabatu animazioa?"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Trantsizio nodoa"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17100,7 +17278,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17108,7 +17286,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17474,7 +17652,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17482,7 +17660,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17641,12 +17819,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "'%s' eraikitzeko argumentu baliogabeak"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "'%s' eraikitzeko argumentu baliogabeak"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17657,11 +17837,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17966,6 +18146,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Kendu elementu guztiak"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17974,6 +18159,15 @@ msgstr ""
msgid "Export Format"
msgstr "Esportatu"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Blend4 nodoa"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18011,15 +18205,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Blend4 nodoa"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18181,10 +18366,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18261,12 +18442,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18275,25 +18456,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Seinalea"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18312,6 +18517,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18340,7 +18549,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18351,19 +18560,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18376,7 +18583,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18392,7 +18599,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Paketearen edukia:"
#: platform/android/export/export_plugin.cpp
@@ -18400,15 +18607,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18418,8 +18622,9 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files."
+msgstr "Ezin izan da scripta exekutatu:"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -18656,6 +18861,17 @@ msgstr "Funtzioak:"
msgid "Custom BG Color"
msgstr "Funtzioak:"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Godot esportazio-txantiloiak"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Esportazio-txantiloi kudeatzailea"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18677,23 +18893,34 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Animazio izen baliogabea!"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Ezin izan da scripta exekutatu:"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Edukiak:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Ezin izan da scripta exekutatu:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Enumerazioak"
@@ -18768,15 +18995,16 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "Ezin izan da scripta exekutatu:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -19062,9 +19290,27 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Ezin izan da scripta exekutatu:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Erabili biraketa atxikitzea"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19080,19 +19326,72 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Konstanteak bakarrik"
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Deskripzioa"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Animazio izen baliogabea!"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19100,7 +19399,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19141,6 +19440,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proiektua"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19445,6 +19753,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19490,6 +19802,65 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Itsatsi animazioa"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Animazio izen baliogabea!"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "'%s' eraikitzeko argumentu baliogabeak"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Animazio izen baliogabea!"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Animazio izen baliogabea!"
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19511,6 +19882,23 @@ msgid "Invalid product version:"
msgstr "Animazio izen baliogabea!"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Animazio izen baliogabea!"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19526,6 +19914,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19642,7 +20034,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19688,7 +20081,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20376,34 +20769,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Edukiak:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Itsatsi animazioa"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Instalatu"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Gaitu atxikitzea"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Gaitu atxikitzea"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Gaitu atxikitzea"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20427,13 +20842,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Blend4 nodoa"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20441,7 +20859,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstantea"
@@ -21530,6 +21948,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "3D Transformazioaren pista"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21551,12 +21976,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22386,6 +22805,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Translazio atzikitzea:"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23527,6 +23951,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Hautatu karpeta hau"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Gaitu atxikitzea"
@@ -23906,16 +24335,17 @@ msgstr "Kopiatu bidea"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24068,6 +24498,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Trantsizio nodoa"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Trantsizio nodoa"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25419,7 +25859,7 @@ msgstr "Trantsizio nodoa"
msgid "Refraction"
msgstr "Enumerazioak"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25497,10 +25937,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Enumerazioak"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -25513,10 +25958,15 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Edukiak:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -25525,11 +25975,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Funtzioak:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25542,6 +25997,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Inportatu profila(k)"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25558,9 +26018,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Kide mota"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -25953,6 +26422,11 @@ msgid "Scenario"
msgstr "Eszenaren bidea:"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Trantsizio nodoa"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25970,6 +26444,26 @@ msgstr "Birkargatu azala"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Aurrebista:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Aurrebista:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Birkargatu azala"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Edukiak:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index 717b5b6204..86b847e530 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -25,13 +25,14 @@
# Alireza Khodabande <alirezakhodabande74@gmail.com>, 2021.
# Seyed Fazel Alavi <fazel8195@gmail.com>, 2022.
# Giga hertz <gigahertzyt@gmail.com>, 2022.
+# Aryan Azadeh <aryan@azadeh.email>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-03 13:13+0000\n"
-"Last-Translator: Giga hertz <gigahertzyt@gmail.com>\n"
+"PO-Revision-Date: 2022-06-20 06:44+0000\n"
+"Last-Translator: Aryan Azadeh <aryan@azadeh.email>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/"
"godot/fa/>\n"
"Language: fa\n"
@@ -39,7 +40,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.13.1-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -240,9 +241,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "صدور پروژه"
@@ -356,7 +358,8 @@ msgstr ""
"است ."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "ورودی نامعتبر i% (تایید نشده) در عبارت"
#: core/math/expression.cpp
@@ -401,6 +404,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "انتخاب حالت"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -429,6 +441,11 @@ msgstr ""
msgid "Command"
msgstr "جامعه"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "روشن"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -486,6 +503,10 @@ msgid "Pressure"
msgstr "بازنشانی بزرگنمایی"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "GDNative"
@@ -600,7 +621,8 @@ msgstr "تعریف"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "اجرا"
@@ -682,13 +704,17 @@ msgstr "طرح پیش فرض اتوبوس را بارگیری کنید."
#: editor/editor_settings.cpp editor/script_create_dialog.cpp
#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
msgid "Editor"
-msgstr "ویرایشگر"
+msgstr "ویرایِشگَر"
#: core/project_settings.cpp
msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr ""
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -696,19 +722,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "مهار نسخه"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "مهار نسخه"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "افزونه‌ها"
+msgid "Version Control Plugin Name"
+msgstr "مهار نسخه"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -818,7 +840,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "صافی:"
@@ -1097,6 +1120,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "آزاد کردن"
@@ -1113,7 +1137,7 @@ msgstr "بازتاب"
msgid "Time:"
msgstr "زمان:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "مقدار:"
@@ -1361,10 +1385,72 @@ msgid "Remove this track."
msgstr "این ترک را حذف کن."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "زمان(s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "برداشتن موج"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "وضعیت:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "نام دارایی ایندکس نامعتبر."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "انتقال"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "افزودن مورد"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "شروع"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "گره انیمیشن"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "ضامن ترک فعال است"
@@ -1577,7 +1663,8 @@ msgid "Add Method Track Key"
msgstr "افزودن تابع کلید میسر"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "تابع در شئ یافت نشد: "
#: editor/animation_track_editor.cpp
@@ -2111,14 +2198,15 @@ msgstr "برگزیده‌ها:"
msgid "Recent:"
msgstr "اخیر:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "جستجو:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "تطبیق‌ها:"
@@ -2178,8 +2266,8 @@ msgstr "منبع جایگزینی را جستجو کن:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2187,8 +2275,8 @@ msgid "Open"
msgstr "باز کن"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "مالکانِ:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2489,7 +2577,7 @@ msgid "Bus Options"
msgstr "گزینه های اتوبوس"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "تکثیر کردن"
@@ -2541,8 +2629,9 @@ msgstr "چیدمان اتوبوس صوتی را باز کنید"
msgid "There is no '%s' file."
msgstr "پرونده '٪ s' وجود ندارد."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "چیدمان"
#: editor/editor_audio_buses.cpp
@@ -2746,6 +2835,24 @@ msgid "Choose"
msgstr "انتخاب کنید"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "کپی کردن مسیر node"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "بسته با موفقیت نصب شد!"
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "ذخیره فایل:"
@@ -2758,6 +2865,31 @@ msgid "Packing"
msgstr "بسته بندی"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "ذخیره در"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "ناتوان در ساختن پوشه."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "ناتوان در گشودن پروژه"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "ذخیره در"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2873,8 +3005,29 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "مدیریت صدور قالب ها"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "پرونده موجود نیست."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "طول انیمیشن (به ثانیه)."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "نام دارایی ایندکس نامعتبر."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -3051,9 +3204,9 @@ msgid "Import"
msgstr "وارد کردن"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "خروجی"
@@ -4153,14 +4306,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "صحنه"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4288,6 +4433,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "مهار نسخه"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "تغییر نام"
@@ -4316,6 +4465,10 @@ msgstr ""
msgid "Add a new scene."
msgstr "افزودن صحنه جدید."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "صحنه"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4591,7 +4744,7 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr "جامعه"
+msgstr "اَنجُمَن"
#: editor/editor_node.cpp
#, fuzzy
@@ -4978,11 +5131,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5081,6 +5236,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "پروژه"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5357,7 +5517,9 @@ msgid "Draw Spaces"
msgstr "فراخوانی"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5383,6 +5545,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "انتخاب شده را حذف کن"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5937,10 +6108,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "مدیر پروژه"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6732,16 +6905,6 @@ msgstr "جایگزینی همه"
#: editor/find_in_files.cpp
#, fuzzy
-msgid "Find: "
-msgstr "یافتن"
-
-#: editor/find_in_files.cpp
-#, fuzzy
-msgid "Replace: "
-msgstr "جایگزینی"
-
-#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "جایگزینی همه"
@@ -6879,7 +7042,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "صافی:"
@@ -7142,7 +7305,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -7170,6 +7333,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7879,11 +8054,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "تغییر نام انیمیشن"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "انیمیشن حذف شود؟"
@@ -7903,11 +8087,6 @@ msgid "Animation name already exists!"
msgstr "بارگذاری خودکار '%s' هم اکنون موجود است!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "تغییر نام انیمیشن"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -8008,11 +8187,13 @@ msgstr ""
msgid "Directions"
msgstr "توضیح"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Past"
msgstr "چسباندن"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -8054,10 +8235,6 @@ msgid "Pin AnimationPlayer"
msgstr "تغییر نام انیمیشن"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8178,7 +8355,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "انتقال"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8197,11 +8374,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -9137,6 +9309,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "پخش سفارشی صحنه"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9201,6 +9374,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "چیدمان"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9980,8 +10157,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "انتقال را در انیمیشن تغییر بده"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10223,6 +10401,7 @@ msgid "Points"
msgstr "برداشتن نقطه"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "ویرایش سیگنال"
@@ -10380,13 +10559,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "گشودن در ویرایشگر"
@@ -10395,11 +10567,6 @@ msgstr "گشودن در ویرایشگر"
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "منبع"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10585,7 +10752,7 @@ msgstr "زبانه قبلی"
#: editor/plugins/script_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "File"
-msgstr ""
+msgstr "پَروَندِه"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -11149,13 +11316,16 @@ msgstr "وضعیت:"
msgid "Translate"
msgstr "ترجمه‌ها"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "بومی"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
-msgid "Translating: "
+msgid "Translating:"
msgstr "انتقال"
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11180,11 +11350,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11215,7 +11380,7 @@ msgstr "خصوصیات"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "FPS: %d (%s ms)"
-msgstr ""
+msgstr "FPS: %d (%s ms)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
@@ -11688,7 +11853,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "اتصال به گره:"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11722,15 +11887,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "افزودن وظیفه"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11801,6 +11967,11 @@ msgid "New Animation"
msgstr "تغییر نام انیمیشن"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "حالت صافی:"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12758,8 +12929,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "گره انیمیشن"
@@ -14278,36 +14448,22 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-#, fuzzy
-msgid "Delete preset '%s'?"
-msgstr "آیا پرونده‌های انتخاب شده حذف شود؟"
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
#, fuzzy
-msgid "Exporting All"
-msgstr "صدور"
+msgid "Delete preset '%s'?"
+msgstr "آیا پرونده‌های انتخاب شده حذف شود؟"
#: editor/project_export.cpp
#, fuzzy
-msgid "The given export path doesn't exist:"
-msgstr "پرونده موجود نیست."
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
+msgid "Exporting All"
+msgstr "صدور"
#: editor/project_export.cpp
#, fuzzy
@@ -14414,21 +14570,28 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "صدور pck/zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "صدور پروژه"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export mode?"
-msgstr "حالت صدور:"
+msgid "Export All"
+msgstr "صدور"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "یک فهرست انتخاب کنید"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "صدور"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14437,14 +14600,20 @@ msgid "ZIP File"
msgstr " پوشه ها"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "صدور پروژه"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "بنیان‌گذاران پروژه"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "مدیریت صدور قالب ها"
@@ -14731,15 +14900,15 @@ msgid "Project Manager"
msgstr "مدیر پروژه"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "بارگیری"
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "صدور پروژه"
@@ -15063,7 +15232,7 @@ msgstr "تنظیمات پروژه (پروژه.گودات)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
-msgstr "عمومی"
+msgstr "هَمِگان"
#: editor/project_settings_editor.cpp
msgid "Override For..."
@@ -15979,7 +16148,7 @@ msgstr "صحنه جدید"
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Remote "
+msgid "Remote %s:"
msgstr "برداشتن"
#: editor/script_editor_debugger.cpp
@@ -16847,7 +17016,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "ویرایش سیگنال"
@@ -17025,8 +17194,9 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
+#, fuzzy
+msgid "Libraries:"
+msgstr "صادکردن فایل کتابخانه ای"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -17457,7 +17627,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17487,6 +17656,19 @@ msgstr "ساختن گره"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "انیمیشن حذف شود؟"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "گره انیمیشن"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
msgid "Next Plane"
@@ -17915,7 +18097,7 @@ msgstr ""
#: modules/visual_script/visual_script.cpp
#, fuzzy
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr "گره ،‌ یک سلسله خروجی نامعتبر را برگردانده است: "
#: modules/visual_script/visual_script.cpp
@@ -17925,7 +18107,7 @@ msgstr "بیت دنباله پیدا شد ولی گره موجود در پشته
#: modules/visual_script/visual_script.cpp
#, fuzzy
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr "سرریزی پشته با عمق پشته: "
#: modules/visual_script/visual_script.cpp
@@ -18323,7 +18505,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "نوع ورودی قابل تکرار نیست: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18333,7 +18516,7 @@ msgstr "تکرارگر نامعتبر شد"
#: modules/visual_script/visual_script_flow_control.cpp
#, fuzzy
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr "تکرارگر نامعتبر شد: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18502,11 +18685,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": آرگومان نوع نامعتبر "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": آرگومان‌های نامعتبر: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18519,11 +18704,13 @@ msgid "Var Name"
msgstr "نام"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet در اسکریپت پیدا نشد: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet در اسکریپت پیدا نشد: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18843,6 +19030,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "ساختن گره"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18851,6 +19043,16 @@ msgstr ""
msgid "Export Format"
msgstr "صدور پروژه"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "باز کردن و اجرای یک اسکریپت"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "گره تغییر والد"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18889,16 +19091,6 @@ msgstr "زبانه قبلی"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "باز کردن و اجرای یک اسکریپت"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "گره تغییر والد"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19066,10 +19258,6 @@ msgid "Could not execute on device."
msgstr "ناتوان در ساختن پوشه."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19147,12 +19335,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19161,25 +19349,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "سیگنال‌"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19196,6 +19408,10 @@ msgid "Could not find keystore, unable to export."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19226,7 +19442,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19237,20 +19453,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19263,7 +19478,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19279,7 +19494,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "طول انیمیشن (به ثانیه)."
#: platform/android/export/export_plugin.cpp
@@ -19289,15 +19504,12 @@ msgstr "در حال اتصال..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19309,7 +19521,7 @@ msgstr "یافتن"
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/android/export/export_plugin.cpp
@@ -19552,6 +19764,16 @@ msgstr "ساختن گره"
msgid "Custom BG Color"
msgstr "ساختن گره"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "مدیریت صدور قالب ها"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19575,25 +19797,34 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr "نام دارایی ایندکس نامعتبر."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "محتواها:"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "شمارش ها:"
@@ -19669,17 +19900,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "ناتوان در ساختن پوشه."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "خطا در بارگذاری:"
#: platform/javascript/export/export.cpp
@@ -19976,9 +20207,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "ناتوان در ساختن پوشه."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "بومی‌سازی"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19994,20 +20244,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "چیزی یافت نشد!"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "خطای ذخیره کردن پرونده: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "توضیح"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "نمی‌تواند یک پوشه ایجاد شود."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "نام دارایی ایندکس نامعتبر."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20015,7 +20319,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20057,6 +20361,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "پروژه"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "نام یک شناسه‌ی معتبر نیست:"
@@ -20371,6 +20685,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "امکان حذف وجود ندارد :"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20417,6 +20736,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "ثابت"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "باید از یک پسوند معتبر استفاده شود."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "نام یک شناسه‌ی معتبر نیست:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "نام نامعتبر."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "باید از یک پسوند معتبر استفاده شود."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "امکان حذف وجود ندارد :"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20438,6 +20821,23 @@ msgid "Invalid product version:"
msgstr "اندازه‌ی قلم نامعتبر."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "باید از یک پسوند معتبر استفاده شود."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "چارچوب جدید"
@@ -20454,6 +20854,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20575,7 +20979,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -20624,7 +21029,7 @@ msgstr "بزرگنمایی"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21349,34 +21754,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "ویرایش اتصال:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "ثابت"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "نصب کردن"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "پیشرفته"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "روشن"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "روشن"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21402,15 +21829,16 @@ msgstr ""
"لطفا یک دارایی تعیین یا یک چندضلعی ترسیم کنید."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-"NavigationPolygonInstance باید یک فرزند یا نوه‌ی یک گره Navigation2D باشد. "
-"این تنها یک داده‌ی پیمایش را فراهم می‌کند."
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "ساختن گره"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -21418,7 +21846,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "ثابت"
@@ -22562,6 +22990,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "انتخاب شده را تغییر مقیاس بده"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -22584,14 +23019,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance باید یک فرزند یا نوه‌ی یک گره Navigation باشد. این "
-"تنها داده‌ی پیمایش را فراهم می‌کند."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23444,6 +23871,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "انتقال را در انیمیشن تغییر بده"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24644,6 +25076,11 @@ msgstr "ساختن پوشه"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "تنها در قسمت انتخاب شده"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "روشن"
@@ -25040,20 +25477,17 @@ msgstr "صدور پروژه"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
-"این viewport به صورت render target تنظیم نیست. اگر قصد دارید که محتویاتش را "
-"به صورت مستقیم در صفحه‌نمایش نمایش دهد، آن را یک فرزند یک Control قرار دهید "
-"تا بتواند یک اندازه بگیرد. در غیر اینصورت، آن را یک RenderTarget قرار دهید و "
-"بافت داخلی آن را برای نمایش به تعدادی گره تخصیص دهید."
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25208,6 +25642,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "گره انیمیشن"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "گره انیمیشن"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26602,7 +27046,7 @@ msgstr "انتقال"
msgid "Refraction"
msgstr "شمارش ها:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26683,7 +27127,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "بومی"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "متغیر را ویرایش کن:"
#: scene/resources/navigation_mesh.cpp
@@ -26700,10 +27149,15 @@ msgid "Source Group Name"
msgstr "منبع"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "نشانوندها:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26713,11 +27167,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "گره انیمیشن"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "ادغام از صحنه"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26730,6 +27189,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "بارگیری پیش فرض"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26747,9 +27211,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "حذف قالب"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27148,6 +27621,11 @@ msgid "Scenario"
msgstr "صحنه"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "گره انیمیشن"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27165,6 +27643,26 @@ msgstr "خطی"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "پیشفرض"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "به‌روزرسانی از صحنه"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "آزمودن"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "ویرایش اتصال:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index b69785d4ab..db841ef48a 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -234,9 +234,10 @@ msgid "Data"
msgstr "Datan kanssa"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Verkkoprofiloija"
@@ -352,7 +353,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ei tarpeeksi tavuja tavujen purkamiseksi tai virheellinen formaatti."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Virheellinen syöte %i (ei välitetty) lausekkeessa"
#: core/math/expression.cpp
@@ -397,6 +399,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Siirtotila"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Poista syöte"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -425,6 +437,11 @@ msgstr ""
msgid "Command"
msgstr "Yhteisö"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (fyysinen)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -484,6 +501,10 @@ msgid "Pressure"
msgstr "Esiasetukset"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Suhteellinen tarttuminen"
@@ -599,7 +620,8 @@ msgstr "Kuvaus"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Suorita"
@@ -690,6 +712,11 @@ msgid "Main Run Args"
msgstr "Pääkohtauksen argumentit:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Kohtauspolku:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -697,19 +724,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Versionhallinta"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Versionhallintajärjestelmä"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Liitännäisen nimi:"
+msgid "Version Control Plugin Name"
+msgstr "Versionhallinta"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -829,7 +852,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Suodattimet:"
@@ -1111,6 +1135,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Vapauta"
@@ -1127,7 +1152,7 @@ msgstr "Peilaa"
msgid "Time:"
msgstr "Aika:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Arvo:"
@@ -1377,10 +1402,75 @@ msgid "Remove this track."
msgstr "Poista tämä raita."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Aika (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Telakan sijainti"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Kierron välistys:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skaalaus:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tyyppi:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Virheellinen vientimalli:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Helpotus sisään-ulos"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Aseta kahva"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Aseta kahva"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Valintapainike"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Aloita uudelleen (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Häivytys sisään (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animaatiot:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Aseta raita päälle"
@@ -1593,7 +1683,8 @@ msgid "Add Method Track Key"
msgstr "Lisää metodikutsuraidan avainruutu"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metodia ei löydy objektista: "
#: editor/animation_track_editor.cpp
@@ -2125,14 +2216,15 @@ msgstr "Suosikit:"
msgid "Recent:"
msgstr "Viimeaikaiset:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Hae:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Osumat:"
@@ -2192,8 +2284,8 @@ msgstr "Etsi korvaava resurssi:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2201,8 +2293,8 @@ msgid "Open"
msgstr "Avaa"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Omistajat kohteelle:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2507,7 +2599,7 @@ msgid "Bus Options"
msgstr "Väylän asetukset"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Monista"
@@ -2559,8 +2651,9 @@ msgstr "Avaa ääniväylän asettelu"
msgid "There is no '%s' file."
msgstr "Tiedostoa '%s' ei ole."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Asettelu"
#: editor/editor_audio_buses.cpp
@@ -2766,6 +2859,25 @@ msgid "Choose"
msgstr "Valitse"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopioi solmun polku"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Paketti asennettu onnistuneesti!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Epäonnistui:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Varastoidaan tiedostoa:"
@@ -2778,6 +2890,31 @@ msgid "Packing"
msgstr "Pakataan"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Tallenna nimellä"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Kansiota ei voitu luoda."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Ei voitu viedä projektin tiedostoja"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Ei voida avata tiedostoa kirjoitettavaksi:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Tallenna nimellä"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2896,11 +3033,33 @@ msgstr "Mukautettua debug-vientimallia ei löytynyt."
msgid "Custom release template not found."
msgstr "Mukautettua release-vientimallia ei löytynyt."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Hallinnoi malleja"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Annettu vientipolku ei ole olemassa:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Mallitiedostoa ei löytynyt:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Virheellinen vientimalli:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Täyte"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"32-bittisissä vienneissä sisällytetty PCK ei voi olla suurempi kuin 4 Gt."
@@ -3076,9 +3235,9 @@ msgid "Import"
msgstr "Tuo"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Vie"
@@ -4242,15 +4401,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Kohtaus"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Kohtauspolku:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4379,6 +4529,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Versionhallinta"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Käyttäjänimi"
@@ -4406,6 +4560,10 @@ msgstr "Käytä häiriötöntä tilaa."
msgid "Add a new scene."
msgstr "Lisää uusi kohtaus."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Kohtaus"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Siirry aiemmin avattuun kohtaukseen."
@@ -5091,11 +5249,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Valittu solmu ei ole Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Koko: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Koko:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Sivu: "
#: editor/editor_properties_array_dict.cpp
@@ -5195,6 +5356,11 @@ msgstr ""
"Ole hyvä ja lisää ajettava esiasetus Vienti-valikosta tai määrittele "
"olemassa oleva esiasetus ajettavaksi."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekti"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Kirjoita logiikka _run() metodiin."
@@ -5478,7 +5644,9 @@ msgid "Draw Spaces"
msgstr "Piirtokutsuja:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigointi"
@@ -5504,6 +5672,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Ruudukon valinta"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6077,10 +6254,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Projektinhallinta"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6851,14 +7030,6 @@ msgid "Replace in Files"
msgstr "Korvaa tiedostoissa"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Etsi: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Korvaa: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Korvaa kaikki (EI VOI KUMOTA)"
@@ -6987,7 +7158,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Suodattimet:"
@@ -7255,7 +7426,8 @@ msgid "Generating Lightmaps"
msgstr "Luodaan Lightmappeja"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Luodaan meshille: "
#: editor/import/resource_importer_scene.cpp
@@ -7285,6 +7457,18 @@ msgid "Saving..."
msgstr "Tallennetaan..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7978,11 +8162,20 @@ msgid "New Anim"
msgstr "Uusi animaatio"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Luo uusi animaatio"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Vaihda animaation nimi:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Nimeä animaatio uudelleen"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Poista animaatio?"
@@ -8000,11 +8193,6 @@ msgid "Animation name already exists!"
msgstr "Samanniminen animaatio on jo olemassa!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Nimeä animaatio uudelleen"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Monista animaatio"
@@ -8102,10 +8290,12 @@ msgstr "Onion skinning -valinnat"
msgid "Directions"
msgstr "Suunnat"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Mennyt"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Tuleva"
@@ -8146,10 +8336,6 @@ msgid "Pin AnimationPlayer"
msgstr "Kiinnitä AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Luo uusi animaatio"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Animaation nimi:"
@@ -8265,7 +8451,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Aseta loppuanimaatio. Tämä on hyödyllistä alisiirtymiä varten."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Siirtymä: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8282,11 +8469,6 @@ msgid "New name:"
msgstr "Uusi nimi:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skaalaus:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Häivytys sisään (s):"
@@ -9200,6 +9382,7 @@ msgstr "Luo mukautetut luut solmuista"
msgid "Clear Custom Bones"
msgstr "Poista mukautetut luut"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9266,6 +9449,10 @@ msgid "Preview Canvas Scale"
msgstr "Esikatsele kankaan skaalausta"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Asettelu"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Siirrosmaski avainruutujen lisäämiseen."
@@ -10040,7 +10227,8 @@ msgid "Volume"
msgstr "Tilavuus"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Emission lähde: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10274,6 +10462,7 @@ msgid "Points"
msgstr "Pisteet"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polygonit"
@@ -10430,13 +10619,6 @@ msgid "Instance:"
msgstr "Ilmentymä:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tyyppi:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Avaa editorissa"
@@ -10445,10 +10627,6 @@ msgstr "Avaa editorissa"
msgid "Load Resource"
msgstr "Lataa resurssi"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Resurssien esilataaja"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Käännä portaalit"
@@ -11149,12 +11327,16 @@ msgstr "Kierrä"
msgid "Translate"
msgstr "Siirrä"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Skaalataan: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Siirretään: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11178,11 +11360,6 @@ msgid "Yaw:"
msgstr "Kääntymiskulma:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Koko:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Objekteja piirretty:"
@@ -11670,7 +11847,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Virheellinen geometria, ei voida korvata meshillä."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Muunna Mesh2D resurssiksi"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11702,15 +11880,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Yksinkertaistus: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Kutista (pikseleissä): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Suurrennus (pikseleissä): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11774,6 +11955,11 @@ msgid "New Animation"
msgstr "Uusi animaatio"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Suodata metodeja"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Nopeus:"
@@ -12665,8 +12851,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Valitse edellinen muoto, alilaatta tai laatta."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Alue"
@@ -14173,40 +14358,22 @@ msgid "Runnable"
msgstr "Suoritettava"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Poista esiasetus '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Projektin vienti alustalle '%s' epäonnistui.\n"
-"Vientimallit näyttävät puuttuvan tai olevan virheellisiä."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Projektin vienti alustalle '%s' epäonnistui.\n"
-"Tämä saattaa johtua asetusongelmista viennin esiasetuksissa tai vientisi "
-"asetuksissa."
+msgid "Delete preset '%s'?"
+msgstr "Poista esiasetus '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Viedään kaikki"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Annettu vientipolku ei ole olemassa:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Vientimallit tälle alustalle puuttuvat tai ovat viallisia:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Vientipolku"
@@ -14315,19 +14482,27 @@ msgid "More Info..."
msgstr "Siirrä..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Vie PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Vie projekti"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Vientitila?"
+msgid "Export All"
+msgstr "Vie kaikki"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Ole hyvä ja valitse tyhjä kansio."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Vie kaikki"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14335,7 +14510,8 @@ msgid "ZIP File"
msgstr "ZIP-tiedosto"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godot-pelipaketti"
#: editor/project_export.cpp
@@ -14343,6 +14519,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Tälle alustalle ei löytynyt vientipohjia:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projektin perustajat"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Hallinnoi vientimalleja"
@@ -14658,14 +14839,14 @@ msgid "Project Manager"
msgstr "Projektinhallinta"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Ladataan, hetkinen..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Viimeksi muutettu"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Ladataan, hetkinen..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Muokkaa projektia"
@@ -15890,7 +16071,8 @@ msgid "Attach Node Script"
msgstr "Liitä solmun skripti"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Etäinen "
#: editor/script_editor_debugger.cpp
@@ -16770,7 +16952,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Polygonit"
@@ -16948,7 +17130,8 @@ msgid "Disabled GDNative Singleton"
msgstr "GDNative singleton on poistettu käytöstä"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Kirjastot: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17396,7 +17579,6 @@ msgid "Use In Baked Light"
msgstr "Kehitä Lightmapit"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17426,6 +17608,19 @@ msgstr "Keskitä"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigointi"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Siirtymistila"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Seuraava taso"
@@ -17844,7 +18039,8 @@ msgstr ""
"korjaa solmusi."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Solmu palautti virheellisen jakson tulosteen: "
#: modules/visual_script/visual_script.cpp
@@ -17852,7 +18048,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Jaksobitti löytyi, mutta solmua ei löydy pinosta, raportoi bugi!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Pinon ylivuoto pinosyvyydellä: "
#: modules/visual_script/visual_script.cpp
@@ -18223,7 +18420,8 @@ msgid "for (elem) in (input):"
msgstr "kullekin (elementille) (syötteessä):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Syötetyyppi ei ole iteroitavissa: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18231,7 +18429,8 @@ msgid "Iterator became invalid"
msgstr "Iteraattori muuttui epäkelvoksi"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iteraattori muuttui epäkelvoksi: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18395,11 +18594,13 @@ msgid "Operator"
msgstr "Iteraattori"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Virheellinen argumentti tyyppiä: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Virheelliset argumentit: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18412,11 +18613,13 @@ msgid "Var Name"
msgstr "Nimi"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet ei löytynyt skriptistä: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet ei löytynyt skriptistä: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18723,6 +18926,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Paketilla on oltava ainakin yksi '.' erotinmerkki."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Mukautettu solmu"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18731,6 +18939,16 @@ msgstr ""
msgid "Export Format"
msgstr "Vientipolku"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Ääriviivojen koko:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Kohde"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18774,16 +18992,6 @@ msgstr "Tarkastele edellistä ilmentymää"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Ääriviivojen koko:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Kohde"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18947,10 +19155,6 @@ msgid "Could not execute on device."
msgstr "Ei voitu suorittaa laitteella."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "'apksigner' työkalua ei löydy."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19041,15 +19245,17 @@ msgstr ""
"käyttää."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetuksen "
"arvo on \"Oculus Mobile VrAPI\" tai \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Passthrough\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetuksen arvo "
"on \"OpenXR\"."
@@ -19061,32 +19267,60 @@ msgstr ""
"päällä."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Min Sdk\" vaihtaminen on mahdollista vain, kun \"Use Custom Build\" asetus "
"on päällä."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Target Sdk\" vaihtaminen on mahdollista vain, kun \"Use Custom Build\" "
"asetus on päällä."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"\"Target Sdk\" versionumeron on oltava suurempi tai yhtä suuri kuin \"Min "
"Sdk\" versionumeron."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Allekirjoitetaan DMG-koodi"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"'apksigner' ei löydy.\n"
"Ole hyvä ja tarkista, että komento on saatavilla Android SDK build-tools "
@@ -19106,6 +19340,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Keystorea ei löytynyt, ei voida viedä."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Aliprosessia ei voitu käynnistää!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' palautti virheen #%d"
@@ -19137,7 +19376,8 @@ msgstr ""
"Virheellinen tiedostonimi! Android APK tarvitsee *.apk tiedostopäätteen."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "Vientiformaatti ei ole tuettu!\n"
#: platform/android/export/export_plugin.cpp
@@ -19149,10 +19389,9 @@ msgstr ""
"versiotietoa. Ole hyvä ja uudelleenasenna se 'Projekti'-valikosta."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Androidin käännösversion epäyhteensopivuus:\n"
@@ -19161,14 +19400,16 @@ msgstr ""
"Ole hyvä ja uudelleenasenna Androidin käännösmalli 'Projekti'-valikosta."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Ei voitu ylikirjoittaa res://android/build/res/*.xml tiedostoja projektin "
"nimellä"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "Ei voitu viedä projektitiedostoja gradle-projektiksi.\n"
#: platform/android/export/export_plugin.cpp
@@ -19180,8 +19421,9 @@ msgid "Building Android Project (gradle)"
msgstr "Käännetään Android-projektia (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Android-projektin käännös epäonnistui, tarkista virhe tulosteesta.\n"
@@ -19201,7 +19443,8 @@ msgstr ""
"tulosteet gradle-projektin hakemistosta."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Pakettia ei löytynyt: %s"
#: platform/android/export/export_plugin.cpp
@@ -19209,17 +19452,16 @@ msgid "Creating APK..."
msgstr "Luodaan APK:ta..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Ei löydetty APK-vientimallia vientiä varten:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19232,7 +19474,8 @@ msgid "Adding files..."
msgstr "Lisätään tiedostoja..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Ei voitu viedä projektin tiedostoja"
#: platform/android/export/export_plugin.cpp
@@ -19475,6 +19718,17 @@ msgstr "Mukautettu solmu"
msgid "Custom BG Color"
msgstr "Mukautettu solmu"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Hallinnoi malleja"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Mukautettua release-vientimallia ei löytynyt."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Team ID ei ole määritetty - ei voida konfiguroida projektia."
@@ -19496,22 +19750,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Suorita viety HTML järjestelmän oletusselaimessa."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Mallin avaus vientiin epäonnistui:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Virheellinen vientimalli:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Ei voitu kirjoittaa tiedostoa:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Aseta marginaali"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Ei voitu lukea tiedostoa:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Erotus:"
@@ -19586,15 +19853,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Ei voitu lukea HTML tulkkia:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Ei voitu luoda HTTP-palvelimen hakemistoa:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Virhe käynnistettäessä HTTP-palvelinta:"
#: platform/javascript/export/export.cpp
@@ -19887,9 +20157,29 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Ei voitu viedä projektin tiedostoja"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Aliprosessia ei voitu käynnistää!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Kääntäminen"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
"Huom: Notarisointiprosessi kestää yleensä alle tunnin. Kun käsittely on "
"valmis, saat sähköpostin."
@@ -19911,18 +20201,83 @@ msgstr ""
"sovellukseen (vapaavalintainen):"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Timestamping ei ole yhteensopiva ad-hoc allekirjoituksen kanssa ja kytketään "
+"pois päältä!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Hardened Runtime ei ole yhteensopiva ad-hoc allekirjoituksen kanssa ja "
+"kytketään pois päältä!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Identiteettiä ei löytynyt."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Virhe tallennettaessa tiedostoa: %s"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Suhteelliset symboliset linkit eivät ole tuettuja tässä "
+"käyttöjärjestelmässä, viety projekti saattaa olla rikkinäinen!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Suunnat"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Aliprosessia ei voitu käynnistää!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Luodaan app bundlea"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Ei löydetty app-vientimallia vientiä varten:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Virheellinen vientimalli:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19931,8 +20286,9 @@ msgstr ""
"käyttöjärjestelmässä, viety projekti saattaa olla rikkinäinen!"
#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
"Pyydettyä binäärivientimallia '%s' ei löydy. Se saattaa puuttua "
@@ -19979,6 +20335,16 @@ msgid "Sending archive for notarization"
msgstr "Lähetetään tiedostopaketti notarisointia varten"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekti"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Ei voitu viedä projektitiedostoja gradle-projektiksi.\n"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Virheellinen bundle-tunniste:"
@@ -20321,6 +20687,11 @@ msgid "Debug Algorithm"
msgstr "Debuggeri"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Väliaikaista tiedosta ei voida poistaa:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20368,6 +20739,76 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Satunnainen kierto:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Keystorea ei löytynyt, ei voida viedä."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Keystorea ei löytynyt, ei voida viedä."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"rcedit-työkalu täytyy olla konfiguroituna editorin asetuksissa (Export > "
+"Windows > Rcedit) ikonin tai sovelluksen tietojen muuttamiseksi."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Virheellinen käynnistystiedosto."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Keystorea ei löytynyt, ei voida viedä."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Keystorea ei löytynyt, ei voida viedä."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Virheellinen Identifier osio:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Virheellinen nimi."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"rcedit-työkalu täytyy olla konfiguroituna editorin asetuksissa (Export > "
+"Windows > Rcedit) ikonin tai sovelluksen tietojen muuttamiseksi."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Virheellinen käynnistystiedosto."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Väliaikaista tiedosta ei voida poistaa:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20388,6 +20829,23 @@ msgid "Invalid product version:"
msgstr "Virheellinen tuotteen versio:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Virheellinen käynnistystiedosto."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Uusi ikkuna"
@@ -20404,6 +20862,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20531,7 +20993,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Poimintaetäisyys:"
@@ -20582,7 +21045,7 @@ msgstr "Lähennä"
msgid "Custom Viewport"
msgstr "1 näyttöruutu"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21348,11 +21811,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Muokkaa yhteyttä:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Sidonta"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Poimintaetäisyys:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Poimintaetäisyys:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Edistyneet"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Ota käyttöön"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21370,16 +21865,6 @@ msgstr "Käännä vaakasuorasti"
msgid "Max Speed"
msgstr "Nopeus:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Poimintaetäisyys:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Ota käyttöön"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -21409,24 +21894,26 @@ msgstr ""
"se toimisi. Ole hyvä ja aseta ominaisuus tai piirrä monikulmio."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance solmun täytyy olla Navigation2D solmun "
-"alaisuudessa. Se tarjoaa vain navigointidataa."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Keskitä alas"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Matkaa"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Kierto %s astetta."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Globaali vakio"
@@ -22640,6 +23127,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Muunnos keskeytetty."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22665,14 +23159,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent solmua voidaan käyttää ainoastaan Spatial solmun alla."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance solmun täytyy olla Navigation solmun alaisuudessa. Se "
-"tarjoaa vain navigointidataa."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23577,6 +24063,11 @@ msgstr ""
"Muuta kokoa sen sijaan alisolmujen törmäysmuodoissa."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Pidä globaali muunnos"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24838,6 +25329,11 @@ msgstr "Kansio:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Pelkkä valinta"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Ota käyttöön"
@@ -25250,18 +25746,6 @@ msgstr "Vientipolku"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Tätä näyttöikkunaa ei ole asetettu renderöitäväksi. Jos haluat sen näyttävän "
-"sisältöä suoraan näytölle, tee sitä Control solmun alisolmu, jotta se voi "
-"saada koon. Muutoin tee siitä RenderTarget ja aseta sen sisäinen tekstuuri "
-"johonkin solmuun näkyväksi."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -25269,6 +25753,15 @@ msgstr ""
"kummassakin suunnassa, jotta mitään renderöidään."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25427,6 +25920,16 @@ msgid "3D Physics"
msgstr " (fyysinen)"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigointi"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigointi"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26854,7 +27357,7 @@ msgstr "Siirtymä: "
msgid "Refraction"
msgstr "Erotus:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26939,7 +27442,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Skaalataan: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Aseta muunnoksen kantatyyppi"
#: scene/resources/navigation_mesh.cpp
@@ -26957,10 +27465,15 @@ msgid "Source Group Name"
msgstr "Lähde"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Pääkohtauksen argumentit:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26970,11 +27483,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Alue"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Yhdistä kohtauksesta"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26988,6 +27506,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Näytä oletus"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Poimintaetäisyys:"
@@ -27005,9 +27528,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Luodaan AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Siirtymä:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27423,6 +27956,11 @@ msgid "Scenario"
msgstr "Kohtaus"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigointi"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27440,6 +27978,26 @@ msgstr "Vasen lineaarinen"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Oletus"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Oletusesikatselu"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testaus"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Muokkaa yhteyttä:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/fil.po b/editor/translations/fil.po
index cebedb2c50..0a154fd6ae 100644
--- a/editor/translations/fil.po
+++ b/editor/translations/fil.po
@@ -205,9 +205,10 @@ msgid "Data"
msgstr "Data"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Network"
@@ -312,7 +313,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Kulang sa bytes para i-decode ang bytes, o invalid na format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Invalid na input %i (di pinasa) sa expression"
#: core/math/expression.cpp
@@ -356,6 +358,15 @@ msgstr "Pila ng Mensahe"
msgid "Max Size (KB)"
msgstr "Max na Laki (KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Kopya"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -381,6 +392,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Pisika"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -432,6 +448,10 @@ msgid "Pressure"
msgstr "Presyur"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relatibo"
@@ -535,7 +555,8 @@ msgstr "Paglalarawan"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Patakbuhin"
@@ -618,6 +639,10 @@ msgid "Main Run Args"
msgstr "Pangunahing Args sa Pagtakbo"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr ""
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Maghanap sa mga File Extension"
@@ -625,18 +650,15 @@ msgstr "Maghanap sa mga File Extension"
msgid "Script Templates Search Path"
msgstr "Path ng mga Hahanaping Script Template"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Version Control"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+#, fuzzy
+msgid "Version Control Autoload On Startup"
msgstr "Kusang i-load sa Simula"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Pangalan ng Plugin"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Version Control"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -743,7 +765,8 @@ msgid "Quality"
msgstr "Kalidad"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Mga Filter"
@@ -1010,6 +1033,7 @@ msgstr "Mataas na Kalidad"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Max na Laki ng Buffer ng Blend Shape (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libre"
@@ -1026,7 +1050,7 @@ msgstr "Salamin"
msgid "Time:"
msgstr "Oras:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Value:"
@@ -1271,10 +1295,71 @@ msgid "Remove this track."
msgstr "Tanggalin ang track na ito."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Oras (seg): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Posisyon"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Pagulit ng Animation"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Invalid na index ng type na %s para sa base type na %s"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Stream Peer"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Kopya"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Mga Anim Clip:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Nakabukas ang Toggle Track"
@@ -1482,7 +1567,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2003,14 +2088,15 @@ msgstr "Mga Paborito:"
msgid "Recent:"
msgstr "Kamakailan:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Paghahanap:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2066,8 +2152,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2075,7 +2161,7 @@ msgid "Open"
msgstr "I-buksan"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2366,7 +2452,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2418,8 +2504,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2622,6 +2708,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Pagulit ng Animation"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2634,6 +2737,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2737,8 +2860,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2910,9 +3050,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3994,14 +4134,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4119,6 +4251,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Version Control"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4146,6 +4282,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4779,11 +4919,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Pahina: "
#: editor/editor_properties_array_dict.cpp
@@ -4876,6 +5019,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Ilipat Ang Mga Bezier Points"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5133,7 +5281,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5158,6 +5308,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5674,10 +5832,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6403,14 +6563,6 @@ msgid "Replace in Files"
msgstr "Palitan ang Lahat"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Palitan ang Lahat"
@@ -6539,7 +6691,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr ""
@@ -6786,7 +6938,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6814,6 +6966,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7471,11 +7635,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7493,11 +7666,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7594,10 +7762,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7638,10 +7808,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7752,8 +7918,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Pagulit ng Animation"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7769,11 +7936,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8660,6 +8822,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8723,6 +8886,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9467,7 +9634,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9698,6 +9865,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9851,13 +10019,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9866,10 +10027,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10558,13 +10715,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Iskala"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Pagulit ng Animation"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10587,11 +10748,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11066,7 +11222,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11098,15 +11254,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Application"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11170,6 +11327,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Pagulit ng Animation"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12036,8 +12198,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13457,20 +13618,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13478,14 +13634,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13586,19 +13734,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "3D Transform Track"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13606,14 +13759,19 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Property Track"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13885,11 +14043,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15047,8 +15205,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Alisin"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15873,7 +16032,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -16036,7 +16195,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16444,7 +16603,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16471,6 +16629,19 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Burahin ang (mga) Napiling Key"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Halaga:"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16870,7 +17041,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16878,7 +17049,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17245,7 +17416,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17253,7 +17424,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17406,12 +17577,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Mga invalid na argumento para i-construct ang '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Mga invalid na argumento para i-construct ang '%s'"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17422,11 +17595,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17719,6 +17892,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Ilipat Ang Mga Bezier Points"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17727,6 +17905,14 @@ msgstr ""
msgid "Export Format"
msgstr "3D Transform Track"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr ""
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17763,14 +17949,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17918,10 +18096,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17998,12 +18172,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18012,25 +18186,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Burahin ang (mga) Napiling Key"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18046,6 +18244,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18074,7 +18276,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18085,19 +18287,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18110,7 +18310,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18125,7 +18325,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18133,15 +18333,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18151,7 +18348,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18383,6 +18580,15 @@ msgstr "Mga Functions:"
msgid "Custom BG Color"
msgstr "Mga Functions:"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18404,19 +18610,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Invalid na index ng type na %s para sa base type na %s"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Ikabit"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18491,15 +18707,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18775,9 +18991,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Pagulit ng Animation"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18793,18 +19026,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Paglalarawan"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "3D Transform Track"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -18812,7 +19098,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18853,6 +19139,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Pagulit ng Animation"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19149,6 +19444,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19190,6 +19489,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Mga invalid na argumento para i-construct ang '%s'"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19208,6 +19562,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19223,6 +19593,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19333,7 +19707,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19378,7 +19753,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20047,35 +20422,55 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Ikabit"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Binuksan ang V-Sync"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "Binuksan ang V-Sync"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20098,13 +20493,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20112,7 +20509,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21166,6 +21563,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "3D Transform Track"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21187,12 +21591,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21983,6 +22381,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "3D Transform Track"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23084,6 +23487,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23444,16 +23851,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23596,6 +24004,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Burahin ang (mga) Napiling Key"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Burahin ang (mga) Napiling Key"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24867,7 +25285,7 @@ msgstr ""
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24944,8 +25362,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Iskala"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Pagulit ng Animation"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -24960,7 +25384,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24972,11 +25400,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Mga Functions:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24989,6 +25422,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25005,7 +25442,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25376,6 +25821,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Pagulit ng Animation"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25391,6 +25841,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Halaga:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Halaga:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Halaga:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Ikabit"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index 97951a6d7f..88c4966b54 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -32,7 +32,7 @@
# Przemyslaw Gasinski <gasinski.przemek@protonmail.ch>, 2017.
# rafeu <duchainer@gmail.com>, 2016-2017.
# rawida <rawida@tempinbox.com>, 2018.
-# Rémi Verschelde <rverschelde@gmail.com>, 2016-2017.
+# Rémi Verschelde <akien@godotengine.org>, 2016-2022.
# Robin Arys <robinarys@hotmail.com>, 2017.
# Roger BR <drai_kin@hotmail.com>, 2016.
# salty64 <cedric.arrabie@univ-pau.fr>, 2018, 2020, 2021.
@@ -49,7 +49,6 @@
# Brice Lobet <tempo.data@gmail.com>, 2018.
# Florent Wijanto <f_wijanto@hotmail.com>, 2018.
# Olivier gareau <olivier.gareau@protonmail.com>, 2018.
-# Rémi Verschelde <akien@godotengine.org>, 2018, 2019, 2020, 2021.
# Rémi Bintein <reminus5@hotmail.fr>, 2018, 2019.
# Sylvain Corsini <sylvain.corsini@gmail.com>, 2018.
# Caye Pierre <pierrecaye@laposte.net>, 2019.
@@ -66,7 +65,7 @@
# Fabrice <fabricecipolla@gmail.com>, 2019.
# Romain Paquet <titou.paquet@gmail.com>, 2019.
# Xavier Sellier <contact@binogure-studio.com>, 2019.
-# Sofiane <Sofiane-77@caramail.fr>, 2019, 2021.
+# Sofiane <Sofiane-77@caramail.fr>, 2019, 2021, 2022.
# Camille Mohr-Daurat <pouleyketchoup@gmail.com>, 2019.
# Pierre Stempin <pierre.stempin@gmail.com>, 2019.
# Pierre Caye <pierrecaye@laposte.net>, 2020, 2021, 2022.
@@ -96,13 +95,20 @@
# Maxime Rigout <max.rigout@gmail.com>, 2022.
# Zachary Dionne <zachary.dionne.01@gmail.com>, 2022.
# Fares Setbel <fares.setbels@gmail.com>, 2022.
+# Nathan Hamy <hamynathan92@gmail.com>, 2022.
+# HOUA <ninjacowzx@gmail.com>, 2022.
+# DinosaurHorseSword <ewenlandry@mailfence.com>, 2022.
+# Arnaud Lier <arnaud@ric-rac.org>, 2022.
+# Jérémie Guegain <mirejai@orange.fr>, 2022.
+# cwulveryck <cwulveryck@online.fr>, 2022.
+# Helix Sir <vincentbarkmann@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-15 09:38+0000\n"
-"Last-Translator: Fares Setbel <fares.setbels@gmail.com>\n"
+"PO-Revision-Date: 2022-08-05 01:04+0000\n"
+"Last-Translator: Helix Sir <vincentbarkmann@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -110,12 +116,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Tablet Driver"
-msgstr "Pilote De Tablette"
+msgstr "Pilote de Tablette"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -138,18 +143,16 @@ msgid "V-Sync Via Compositor"
msgstr "V-Sync via le compositeur"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Delta Smoothing"
msgstr "Lissage de Delta"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Mode d'utilisation du processeur bas en ressources"
+msgstr "Mode d'utilisation faible du processeur"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr "Mode d'Utilisation Faible du Processeur (µs)"
+msgstr "Mode d'utilisation faible du processeur Veille (µsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
@@ -242,9 +245,8 @@ msgid "Time Scale"
msgstr "Echelle de temps"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Correction de la physique gigue"
+msgstr "Correction des sursauts de physique"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
@@ -282,9 +284,8 @@ msgid "Command Queue"
msgstr "File d’Attente de Commandes"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Multithreading Queue Size (KB)"
-msgstr "Taille de la file du Multi-tache (KB)"
+msgstr "Taille de la fille d'attente Multi-Tache (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -299,9 +300,10 @@ msgid "Data"
msgstr "Données"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Réseau"
@@ -315,11 +317,11 @@ msgstr "Taille de page"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Pré-lecture de page"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Mode De Blocage Activé"
#: core/io/http_client.cpp
msgid "Connection"
@@ -327,7 +329,7 @@ msgstr "Connexion"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Taile des tronçons de lecture"
#: core/io/marshalls.cpp
msgid "Object ID"
@@ -359,31 +361,31 @@ msgstr "Mode de Transfert"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Taille maximale du tampon d'encodage"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "Taille maximale du tampon d'entrée"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "Taille maximale du tampon de sortie"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "Pair de flux"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Gros-boutiste"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Tableau de données"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Blocage de la poignée de main"
#: core/io/udp_server.cpp
msgid "Max Pending Connections"
@@ -406,8 +408,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Pas assez d’octets pour le décodage, ou format invalide."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Entrée non valide %i (non transmise) dans l’expression"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Entrée non valide %d (non transmise) dans l’expression"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -444,12 +446,20 @@ msgstr "État"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "File d'Attente de Message"
#: core/message_queue.cpp
msgid "Max Size (KB)"
msgstr "Taille Maximale (KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Mode De Déplacement Souris"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Utiliser l'entrée accumulée"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -469,12 +479,16 @@ msgstr "Contrôle"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Méta"
#: core/os/input_event.cpp
msgid "Command"
msgstr "Commande"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "Physique"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -482,14 +496,12 @@ msgid "Pressed"
msgstr "Pressé"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Scancode"
+msgstr "Code de scan"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical Scancode"
-msgstr "Touche physique"
+msgstr "Code de Scan Physique"
#: core/os/input_event.cpp
msgid "Unicode"
@@ -497,12 +509,11 @@ msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "Écho"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
-msgstr "Bouton"
+msgstr "Masque Bouton"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
msgid "Global Position"
@@ -521,7 +532,6 @@ msgid "Doubleclick"
msgstr "Double clique"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Tilt"
msgstr "Inclinaison"
@@ -530,6 +540,10 @@ msgid "Pressure"
msgstr "Pression"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "Stylo Inversé"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relatif"
@@ -562,7 +576,7 @@ msgstr "Action"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "Force"
#: core/os/input_event.cpp
msgid "Delta"
@@ -596,7 +610,7 @@ msgstr "Numéro du contrôleur"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "Valeur du controller"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
@@ -606,12 +620,11 @@ msgstr "Application"
#: core/project_settings.cpp main/main.cpp
msgid "Config"
-msgstr "Config"
+msgstr "Configuration"
#: core/project_settings.cpp
-#, fuzzy
msgid "Project Settings Override"
-msgstr "Paramètres du projet..."
+msgstr "Remplacement Des Paramètres du Projet"
#: core/project_settings.cpp core/resource.cpp
#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
@@ -634,7 +647,8 @@ msgstr "Description"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Lancer"
@@ -652,9 +666,8 @@ msgid "Disable stderr"
msgstr "Désactiver stderr"
#: core/project_settings.cpp
-#, fuzzy
msgid "Use Hidden Project Data Directory"
-msgstr "Utiliser un Répertoire de Données du Projet Caché"
+msgstr "Utiliser un Répertoire Caché Pour Les Données du Projet"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
@@ -667,15 +680,14 @@ msgstr "Nom du Répertoire Utilisateur Personnalisé"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Tout afficher"
+msgstr "Affichage"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Largeur"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -683,23 +695,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Lumière"
+msgstr "Hauteur"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Toujours Au Dessus"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Étendu à Gauche"
+msgstr "Tester la Largeur"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "En période de test"
+msgstr "Tester la Hauteur"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -718,30 +727,28 @@ msgid "Editor"
msgstr "Éditeur"
#: core/project_settings.cpp
-#, fuzzy
msgid "Main Run Args"
-msgstr "Arguments de la scène principale :"
+msgstr "Paramètres d'exécution du programme principal"
+
+#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Noms de scènes"
#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "Rechercher dans les extensions de fichiers"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Contrôle de version"
+msgstr "Chemin où chercher les modèles de scripts"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+msgid "Version Control Autoload On Startup"
+msgstr "Chargement automatique de la version de contrôle au démarrage"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nom du Plugin"
+msgid "Version Control Plugin Name"
+msgstr "Nom de l'extension de version de contrôle"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -750,64 +757,55 @@ msgstr "Entrée"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "Accepter"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
msgstr "Sélectionner"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
msgstr "Annuler"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "Focaliser le chemin"
+msgstr "Focus suivant"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "Focaliser le chemin"
+msgstr "Focus précédent"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Left"
-msgstr "En haut à gauche"
+msgstr "Gauche"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Right"
-msgstr "En haut à droite"
+msgstr "Droite"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "Haut"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "Descendre"
+msgstr "Bas"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "Page :"
+msgstr "Page Haut (Interface)"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "Page Bas"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "Accueil Interface Utilisateur"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI End"
-msgstr "À la fin"
+msgstr "Fin"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -831,9 +829,8 @@ msgid "3D"
msgstr "3D"
#: core/project_settings.cpp
-#, fuzzy
msgid "Smooth Trimesh Collision"
-msgstr "Créer une collision Trimesh"
+msgstr "Lissage de Collision Trimesh"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -858,13 +855,14 @@ msgid "Quality"
msgstr "Qualité"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filtres"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "Augmenter l'intensité"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -889,9 +887,8 @@ msgid "Profiler"
msgstr "Profileur"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "Faire fonction"
+msgstr "Nombre maximum de fonctions"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
msgid "Compression"
@@ -903,11 +900,11 @@ msgstr "Formats"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "Appairement longue distance"
#: core/project_settings.cpp
msgid "Compression Level"
@@ -915,7 +912,7 @@ msgstr "Niveau de Compression"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "Taille du journal de la fenêtre"
#: core/project_settings.cpp
msgid "Zlib"
@@ -931,24 +928,23 @@ msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "Modules"
#: core/register_core_types.cpp
msgid "TCP"
msgstr "TCP"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "Connexions à la méthode :"
+msgstr "Délai d'expiration de la connexion en secondes"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "Flux de pair de paquet"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Tampon Max (puissance de 2)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
@@ -989,7 +985,7 @@ msgstr "Test"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "Repli"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -1025,17 +1021,17 @@ msgstr "Eio"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "Tampons"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "Taille du tampon des polygones du canevas (Ko)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "Taille de l'index des polygones du canevas (Ko)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -1047,56 +1043,52 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
-msgstr "Magnétisme intelligent"
+msgstr "Magnétisme"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Use GPU Pixel Snap"
-msgstr "Aligner au pixel près"
+msgstr "Arrondissement GPU au pixel le plus proche"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Taille du tampon immédiat (Ko)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
-#, fuzzy
msgid "Lightmapping"
-msgstr "Précalculer les lightmaps"
+msgstr "Cartographie des lumières"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Utiliser l’échantillonnage bicubique"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Maximum d'éléments pouvant être rendus"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Maximum de lumières pouvant être rendues"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Max Renderable Reflections"
-msgstr "Centrer sur la sélection"
+msgstr "Nombre maximum de reflets pouvant être rendus"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Maximum de lumières par objet"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Transluminescence"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1112,17 +1104,16 @@ msgid "Scale"
msgstr "Mode mise à l'échelle"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Follow Surface"
-msgstr "Remplir la surface"
+msgstr "Suivre la surface"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "Échantillons de poids"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Traçage de cone voxel"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
@@ -1130,8 +1121,9 @@ msgstr "Haute Qualité"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "Taille max du tampon de mélange de formes"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libre"
@@ -1148,7 +1140,7 @@ msgstr "Miroir"
msgid "Time:"
msgstr "Temps :"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valeur :"
@@ -1186,7 +1178,7 @@ msgstr "Modifier le temps de l’image-clé"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "Changer la transition de l’animation"
+msgstr "Transition de changement de l’animation"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
@@ -1203,9 +1195,8 @@ msgstr "Changer l’appel de l’animation"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Image %"
+msgstr "Trame"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1231,14 +1222,13 @@ msgid "Value"
msgstr "Valeur"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Compte"
+msgstr "Nombre d'arguments"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Args"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1248,31 +1238,27 @@ msgid "Type"
msgstr "Type"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Définir la poignée"
+msgstr "Poignée d'entrée"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Définir la poignée"
+msgstr "Poignée de sortie"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "Flux"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Décalage du Pivot"
+msgstr "Décalage du Départ"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Décalage :"
+msgstr "Décalage à la fin"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1285,9 +1271,8 @@ msgid "Animation"
msgstr "Animation"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Ease in-out"
+msgstr "Transition entrée-sortie"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1396,8 +1381,62 @@ msgid "Remove this track."
msgstr "Supprime cette piste."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Temps (s) : "
+msgid "Time (s):"
+msgstr "Temps (s) :"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Position :"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotation :"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Échelle :"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Type :"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Invalide, type attendu : %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Transition entrée-sortie :"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "Poignée d'entrée :"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Poignée de sortie :"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Flux :"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Début (s) :"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Fin (s) :"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Clip d'animation :"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1485,9 +1524,8 @@ msgid "Editors"
msgstr "Éditeurs"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Confirm Insert Track"
-msgstr "Insérer une piste et clé d’animation"
+msgstr "Confirmer l'ajout de piste"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1616,8 +1654,8 @@ msgid "Add Method Track Key"
msgstr "Ajouter une clé de méthode"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Méthode introuvable dans l’objet : "
+msgid "Method not found in object:"
+msgstr "Méthode introuvable dans l’objet :"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1637,7 +1675,7 @@ msgstr "Méthodes"
#: editor/animation_track_editor.cpp
msgid "Bezier"
-msgstr ""
+msgstr "Bezier"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -2154,14 +2192,15 @@ msgstr "Favoris :"
msgid "Recent:"
msgstr "Récents :"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Rechercher :"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Correspondances :"
@@ -2221,8 +2260,8 @@ msgstr "Recherche ressource de remplacement :"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2230,8 +2269,8 @@ msgid "Open"
msgstr "Ouvrir"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Propriétaires de :"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Possesseur de : %s (Total : %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2538,7 +2577,7 @@ msgid "Bus Options"
msgstr "Options de bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliquer"
@@ -2590,9 +2629,9 @@ msgstr "Ouvrir une disposition de bus audio"
msgid "There is no '%s' file."
msgstr "'%s' n'existe pas."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Disposition sur l'écran"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Disposition :"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2798,6 +2837,22 @@ msgid "Choose"
msgstr "Choisir"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Exportation du projet pour la plateforme :"
+
+#: editor/editor_export.cpp
+msgid "Completed with warnings."
+msgstr "Terminé avec des avertissements."
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Terminé avec succès."
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "Échec."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Stockage du fichier :"
@@ -2810,6 +2865,26 @@ msgid "Packing"
msgstr "Empaquetage"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "Enregistrer PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "Impossible de créer le fichier \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "Impossible d'exporter les fichiers du projet."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Impossible d'ouvrir le fichier en lecture depuis le chemin \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr "Enregistrer le ZIP"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2888,28 +2963,27 @@ msgstr "64 Bits"
#: editor/editor_export.cpp
msgid "Embed PCK"
-msgstr ""
+msgstr "Intégrer PCK"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Texture Format"
-msgstr "RegionDeTexture"
+msgstr "Format de la texture"
#: editor/editor_export.cpp
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
msgid "No BPTC Fallbacks"
@@ -2927,9 +3001,26 @@ msgstr "Modèle de débogage personnalisé introuvable."
msgid "Custom release template not found."
msgstr "Modèle de version personnalisée introuvable."
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr "Préparer le modèle type"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "Le chemin de l'exportation donné n'existe pas."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "Fichier modèle introuvable :"
+msgid "Template file not found: \"%s\"."
+msgstr "Fichier modèle introuvable : \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "La copie du modèle d'exportation a échoué."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "Intégration PCK"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -2937,7 +3028,7 @@ msgstr "Le PCK inclus dans un export 32-bits ne peut dépasser 4 Go."
#: editor/editor_export.cpp
msgid "Convert Text Resources To Binary On Export"
-msgstr ""
+msgstr "Convertir les ressources textuelles en binaire lors de l'exportation"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -3109,9 +3200,9 @@ msgid "Import"
msgstr "Importer"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exporter"
@@ -3150,9 +3241,8 @@ msgid "Manage Editor Feature Profiles"
msgstr "Gérer les profils de fonctionnalités de l'éditeur"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Default Feature Profile"
-msgstr "Profil des fonctionnalités de Godot"
+msgstr "Profil de fonctionalités par défaut"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -3264,7 +3354,7 @@ msgstr "Afficher les fichiers cachés"
#: editor/editor_file_dialog.cpp
msgid "Disable Overwrite Warning"
-msgstr ""
+msgstr "Désactiver l'avertissement de réécriture"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -3367,7 +3457,7 @@ msgstr "Ré-importation des assets"
#: editor/editor_file_system.cpp
msgid "Reimport Missing Imported Files"
-msgstr ""
+msgstr "Réimporter les fichiers importés manquants"
#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
@@ -3478,7 +3568,7 @@ msgstr "Aide"
#: editor/editor_help.cpp
msgid "Sort Functions Alphabetically"
-msgstr ""
+msgstr "Trier les fonctions par ordre alphabétique"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -3567,25 +3657,21 @@ msgid "Read Only"
msgstr "Lecture Seule"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#, fuzzy
msgid "Checkable"
-msgstr "Item à cocher"
+msgstr "Cochable"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Checked"
-msgstr "Item coché"
+msgstr "Coché"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Draw Red"
-msgstr "Appels de dessin :"
+msgstr "Dessiner en rouge"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Keying"
-msgstr "Jouer"
+msgstr "En train de taper"
#: editor/editor_inspector.cpp
msgid "Pin value"
@@ -3959,9 +4045,8 @@ msgid "Save & Reload"
msgstr "Sauvegarder & Recharger"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to '%s' before reloading?"
-msgstr "Sauvegarder les modifications effectuées à « %s » avant de quitter ?"
+msgstr "Sauvegarder les modifications dans '%s' avant de recharger ?"
#: editor/editor_node.cpp
msgid "Save & Close"
@@ -4080,11 +4165,9 @@ msgid "Open Project Manager?"
msgstr "Ouvrir le gestionnaire de projets ?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to the following scene(s) before reloading?"
msgstr ""
-"Sauvegarder les modifications sur la (les) scène(s) suivante(s) avant de "
-"quitter ?"
+"Sauvegarder les modifications de scène(s) suivante(s) avant de recharger ?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -4280,15 +4363,8 @@ msgstr "%d fichiers supplémentaires"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scène"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Chemin de la scène :"
+"Impossible d'écrire dans le fichier '%s', le fichier est peut être utilisé, "
+"verrouillé ou vous n'avez pas les permissions pour écrire dessus."
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
@@ -4296,58 +4372,52 @@ msgid "Interface"
msgstr "Interface"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tabs"
-msgstr "Basculer entre onglets de scène"
+msgstr "Onglets de scène"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Always Show Close Button"
-msgstr "Toujours afficher la grille"
+msgstr "Toujours afficher le bouton fermer"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "Redimensionner si plusieurs onglets"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
-msgstr ""
+msgstr "Largeur Minimum"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Output"
msgstr "Sortie"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Clear Output On Play"
-msgstr "Effacer la sortie"
+msgstr "Toujours nettoyer la sortie lors du lancement"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr ""
+msgstr "Toujours afficher la sortie lors du lancement"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
-msgstr ""
+msgstr "Toujours fermer la sortie à l'arrêt"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr ""
+msgstr "Enregistrer lorsque le focus est perdu"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Save Each Scene On Quit"
-msgstr "Sauvegarder la branche comme scène"
+msgstr "Enregistrer toutes les scènes à la fermeture"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Quit Confirmation"
-msgstr "Voir information"
+msgstr "Confirmer avant de quitter"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Show Update Spinner"
-msgstr "Cacher l'indicateur d'activité"
+msgstr "Afficher l'indicateur d'activité"
#: editor/editor_node.cpp
msgid "Update Continuously"
@@ -4359,62 +4429,60 @@ msgid "Update Vital Only"
msgstr "Changements de matériau"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Localize Settings"
-msgstr "Localisation"
+msgstr "Traduction des réglages"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Restore Scenes On Load"
-msgstr "Le nœud de la scène"
+msgstr "Restaurer les scènes au chargement"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "Afficher l’aperçu au survol"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
msgstr "Inspecteur"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Default Property Name Style"
-msgstr "Chemin du projet :"
+msgstr "Style par défaut des noms de propriétés"
#: editor/editor_node.cpp
msgid "Default Float Step"
-msgstr ""
+msgstr "Pas par défaut des flottant"
#: editor/editor_node.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Disable Folding"
-msgstr "Bouton désactivé"
+msgstr "Désactiver le repliage"
#: editor/editor_node.cpp
msgid "Auto Unfold Foreign Scenes"
-msgstr ""
+msgstr "Déplier automatiquement les scènes étrangères"
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
-msgstr ""
+msgstr "Édition horizontale de Vector2"
#: editor/editor_node.cpp
msgid "Horizontal Vector Types Editing"
-msgstr ""
+msgstr "Édition de Types de Vecteur Horizontal"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Resources In Current Inspector"
-msgstr "Ouvrir dans l'Inspecteur"
+msgstr "Ouvrir les ressources dans l'inspecteur actuel"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Resources To Open In New Inspector"
-msgstr "Ouvrir dans l'Inspecteur"
+msgstr "Ressources à ouvrir dans un nouvel inspecteur"
#: editor/editor_node.cpp
msgid "Default Color Picker Mode"
-msgstr ""
+msgstr "Mode par défaut du sélectionneur de couleur"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Contrôle de version"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
@@ -4444,6 +4512,10 @@ msgstr "Basculer en mode sans distraction."
msgid "Add a new scene."
msgstr "Ajouter une nouvelle scène."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scène"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Aller à la scène ouverte précédemment."
@@ -5067,12 +5139,11 @@ msgstr "Débogueur"
#: editor/editor_profiler.cpp
msgid "Profiler Frame History Size"
-msgstr ""
+msgstr "Taille de l'historique de la trame du profileur"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Profiler Frame Max Functions"
-msgstr "Renommer la fonction"
+msgstr "Nombre maximum de fonctions par trame de profileur"
#: editor/editor_properties.cpp
msgid "Edit Text:"
@@ -5136,12 +5207,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Le nœud sélectionné n'est pas un Viewport !"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Taille : "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Taille :"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Page : "
+msgid "Page:"
+msgstr "Page :"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5203,20 +5276,17 @@ msgstr "Nouveau %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Base Type"
-msgstr "Changer le type de base"
+msgstr "Type de base"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Edited Resource"
-msgstr "Ajouter une ressource"
+msgstr "Ressource modifiée"
#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-#, fuzzy
msgid "Editable"
-msgstr "Élément modifiable"
+msgstr "Modifiable"
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "New Script"
@@ -5239,6 +5309,10 @@ msgstr ""
"Aucun préréglage d'exportation exécutable trouvé pour cette plate-forme. \n"
"Ajoutez un préréglage exécutable dans le menu d'exportation."
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr "Exécution du projet"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Écrivez votre code dans la méthode _run()."
@@ -5264,34 +5338,32 @@ msgid "Did you forget the '_run' method?"
msgstr "Avez-vous oublié la méthode « _run » ?"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor Language"
-msgstr "Disposition de l'éditeur"
+msgstr "Langue de l'Éditeur"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Display Scale"
-msgstr "Tout afficher"
+msgstr "Échelle de l'affichage"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr ""
+msgstr "Échelle personnalisé de l'affichage"
#: editor/editor_settings.cpp
msgid "Main Font Size"
-msgstr ""
+msgstr "Taille de la police principale"
#: editor/editor_settings.cpp
msgid "Code Font Size"
-msgstr ""
+msgstr "Taille de la police du code"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr ""
+msgstr "Police anticrénelée"
#: editor/editor_settings.cpp
msgid "Font Hinting"
-msgstr ""
+msgstr "Indication de police"
#: editor/editor_settings.cpp
msgid "Main Font"
@@ -5299,7 +5371,7 @@ msgstr "Police Principale"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
-msgstr ""
+msgstr "Principale police grasse"
#: editor/editor_settings.cpp
msgid "Code Font"
@@ -5307,28 +5379,27 @@ msgstr "Police du Code"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
-msgstr ""
+msgstr "Assombrir l'éditeur à l'ouverture d'un dialogue"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Veille du Mode faible latence Processeur (µsec)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Veille du mode d'utilisation faible du processeur quand inactif (µsec)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Separate Distraction Mode"
-msgstr "Mode Sans Distraction"
+msgstr "Mode distraction séparée"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
-msgstr ""
+msgstr "Ouvrir automatiquement les captures d'écran"
#: editor/editor_settings.cpp
msgid "Max Array Dictionary Items Per Page"
-msgstr ""
+msgstr "Nombre maximum d'articles tableau de dictionnaire par page"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5342,85 +5413,75 @@ msgstr "Préréglage"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr ""
+msgstr "Couleur de police et d'icône"
#: editor/editor_settings.cpp
msgid "Base Color"
msgstr "Couleur de Base"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Accent Color"
-msgstr "Prélever une couleur"
+msgstr "Couleur d'accentuation"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
-msgstr ""
+msgstr "Contraste"
#: editor/editor_settings.cpp
msgid "Relationship Line Opacity"
-msgstr ""
+msgstr "Opacité des lignes de relation"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Highlight Tabs"
-msgstr "Enregistrement des lightmaps"
+msgstr "Surligner les onglets"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Border Size"
-msgstr "Pixels de bordure"
+msgstr "Taille de bordure"
#: editor/editor_settings.cpp
msgid "Use Graph Node Headers"
-msgstr ""
+msgstr "Utiliser les en-têtes de graphes des nœuds"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Additional Spacing"
-msgstr "Bouclage de l’animation"
+msgstr "Espacement supplémentaire"
#: editor/editor_settings.cpp
msgid "Custom Theme"
msgstr "Thème Personnalisé"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Script Button"
-msgstr "Molette bouton droit"
+msgstr "Afficher le bouton script"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Directories"
-msgstr "Directions"
+msgstr "Dossiers"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Autoscan Project Path"
-msgstr "Chemin du projet :"
+msgstr "Scan auto du chemin du projet"
#: editor/editor_settings.cpp
msgid "Default Project Path"
msgstr "Chemin du Projet par Défaut"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "On Save"
-msgstr "Enregistrer"
+msgstr "À l'enregistrement"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Compress Binary Resources"
-msgstr "Copier la ressource"
+msgstr "Compresser les ressources binaires"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
-msgstr ""
+msgstr "Sauvegarde sécurisée lors de l'archivage avant de renommer"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "File Dialog"
-msgstr "Dialogue XForm"
+msgstr "Fenêtre de sélection de fichiers"
#: editor/editor_settings.cpp
msgid "Thumbnail Size"
@@ -5428,20 +5489,19 @@ msgstr "Taille de la vignette"
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "S'attache"
#: editor/editor_settings.cpp
msgid "Scene Tree"
-msgstr "Arbre de Scène"
+msgstr "une arborescence, arbre des scènes"
#: editor/editor_settings.cpp
msgid "Start Create Dialog Fully Expanded"
-msgstr ""
+msgstr "Lancer le dialogue de création complètement déplié"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Always Show Folders"
-msgstr "Toujours afficher la grille"
+msgstr "Toujours afficher les dossiers"
#: editor/editor_settings.cpp
msgid "Property Editor"
@@ -5449,141 +5509,140 @@ msgstr "Éditeur de Propriétés"
#: editor/editor_settings.cpp
msgid "Auto Refresh Interval"
-msgstr ""
+msgstr "Intervalle d’autorafraîchissement"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "Ressources secondaires"
+msgstr "Teinte des sous-ressources"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Color Theme"
-msgstr "Thème de l'éditeur"
+msgstr "Thème de couleurs"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Line Spacing"
-msgstr ""
+msgstr "Espace entre les lignes"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Highlighting"
-msgstr "Éclairage direct"
+msgstr "Surlignage"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Syntax Highlighting"
msgstr "Coloration syntaxique"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
-msgstr ""
+msgstr "Mettre en évidence toutes les occurrences"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight Current Line"
-msgstr ""
+msgstr "Mettre en évidence la ligne actuelle"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
-msgstr ""
+msgstr "Surligner les lignes à types sûrs"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Indent"
-msgstr "Indenter vers la gauche"
+msgstr "Indenter"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
msgstr "Indentation automatique"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "Convertir indentations en espaces"
+msgstr "Convertir les indentations à l'enregistrement"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Tabs"
-msgstr "Appels de dessin :"
+msgstr "Montrer les tabulations"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Spaces"
-msgstr "Appels de dessin :"
+msgstr "Afficher les espaces"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigation"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Smooth Scrolling"
-msgstr ""
+msgstr "Défilement Doux"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "V Scroll Speed"
-msgstr ""
+msgstr "Vitesse du défilement vertical"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Minimap"
-msgstr "Afficher l'origine"
+msgstr "Afficher la minimap"
#: editor/editor_settings.cpp
msgid "Minimap Width"
-msgstr ""
+msgstr "Largeur de la mini-carte"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
+msgstr "Boutons additionnels de la souris déplacent dans l'historique"
+
+#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr "Sélection glisser/déposer"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr "Rester sur l’éditeur de script en sélectionnant un nœud"
#: editor/editor_settings.cpp
msgid "Appearance"
-msgstr ""
+msgstr "Apparence"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Show Line Numbers"
msgstr "Afficher les Numéros de Ligne"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Numbers Zero Padded"
-msgstr "Numéro de ligne :"
+msgstr "Numéros de lignes avec remplissage en zéros"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
-msgstr ""
+msgstr "Montrer le bandeau de marque-page"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Breakpoint Gutter"
-msgstr "Passer les points d'arrêt"
+msgstr "Afficher le bandeau de points d’arrêt"
#: editor/editor_settings.cpp
msgid "Show Info Gutter"
-msgstr ""
+msgstr "Montrer le bandeau d'information"
#: editor/editor_settings.cpp
msgid "Code Folding"
-msgstr ""
+msgstr "Rétrécir le code"
#: editor/editor_settings.cpp
msgid "Word Wrap"
-msgstr ""
+msgstr "Retour à la ligne des mots"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "Montrer les guides de longueur de ligne"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "Colonne douce des guides de longueur de ligne"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "Colonne dure des guides de longueur de ligne"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Script List"
@@ -5591,66 +5650,64 @@ msgstr "Liste des Scripts"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "Montrer l'ensemble des Membres"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Files"
msgstr "Fichiers"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Trim Trailing Whitespace On Save"
-msgstr "Supprimer les espaces de fin de ligne"
+msgstr "Retirer les espaces de fin de ligne à l'enregistrement"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr ""
+msgstr "Intervalle entre les sauvegardes automatiques (en secondes)"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "Restaurer les scripts au chargement"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
msgstr ""
+"Recharger et parcourir les scripts automatiquement lors de la sauvegarde"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "Recharger automatiquement les scripts sur changement externe"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Create Signal Callbacks"
-msgstr "Forcer les replis du shader"
+msgstr "Créer des rappels de signaux"
#: editor/editor_settings.cpp
msgid "Sort Members Outline Alphabetically"
-msgstr ""
+msgstr "Trier le contour des membres alphabétiquement"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr ""
+msgstr "Curseur"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "Défiler au-delà de la fin du fichier"
#: editor/editor_settings.cpp
msgid "Block Caret"
-msgstr ""
+msgstr "Caret bloc"
#: editor/editor_settings.cpp
msgid "Caret Blink"
-msgstr ""
+msgstr "Clignotement du caret"
#: editor/editor_settings.cpp
msgid "Caret Blink Speed"
-msgstr ""
+msgstr "Vitesse du clignotement du caret"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Right Click Moves Caret"
-msgstr "Clic droit pour ajouter un point"
+msgstr "Clic droit déplace le caret"
#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
#: modules/gdscript/gdscript_editor.cpp
@@ -5664,101 +5721,90 @@ msgstr ""
#: editor/editor_settings.cpp
msgid "Auto Brace Complete"
-msgstr ""
+msgstr "Complétion automatique des accolades"
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "Délai d'auto-complétion du code"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
+msgstr "Placer l'info-bulle d'appel sous la ligne actuelle"
#: editor/editor_settings.cpp
msgid "Callhint Tooltip Offset"
-msgstr ""
+msgstr "Décalage des info-bulles d'appel"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Complete File Paths"
-msgstr "Copier le chemin du nœud"
+msgstr "Compléter les chemins de fichiers"
#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Add Type Hints"
-msgstr "Ajouter un type"
+msgstr "Ajouter des indices de type"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Use Single Quotes"
-msgstr "Nouvelle Simple Tuile"
+msgstr "Utiliser des simples guillemets"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Help Index"
-msgstr "Afficher les aides"
+msgstr "Afficher l'index d'aide"
#: editor/editor_settings.cpp
msgid "Help Font Size"
-msgstr ""
+msgstr "Taille de la police de l'aide"
#: editor/editor_settings.cpp
msgid "Help Source Font Size"
-msgstr ""
+msgstr "Taille de la police de l'aide de la source"
#: editor/editor_settings.cpp
msgid "Help Title Font Size"
-msgstr ""
+msgstr "Taille de la police du titre Aide"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
msgstr "Grille"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Pick Distance"
-msgstr "Choisissez distance :"
+msgstr "Choisissez la distance"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Preview Size"
-msgstr "Aperçu"
+msgstr "Aperçu de la taille"
#: editor/editor_settings.cpp
msgid "Primary Grid Color"
-msgstr ""
+msgstr "Couleur de la grille principale"
#: editor/editor_settings.cpp
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "Couleur de la grille secondaire"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Selection Box Color"
-msgstr "Sélection uniquement"
+msgstr "Couleur de la boîte de sélection"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "3D Gizmos"
-msgstr "Gadgets"
+msgstr "Manipulateurs 3D"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Gizmo Colors"
-msgstr "Couleurs d'émission"
+msgstr "Couleurs des manipulateurs"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Instanced"
-msgstr "Instance"
+msgstr "Instancié"
#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint"
-msgstr "Point"
+msgstr "Jointure"
#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
@@ -5767,12 +5813,11 @@ msgstr "Point"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "Forme"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Primary Grid Steps"
-msgstr "Pas de la grille :"
+msgstr "Pas de la grille principale"
#: editor/editor_settings.cpp
msgid "Grid Size"
@@ -5780,63 +5825,55 @@ msgstr "Taille de la Grille"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
-msgstr ""
+msgstr "Niveau maximal de division de la grille"
#: editor/editor_settings.cpp
msgid "Grid Division Level Min"
-msgstr ""
+msgstr "Niveau minimal de division de la grille"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "Niveau de biais de la division de grille"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XZ Plane"
-msgstr "Peinture GridMap"
+msgstr "Plan XZ de la grille"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XY Plane"
-msgstr "Peinture GridMap"
+msgstr "Plan XY de la grille"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid YZ Plane"
-msgstr "Peinture GridMap"
+msgstr "Plan YZ de la grille"
#: editor/editor_settings.cpp
msgid "Default FOV"
msgstr "FOV par défaut"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Near"
-msgstr "Thème par défaut"
+msgstr "Z proche par défaut"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Far"
-msgstr "Défaut"
+msgstr "Z distant par défaut"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
+msgstr "Nombre de fils CPU pour calculer les cartes de lumières"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Scheme"
-msgstr "Mode Navigation"
+msgstr "Schéma de navigation"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert Y Axis"
-msgstr "Modifier l'axe Y"
+msgstr "Inverser l'axe Y"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert X Axis"
-msgstr "Modifier l'axe X"
+msgstr "Inverser l'axe X"
#: editor/editor_settings.cpp
msgid "Zoom Style"
@@ -5844,26 +5881,23 @@ msgstr "Style de Zoom"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
-msgstr ""
+msgstr "Émuler un pavé numérique"
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "Émuler souris à 3 boutons"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Orbit Modifier"
-msgstr "Trier par date de modification (moins récent au plus récent)"
+msgstr "Modificateur d'orbite"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Modifier"
-msgstr "Mode navigation"
+msgstr "Modificateur panoramique"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Modifier"
-msgstr "Modifié"
+msgstr "Multiplicateur de Zoom"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
@@ -5876,11 +5910,11 @@ msgstr "Mode Navigation"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "Sensibilité de l'orbite"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
-msgstr ""
+msgstr "Inertie de l'orbite"
#: editor/editor_settings.cpp
msgid "Translation Inertia"
@@ -5891,155 +5925,136 @@ msgid "Zoom Inertia"
msgstr "Inertie du Zoom"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook"
-msgstr "Vue libre haut"
+msgstr "Vue libre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Navigation Scheme"
-msgstr "Créer un maillage de navigation"
+msgstr "Schéma de navigation en vue libre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Sensitivity"
-msgstr "Vue libre gauche"
+msgstr "Sensibilité de la vue libre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Inertia"
-msgstr "Vue libre gauche"
+msgstr "Inertie de la vue libre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Base Speed"
-msgstr "Modificateur de vitesse de la vue libre"
+msgstr "Vitesse de base de la vue libre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Activation Modifier"
-msgstr "Ralentissement de la vue libre"
+msgstr "Modificateur d'activation de la vue libre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Speed Zoom Link"
-msgstr "Modificateur de vitesse de la vue libre"
+msgstr "Lien de zoom rapide de la vue libre"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Grid Color"
msgstr "Couleur de la Grille"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Guides Color"
-msgstr "Prélever une couleur"
+msgstr "Couleur des guides"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Smart Snapping Line Color"
-msgstr "Magnétisme intelligent"
+msgstr "Couleur de ligne du magnétisme intelligent"
#: editor/editor_settings.cpp
msgid "Bone Width"
-msgstr ""
+msgstr "Largeur des os"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 1"
-msgstr "Renommer l'item de couleur"
+msgstr "Couleur d'os 1"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 2"
-msgstr "Renommer l'item de couleur"
+msgstr "Couleur d'os 2"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Selected Color"
-msgstr "Configurer le profil sélectionné :"
+msgstr "Couleur de l'os sélectionnée"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
-msgstr ""
+msgstr "Couleur de cinématique inverse d'os"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
-msgstr ""
+msgstr "Couleur de contour d'os"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Outline Size"
-msgstr "Taille du contour :"
+msgstr "Taille du contour de l'os"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
-msgstr ""
+msgstr "Couleur de bordure de la fenêtre d'affichage"
#: editor/editor_settings.cpp
msgid "Constrain Editor View"
-msgstr ""
+msgstr "Restreindre la fenêtre d'Éditeur"
#: editor/editor_settings.cpp
msgid "Simple Panning"
-msgstr ""
+msgstr "Panoramique simple"
#: editor/editor_settings.cpp
msgid "Scroll To Pan"
-msgstr ""
+msgstr "Panoramique au défilement"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Speed"
msgstr "Vitesse Panoramique"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Poly Editor"
-msgstr "Éditeur UV de polygones 2D"
+msgstr "Éditeur de polygones"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
-msgstr ""
+msgstr "Rayon de saisie par point"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Show Previous Outline"
-msgstr "Plan précédent"
+msgstr "Montrer le contour précédent"
#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Autorename Animation Tracks"
-msgstr "Renommer l'animation"
+msgstr "Renommer les pistes d'animation automatiquement"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
-msgstr ""
+msgstr "Créer pistes de Bézier par défaut"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Create Reset Tracks"
-msgstr "Créer des pistes RESET"
+msgstr "Créer pistes de réinitialisation par défaut"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
-msgstr ""
+msgstr "Couleur des couches d'oignon précedentes"
#: editor/editor_settings.cpp
msgid "Onion Layers Future Color"
-msgstr ""
+msgstr "Couleur des couches d'oignon suivantes"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Visual Editors"
-msgstr "Editeur de groupe"
+msgstr "Éditeurs visuels"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
-msgstr ""
+msgstr "Opacité de la mini-carte"
#: editor/editor_settings.cpp
msgid "Window Placement"
-msgstr ""
+msgstr "Placement de la fenêtre"
#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
@@ -6048,18 +6063,16 @@ msgid "Rect"
msgstr "Rect"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Rect Custom Position"
-msgstr "Définir la position de sortie de la courbe"
+msgstr "Position du Rect personnalisée"
#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
msgid "Screen"
-msgstr ""
+msgstr "Écran"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Auto Save"
-msgstr "Coupe automatique"
+msgstr "Sauvegarde auto"
#: editor/editor_settings.cpp
msgid "Save Before Running"
@@ -6076,70 +6089,68 @@ msgstr "Hôte distant"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Port"
-msgstr "Supprimer un point"
+msgstr "Port distant"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor SSL Certificates"
-msgstr "Paramètres de l'éditeur"
+msgstr "Certificats SSL de l’éditeur"
#: editor/editor_settings.cpp
msgid "HTTP Proxy"
-msgstr ""
+msgstr "Proxy HTTP"
#: editor/editor_settings.cpp
msgid "Host"
-msgstr ""
+msgstr "Hôte"
#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Port"
-msgstr ""
+msgstr "Port"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Gestionnaire de projets"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Ordre de Tri"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
-msgstr ""
+msgstr "Couleur de symbole"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "Couleur des mots-clés"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "Couleur de mot clé de contrôle de flux"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "Changer le type de base"
+msgstr "Couleur de base des types"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "Couleur de type du moteur"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "Couleur de type utilisateur"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "Couleur des commentaires"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "String Color"
-msgstr "Stockage du fichier :"
+msgstr "Couleur des chaînes de caractères"
#: editor/editor_settings.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
@@ -6148,9 +6159,8 @@ msgid "Background Color"
msgstr "Couleur d’Arrière-Plan"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Background Color"
-msgstr "Couleur de fond invalide."
+msgstr "Couleur d'arrière-plan de complétion"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6178,23 +6188,20 @@ msgid "Line Number Color"
msgstr "Couleur du Numéro de Ligne"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Safe Line Number Color"
-msgstr "Numéro de ligne :"
+msgstr "Couleur des nombres des lignes sûres"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
-msgstr ""
+msgstr "Couleur du caret"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Caret Background Color"
-msgstr "Couleur de fond invalide."
+msgstr "Couleur d'arrière-plan de caret"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Selected Color"
-msgstr "Supprimer la selection"
+msgstr "Couleur de texte sélectionné"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Selection Color"
@@ -6202,7 +6209,7 @@ msgstr "Couleur de la Sélection"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Brace Mismatch Color"
-msgstr ""
+msgstr "Couleur des erreur de fermeture d'accolades"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Current Line Color"
@@ -6210,26 +6217,23 @@ msgstr "Couleur de la Ligne Actuelle"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Color"
-msgstr ""
+msgstr "Couleur du guide de longueur de ligne"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Word Highlighted Color"
-msgstr "Coloration syntaxique"
+msgstr "Couleur de surlignage des mots"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "Couleur des nombres"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Function Color"
-msgstr "Fonction"
+msgstr "Couleur des fonctions"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Member Variable Color"
-msgstr "Renommer la variable"
+msgstr "Couleur des variables de membres"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6237,32 +6241,28 @@ msgid "Mark Color"
msgstr "Prélever une couleur"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bookmark Color"
-msgstr "Signets"
+msgstr "Couleur des signets"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Breakpoint Color"
-msgstr "Point d'arrêts"
+msgstr "Couleur des point d'arrêts"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Executing Line Color"
-msgstr ""
+msgstr "Couleur de la ligne d’exécution"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
-msgstr ""
+msgstr "Couleur du repliage de code"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Color"
-msgstr "Résultats de recherche"
+msgstr "Couleur des résultats de recherche"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Border Color"
-msgstr "Résultats de recherche"
+msgstr "Couleur de bordure des résultats de recherche"
#: editor/editor_spin_slider.cpp
msgid "Hold %s to round to integers. Hold Shift for more precise changes."
@@ -6275,9 +6275,8 @@ msgid "Flat"
msgstr "Plat"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "Mode collision"
+msgstr "Cacher la barre de défilement"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6576,7 +6575,7 @@ msgstr ""
#: editor/fileserver/editor_file_server.cpp
msgid "File Server"
-msgstr ""
+msgstr "Serveur de fichiers"
#: editor/fileserver/editor_file_server.cpp
#: editor/plugins/version_control_editor_plugin.cpp
@@ -6875,14 +6874,6 @@ msgid "Replace in Files"
msgstr "Remplacer dans les fichiers"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Rechercher : "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Remplacer : "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Remplacer tout (IRRÉVERSIBLE)"
@@ -6957,11 +6948,11 @@ msgstr "Gérer les groupes"
#: editor/import/editor_import_collada.cpp
msgid "Collada"
-msgstr ""
+msgstr "Collada"
#: editor/import/editor_import_collada.cpp
msgid "Use Ambient"
-msgstr ""
+msgstr "Utiliser ambiant"
#: editor/import/resource_importer_bitmask.cpp
msgid "Create From"
@@ -6970,7 +6961,7 @@ msgstr "Créer à Partir de"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Threshold"
-msgstr ""
+msgstr "Seuil"
#: editor/import/resource_importer_csv_translation.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -6982,7 +6973,7 @@ msgstr "Compresser"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
-msgstr ""
+msgstr "Délimiteur"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -6991,7 +6982,7 @@ msgstr "Correction de Couleur"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
-msgstr ""
+msgstr "Pas de BPTC si RVB"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
@@ -6999,40 +6990,38 @@ msgstr ""
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
msgid "Flags"
-msgstr ""
+msgstr "Paramètres"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
#: scene/resources/texture.cpp
msgid "Repeat"
-msgstr ""
+msgstr "Répéter"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Filtre"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Mipmaps"
-msgstr "Signaux"
+msgstr "Mipmaps"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "Anisotropic"
-msgstr ""
+msgstr "Anisotrope"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "Slices"
-msgstr "Coupe automatique"
+msgstr "Tranches"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
@@ -7049,30 +7038,25 @@ msgid "Vertical"
msgstr "Vertical"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "Générer des points"
+msgstr "Générer les tangentes"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "Mode mise à l'échelle"
+msgstr "Échelle du maillage"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Offset Mesh"
-msgstr "Décalage :"
+msgstr "Décalage du maillage"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "Expression"
+msgstr "Compression Octaédrique"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "Optimiser les drapeaux de Mesh"
+msgstr "Optimiser les paramètres du maillage"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -7128,9 +7112,8 @@ msgid "Root Name"
msgstr "Nom de la Racine"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "Mode mise à l'échelle"
+msgstr "Échelle de la racine"
#: editor/import/resource_importer_scene.cpp
msgid "Custom Script"
@@ -7142,16 +7125,15 @@ msgstr "Stockage"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
-msgstr ""
+msgstr "Utiliser les noms hérités"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Materials"
msgstr "Matériaux"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "Réimporter"
+msgstr "Conserver à la réimportation"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Meshes"
@@ -7163,47 +7145,40 @@ msgid "Ensure Tangents"
msgstr "Modifier la tangente de courbes"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "Précalculer les lightmaps"
+msgstr "Pré-calculer les lumières"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "LightMap Bake"
+msgstr "Taille des Texels dans la carte de lumières"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
-msgstr ""
+msgstr "Enveloppes"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Use Named Skins"
-msgstr "Utiliser le magnétisme d'échelle"
+msgstr "Utiliser les enveloppes nommées"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "External Files"
-msgstr "Ouvrir un fichier"
+msgstr "Fichiers externes"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
-msgstr ""
+msgstr "Stocker dans un sous-dossier"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Filter Script"
msgstr "Filtrer les scripts"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "Transformation"
+msgstr "Conserver les pistes personnalisées"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
-msgstr "Optimiser"
+msgstr "Optimiseur"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
@@ -7217,9 +7192,8 @@ msgstr "Optimiser"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Enabled"
-msgstr "Activer"
+msgstr "Activé"
#: editor/import/resource_importer_scene.cpp
msgid "Max Linear Error"
@@ -7230,17 +7204,14 @@ msgid "Max Angular Error"
msgstr "Erreur Angulaire Max"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "Valeur"
+msgstr "Angle maximal"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Remove Unused Tracks"
-msgstr "Supprimer la piste d’animation"
+msgstr "Retirer les pistes inutilisées"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
msgstr "Clips d'animation"
@@ -7264,8 +7235,8 @@ msgid "Generating Lightmaps"
msgstr "Génération des lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Génération pour le Mesh : "
+msgid "Generating for Mesh:"
+msgstr "Génération pour le Mesh :"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7293,81 +7264,94 @@ msgid "Saving..."
msgstr "Enregistrement…"
#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
+"%s : La texture a été utilisé comme carte de normales dans la 3D. Activation "
+"de la compression rouge-verte pour réduire l'utilisation de la mémoire (le "
+"canal bleu est désactivé)."
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+"%s : La texture a été détecter comme étant utilisé dans la 3D. Activation du "
+"filtrage, de la répétition, de la génération de mipmap et de la compression "
+"de la texture dans la mémoire vidéo."
+
+#: editor/import/resource_importer_texture.cpp
+msgid "2D, Detect 3D"
+msgstr "2D, Détecter la 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "Pixels pleins"
+msgstr "Pixel 2D"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
-msgstr ""
+msgstr "Mauvaise qualité"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "HDR Mode"
-msgstr "Mode sélection"
+msgstr "Mode HDR"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "Carte de normales"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "Post-traitement"
+msgstr "Processus"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
-msgstr ""
+msgstr "Corriger la bordure alpha"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Premult Alpha"
-msgstr "Modifier le polygone"
+msgstr "Alpha pré-multiplié"
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
-msgstr ""
+msgstr "Hdr en tant que Srgb"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "Vertex"
+msgstr "Inverser la couleur"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Normal Map Invert Y"
-msgstr "Échelle aléatoire :"
+msgstr "Inverser l'axe Y de la carte de normales"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Size Limit"
-msgstr "Limites"
+msgstr "Limite de taille"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
-msgstr ""
+msgstr "Détecter la 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "SVG"
-msgstr "HSV"
+msgstr "SVG"
#: editor/import/resource_importer_texture.cpp
msgid ""
"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
"texture will not display correctly on PC."
msgstr ""
+"Attention, aucune compression de la mémoire vidéo qui aille sur PC n'est "
+"activé dans les paramètres du projet. Cette texture ne s'affichera pas "
+"correctement sur PC."
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Atlas File"
@@ -7378,64 +7362,56 @@ msgid "Import Mode"
msgstr "Mode d'Importation"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "Définir la région de la tuile"
+msgstr "Rogner vers la région"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
-msgstr ""
+msgstr "Rogner les bordures alpha de la région"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "Force-pousser"
+msgstr "Force"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
-msgstr ""
+msgstr "8 Bit"
#: editor/import/resource_importer_wav.cpp main/main.cpp
#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Mono"
-msgstr ""
+msgstr "Mono"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "Mélanger le nœud"
+msgstr "Taux maximal"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "Mélanger le nœud"
+msgstr "Taux maximal en Hz"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "Rogner"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "Format"
+msgstr "Normaliser"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Mode"
-msgstr "Mode déplacement"
+msgstr "Mode de bouclage"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Begin"
-msgstr "Mode déplacement"
+msgstr "Début de la boucle"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop End"
-msgstr "Mode déplacement"
+msgstr "Fin de la boucle"
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -7516,27 +7492,24 @@ msgid "Failed to load resource."
msgstr "Impossible de charger la ressource."
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Property Name Style"
-msgstr "Nom du projet :"
+msgstr "Style des noms de propriétés"
#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
msgid "Raw"
msgstr "Brut"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Capitalized"
msgstr "Majuscule à chaque mot"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "Localisation"
+msgstr "Traduit"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr ""
+msgstr "La traduction n'est pas disponible pour la langue actuel."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -7990,11 +7963,20 @@ msgid "New Anim"
msgstr "Nouvelle animation"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Créer une nouvelle animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Modifier le nom de l'animation :"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Renommer l'animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Supprimer l'animation ?"
@@ -8012,11 +7994,6 @@ msgid "Animation name already exists!"
msgstr "Ce nom d'animation existe déjà !"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Renommer l'animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Dupliquer l'animation"
@@ -8083,9 +8060,8 @@ msgid "New"
msgstr "Nouveau"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "Référence de classe %s"
+msgstr "Collé en tant que référence"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -8115,10 +8091,12 @@ msgstr "Options effet pelure d'oignon"
msgid "Directions"
msgstr "Directions"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Passé"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Futur"
@@ -8159,10 +8137,6 @@ msgid "Pin AnimationPlayer"
msgstr "Épingler AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Créer une nouvelle animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nom de l'animation :"
@@ -8279,8 +8253,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Définir l'animation de fin. Ceci est utile pour les sous-transitions."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Transition : "
+msgid "Transition:"
+msgstr "Transition :"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8296,11 +8270,6 @@ msgid "New name:"
msgstr "Nouveau nom :"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Échelle :"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fondu entrant (s) :"
@@ -8344,7 +8313,7 @@ msgstr "Mélange 1 :"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
-msgstr "Durée du fondu (s) :"
+msgstr "Durée du fondu croisé (s) :"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8422,7 +8391,7 @@ msgstr "Filtres…"
#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
msgid "Use Threads"
-msgstr ""
+msgstr "Utiliser le multitâche"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
@@ -8585,25 +8554,21 @@ msgid "Loading..."
msgstr "Chargement..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "First"
msgstr "Premier"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Previous"
msgstr "Précédent"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Next"
msgstr "Suivant"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Last"
msgstr "Dernier"
@@ -8654,7 +8619,7 @@ msgstr "En période de test"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "N'a pas réussi à récupérer la configuration du dépôt."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -9214,29 +9179,27 @@ msgstr "Créer des os personnalisés à partir d'un ou de plusieurs nœuds"
msgid "Clear Custom Bones"
msgstr "Effacer les os personnalisés"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Affichage"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show"
-msgstr "Afficher la grille"
+msgstr "Afficher"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show When Snapping"
-msgstr "Magnétisme intelligent"
+msgstr "Afficher lors de la magnétisation"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "Cacher"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid"
-msgstr "Basculer le mode"
+msgstr "Activer/Désactiver la grille"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -9280,6 +9243,10 @@ msgid "Preview Canvas Scale"
msgstr "Prévisualiser l'échelle du Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Disposition sur l'écran"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Masque de translation pour l'insertion des clés."
@@ -9584,16 +9551,15 @@ msgstr "Dégradé édité"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
+msgstr "Échanger les points de remplissage du GradientTexture2D"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap Gradient Fill Points"
-msgstr ""
+msgstr "Échanger les points de remplissage du dégradé"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid Snap"
-msgstr "Basculer le mode"
+msgstr "Activer/Désactiver le magnétisme de la grille"
#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
@@ -9612,13 +9578,12 @@ msgstr "Icône"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "Séparation :"
+msgstr "Séparateur"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9738,7 +9703,7 @@ msgstr "Créer le contour"
#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
#: scene/resources/texture.cpp
msgid "Mesh"
-msgstr "Maillages"
+msgstr "Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
@@ -9862,7 +9827,6 @@ msgstr ""
"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "MeshLibrary"
msgstr "Librairie de maillages"
@@ -9887,14 +9851,12 @@ msgid "Update from Scene"
msgstr "Mettre à jour depuis la scène"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply without Transforms"
-msgstr "Appliquer la transformation du MeshInstance"
+msgstr "Appliquer sans transformations"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply with Transforms"
-msgstr "Appliquer la transformation du MeshInstance"
+msgstr "Appliquer avec transformations"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
@@ -10066,8 +10028,8 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Source d'émission : "
+msgid "Emission Source:"
+msgstr "Source d'émission :"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10301,6 +10263,7 @@ msgid "Points"
msgstr "Points"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polygones"
@@ -10424,7 +10387,7 @@ msgstr "Synchroniser les os avec le polygone"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "Définir cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -10457,13 +10420,6 @@ msgid "Instance:"
msgstr "Instance :"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Type :"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Ouvrir dans l'éditeur"
@@ -10472,10 +10428,6 @@ msgstr "Ouvrir dans l'éditeur"
msgid "Load Resource"
msgstr "Charger une ressource"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Retourner les Portals"
@@ -10766,57 +10718,51 @@ msgstr "Résultats de recherche"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open Dominant Script On Scene Change"
-msgstr ""
+msgstr "Ouvrir le script principal lors du changement de scène"
#: editor/plugins/script_editor_plugin.cpp
msgid "External"
-msgstr ""
+msgstr "Externe"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Use External Editor"
-msgstr "Déboguer avec un éditeur externe"
+msgstr "Utiliser un éditeur externe"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Exec Path"
-msgstr "Chemin d'exportation"
+msgstr "Chemin d'exécution"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "Sélectionner le fichier de modèles"
+msgstr "Température de script activée"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
-msgstr ""
+msgstr "Mettre en évidence le script actuel"
#: editor/plugins/script_editor_plugin.cpp
msgid "Script Temperature History Size"
-msgstr ""
+msgstr "Taille de l'historique des températures de script"
#: editor/plugins/script_editor_plugin.cpp
msgid "Current Script Background Color"
msgstr "Couleur d'Arrière-Plan du Script Actuel"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Group Help Pages"
-msgstr "Groupe sélectionné"
+msgstr "Pages d'aide de groupe"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Sort Scripts By"
-msgstr "Créer un script"
+msgstr "Trier les scripts par"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "List Script Names As"
-msgstr "Nom du script :"
+msgstr "Lister les noms de scripts en tant que"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
-msgstr ""
+msgstr "Paramètres d'exécution"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Scripts"
@@ -11176,13 +11122,15 @@ msgstr "Rotation"
msgid "Translate"
msgstr "Translation"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Échelle : "
+msgid "Scaling:"
+msgstr "Mise à l'échelle :"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Translation : "
+msgid "Translating:"
+msgstr "Translation :"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11205,11 +11153,6 @@ msgid "Yaw:"
msgstr "Azimuth :"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Taille :"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Objets dessinés :"
@@ -11340,10 +11283,11 @@ msgid "(Not in GLES2)"
msgstr "(Non disponible dans GLES2)"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr "Non disponible quand le moteur de rendu GLES2 est utilisé."
+msgstr ""
+"Les modes de rendu de débogage ne sont disponibles qu'avec le moteur GLES3, "
+"et pas GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -11639,16 +11583,15 @@ msgstr "Post"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Size"
-msgstr ""
+msgstr "Taille des manipulateurs"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Opacity"
-msgstr ""
+msgstr "Opacité des manipulateurs"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Show Viewport Rotation Gizmo"
-msgstr "Verrouiller la rotation de la vue"
+msgstr "Afficher le manipulateur de rotation dans le viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unnamed Gizmo"
@@ -11701,8 +11644,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Géométrie invalide, impossible de remplacer par un maillage."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr "Convertir en Mesh2D"
+msgid "Convert to MeshInstance2D"
+msgstr "Convertir en MeshInstance2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11733,16 +11676,16 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Simplification : "
+msgid "Simplification:"
+msgstr "Simplification :"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Rétrécir (Pixels) : "
+msgid "Shrink (Pixels):"
+msgstr "Rétrécir (Pixels) :"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Croissance (Pixels) : "
+msgid "Grow (Pixels):"
+msgstr "Agrandir (Pixels) :"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11805,6 +11748,10 @@ msgid "New Animation"
msgstr "Nouvelle animation"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Filter animations"
+msgstr "Filtrer les animations"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Vitesse :"
@@ -12106,9 +12053,8 @@ msgstr ""
"Fermer tout de même ?"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "Supprimer la tuile"
+msgstr "Supprimer le type"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -12153,14 +12099,12 @@ msgstr ""
"thème."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "Ajouter un item de type"
+msgstr "Ajouter un type de thème"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "Retirer le dépôt distant"
+msgstr "Supprimer un type de thème"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12277,9 +12221,8 @@ msgid "Select Another Theme Resource:"
msgstr "Sélectionnez une autre ressource Theme :"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Theme Resource"
-msgstr "Renommer une ressource"
+msgstr "Ressource de thème"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
@@ -12335,12 +12278,10 @@ msgid "Add Item Type"
msgstr "Ajouter un item de type"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Variation Base Type"
-msgstr "Définir type de variable"
+msgstr "Définir le type parent de la variation"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Base Type"
msgstr "Changer le type de base"
@@ -12364,12 +12305,16 @@ msgstr "Surcharge tous les items de type par défaut."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select the variation base type from a list of available types."
msgstr ""
+"Choisissez le type parent de la variation depuis la liste des types "
+"disponibles."
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
"A type associated with a built-in class cannot be marked as a variation of "
"another type."
msgstr ""
+"Un type affilié à une classe intégrée ne peut pas être marqué comme variante "
+"d'un autre type."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -12610,14 +12555,13 @@ msgid "Clear Transform"
msgstr "Supprimer la transformation"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Tile Map"
-msgstr "Peindre sur la TileMap"
+msgstr "Carte de Tuiles"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Palette Min Width"
-msgstr ""
+msgstr "Largeur minimale de la palette"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -12625,40 +12569,33 @@ msgid "Palette Item H Separation"
msgstr "Séparateur nommé"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Names"
-msgstr "Afficher toutes les langues"
+msgstr "Afficher les noms des tuiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Ids"
-msgstr "Afficher les règles"
+msgstr "Afficher les IDs des tuiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Sort Tiles By Name"
-msgstr "Trier les fichiers"
+msgstr "Trier les tuiles par nom"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Bucket Fill Preview"
-msgstr "Remplissage du seau"
+msgstr "Aperçu du remplissage"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editor Side"
-msgstr "Éditeur"
+msgstr "Coté Éditeur"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Display Grid"
-msgstr "Affichage des surimpressions"
+msgstr "Afficher la grille"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Axis Color"
-msgstr "Prélever une couleur"
+msgstr "Couleur des axes"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
@@ -12705,8 +12642,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Sélectionner la forme précédente, sous-tuile, ou tuile."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Région"
@@ -12998,7 +12934,6 @@ msgid "This property can't be changed."
msgstr "Cette propriété ne peut être changée."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "Options de magnétisme"
@@ -13023,14 +12958,12 @@ msgstr "Pas"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "Séparation :"
+msgstr "Séparation"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Sélectionner"
+msgstr "Tuile sélectionné"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -13039,14 +12972,12 @@ msgstr "Sélectionner"
#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Texture"
-msgstr "Texte"
+msgstr "Texture"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "Décalage d’Octet"
+msgstr "Décalage de texture"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -13056,79 +12987,64 @@ msgstr "Matériau"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Modulate"
-msgstr "Peupler"
+msgstr "Moduler"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Basculer le mode"
+msgstr "Mode de tuile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "Mode Bitmask"
+msgstr "Mode de masque d'octet de tuile auto"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "Taille de Contour"
+msgstr "Taille des sous-tuiles"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "Bouclage de l’animation"
+msgstr "Espacement des sous-tuiles"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "Créer un polygone occulteur"
+msgstr "Décalage de l’occulteur"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "Mode Navigation"
+msgstr "Décalage de la navigation"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Décalage :"
+msgstr "Décalage de la forme"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Transformation"
+msgstr "Transformation de la forme"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "Collision"
+msgstr "Collision sélectionné"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "Sélection uniquement"
+msgstr "Collision à sens unique de la sélection"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "Mode collision"
+msgstr "Marge de collision à sens unique de la sélection"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "Navigation visible"
+msgstr "Navigation sélectionnée"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "Sélectionner"
+msgstr "Occultation de la sélection"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Filtrer les scripts"
+msgstr "Script de palette de tuiles"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -14222,40 +14138,24 @@ msgid "Runnable"
msgstr "Exécutable"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Supprimer le préréglage « %s » ?"
+msgid "Export the project for all the presets defined."
+msgstr "Exporter le projet pour tous les préréglages définis."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Échec de l'exportation du projet pour la plate-forme « %s ».\n"
-"Les modèles d'exportation semblent être manquants ou invalides."
+"Tous les préréglages doivent avoir un chemin d'exportation défini pour "
+"pouvoir tous les exportés."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Échec de l'exportation du projet pour la plate-forme « %s ».\n"
-"Cela peut être dû à un problème de configuration dans le préréglage "
-"d'exportation ou dans vos paramètres d'exportation."
+msgid "Delete preset '%s'?"
+msgstr "Supprimer le préréglage « %s » ?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Tout exporter"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Le chemin de l'exportation donné n'existe pas :"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Modèles d'exportation manquants ou corrompus pour cette plateforme :"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Chemin d'exportation"
@@ -14358,41 +14258,50 @@ msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
msgstr ""
+"Note : La clé de cryptage doit être stocké dans le binaire,\n"
+"vous devez compiler les modèles d'exportation depuis les sources."
#: editor/project_export.cpp
-#, fuzzy
msgid "More Info..."
-msgstr "Déplacer vers…"
+msgstr "Plus d'informations..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "Exporter le PCK/ZIP"
+msgid "Export PCK/Zip..."
+msgstr "Exporter le PCK/ZIP..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "Exporter le projet"
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Mode d'exportation ?"
+msgid "Export Project..."
+msgstr "Exporter le projet..."
#: editor/project_export.cpp
msgid "Export All"
msgstr "Tout exporter"
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr "Choisissez un mode d'exportation :"
+
+#: editor/project_export.cpp
+msgid "Export All..."
+msgstr "Tout exporter..."
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "Fichier ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr "Archive Godot"
+msgid "Godot Project Pack"
+msgstr "Pack de Projet Godot"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "Modèles d'exportation manquants pour cette plateforme :"
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr "Exportation du projet"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gérer les modèles d'exportation"
@@ -14708,20 +14617,19 @@ msgstr ""
#. TRANSLATORS: This refers to the application where users manage their Godot projects.
#: editor/project_manager.cpp
-#, fuzzy
msgctxt "Application"
msgid "Project Manager"
msgstr "Gestionnaire de projets"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Chargement en cours, veuillez patienter..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Dernière modification"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Chargement en cours, veuillez patienter..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Modifier le projet"
@@ -15425,7 +15333,7 @@ msgstr "Supprimer le nœud \"%s\" et ses enfants ?"
#: editor/scene_tree_dock.cpp
msgid "Delete node \"%s\"?"
-msgstr "Supprimer le noeud \"%s\" ?"
+msgstr "Supprimer le nœud \"%s\" ?"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -15517,17 +15425,15 @@ msgstr "Rendre local"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "Un autre Nœud utilise ce nom unique dans la scène."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name"
-msgstr "Nom unique"
+msgstr "Activer le nom unique de la scène"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "Nom unique"
+msgstr "Désactiver le nom unique de la scène"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15604,7 +15510,7 @@ msgstr "Ressources secondaires"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "Accéder en tant que nom unique de scène"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15704,18 +15610,16 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "Effacer l'héritage ? (Pas de retour en arrière !)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "Centrer sur la sélection"
+msgstr "Afficher la sélection de la racine de la hiérarchie de la scène"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "Dériver les Globals de scripts par nom"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Use Favorites Root Selection"
-msgstr "Encadrer la sélection"
+msgstr "Utiliser la sélection racine des favoris"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -15743,6 +15647,9 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"Ce Nœud est accessible de n'importe où dans la scène en le préfixant de '%s' "
+"dans un chemin de Nœud.\n"
+"Cliquer pour désactiver cela."
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15953,8 +15860,8 @@ msgid "Attach Node Script"
msgstr "Attacher un script au nœud"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Distant "
+msgid "Remote %s:"
+msgstr "%s distant :"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16029,21 +15936,20 @@ msgid "Stack Frames"
msgstr "Pile des appels"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Filter stack variables"
-msgstr "Filtrer les tuiles"
+msgstr "Filtrer les variables de la pile"
#: editor/script_editor_debugger.cpp
msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
+msgstr "Basculer automatiquement vers l'arborescence de scène distante"
#: editor/script_editor_debugger.cpp
msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
+msgstr "Intervalle de rafraîchissement de l'arborescence distante"
#: editor/script_editor_debugger.cpp
msgid "Remote Inspect Refresh Interval"
-msgstr ""
+msgstr "Intervalle de rafraîchissement d'inspection distante"
#: editor/script_editor_debugger.cpp
msgid "Network Profiler"
@@ -16142,7 +16048,7 @@ msgstr "Changer le rayon d'une lumière"
#: editor/spatial_editor_gizmos.cpp
msgid "Stream Player 3D"
-msgstr ""
+msgstr "Émetteur de flux 3D"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
@@ -16152,7 +16058,7 @@ msgstr "Changer l'angle d'émission AudioStreamPlayer3D"
#: platform/osx/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Camera"
-msgstr ""
+msgstr "Caméra"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
@@ -16164,7 +16070,7 @@ msgstr "Changer la taille d'une caméra"
#: editor/spatial_editor_gizmos.cpp
msgid "Visibility Notifier"
-msgstr ""
+msgstr "Notifiant de visibilité"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Notifier AABB"
@@ -16175,23 +16081,20 @@ msgid "Change Particles AABB"
msgstr "Changer particules AABB"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Reflection Probe"
-msgstr "Sélectionnez une propriété"
+msgstr "Sonde de Réflexion"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
msgstr "Changer les ampleurs de la sonde"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "GI Probe"
-msgstr "Créer sonde IG (Illumination Globale)"
+msgstr "Sonde GI"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Baked Indirect Light"
-msgstr "Éclairage indirect"
+msgstr "Éclairage indirect pré-calculé"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
@@ -16222,57 +16125,52 @@ msgid "Change Ray Shape Length"
msgstr "Changer la longueur d'une forme en rayon"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge"
-msgstr "Mode Navigation"
+msgstr "Bord de la Navigation"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge Disabled"
-msgstr "Mode Navigation"
+msgstr "Bord de la Navigation Désactivé"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid"
-msgstr "Mode Navigation"
+msgstr "Solide de navigation"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid Disabled"
-msgstr "Mode Navigation"
+msgstr "Solide de navigation désactivé"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body A"
-msgstr ""
+msgstr "Jointure Corps A"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body B"
-msgstr ""
+msgstr "Jointure Corps B"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Edge"
-msgstr ""
+msgstr "Bord de la pièce"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Overlap"
-msgstr ""
+msgstr "Chevauchement de salle"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Room Point Position"
msgstr "Définir la position du point de la pièce"
#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Margin"
-msgstr "Définir la marge"
+msgstr "Marge du portail"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Edge"
-msgstr ""
+msgstr "Bords du portail"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Arrow"
-msgstr ""
+msgstr "Flèche de portail"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Portal Point Position"
@@ -16280,18 +16178,16 @@ msgstr "Définir la position du point du Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Front"
-msgstr ""
+msgstr "Avant du Portail"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Portal Back"
-msgstr "Retourner"
+msgstr "Arrière du Portail"
#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Occluder"
-msgstr "Mode Occlusion"
+msgstr "Occulteur"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Occluder Sphere Radius"
@@ -16302,118 +16198,106 @@ msgid "Set Occluder Sphere Position"
msgstr "Définir la position de la sphère de l'occulteur"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "Définir la position du point du Portal"
+msgstr "Définir la position ponctuelle du polygone occulteur"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Définir la position du point de la courbe"
+msgstr "Définir la position ponctuelle du trou occulteur"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Front"
-msgstr "Créer un polygone occulteur"
+msgstr "Avant du polygone occulteur"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Back"
-msgstr "Créer un polygone occulteur"
+msgstr "Arrière du polygone occulteur"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Hole"
-msgstr "Créer un polygone occulteur"
+msgstr "Trou occulteur"
#: main/main.cpp
msgid "Godot Physics"
-msgstr ""
+msgstr "Calculs de physique de Godot"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
msgid "Use BVH"
-msgstr ""
+msgstr "Utiliser BVH"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
-#, fuzzy
msgid "BVH Collision Margin"
-msgstr "Mode collision"
+msgstr "Marge de collision BVH"
#: main/main.cpp
-#, fuzzy
msgid "Crash Handler"
-msgstr "Définir la poignée"
+msgstr "Gestionnaire de Crash"
#: main/main.cpp
-#, fuzzy
msgid "Multithreaded Server"
-msgstr "Ensemble multi-nœud"
+msgstr "Serveur à tâches parallèles"
#: main/main.cpp
msgid "RID Pool Prealloc"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Debugger stdout"
-msgstr "Débogueur"
+msgstr "Sortie standard du débogueur"
#: main/main.cpp
msgid "Max Chars Per Second"
-msgstr ""
+msgstr "Maximum de Caractères par seconde"
#: main/main.cpp
msgid "Max Messages Per Frame"
-msgstr ""
+msgstr "Maximum de messages par image"
#: main/main.cpp
msgid "Max Errors Per Second"
-msgstr ""
+msgstr "Maximum d'erreurs par seconde"
#: main/main.cpp
msgid "Max Warnings Per Second"
-msgstr ""
+msgstr "Maximum d'avertissements par secondes"
#: main/main.cpp
msgid "Flush stdout On Print"
-msgstr ""
+msgstr "Vider stdout à l'impression"
#: main/main.cpp servers/visual_server.cpp
msgid "Logging"
-msgstr ""
+msgstr "Journalisation"
#: main/main.cpp
msgid "File Logging"
-msgstr ""
+msgstr "Journalisation dans un fichier"
#: main/main.cpp
-#, fuzzy
msgid "Enable File Logging"
-msgstr "Activer le filtrage"
+msgstr "Activer la journalisation dans un fichier"
#: main/main.cpp
-#, fuzzy
msgid "Log Path"
-msgstr "Copier le chemin"
+msgstr "Chemin du Journal"
#: main/main.cpp
msgid "Max Log Files"
-msgstr ""
+msgstr "Maximum de fichiers journaux"
#: main/main.cpp
msgid "Driver"
-msgstr ""
+msgstr "Pilote"
#: main/main.cpp
-#, fuzzy
msgid "Driver Name"
-msgstr "Nom du script :"
+msgstr "Nom du Pilote"
#: main/main.cpp
msgid "Fallback To GLES2"
-msgstr ""
+msgstr "Se replier sur GLES2"
#: main/main.cpp
msgid "Use Nvidia Rect Flicker Workaround"
@@ -16421,52 +16305,47 @@ msgstr ""
#: main/main.cpp
msgid "DPI"
-msgstr ""
+msgstr "PPP"
#: main/main.cpp
msgid "Allow hiDPI"
-msgstr ""
+msgstr "Autoriser PPP élevé"
#: main/main.cpp
-#, fuzzy
msgid "V-Sync"
-msgstr "Synchroniser"
+msgstr "Synchronisation Vertical"
#: main/main.cpp
-#, fuzzy
msgid "Use V-Sync"
-msgstr "Utiliser l’aimantation"
+msgstr "Utiliser la Synchronisation Vertical"
#: main/main.cpp
msgid "Per Pixel Transparency"
-msgstr ""
+msgstr "Transparence par pixel"
#: main/main.cpp
msgid "Allowed"
-msgstr ""
+msgstr "Autorisé"
#: main/main.cpp
msgid "Intended Usage"
-msgstr ""
+msgstr "Usage prévu"
#: main/main.cpp
-#, fuzzy
msgid "Framebuffer Allocation"
-msgstr "Encadrer la sélection"
+msgstr "Allocation du tampon d'image (Framebuffer)"
#: main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Energy Saving"
-msgstr "Erreur d'enregistrement"
+msgstr "Économie d'Énergie"
#: main/main.cpp
msgid "Threads"
-msgstr ""
+msgstr "Tâches Parallèles"
#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-#, fuzzy
msgid "Thread Model"
-msgstr "Basculer le mode"
+msgstr "Modèle de Parallélisme"
#: main/main.cpp
msgid "Thread Safe BVH"
@@ -16474,29 +16353,25 @@ msgstr ""
#: main/main.cpp
msgid "Handheld"
-msgstr ""
+msgstr "Portable"
#: main/main.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Orientation"
-msgstr "Documentation en ligne"
+msgstr "Orientation"
#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-#, fuzzy
msgid "Common"
-msgstr "Communauté"
+msgstr "Commun"
#: main/main.cpp
-#, fuzzy
msgid "Physics FPS"
-msgstr "Image physique %"
+msgstr "TPS de la physique"
#: main/main.cpp
-#, fuzzy
msgid "Force FPS"
-msgstr "Force-pousser"
+msgstr "Forces les trames par seconde"
#: main/main.cpp
msgid "Enable Pause Aware Picking"
@@ -16514,34 +16389,31 @@ msgstr ""
#: main/main.cpp
msgid "stdout"
-msgstr ""
+msgstr "Sortie Standard"
#: main/main.cpp
msgid "Print FPS"
-msgstr ""
+msgstr "Afficher les FPS"
#: main/main.cpp
msgid "Verbose stdout"
-msgstr ""
+msgstr "Détailler La Sortie Standard"
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-#, fuzzy
msgid "Physics Interpolation"
-msgstr "Mode d’interpolation"
+msgstr "Interpolation de la physique"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "Activer le filtrage"
+msgstr "Activer les avertissements"
#: main/main.cpp
-#, fuzzy
msgid "Frame Delay Msec"
-msgstr "Encadrer la sélection"
+msgstr "Délai des trames en millisecondes"
#: main/main.cpp
msgid "Low Processor Mode"
-msgstr ""
+msgstr "Mode Processeur Faible"
#: main/main.cpp
msgid "Delta Sync After Draw"
@@ -16549,90 +16421,81 @@ msgstr ""
#: main/main.cpp
msgid "iOS"
-msgstr ""
+msgstr "iOS"
#: main/main.cpp
msgid "Hide Home Indicator"
-msgstr ""
+msgstr "Masquer l'indicateur d’accueil"
#: main/main.cpp
-#, fuzzy
msgid "Input Devices"
-msgstr "Tous les périphérique"
+msgstr "Périphériques d'entrée"
#: main/main.cpp
-#, fuzzy
msgid "Pointing"
-msgstr "Point"
+msgstr "Pointage"
#: main/main.cpp
msgid "Touch Delay"
-msgstr ""
+msgstr "Retard d'appui"
#: main/main.cpp servers/visual_server.cpp
msgid "GLES3"
-msgstr ""
+msgstr "GLES3"
#: main/main.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Shaders"
-msgstr "Ombrage"
+msgstr "Shaders"
#: main/main.cpp
-#, fuzzy
msgid "Debug Shader Fallbacks"
-msgstr "Forcer les replis du shader"
+msgstr "Valeurs de repli du shader de débogage"
#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
#: scene/resources/world.cpp
-#, fuzzy
msgid "Environment"
-msgstr "Voir environnement"
+msgstr "Environnement"
#: main/main.cpp
msgid "Default Clear Color"
-msgstr ""
+msgstr "Couleur d'effacement par défaut"
#: main/main.cpp
msgid "Boot Splash"
-msgstr ""
+msgstr "Écran de démarrage"
#: main/main.cpp
-#, fuzzy
msgid "Show Image"
-msgstr "Afficher les os"
+msgstr "Afficher l'image"
#: main/main.cpp
msgid "Image"
-msgstr ""
+msgstr "Image"
#: main/main.cpp
msgid "Fullsize"
-msgstr ""
+msgstr "Pleine taille"
#: main/main.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Use Filter"
-msgstr "Filtre :"
+msgstr "Utiliser le filtrage"
#: main/main.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "BG Color"
-msgstr "Couleurs"
+msgstr "Couleur d'arrière-plan"
#: main/main.cpp
-#, fuzzy
msgid "macOS Native Icon"
-msgstr "Définir l'icône de la tuile"
+msgstr "Icône native de macOS"
#: main/main.cpp
msgid "Windows Native Icon"
-msgstr ""
+msgstr "Icône native de Windows"
#: main/main.cpp
msgid "Buffering"
-msgstr ""
+msgstr "Mise en mémoire tampon"
#: main/main.cpp
msgid "Agile Event Flushing"
@@ -16640,40 +16503,35 @@ msgstr ""
#: main/main.cpp
msgid "Emulate Touch From Mouse"
-msgstr ""
+msgstr "Émuler le toucher tactile avec la souris"
#: main/main.cpp
msgid "Emulate Mouse From Touch"
-msgstr ""
+msgstr "Émuler la souris avec le toucher tactile"
#: main/main.cpp
-#, fuzzy
msgid "Mouse Cursor"
-msgstr "Bouton de souris"
+msgstr "Curseur de la souris"
#: main/main.cpp
-#, fuzzy
msgid "Custom Image"
-msgstr "Nœud Personnalisé"
+msgstr "Image personnalisée"
#: main/main.cpp
msgid "Custom Image Hotspot"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Tooltip Position Offset"
-msgstr "Décalage de la rotation :"
+msgstr "Décalage de la position des info-bulles"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Debugger Agent"
-msgstr "Débogueur"
+msgstr "Agent du débogueur"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Wait For Debugger"
-msgstr "Débogueur"
+msgstr "Attendre le débogueur"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Wait Timeout"
@@ -16681,53 +16539,48 @@ msgstr "Délai d'Attente"
#: main/main.cpp
msgid "Runtime"
-msgstr ""
+msgstr "Exécution"
#: main/main.cpp
msgid "Unhandled Exception Policy"
-msgstr ""
+msgstr "Politique d'exceptions non gérées"
#: main/main.cpp
-#, fuzzy
msgid "Main Loop Type"
-msgstr "Rechercher le type de nœud"
+msgstr "Type de boucle principale"
#: main/main.cpp scene/gui/texture_progress.cpp
#: scene/gui/viewport_container.cpp
-#, fuzzy
msgid "Stretch"
-msgstr "Actualiser"
+msgstr "Étirement"
#: main/main.cpp
-#, fuzzy
msgid "Aspect"
-msgstr "Inspecteur"
+msgstr "Aspect"
#: main/main.cpp
msgid "Shrink"
-msgstr ""
+msgstr "Rétrécissement"
#: main/main.cpp scene/main/scene_tree.cpp
msgid "Auto Accept Quit"
-msgstr ""
+msgstr "Accepter automatiquement la fermeture"
#: main/main.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Quit On Go Back"
-msgstr "Retourner"
+msgstr "Quitter au retour"
#: main/main.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Snap Controls To Pixels"
-msgstr "Aimanter aux flancs du nœud"
+msgstr "Aimanter les contrôles aux pixels"
#: main/main.cpp
msgid "Dynamic Fonts"
-msgstr ""
+msgstr "Polices Dynamiques"
#: main/main.cpp
msgid "Use Oversampling"
-msgstr ""
+msgstr "Utiliser le suréchantillonnage"
#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
msgid "Active Soft World"
@@ -16754,35 +16607,30 @@ msgid "Change Torus Outer Radius"
msgstr "Changer le rayon extérieur de la tour"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Operation"
-msgstr "Options"
+msgstr "Opération"
#: modules/csg/csg_shape.cpp
msgid "Calculate Tangents"
-msgstr ""
+msgstr "Calculer les Tangentes"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Use Collision"
-msgstr "Collision"
+msgstr "Utiliser les collisions"
#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-#, fuzzy
msgid "Collision Layer"
-msgstr "Mode collision"
+msgstr "Couche des collisions"
#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Mask"
-msgstr "Mode collision"
+msgstr "Masque de collisions"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Invert Faces"
-msgstr "Modifier la casse"
+msgstr "Inverses les faces"
#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
@@ -16800,57 +16648,50 @@ msgid "Radial Segments"
msgstr "Segments radiaux"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Rings"
-msgstr "Avertissements"
+msgstr "Anneaux"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Smooth Faces"
-msgstr "Progression douce"
+msgstr "Adoucir les faces"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Sides"
-msgstr "Afficher les guides"
+msgstr "Côtés"
#: modules/csg/csg_shape.cpp
msgid "Cone"
-msgstr ""
+msgstr "Cone"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Inner Radius"
-msgstr "Changer le rayon intérieur de la tour"
+msgstr "Rayon intérieur"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Outer Radius"
-msgstr "Changer le rayon extérieur de la tour"
+msgstr "Rayon extérieur"
#: modules/csg/csg_shape.cpp
msgid "Ring Sides"
-msgstr ""
+msgstr "Côtés de l'anneau"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
-msgstr "Polygones"
+msgstr "Polygone"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
-msgstr ""
+msgstr "Degrés de tour"
#: modules/csg/csg_shape.cpp
msgid "Spin Sides"
-msgstr ""
+msgstr "Côtés du tour"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Node"
-msgstr "Coller les nœuds"
+msgstr "Noeud de chemin"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16859,106 +16700,92 @@ msgstr "Créer un vertex interne"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
-msgstr ""
+msgstr "Intervalle de chemin"
#: modules/csg/csg_shape.cpp
msgid "Path Simplify Angle"
-msgstr ""
+msgstr "Simplification d'angle de chemin"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Rotation"
-msgstr "Rotation aléatoire :"
+msgstr "Rotation du chemin"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Local"
-msgstr "Rendre local"
+msgstr "Chemin local"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Continuous U"
-msgstr "Continu"
+msgstr "Chemin Continu U"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path U Distance"
-msgstr "Choisissez distance :"
+msgstr "Distance du chemin U"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Joined"
-msgstr "Rotation aléatoire :"
+msgstr "Chemin joint"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Compression Mode"
-msgstr "Mode collision"
+msgstr "Mode de compression"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Transfer Channel"
-msgstr "Modification de la transformation"
+msgstr "Canal de transfert"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Channel Count"
-msgstr "Instance"
+msgstr "Nombre de canaux"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Always Ordered"
-msgstr "Toujours afficher la grille"
+msgstr "Toujours ordonnée"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Server Relay"
-msgstr ""
+msgstr "Relais serveur"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Verify"
-msgstr ""
+msgstr "Vérification DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Hostname"
-msgstr ""
+msgstr "Nom de l'hôte DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Use DTLS"
-msgstr "Utiliser l’aimantation"
+msgstr "Utiliser DTLS"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
-msgstr ""
+msgstr "FBX"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Use FBX"
-msgstr ""
+msgstr "Utiliser FBX"
#: modules/gdnative/gdnative.cpp
msgid "Config File"
msgstr "Fichier de Configuration"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Load Once"
-msgstr "Charger une ressource"
+msgstr "Charger une fois"
#: modules/gdnative/gdnative.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Singleton"
-msgstr "Squelette"
+msgstr "Singleton"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Symbol Prefix"
-msgstr "Préfixe :"
+msgstr "Préfixe du symbole"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Reloadable"
-msgstr "Recharger"
+msgstr "Rechargeable"
#: modules/gdnative/gdnative.cpp
#: modules/gdnative/gdnative_library_singleton_editor.cpp
@@ -17011,22 +16838,20 @@ msgid "Disabled GDNative Singleton"
msgstr "Désactiver le Singleton GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Bibliothèques : "
+msgid "Libraries:"
+msgstr "Bibliothèques :"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
msgstr "Nom de la Classe"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Script Class"
-msgstr "Nom du script :"
+msgstr "Classe de Script"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Icon Path"
-msgstr "Focaliser le chemin"
+msgstr "Chemin de l'icône"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
@@ -17034,34 +16859,32 @@ msgstr "GDNative"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "Script"
+msgstr "GDScript"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
-msgstr ""
+msgstr "Couleur de définition de fonction"
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Node Path Color"
-msgstr "Copier le chemin du nœud"
+msgstr "Couleur des chemins de nœud"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
-msgstr ""
+msgstr "Maximum de la pile d'appel"
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
-msgstr ""
+msgstr "Traiter les avertissements comme des erreurs"
#: modules/gdscript/gdscript.cpp
msgid "Exclude Addons"
-msgstr ""
+msgstr "Exclure les extensions"
#: modules/gdscript/gdscript.cpp
msgid "Autocomplete Setters And Getters"
-msgstr ""
+msgstr "Auto-compléter les setters et les getters"
#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
@@ -17108,17 +16931,16 @@ msgid "Language Server"
msgstr "Serveur de Langues"
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Enable Smart Resolve"
-msgstr "Impossible à résoudre"
+msgstr "Activer la résolution intelligente"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Show Native Symbols In Editor"
-msgstr ""
+msgstr "Afficher les symboles natifs dans l'éditeur"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
-msgstr ""
+msgstr "Utiliser le parallélisme"
#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
msgid "Export Mesh GLTF2"
@@ -17129,37 +16951,32 @@ msgid "Export GLTF..."
msgstr "Exporter en GLTF..."
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Buffer View"
-msgstr "Vue de derrière"
+msgstr "Vue du tampon"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
msgid "Byte Offset"
msgstr "Décalage d’Octet"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Component Type"
-msgstr "Composants"
+msgstr "Type de composant"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Normalized"
-msgstr "Format"
+msgstr "Normalisé"
#: modules/gltf/gltf_accessor.cpp
msgid "Count"
msgstr "Compte"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Min"
-msgstr "Mio"
+msgstr "Min"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "Mixer"
+msgstr "Max"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -17175,9 +16992,8 @@ msgid "Sparse Indices Byte Offset"
msgstr ""
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Indices Component Type"
-msgstr "Analyse de la géométrie..."
+msgstr "Type de composant d'indices épars"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Buffer View"
@@ -17188,14 +17004,12 @@ msgid "Sparse Values Byte Offset"
msgstr ""
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Buffer"
-msgstr "Vue de derrière"
+msgstr "Tampon"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Length"
-msgstr "Thème par défaut"
+msgstr "Longueur de byte"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
@@ -17227,19 +17041,17 @@ msgstr "Linéaire"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Color"
-msgstr "Couleurs"
+msgstr "Couleur"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
msgid "Intensity"
-msgstr ""
+msgstr "Intensité"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Range"
-msgstr "Changer"
+msgstr "Plage"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
@@ -17255,14 +17067,12 @@ msgid "Blend Weights"
msgstr "Précalculer les lightmaps"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Instance Materials"
-msgstr "Changements de matériau :"
+msgstr "Matériaux d'instances"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-#, fuzzy
msgid "Parent"
-msgstr "Re-parenter"
+msgstr "Parent"
#: modules/gltf/gltf_node.cpp
#, fuzzy
@@ -17271,78 +17081,71 @@ msgstr "Plateforme"
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
-msgstr ""
+msgstr "Enveloppe"
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Translation"
-msgstr "Traductions"
+msgstr "Translation"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Children"
-msgstr "Enfants modifiables"
+msgstr "Enfants"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints"
-msgstr "Point"
+msgstr "Jointures"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
-msgstr ""
+msgstr "Racines"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
msgid "Unique Names"
-msgstr ""
+msgstr "Noms Uniques"
#: modules/gltf/gltf_skeleton.cpp
-#, fuzzy
msgid "Godot Bone Node"
-msgstr "Le nœud de la scène"
+msgstr "Nœud d'os de Godot"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Skin Root"
-msgstr "Nouvelle racine de scène"
+msgstr "Racine de l'enveloppe"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints Original"
-msgstr "Focaliser l'origine"
+msgstr "Jointure à l'original"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
-msgstr ""
+msgstr "Inverser les liens"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Non Joints"
-msgstr "Déplacer la jointure"
+msgstr "Non jointures"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
-msgstr ""
+msgstr "Jointure I à os I"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Name"
-msgstr ""
+msgstr "Jointure I à nom"
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
-msgstr ""
+msgstr "Enveloppe Godot"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Img"
-msgstr ""
+msgstr "Image Diffuse"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Factor"
-msgstr ""
+msgstr "Facteur de diffusion"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Gloss Factor"
-msgstr ""
+msgstr "Facteur de brillance"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Specular Factor"
@@ -17354,96 +17157,84 @@ msgstr ""
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr ""
+msgstr "Json"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Major Version"
-msgstr "Version"
+msgstr "Version majeure"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Minor Version"
-msgstr "Version"
+msgstr "Version mineure"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "GLB Data"
-msgstr "Avec données"
+msgstr "Données GLB"
#: modules/gltf/gltf_state.cpp
msgid "Use Named Skin Binds"
-msgstr ""
+msgstr "Utiliser les liens d'enveloppe par nom"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Buffer Views"
-msgstr "Vue de derrière"
+msgstr "Vues tampon"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
-msgstr ""
+msgstr "Accesseurs"
#: modules/gltf/gltf_state.cpp
msgid "Scene Name"
msgstr "Nom de la Scène"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Root Nodes"
-msgstr "Nom de nœud racine"
+msgstr "Nœuds racines"
#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Textures"
-msgstr "Fonctionnalités"
+msgstr "Textures"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
-msgstr ""
+msgstr "Images"
#: modules/gltf/gltf_state.cpp
msgid "Cameras"
-msgstr ""
+msgstr "Caméras"
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Lights"
-msgstr "Lumière"
+msgstr "Lumières"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Unique Animation Names"
-msgstr "Nom de la nouvelle animation :"
+msgstr "Noms d'animations uniques"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeletons"
-msgstr "Squelette"
+msgstr "Squelettes"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "Sélectionner un nœud"
+msgstr "Squelette vers nœud"
#: modules/gltf/gltf_state.cpp
msgid "Animations"
msgstr "Animations"
#: modules/gltf/gltf_texture.cpp
-#, fuzzy
msgid "Src Image"
-msgstr "Afficher les os"
+msgstr "Image source"
#: modules/gridmap/grid_map.cpp
msgid "Mesh Library"
msgstr "Librairie de maillages"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Physics Material"
-msgstr "Image physique %"
+msgstr "Matériau physique"
#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
#, fuzzy
@@ -17451,35 +17242,41 @@ msgid "Use In Baked Light"
msgstr "Précalculer les lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
-msgstr ""
+msgstr "Cellule"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Octant Size"
-msgstr "Vue de devant"
+msgstr "Taille d'octant"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center X"
-msgstr "Centre"
+msgstr "X du centre"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Y"
-msgstr "Centre"
+msgstr "Y du centre"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Z"
-msgstr "Centre"
+msgstr "Z du centre"
#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
#: scene/resources/material.cpp
msgid "Mask"
-msgstr ""
+msgstr "Masque"
+
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+msgid "Bake Navigation"
+msgstr "Pré-calculer la navigation"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "Navigation Layers"
+msgstr "Calques de navigation"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
@@ -17645,19 +17442,19 @@ msgstr "Précalculer les lightmaps"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Low Quality Ray Count"
-msgstr ""
+msgstr "Nombre de rayons de basse qualité"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Medium Quality Ray Count"
-msgstr ""
+msgstr "Nombre de rayons de qualité moyenne"
#: modules/lightmapper_cpu/register_types.cpp
msgid "High Quality Ray Count"
-msgstr ""
+msgstr "Nombre de rayons de haute qualité"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Ultra Quality Ray Count"
-msgstr ""
+msgstr "Nombre de rayons de qualité extrême"
#: modules/minimp3/audio_stream_mp3.cpp
#: modules/minimp3/resource_importer_mp3.cpp
@@ -17668,16 +17465,15 @@ msgstr "Décalage de Boucle"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Eye Height"
-msgstr ""
+msgstr "Hauteur de l’œil"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "IOD"
msgstr ""
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display Width"
-msgstr "Affichage en fil de fer"
+msgstr "Afficher la largeur"
#: modules/mobile_vr/mobile_vr_interface.cpp
#, fuzzy
@@ -17686,15 +17482,15 @@ msgstr "Afficher sans ombrage"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
-msgstr ""
+msgstr "Suréchantillonner"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "K1"
-msgstr ""
+msgstr "K1"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "K2"
-msgstr ""
+msgstr "K2"
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
@@ -17705,9 +17501,8 @@ msgid "Build Solution"
msgstr "Compiler la solution"
#: modules/mono/editor/csharp_project.cpp
-#, fuzzy
msgid "Auto Update Project"
-msgstr "Projet sans titre"
+msgstr "Mettre à jour le projet automatiquement"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
@@ -17782,56 +17577,51 @@ msgstr "C'est fait !"
#: modules/opensimplex/noise_texture.cpp
msgid "Seamless"
-msgstr ""
+msgstr "Sans bord"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "As Normal Map"
-msgstr "Échelle aléatoire :"
+msgstr "En tant que carte de normales"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
-msgstr ""
+msgstr "Force du bossage"
#: modules/opensimplex/noise_texture.cpp
msgid "Noise"
-msgstr ""
+msgstr "Bruit"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "Noise Offset"
-msgstr "Décalage de la grille :"
+msgstr "Décalage du bruit"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
-msgstr ""
+msgstr "Octaves"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Period"
-msgstr ""
+msgstr "Période"
#: modules/opensimplex/open_simplex_noise.cpp
-#, fuzzy
msgid "Persistence"
-msgstr "Perspective"
+msgstr "Persistance"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Lacunarity"
-msgstr ""
+msgstr "Lacunarité"
#: modules/regex/regex.cpp
msgid "Subject"
-msgstr ""
+msgstr "Sujet"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Names"
-msgstr "Nom"
+msgstr "Noms"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Strings"
-msgstr "Paramètres :"
+msgstr "Paramètres"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
@@ -17839,39 +17629,35 @@ msgstr ""
#: modules/upnp/upnp.cpp
msgid "Discover Local Port"
-msgstr ""
+msgstr "Révéler le port local"
#: modules/upnp/upnp.cpp
msgid "Discover IPv6"
-msgstr ""
+msgstr "Découvrir IPv6"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Description URL"
-msgstr "Description"
+msgstr "URL de description"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Service Type"
-msgstr "Définir type de variable"
+msgstr "Type du service"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
-msgstr ""
+msgstr "URL de contrôle IGD"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Service Type"
-msgstr "Définir type de variable"
+msgstr "Type de service IGD"
#: modules/upnp/upnp_device.cpp
msgid "IGD Our Addr"
msgstr ""
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Status"
-msgstr "État"
+msgstr "État IGD"
#: modules/visual_script/visual_script.cpp
msgid ""
@@ -17898,8 +17684,8 @@ msgstr ""
"travail du nœud ! Veuillez rectifier votre nœud."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "Le nœud a retourné une séquence de sortie invalide : "
+msgid "Node returned an invalid sequence output:"
+msgstr "Le nœud a retourné une séquence de sortie invalide :"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
@@ -17908,13 +17694,12 @@ msgstr ""
"le bug !"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "Débordement de pile avec profondeur de pile : "
+msgid "Stack overflow with stack depth:"
+msgstr "Débordement de pile avec profondeur de pile :"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Visual Script"
-msgstr "Rechercher VisualScript"
+msgstr "Script graphique"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
@@ -18250,9 +18035,8 @@ msgid "Return Enabled"
msgstr "Exécutable"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Type"
-msgstr "Retour"
+msgstr "Type de retour"
#: modules/visual_script/visual_script_flow_control.cpp
#: scene/resources/visual_shader_nodes.cpp
@@ -18280,16 +18064,16 @@ msgid "for (elem) in (input):"
msgstr "for (elem) in (input) :"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "Type d'entrée non itérable : "
+msgid "Input type not iterable:"
+msgstr "Type d'entrée non itérable :"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "L'itérateur est devenu invalide"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "L'itérateur est devenu invalide : "
+msgid "Iterator became invalid:"
+msgstr "L'itérateur est devenu invalide :"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18300,7 +18084,6 @@ msgid "in order:"
msgstr "dans l'ordre :"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Steps"
msgstr "Pas"
@@ -18322,9 +18105,8 @@ msgstr "Est-ce %s ?"
#: modules/visual_script/visual_script_flow_control.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Base Script"
-msgstr "Nouveau script"
+msgstr "Script de base"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
@@ -18336,36 +18118,31 @@ msgstr "On Self"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Call Mode"
-msgstr "Mode mise à l'échelle"
+msgstr "Mode d'appel"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Basic Type"
-msgstr "Changer le type de base"
+msgstr "Type simple"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Node Path"
-msgstr "Copier le chemin du nœud"
+msgstr "Chemin de nœud"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Use Default Args"
-msgstr "Réinitialiser"
+msgstr "Utiliser les valeurs d'arguments par défaut"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Validate"
msgstr "Valider"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "RPC Call Mode"
-msgstr "Mode mise à l'échelle"
+msgstr "Mode d'appel RPC"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Subtract %s"
@@ -18404,14 +18181,12 @@ msgid "BitXor %s"
msgstr "Ou-exclusif par bit %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Set Mode"
-msgstr "Mode sélection"
+msgstr "Définir le mode"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Assign Op"
-msgstr "Assigner"
+msgstr "Opérateur d'assignation"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -18428,9 +18203,8 @@ msgid "Base object is not a Node!"
msgstr "L'objet de base n'est pas un nœud !"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Path does not lead to Node!"
-msgstr "Le chemin ne mène pas au nœud !"
+msgstr "Le chemin ne mène pas vers un nœud !"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Invalid index property name '%s' in node %s."
@@ -18446,34 +18220,32 @@ msgstr "Composer le tableau"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "Itérateur"
+msgstr "Opérateur"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": Argument invalide de type : "
+msgid "Invalid argument of type:"
+msgstr "Argument invalide de type :"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": Arguments invalides : "
+msgid "Invalid arguments:"
+msgstr "Arguments invalides :"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
msgstr "a if cond, else b"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Var Name"
-msgstr "Nom"
+msgstr "Nom de variable"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "VariableGet introuvable dans le script : "
+msgid "VariableGet not found in script:"
+msgstr "VariableGet introuvable dans le script :"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "VariableSet introuvable dans le script : "
+msgid "VariableSet not found in script:"
+msgstr "VariableSet introuvable dans le script :"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18543,7 +18315,7 @@ msgstr "Sous-appel"
#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
msgid "Title"
-msgstr ""
+msgstr "Titre"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Construct %s"
@@ -18590,9 +18362,8 @@ msgid "%s sec(s)"
msgstr "%s seconde(s)"
#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-#, fuzzy
msgid "Wait Time"
-msgstr "Peindre la tuile"
+msgstr "Temps d'attente"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "WaitSignal"
@@ -18607,81 +18378,72 @@ msgid "WaitInstanceSignal"
msgstr "WaitInstanceSignal"
#: modules/webrtc/webrtc_data_channel.cpp
-#, fuzzy
msgid "Write Mode"
-msgstr "Mode prioritaire"
+msgstr "Mode écriture"
#: modules/webrtc/webrtc_data_channel.h
msgid "WebRTC"
-msgstr ""
+msgstr "WebRTC"
#: modules/webrtc/webrtc_data_channel.h
msgid "Max Channel In Buffer (KB)"
-msgstr ""
+msgstr "Maximum de canal dans le tampon (Ko)"
#: modules/websocket/websocket_client.cpp
msgid "Verify SSL"
-msgstr ""
+msgstr "Vérifier la SSL"
#: modules/websocket/websocket_client.cpp
msgid "Trusted SSL Certificate"
-msgstr ""
+msgstr "Certificat SSL Fiable"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Client"
-msgstr "Profileur réseau"
+msgstr "Client WebSocket"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max In Buffer (KB)"
-msgstr "Taille Maximale (KB)"
+msgstr "Maximum tampon entrant (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max In Packets"
-msgstr ""
+msgstr "Maximum de paquets entrant"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max Out Buffer (KB)"
-msgstr "Taille Maximale (KB)"
+msgstr "Maximum tampon sortant (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max Out Packets"
-msgstr ""
+msgstr "Maximum de paquets sortant"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Server"
-msgstr "Profileur réseau"
+msgstr "Server WebSocket"
#: modules/websocket/websocket_server.cpp
msgid "Bind IP"
-msgstr ""
+msgstr "Lier IP"
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "Private Key"
-msgstr "Chemin de la clé privée SSH"
+msgstr "Clé privée"
#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
msgid "SSL Certificate"
-msgstr ""
+msgstr "Certificat SSL"
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "CA Chain"
-msgstr "Effacer la chaîne IK"
+msgstr "Chaîne d’autorité de certificat (CA)"
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "Handshake Timeout"
-msgstr "Délai dépassé."
+msgstr "Délai de poignée de main expiré"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Session Mode"
-msgstr "Mode Région"
+msgstr "Mode de session"
#: modules/webxr/webxr_interface.cpp
msgid "Required Features"
@@ -18696,18 +18458,17 @@ msgid "Requested Reference Space Types"
msgstr ""
#: modules/webxr/webxr_interface.cpp
+#, fuzzy
msgid "Reference Space Type"
-msgstr ""
+msgstr "Type de référentiel spatial"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Visibility State"
-msgstr "Basculer la visibilité"
+msgstr "État de la visibilité"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Bounds Geometry"
-msgstr "Réessayer"
+msgstr "Géométrie des limites"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
@@ -18716,7 +18477,7 @@ msgstr "Magnétisme intelligent"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
-msgstr ""
+msgstr "Chemin du SDK Android"
#: platform/android/export/export.cpp
#, fuzzy
@@ -18733,27 +18494,27 @@ msgstr ""
#: platform/android/export/export.cpp
msgid "Force System User"
-msgstr ""
+msgstr "Forcer l'utilisateur système"
#: platform/android/export/export.cpp
msgid "Shutdown ADB On Exit"
-msgstr ""
+msgstr "Fermer ADB à la sortie"
#: platform/android/export/export_plugin.cpp
msgid "Launcher Icons"
-msgstr ""
+msgstr "Icônes du lanceur"
#: platform/android/export/export_plugin.cpp
msgid "Main 192 X 192"
-msgstr ""
+msgstr "Principal 192 X 192"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Foreground 432 X 432"
-msgstr ""
+msgstr "Avant-Plan Adaptatif 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Background 432 X 432"
-msgstr ""
+msgstr "Arrière-Plan Adaptatif 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -18785,18 +18546,28 @@ msgid "The package must have at least one '.' separator."
msgstr "Le paquet doit comporter au moins un séparateur « . »."
#: platform/android/export/export_plugin.cpp
+msgid "Custom Build"
+msgstr "Construction personnalisé"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
-msgstr ""
+msgstr "Utiliser une construction personnalisé"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Export Format"
-msgstr "Chemin d'exportation"
+msgstr "Format d'exportation"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "Min SDK"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "SDK Cible"
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#, fuzzy
msgid "Architectures"
-msgstr "Ajouter une entrée architecture"
+msgstr "Architectures"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18804,60 +18575,44 @@ msgid "Keystore"
msgstr "Débogueur"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Debug User"
-msgstr "Débogueur"
+msgstr "Utilisateur de débogage"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Debug Password"
-msgstr "Mot de passe"
+msgstr "Mot de passe de débogage"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release User"
-msgstr "Publication (release)"
+msgstr "Utilisateur de publication (release)"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release Password"
-msgstr "Mot de passe"
+msgstr "Mot de passe de publication"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
-msgstr ""
+msgstr "Déploiement en un clic"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Clear Previous Install"
-msgstr "Inspecter l'instance précédente"
+msgstr "Nettoyer l'installation précédente"
#: platform/android/export/export_plugin.cpp
msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr "SDK Minimal"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Cible"
+msgstr "Code"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Package"
-msgstr "Empaquetage"
+msgstr "Paquetage"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Unique Name"
msgstr "Nom unique"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Signed"
-msgstr "Signaux"
+msgstr "Signé"
#: platform/android/export/export_plugin.cpp
msgid "Classify As Game"
@@ -18865,50 +18620,43 @@ msgstr "Classer En Tant Que Jeu"
#: platform/android/export/export_plugin.cpp
msgid "Retain Data On Uninstall"
-msgstr ""
+msgstr "Conserver les données lors de la désinstallation"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Exclude From Recents"
-msgstr "Supprimer des nœuds"
+msgstr "Exclure des récents"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Graphics"
-msgstr "Décalage de la grille :"
+msgstr "Graphismes"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "OpenGL Debug"
-msgstr "Ouvrir"
+msgstr "Débogage OpenGL"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Features"
-msgstr "Fonctionnalités"
+msgstr "Fonctionnalités XR"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Mode"
-msgstr "Mode navigation"
+msgstr "Mode XR"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Hand Tracking"
-msgstr "Empaquetage"
+msgstr "Suivi des mains"
#: platform/android/export/export_plugin.cpp
msgid "Hand Tracking Frequency"
-msgstr ""
+msgstr "Fréquence de suivi des mains"
#: platform/android/export/export_plugin.cpp
msgid "Passthrough"
-msgstr ""
+msgstr "Relais"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Immersive Mode"
-msgstr "Mode prioritaire"
+msgstr "Mode immersif"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18931,18 +18679,16 @@ msgid "Support Xlarge"
msgstr "Support"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "User Data Backup"
-msgstr "Interface utilisateur"
+msgstr "Sauvegarde(backup) des données utilisateur"
#: platform/android/export/export_plugin.cpp
msgid "Allow"
-msgstr ""
+msgstr "Autoriser"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Command Line"
-msgstr "Communauté"
+msgstr "Ligne de commande"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Extra Args"
@@ -18955,22 +18701,19 @@ msgstr "Expression"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
-msgstr ""
+msgstr "Sel"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Public Key"
-msgstr "Chemin de la clé publique SSH"
+msgstr "Clé Publique"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Permissions"
-msgstr "Masque d'émission"
+msgstr "Permissions"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Custom Permissions"
-msgstr "Jouer une scène personnalisée"
+msgstr "Permissions Personnalisées"
#: platform/android/export/export_plugin.cpp
msgid "Select device from the list"
@@ -19005,10 +18748,6 @@ msgid "Could not execute on device."
msgstr "Impossible d'exécuter sur l'appareil."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Impossible de trouver l'outil 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19094,6 +18833,11 @@ msgid ""
"Note that the singleton was also renamed from \"GodotPayments\" to "
"\"GodotGooglePlayBilling\"."
msgstr ""
+"Le module \"GodotPaymentV3\" inclus dans les paramètres du projet à "
+"\"android/modules\" est invalide (Changé dans Godot 3.2.2).\n"
+"Remplacez-le avec le plugin tiers \"GodotGooglePlayBilling\".\n"
+"Notez que ce singleton a aussi été renommé de \"GodotPayments\" en "
+"\"GodotGooglePlayBilling\"."
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -19101,17 +18845,16 @@ msgstr "« Use Custom Build » doit être activé pour utiliser les plugins."
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
-"« Hand Tracking » est valide uniquement lorsque le « Mode Xr » est « Oculus "
+"« Hand Tracking » est valide uniquement lorsque le « Mode XR » est « Oculus "
"Mobile VrApi »."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
-"« Passthrough » est valide uniquement lorsque le « Xr Mode » est « Oculus "
-"Mobile VrApi »."
+"« Passthrough » est valide uniquement lorsque le « Mode XR » est « OpenXR »."
#: platform/android/export/export_plugin.cpp
msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
@@ -19121,36 +18864,66 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"Changer « Min Sdk » est valide uniquement lorsque l'option « Use Custom "
+"Changer « Min SDK » est valide uniquement lorsque l'option « Use Custom "
"Build » est activée."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+"\"Min SDK\" devrait être un nombre entier valide, mais \"%s\" n'est pas "
+"valide."
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+"« Min SDK » ne peut être inférieur à %d, la version requise par la libraire "
+"de Godot."
+
+#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"Changer « Target Sdk » est valide uniquement lorsque l'option « Use Custom "
+"Changer « Target SDK » est valide uniquement lorsque l'option « Use Custom "
"Build » est activée."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+"« SDK Cible » devrait être un nombre entier valide, mais « %s » n'en est pas "
+"un."
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
-"La version « Target Sdk » doit être supérieure ou égale à la version « Min "
-"Sdk »."
+"« SDK Cible » %d est plus grande que la version par défaut %d. Cela pourrait "
+"fonctionner, mais ça n'a pas été testé. Le résultat pourrait être instable."
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+"La version « Target SDK » doit être supérieure ou égale à la version « Min "
+"SDK »."
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr "Signature du code"
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"Impossible de trouver 'apksigner'.\n"
-"Veuillez vérifier que la commande est disponible dans le dossier build-tools "
-"du SDK Android.\n"
-"Le paquet sortant %s est non signé."
+"Impossible de trouver 'apksigner'. Veuillez vérifier que la commande est "
+"disponible dans le dossier build-tools du SDK Android. Le %s resultant n'est "
+"pas signé."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -19165,6 +18938,10 @@ msgid "Could not find keystore, unable to export."
msgstr "Impossible de trouver le keystore, impossible d'exporter."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "Impossible de le programme apksigner."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' est retourné avec l'erreur #%d"
@@ -19199,8 +18976,8 @@ msgstr ""
"*.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Format d'export non supporté !\n"
+msgid "Unsupported export format!"
+msgstr "Format d'export non supporté !"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19213,26 +18990,23 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"La version d'Android ne correspond pas :\n"
-" Modèle installé : %s\n"
-" Version Godot : %s\n"
-"Veuillez réinstaller la version d'Android depuis le menu 'Projet'."
+"La version compilée d'Android ne correspond pas : Modèle type installé : %s, "
+"Version de Godot : %s. Veuillez réinstaller le modèle type de compilation "
+"d'Android depuis le menu 'Projet'."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Impossible d'écraser les fichiers res://android/build/res/*.xml avec le nom "
-"du projet"
+"du projet."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "Impossible d'exporter les fichiers du projet vers le projet gradle\n"
+msgid "Could not export project files to gradle project."
+msgstr "Impossible d'exporter les fichiers du projet vers le projet gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19244,13 +19018,12 @@ msgstr "Construire le Project Android (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"La construction du projet Android a échoué, vérifiez la sortie pour "
-"l'erreur.\n"
-"Sinon, visitez docs.godotengine.org pour la documentation de construction "
-"Android."
+"l'erreur. Sinon, visitez docs.godotengine.org pour la documentation de "
+"construction Android."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -19265,40 +19038,38 @@ msgstr ""
"du projet gradle pour les journaux."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr "Paquet non trouvé : %s"
+msgid "Package not found: \"%s\"."
+msgstr "Paquet non trouvé : \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "Création de l'APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
-"Impossible de trouver le modèle de l'APK à exporter :\n"
-"%s"
+"La construction du projet Android a échoué, vérifiez la sortie pour "
+"l'erreur. Sinon, visitez docs.godotengine.org pour la documentation de "
+"construction Android."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
"Bibliothèques manquantes dans le modèle d'exportation pour les architectures "
-"sélectionnées : %s.\n"
-"Veuillez construire un modèle avec toutes les bibliothèques requises, ou "
-"désélectionner les architectures manquantes dans le préréglage d'exportation."
+"sélectionnées : %s. Veuillez construire un modèle avec toutes les "
+"bibliothèques requises, ou désélectionner les architectures manquantes dans "
+"le préréglage d'exportation."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "Ajout de fichiers..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr "Impossible d'exporter les fichiers du projet"
+msgid "Could not export project files."
+msgstr "Impossible d'exporter les fichiers du projet."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19322,188 +19093,176 @@ msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 2436 X 1125"
-msgstr ""
+msgstr "iPhone 2436 X 1125"
#: platform/iphone/export/export.cpp
msgid "iPhone 2208 X 1242"
-msgstr ""
+msgstr "iPhone 2208 X 1242"
#: platform/iphone/export/export.cpp
msgid "iPad 1024 X 768"
-msgstr ""
+msgstr "iPad 1024 X 768"
#: platform/iphone/export/export.cpp
msgid "iPad 2048 X 1536"
-msgstr ""
+msgstr "iPad 2048 X 1536"
#: platform/iphone/export/export.cpp
msgid "Portrait Launch Screens"
-msgstr ""
+msgstr "Écrans de lancement en mode portrait"
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 960"
-msgstr ""
+msgstr "iPhone 640 X 960"
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 1136"
-msgstr ""
+msgstr "iPhone 640 X 1136"
#: platform/iphone/export/export.cpp
msgid "iPhone 750 X 1334"
-msgstr ""
+msgstr "iPhone 750 X 1334"
#: platform/iphone/export/export.cpp
msgid "iPhone 1125 X 2436"
-msgstr ""
+msgstr "iPhone 1125 X 2436"
#: platform/iphone/export/export.cpp
msgid "iPad 768 X 1024"
-msgstr ""
+msgstr "iPad 768 X 1024"
#: platform/iphone/export/export.cpp
msgid "iPad 1536 X 2048"
-msgstr ""
+msgstr "iPad 1536 X 2048"
#: platform/iphone/export/export.cpp
msgid "iPhone 1242 X 2208"
-msgstr ""
+msgstr "iPhone 1242 X 2208"
#: platform/iphone/export/export.cpp
msgid "App Store Team ID"
-msgstr ""
+msgstr "ID de groupe de l'App Store"
#: platform/iphone/export/export.cpp
msgid "Provisioning Profile UUID Debug"
-msgstr ""
+msgstr "UUID de provisionnement de profils en débogage"
#: platform/iphone/export/export.cpp
msgid "Code Sign Identity Debug"
-msgstr ""
+msgstr "Identité de signature de code en débogage"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Method Debug"
-msgstr "Exporter avec debug"
+msgstr "Méthode d'exportation en débogage"
#: platform/iphone/export/export.cpp
msgid "Provisioning Profile UUID Release"
-msgstr ""
+msgstr "UUID de provisionnement de profils en publication"
#: platform/iphone/export/export.cpp
msgid "Code Sign Identity Release"
-msgstr ""
+msgstr "Identité de signature de code en publication"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Method Release"
-msgstr "Mode d'exportation :"
+msgstr "Méthode d'exportation en publication"
#: platform/iphone/export/export.cpp
msgid "Targeted Device Family"
-msgstr ""
+msgstr "Famille de système ciblée"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Info"
-msgstr ""
+msgstr "Info"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Identifier"
msgstr "Identifiant"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Signature"
-msgstr "Signaux"
+msgstr "Signature"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Short Version"
-msgstr "Version"
+msgstr "Version courte"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Copyright"
-msgstr "En haut à droite"
+msgstr "Copyright"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Capabilities"
-msgstr "Coller les propriétés"
+msgstr "Capacités"
#: platform/iphone/export/export.cpp
msgid "Access Wi-Fi"
msgstr "Accès Wi-Fi"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Push Notifications"
-msgstr "Rotation aléatoire :"
+msgstr "Notifications Push"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "User Data"
-msgstr "Interface utilisateur"
+msgstr "Données Utilisateur"
#: platform/iphone/export/export.cpp
msgid "Accessible From Files App"
-msgstr ""
+msgstr "Accessible depuis l'application Files"
#: platform/iphone/export/export.cpp
msgid "Accessible From iTunes Sharing"
-msgstr ""
+msgstr "Accessible depuis le partage iTunes"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Privacy"
-msgstr "Chemin de la clé privée SSH"
+msgstr "Confidentialité"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Camera Usage Description"
-msgstr "Description"
+msgstr "Description d'utilisation de la caméra"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Microphone Usage Description"
-msgstr "Description des propriétés"
+msgstr "Description d'utilisation du microphone"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Photolibrary Usage Description"
-msgstr "Description des propriétés"
+msgstr "Description d'utilisation de la bibliothèque d'image"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
-msgstr ""
+msgstr "iPhone 120 X 120"
#: platform/iphone/export/export.cpp
msgid "iPhone 180 X 180"
-msgstr ""
+msgstr "iPhone 180 X 180"
#: platform/iphone/export/export.cpp
msgid "iPad 76 X 76"
-msgstr ""
+msgstr "iPad 76 X 76"
#: platform/iphone/export/export.cpp
msgid "iPad 152 X 152"
-msgstr ""
+msgstr "iPad 152 X 152"
#: platform/iphone/export/export.cpp
msgid "iPad 167 X 167"
-msgstr ""
+msgstr "iPad 167 X 167"
#: platform/iphone/export/export.cpp
msgid "App Store 1024 X 1024"
-msgstr ""
+msgstr "App Store 1024 X 1024"
#: platform/iphone/export/export.cpp
msgid "Spotlight 40 X 40"
-msgstr ""
+msgstr "Projecteur 40 X 40"
#: platform/iphone/export/export.cpp
msgid "Spotlight 80 X 80"
-msgstr ""
+msgstr "Projecteur 80 X 80"
#: platform/iphone/export/export.cpp
msgid "Storyboard"
@@ -19514,29 +19273,33 @@ msgid "Use Launch Screen Storyboard"
msgstr ""
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Image Scale Mode"
-msgstr "Mode mise à l'échelle"
+msgstr "Mode de mise à l'échelle d'image"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom Image @2x"
-msgstr "Nœud Personnalisé"
+msgstr "Image personnalisée @2x"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom Image @3x"
-msgstr "Nœud Personnalisé"
+msgstr "Image personnalisée @3x"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Use Custom BG Color"
-msgstr "Nœud Personnalisé"
+msgstr "Utiliser la couleur d'arrière-plan personnalisée"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom BG Color"
-msgstr "Nœud Personnalisé"
+msgstr "Couleur d'arrière-plan personnalisée"
+
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr "Préparer les modèles"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr "Modèle d'exportation introuvable."
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
@@ -19559,56 +19322,60 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Exécutez le HTML exporté dans le navigateur par défaut du système."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr "Impossible d'ouvrir le modèle pour exportation :"
+msgid "Could not open template for export: \"%s\"."
+msgstr "Impossible d'ouvrir le modèle pour exportation : « %s »."
+
+#: platform/javascript/export/export.cpp
+msgid "Invalid export template: \"%s\"."
+msgstr "Modèle d'exportation invalide : « %s »."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr "Modèle d'exportation non valide :"
+msgid "Could not write file: \"%s\"."
+msgstr "Impossible d'écrire le fichier : « %s »."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+msgid "Icon Creation"
+msgstr "Création de l'icône"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr "Impossible d'écrire le fichier :"
+msgid "Could not read file: \"%s\"."
+msgstr "Impossible de lire le fichier : «%s »."
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr "Impossible de lire le fichier :"
+msgid "PWA"
+msgstr ""
#: platform/javascript/export/export.cpp
msgid "Variant"
msgstr "Variant"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Export Type"
-msgstr "Exporter"
+msgstr "Type d'exportation"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "VRAM Texture Compression"
-msgstr "Expression"
+msgstr "Compression des textures dans la mémoire vidéo"
#: platform/javascript/export/export.cpp
msgid "For Desktop"
-msgstr ""
+msgstr "Pour PC"
#: platform/javascript/export/export.cpp
msgid "For Mobile"
-msgstr ""
+msgstr "Pour Mobile"
#: platform/javascript/export/export.cpp
msgid "HTML"
-msgstr ""
+msgstr "HTML"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Export Icon"
-msgstr "Développer tout"
+msgstr "Icône d'exportation"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Custom HTML Shell"
-msgstr "Nœud Personnalisé"
+msgstr "Shell HTML personnalisé"
#: platform/javascript/export/export.cpp
msgid "Head Include"
@@ -19616,69 +19383,67 @@ msgstr ""
#: platform/javascript/export/export.cpp
msgid "Canvas Resize Policy"
-msgstr ""
+msgstr "Politique de redimensionnement du canevas"
#: platform/javascript/export/export.cpp
msgid "Focus Canvas On Start"
msgstr ""
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Experimental Virtual Keyboard"
-msgstr "Filtrer les signaux"
+msgstr "Clavier virtuel expérimental"
#: platform/javascript/export/export.cpp
msgid "Progressive Web App"
-msgstr ""
+msgstr "Application web progressive"
#: platform/javascript/export/export.cpp
msgid "Offline Page"
-msgstr ""
+msgstr "Page hors ligne"
#: platform/javascript/export/export.cpp
msgid "Icon 144 X 144"
-msgstr ""
+msgstr "Icône 144 X 144"
#: platform/javascript/export/export.cpp
msgid "Icon 180 X 180"
-msgstr ""
+msgstr "Icône 180 X 180"
#: platform/javascript/export/export.cpp
msgid "Icon 512 X 512"
-msgstr ""
+msgstr "Icône 512 X 512"
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr "Impossible de lire le shell HTML :"
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "Impossible de lire le shell HTML : « %s »."
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr "Impossible de créer le répertoire du serveur HTTP :"
+msgid "Could not create HTTP server directory: %s."
+msgstr "Impossible de créer le répertoire du serveur HTTP : %s."
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr "Erreur de démarrage du serveur HTTP :"
+msgid "Error starting HTTP server: %d."
+msgstr "Erreur de démarrage du serveur HTTP : %d."
#: platform/javascript/export/export.cpp
msgid "Web"
-msgstr ""
+msgstr "Web"
#: platform/javascript/export/export.cpp
msgid "HTTP Host"
-msgstr ""
+msgstr "Hôte HTTP"
#: platform/javascript/export/export.cpp
msgid "HTTP Port"
-msgstr ""
+msgstr "Port HTTP"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Use SSL"
-msgstr "Utiliser l’aimantation"
+msgstr "Utiliser SSL"
#: platform/javascript/export/export.cpp
msgid "SSL Key"
-msgstr ""
+msgstr "Clé SSL"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
@@ -19706,7 +19471,7 @@ msgstr "Échec de création du sous-dossier « %s »."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Échec lors de l'extraction du binaire."
#: platform/osx/export/codesign.cpp
msgid "Invalid binary format."
@@ -19717,18 +19482,16 @@ msgid "Already signed!"
msgstr "Déjà signé !"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Impossible de charger la ressource."
+msgstr "Le traitement des ressources imbriquées a échoué."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "Échec lors de la création du sous-dossier _CodeSignature."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Impossible de charger la ressource."
+msgstr "La récupération du hachage de CodeResources a échouée."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -19741,94 +19504,84 @@ msgstr "Fichier exécutable invalide."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Impossible de redimensionner la commande de chargement des signatures."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Échec lors de la création du binaire."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Type de paquet inconnu."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
msgstr "Type d'objet inconnu."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "App Category"
-msgstr "Catégorie :"
+msgstr "Catégorie de l'application"
#: platform/osx/export/export.cpp
msgid "High Res"
-msgstr ""
+msgstr "Haute Résolution"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location Usage Description"
-msgstr "Description"
+msgstr "Description d'utilisation de la géolocalisation"
#: platform/osx/export/export.cpp
msgid "Address Book Usage Description"
-msgstr ""
+msgstr "Description d'utilisation du carnet d'adresse"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Calendar Usage Description"
-msgstr "Description"
+msgstr "Description d'utilisation du calendrier"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Photos Library Usage Description"
-msgstr "Description des propriétés"
+msgstr "Description d'utilisation de la bibliothèque photo"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Desktop Folder Usage Description"
-msgstr "Descriptions des méthodes"
+msgstr "Description d'utilisation du dossier Bureau"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Documents Folder Usage Description"
-msgstr "Descriptions des méthodes"
+msgstr "Description d'utilisation du dossier Documents"
#: platform/osx/export/export.cpp
msgid "Downloads Folder Usage Description"
-msgstr ""
+msgstr "Description d'utilisation du dossier Téléchargements"
#: platform/osx/export/export.cpp
msgid "Network Volumes Usage Description"
-msgstr ""
+msgstr "Description d'utilisation des disques réseau"
#: platform/osx/export/export.cpp
msgid "Removable Volumes Usage Description"
-msgstr ""
+msgstr "Description d'utilisation des disques amovibles"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Codesign"
-msgstr "Nœud"
+msgstr "Signature du code"
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Identity"
-msgstr "Indenter vers la gauche"
+msgstr "Identité"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Timestamp"
-msgstr "Temps"
+msgstr "Horodatage"
#: platform/osx/export/export.cpp
msgid "Hardened Runtime"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Replace Existing Signature"
-msgstr "Remplacer dans les fichiers"
+msgstr "Remplacer la signature existante"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19836,13 +19589,12 @@ msgid "Entitlements"
msgstr "Gadgets"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Custom File"
-msgstr "Nœud Personnalisé"
+msgstr "Fichier personnalisé"
#: platform/osx/export/export.cpp
msgid "Allow JIT Code Execution"
-msgstr ""
+msgstr "Autoriser l'exécution du code JIT"
#: platform/osx/export/export.cpp
msgid "Allow Unsigned Executable Memory"
@@ -19853,65 +19605,57 @@ msgid "Allow Dyld Environment Variables"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Disable Library Validation"
-msgstr "Bouton désactivé"
+msgstr "Désactiver la validation des librairies"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Audio Input"
-msgstr "Ajouter une entrée"
+msgstr "Entrée Audio"
#: platform/osx/export/export.cpp
msgid "Address Book"
-msgstr ""
+msgstr "Carnet d'Adresses"
#: platform/osx/export/export.cpp
msgid "Calendars"
-msgstr ""
+msgstr "Calendrier"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Photos Library"
-msgstr "Bibliothèque d'exportation"
+msgstr "Bibliothèque de photos"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Apple Events"
-msgstr "Ajouter évènement"
+msgstr "Événements Apple"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Debugging"
msgstr "Débogage"
#: platform/osx/export/export.cpp
msgid "App Sandbox"
-msgstr ""
+msgstr "Bac à sable de l'application"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Server"
-msgstr "Profileur réseau"
+msgstr "Serveur réseau"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Client"
-msgstr "Profileur réseau"
+msgstr "Client réseau"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Device USB"
-msgstr "Périphérique"
+msgstr "Périphérique USB"
#: platform/osx/export/export.cpp
msgid "Device Bluetooth"
-msgstr ""
+msgstr "Périphérique Bluetooth"
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Files Downloads"
-msgstr "Télécharger"
+msgstr "Téléchargement de fichiers"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19929,9 +19673,8 @@ msgid "Files Movies"
msgstr "Filtrer les tuiles"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Custom Options"
-msgstr "Options de bus"
+msgstr "Options personnalisées"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19940,59 +19683,140 @@ msgstr "Localisation"
#: platform/osx/export/export.cpp
msgid "Apple ID Name"
-msgstr ""
+msgstr "Nom Apple ID"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Apple ID Password"
-msgstr "Mot de passe"
+msgstr "Mot de passe Apple ID"
#: platform/osx/export/export.cpp
msgid "Apple Team ID"
msgstr "Apple Team ID"
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr "Impossible d'ouvrir le fichier d'icône \"%s\"."
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "Impossible de démarrer le sous-processus."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr "Notarisation échouée."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
+"Le processus de certification prend généralement moins d'une heure. Quand le "
+"processus sera achevé, vous recevrez un e-mail."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Vous pouvez contrôler la progression manuellement en ouvrant un Terminal et "
+"en exécutant la commande suivante :"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Exécutez la commande suivante pour lier le ticket de certification avec "
+"l'application exporté (optionnel) :"
+
+#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"L'horodatage n'est pas compatible avec la signature ad-hoc et a été "
+"désactivé !"
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr "CodeSign intégré nécessite le module regex."
#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+"Ne peut lancer l'exécutable codesign, vérifiez que les outils en ligne de "
+"commande de Xcode sont installés."
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Aucune identité trouvée."
#: platform/osx/export/export.cpp
-#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Impossible de signer le fichier %s."
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Les liens symboliques relatifs ne sont pas supportés, « %s » pourrait être "
+"cassé !"
+
+#: platform/osx/export/export.cpp
+msgid "DMG Creation"
+msgstr "Création du DMG"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "Impossible de démarrer le programme hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr "`hdiutil create` a échoué - le fichier existe."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr "`hdiutil create` a échoué."
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
-msgstr "Création de l'aperçu"
+msgstr "Création du paquet d'application"
+
+#: platform/osx/export/export.cpp
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Impossible de trouver le modèle de l'application à exporter : \"%s\"."
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr "Impossible de trouver le modèle de l'application à exporter :"
+msgid "Invalid export format."
+msgstr "Format d'export invalide."
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"Les liens symboliques relatifs ne sont pas supportés sur ce système "
+"d'exploitation, le projet exporté pourrait être cassé !"
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
+"Le binaire modèle requis « %s » n'a pas été trouvé. Il doit être absent de "
+"votre archive de modèles."
#: platform/osx/export/export.cpp
msgid "Making PKG"
@@ -20003,10 +19827,13 @@ msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"La signature d'applications ad-hoc nécessite la permission \"Désactiver la "
+"validation de bibliothèque\" pour pouvoir charger dynamiquement les "
+"bibliothèques."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Paquet de signature du code"
#: platform/osx/export/export.cpp
msgid "Making DMG"
@@ -20014,7 +19841,7 @@ msgstr "Création du DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "DMG de signature du code"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
@@ -20025,10 +19852,20 @@ msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
+"La certification nécessite que l'application soit préalablement archivé. "
+"Sélectionnez le format d'exportation DMG ou ZIP à la place."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Envoi de l'archive pour la certification"
+
+#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr "Création ZIP"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Impossible d'ouvrir le fichier à lire au chemin \"%s\"."
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -20039,26 +19876,32 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Attention : Le « codesign » embarqué est sélectionné dans les paramètres de "
+"l'éditeur. La signature du code se limite à la signature ad-hoc seulement."
#: platform/osx/export/export.cpp
msgid ""
"Warning: Xcode command line tools are not installed, using built-in "
"\"codesign\". Code signing is limited to ad-hoc signature only."
msgstr ""
+"Attention : Les outils en ligne de commande de Xcode ne sont pas installés, "
+"utilisation du « codesign » embarqué. La signature du code se limite à la "
+"signature ad-hoc seulement."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
msgstr ""
+"Certification : La certification avec une signature ad-hoc n'est pas "
+"supporté."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "Certification : signature du code requise."
+msgstr ""
+"Notarisation : La signature du code est nécessaire pour la notarisation."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "Certification : exécution renforcée requise."
+msgstr "Notarisation : exécution renforcée nécessaire pour la notarisation."
#: platform/osx/export/export.cpp
#, fuzzy
@@ -20078,12 +19921,17 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Attention : La certification est désactivé. Le projet exporté sera bloqué "
+"par Gatekeeper si il est téléchargé depuis une source inconnue."
#: platform/osx/export/export.cpp
msgid ""
"Code signing is disabled. The exported project will not run on Macs with "
"enabled Gatekeeper and Apple Silicon powered Macs."
msgstr ""
+"La signature du code est désactivé. Le projet exporté ne fonctionnera pas "
+"sur les Macs avec Gatekeeper activé et sous les Macs fonctionnant sous Apple "
+"Silicon."
#: platform/osx/export/export.cpp
msgid ""
@@ -20095,12 +19943,17 @@ msgstr ""
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
+"L'horodatage n'est pas compatible avec la signature ad-hoc et a été "
+"désactivé !"
#: platform/osx/export/export.cpp
msgid ""
"Warning: Notarization is not supported from this OS. The exported project "
"will be blocked by Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Attention : La certification n'est pas compatible avec ce système "
+"d'exploitation. Le projet exporté sera bloqué par Gatekeeper si il est "
+"téléchargé depuis une source inconnue."
#: platform/osx/export/export.cpp
msgid ""
@@ -20150,21 +20003,19 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "macOS"
-msgstr ""
+msgstr "macOS"
#: platform/osx/export/export.cpp
msgid "Force Builtin Codesign"
-msgstr ""
+msgstr "Forcer CodeSign intégré"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Architecture"
-msgstr "Ajouter une entrée architecture"
+msgstr "Architecture"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Display Name"
-msgstr "Tout afficher"
+msgstr "Afficher le nom"
#: platform/uwp/export/export.cpp
msgid "Short Name"
@@ -20172,118 +20023,107 @@ msgstr "Nom Abrégé"
#: platform/uwp/export/export.cpp
msgid "Publisher"
-msgstr ""
+msgstr "Publicateur"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Publisher Display Name"
-msgstr "Nom d'affichage d'éditeur du paquet invalide."
+msgstr "Nom d'affichage de l'éditeur du paquet"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Product GUID"
-msgstr "GUID produit invalide."
+msgstr "GUID du produit"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Publisher GUID"
-msgstr "Effacé Guides"
+msgstr "GUID du publicateur"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Signing"
-msgstr "Signaux"
+msgstr "Signature"
#: platform/uwp/export/export.cpp
msgid "Certificate"
msgstr "Certificat"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Algorithm"
-msgstr "Débogueur"
+msgstr "Algorithme"
#: platform/uwp/export/export.cpp
msgid "Major"
-msgstr ""
+msgstr "Majeur"
#: platform/uwp/export/export.cpp
msgid "Minor"
-msgstr ""
+msgstr "Mineur"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Build"
-msgstr "Mode Règle"
+msgstr "Build"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Revision"
-msgstr "Expression"
+msgstr "Révision"
#: platform/uwp/export/export.cpp
msgid "Landscape"
-msgstr ""
+msgstr "Paysage"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Portrait"
-msgstr "Retourner les Portals"
+msgstr "Portrait"
#: platform/uwp/export/export.cpp
msgid "Landscape Flipped"
-msgstr ""
+msgstr "Paysage Inversé"
#: platform/uwp/export/export.cpp
msgid "Portrait Flipped"
-msgstr ""
+msgstr "Portrait Inversé"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Store Logo"
-msgstr "Mode mise à l'échelle"
+msgstr "Logo du magasin"
#: platform/uwp/export/export.cpp
msgid "Square 44 X 44 Logo"
-msgstr ""
+msgstr "Logo 44 X 44 Carré"
#: platform/uwp/export/export.cpp
msgid "Square 71 X 71 Logo"
-msgstr ""
+msgstr "Logo 71 X 71 Carré"
#: platform/uwp/export/export.cpp
msgid "Square 150 X 150 Logo"
-msgstr ""
+msgstr "Logo 150 X 150 Carré"
#: platform/uwp/export/export.cpp
msgid "Square 310 X 310 Logo"
-msgstr ""
+msgstr "Logo 310 X 310 Carré"
#: platform/uwp/export/export.cpp
msgid "Wide 310 X 150 Logo"
-msgstr ""
+msgstr "Logo 310 X 150 Large"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Splash Screen"
-msgstr "Appels de dessin :"
+msgstr "Écran de chargement"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Tiles"
-msgstr "Fichier"
+msgstr "Tuiles"
#: platform/uwp/export/export.cpp
msgid "Show Name On Square 150 X 150"
-msgstr ""
+msgstr "Afficher le nom sur le carré 150 X 150"
#: platform/uwp/export/export.cpp
msgid "Show Name On Wide 310 X 150"
-msgstr ""
+msgstr "Afficher le nom sur le large 310 X 150"
#: platform/uwp/export/export.cpp
msgid "Show Name On Square 310 X 310"
-msgstr ""
+msgstr "Afficher le nom sur le carré 310 X 310"
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -20352,29 +20192,31 @@ msgstr ""
#: platform/uwp/export/export.cpp
msgid "UWP"
-msgstr ""
+msgstr "UWP"
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Signtool"
-msgstr "Signaux"
+msgstr "Signtool"
#: platform/uwp/export/export.cpp
msgid "Debug Certificate"
-msgstr ""
+msgstr "Certificat de Débogage"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Debug Algorithm"
-msgstr "Débogueur"
+msgstr "Algorithme de débogage"
+
+#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Impossible de renommer le fichier temporaire \"%s\"."
#: platform/windows/export/export.cpp
msgid "Identity Type"
-msgstr ""
+msgstr "Type d'identité"
#: platform/windows/export/export.cpp
msgid "Timestamp Server URL"
-msgstr ""
+msgstr "URL du serveur d'horodatage"
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20382,14 +20224,12 @@ msgid "Digest Algorithm"
msgstr "Débogueur"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Modify Resources"
-msgstr "Copier la ressource"
+msgstr "Modifier les ressources"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "File Version"
-msgstr "Version"
+msgstr "Version de fichier"
#: platform/windows/export/export.cpp
msgid "Product Version"
@@ -20404,13 +20244,76 @@ msgid "Product Name"
msgstr "Nom du produit"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "File Description"
-msgstr "Description"
+msgstr "Description de fichier"
#: platform/windows/export/export.cpp
msgid "Trademarks"
+msgstr "Marques Déposées"
+
+#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr "Modification de ressources"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Impossible de trouver le keystore, impossible d'exporter."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Impossible de trouver le keystore, impossible d'exporter."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
msgstr ""
+"L'outil « rcedit » doit être configuré dans les préférences de l'éditeur "
+"(Exporter > Windows > Rcedit) for modifier l'icône ou les informations de "
+"l'application."
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr "rcedit n'a pas réussi à modifier l'exécutable : %s."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Impossible de trouver l’exécutable signtool à \"%s\"."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Impossible de trouver l’exécutable osslsigncode à \"%s\"."
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr "Type d'identité invalide."
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr "Server d'horodatage invalide."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"L'outil « rcedit » doit être configuré dans les préférences de l'éditeur "
+"(Exporter > Windows > Rcedit) for modifier l'icône ou les informations de "
+"l'application."
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr "La signature de l’exécutable avec Signtool a échoué : %s."
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Impossible de supprimer le fichier temporaire \"%s\"."
#: platform/windows/export/export.cpp
msgid ""
@@ -20434,27 +20337,47 @@ msgid "Invalid product version:"
msgstr "Version du produit invalide :"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr "Les exécutables Windows ne peuvent pas peser >= 4Gio."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Fichier exécutable invalide."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr "Entête du fichier exécutable corrompue."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr "Section \"pck\" de l’exécutable non trouvée."
+
+#: platform/windows/export/export.cpp
msgid "Windows"
-msgstr "Nouvelle Fenêtre"
+msgstr "Windows"
#: platform/windows/export/export.cpp
msgid "Rcedit"
-msgstr ""
+msgstr "Rcedit"
#: platform/windows/export/export.cpp
msgid "Osslsigncode"
-msgstr ""
+msgstr "Osslsigncode"
#: platform/windows/export/export.cpp
msgid "Wine"
+msgstr "Wine"
+
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
msgstr ""
+"les exécutables 32 bits ne peuvent pas contenir de données pesant >= 4Gio."
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Frames"
-msgstr "Image %"
+msgstr "Trames"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -20466,71 +20389,61 @@ msgstr ""
#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Speed Scale"
-msgstr "Mode mise à l'échelle"
+msgstr "Échelle de vitesse"
#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
#: scene/audio/audio_stream_player.cpp
-#, fuzzy
msgid "Playing"
-msgstr "Jouer"
+msgstr "En train de jouer"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Centered"
-msgstr "Centre"
+msgstr "Centré"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
msgid "Flip H"
-msgstr ""
+msgstr "Miroir H"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
msgid "Flip V"
-msgstr ""
+msgstr "Miroir V"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Monitoring"
-msgstr "Moniteur"
+msgstr "Observation"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Monitorable"
-msgstr "Moniteur"
+msgstr "Observable"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Physics Overrides"
-msgstr "Redéfinition"
+msgstr "Redéfinitions de physique"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Space Override"
-msgstr "Redéfinition"
+msgstr "Redéfinition d'espace"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Gravity Point"
-msgstr "Générer des points"
+msgstr "Gravité ponctuelle"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Gravity Distance Scale"
-msgstr "WaitInstanceSignal"
+msgstr "Échelle de distance de gravité"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Gravity Vec"
-msgstr "Aperçu par défaut"
+msgstr "Vecteur de gravité"
#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Gravity"
-msgstr ""
+msgstr "Gravité"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20542,74 +20455,65 @@ msgid "Angular Damp"
msgstr ""
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Audio Bus"
-msgstr "Ajouter un bus audio"
+msgstr "Bus audio"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Override"
msgstr "Redéfinition"
#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-#, fuzzy
msgid "Volume dB"
-msgstr "Volume"
+msgstr "Volume (dB)"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#, fuzzy
msgid "Pitch Scale"
-msgstr "Mode mise à l'échelle"
+msgstr "Échelle de pitch"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Autoplay"
-msgstr "Activer/désactiver la lecture automatique"
+msgstr "Lecture automatique"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
msgid "Stream Paused"
-msgstr ""
+msgstr "Diffusion en pause"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "Distance Maximale"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Attenuation"
-msgstr "Animation"
+msgstr "Atténuation"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Bus"
-msgstr "Ajouter un bus"
+msgstr "Bus"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
msgid "Area Mask"
-msgstr ""
+msgstr "Masque de zone"
#: scene/2d/back_buffer_copy.cpp
-#, fuzzy
msgid "Copy Mode"
-msgstr "Copier les nœuds"
+msgstr "Mode copie"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Anchor Mode"
-msgstr "Mode Icône"
+msgstr "Mode ancre"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Rotating"
-msgstr "Pas de la rotation :"
+msgstr "En rotation"
#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
@@ -20617,16 +20521,14 @@ msgid "Current"
msgstr "Actuel"
#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom"
msgstr "Zoomer"
#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Custom Viewport"
-msgstr "1 vue"
+msgstr "Vue personnalisée"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20635,26 +20537,23 @@ msgstr "Mode déplacement"
#: scene/2d/camera_2d.cpp
msgid "Limit"
-msgstr ""
+msgstr "Limite"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Left"
-msgstr "En haut à gauche"
+msgstr "Gauche"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Right"
-msgstr "Lumière"
+msgstr "Droite"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Bottom"
-msgstr "En bas à gauche"
+msgstr "Bas"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -20662,9 +20561,8 @@ msgid "Smoothed"
msgstr "Progression douce"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Margin"
-msgstr "Définir la marge"
+msgstr "Afficher les marges"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -20683,27 +20581,24 @@ msgstr "Progression douce"
#: scene/2d/camera_2d.cpp
msgid "H"
-msgstr ""
+msgstr "H"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "V"
-msgstr "UV"
+msgstr "V"
#: scene/2d/camera_2d.cpp
#, fuzzy
msgid "Drag Margin"
-msgstr "Définir la marge"
+msgstr "Tirer la marge"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Screen"
-msgstr "Appels de dessin :"
+msgstr "Afficher l'écran"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Limits"
-msgstr "Appels de dessin :"
+msgstr "Afficher les limites"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -20712,43 +20607,37 @@ msgstr "Définir la marge"
#: scene/2d/canvas_item.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
-#, fuzzy
msgid "Blend Mode"
-msgstr "Nœud Blend2"
+msgstr "Mode mélange"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Light Mode"
-msgstr "Étendu à Droite"
+msgstr "Mode de lumière"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Particles Animation"
-msgstr "Particules"
+msgstr "Animation de particules"
#: scene/2d/canvas_item.cpp
msgid "Particles Anim H Frames"
-msgstr ""
+msgstr "Trames d'animation H de particules"
#: scene/2d/canvas_item.cpp
msgid "Particles Anim V Frames"
-msgstr ""
+msgstr "Trames d'animation V de particules"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Particles Anim Loop"
-msgstr "Particules"
+msgstr "Boucle d'animation de particules"
#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Visibility"
-msgstr "Basculer la visibilité"
+msgstr "Visibilité"
#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Visible"
-msgstr "Basculer la visibilité"
+msgstr "Visible"
#: scene/2d/canvas_item.cpp
#, fuzzy
@@ -20757,22 +20646,20 @@ msgstr "Peupler"
#: scene/2d/canvas_item.cpp
msgid "Show Behind Parent"
-msgstr ""
+msgstr "Montrer derrière le parent"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Show On Top"
-msgstr "Afficher l'origine"
+msgstr "Montrer au dessus"
#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Light Mask"
-msgstr "LightMap Bake"
+msgstr "Masque de lumières"
#: scene/2d/canvas_item.cpp
msgid "Use Parent Material"
-msgstr ""
+msgstr "Utiliser le matériau du parent"
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -20794,9 +20681,8 @@ msgstr ""
"qu'enfant pour définir sa forme."
#: scene/2d/collision_object_2d.cpp
-#, fuzzy
msgid "Pickable"
-msgstr "Sélectionner une tuile"
+msgstr "Déplaçable"
#: scene/2d/collision_polygon_2d.cpp
msgid ""
@@ -20828,29 +20714,27 @@ msgstr ""
msgid ""
"The One Way Collision property will be ignored when the parent is an Area2D."
msgstr ""
+"La propriété Collision à sens unique est ignorée lorsque le parent est un "
+"Area2D."
#: scene/2d/collision_polygon_2d.cpp
-#, fuzzy
msgid "Build Mode"
-msgstr "Mode Règle"
+msgstr "Mode construction"
#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Disabled"
-msgstr "Item désactivé"
+msgstr "Désactivé"
#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#, fuzzy
msgid "One Way Collision"
-msgstr "Créer le polygone de collision"
+msgstr "Collision à sens unique"
#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#, fuzzy
msgid "One Way Collision Margin"
-msgstr "Créer le polygone de collision"
+msgstr "marge de collision à sens unique"
#: scene/2d/collision_shape_2d.cpp
msgid ""
@@ -20889,31 +20773,28 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Emitting"
-msgstr "Paramètres :"
+msgstr "Émet"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Lifetime"
-msgstr ""
+msgstr "Durée de vie"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-#, fuzzy
msgid "One Shot"
-msgstr "Nœud one-shot"
+msgstr "Jouer une fois"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Preprocess"
-msgstr "Post-traitement"
+msgstr "Pré-traitement"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Explosiveness"
-msgstr ""
+msgstr "Explovisité"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20923,13 +20804,12 @@ msgstr "Aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Lifetime Randomness"
-msgstr ""
+msgstr "Aléatoire de durée de vie"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Fixed FPS"
-msgstr "Voir Images par secondes"
+msgstr "FPS fixes"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20943,20 +20823,18 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Local Coords"
-msgstr "Projets locaux"
+msgstr "Coordonnées locales"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Draw Order"
-msgstr ""
+msgstr "Ordre de rendu"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Emission Shape"
-msgstr "Masque d'émission"
+msgstr "Forme d'émission"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20969,63 +20847,55 @@ msgid "Rect Extents"
msgstr "Gadgets"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Normals"
-msgstr "Format"
+msgstr "Normales"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Align Y"
-msgstr "Assigner"
+msgstr "Aligner axe Y"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Direction"
-msgstr "Directions"
+msgstr "Direction"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Spread"
-msgstr ""
+msgstr "Propagation"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Initial Velocity"
-msgstr "Initialiser"
+msgstr "Vélocité initiale"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Random"
-msgstr "Vue de l'orbite vers la droite"
+msgstr "Vélocité aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Angular Velocity"
-msgstr ""
+msgstr "Vélocité angulaire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Curve"
-msgstr "Vue de l'orbite vers la droite"
+msgstr "Courbe de vélocité"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Orbit Velocity"
-msgstr "Vue de l'orbite vers la droite"
+msgstr "Vélocité d'orbite"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Linear Accel"
-msgstr "Linéaire"
+msgstr "Accélération linéaire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21035,23 +20905,22 @@ msgstr "Accel"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Accel Random"
-msgstr ""
+msgstr "Accélération aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel Curve"
-msgstr "Scinder la courbe"
+msgstr "Courbe d’accélération"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Radial Accel"
-msgstr ""
+msgstr "Accélération radiale"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Tangential Accel"
-msgstr ""
+msgstr "Accélération tangentielle"
#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
@@ -21059,39 +20928,37 @@ msgstr ""
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Damping"
-msgstr ""
+msgstr "Amortissement"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Damping Random"
-msgstr ""
+msgstr "Amortissement aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Damping Curve"
-msgstr "Scinder la courbe"
+msgstr "Courbe d'amortissement"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
msgid "Angle"
-msgstr ""
+msgstr "Angle"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Angle Random"
-msgstr ""
+msgstr "Angle aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Angle Curve"
-msgstr "Fermer la courbe"
+msgstr "Courbe d'angle"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#, fuzzy
msgid "Scale Amount"
-msgstr "Quantité :"
+msgstr "Valeur d'échelle"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount Random"
@@ -21104,14 +20971,13 @@ msgstr "Agrandir/Rétrécir à partir du curseur"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Color Ramp"
-msgstr "Couleurs"
+msgstr "Dégradé de couleurs"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Color Initial Ramp"
-msgstr ""
+msgstr "Dégradé de couleurs initial"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21130,33 +20996,28 @@ msgstr "Variation aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Variation Curve"
-msgstr "Séparation :"
+msgstr "Courbe de variation"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed Random"
-msgstr "Mode mise à l'échelle"
+msgstr "Vitesse aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed Curve"
-msgstr "Scinder la courbe"
+msgstr "Courbe de vitesse"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Offset Random"
-msgstr "Décalage :"
+msgstr "Décalage de l'aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Offset Curve"
-msgstr "Fermer la courbe"
+msgstr "Courbe de décalage"
#: scene/2d/joints_2d.cpp
msgid "Node A and Node B must be PhysicsBody2Ds"
@@ -21179,39 +21040,35 @@ msgid "Node A and Node B must be different PhysicsBody2Ds"
msgstr "Node A et Node B doivent être des PhysicsBody2D différents"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Node A"
-msgstr "Nœud"
+msgstr "Nœud A"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Node B"
-msgstr "Nœud"
+msgstr "Nœud B"
#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
#: scene/resources/environment.cpp
msgid "Bias"
-msgstr ""
+msgstr "Biais"
#: scene/2d/joints_2d.cpp
-#, fuzzy
msgid "Disable Collision"
-msgstr "Bouton désactivé"
+msgstr "Désactiver les collisions"
#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Softness"
-msgstr ""
+msgstr "Douceur"
#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Length"
-msgstr ""
+msgstr "Longueur"
#: scene/2d/joints_2d.cpp
-#, fuzzy
msgid "Initial Offset"
-msgstr "Initialiser"
+msgstr "Décalage initial"
#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
msgid "Rest Length"
@@ -21219,7 +21076,7 @@ msgstr ""
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
msgid "Stiffness"
-msgstr ""
+msgstr "Rigidité"
#: scene/2d/light_2d.cpp
msgid ""
@@ -21230,57 +21087,50 @@ msgstr ""
"« Texture »."
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-#, fuzzy
msgid "Editor Only"
-msgstr "Éditeur"
+msgstr "Éditeur seulement"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Texture Scale"
-msgstr "RegionDeTexture"
+msgstr "Échelle de texture"
#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
msgid "Energy"
-msgstr ""
+msgstr "Énergie"
#: scene/2d/light_2d.cpp
msgid "Z Min"
-msgstr ""
+msgstr "Minimum Z"
#: scene/2d/light_2d.cpp
msgid "Z Max"
-msgstr ""
+msgstr "Maximum Z"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Layer Min"
-msgstr "Changer la taille d'une caméra"
+msgstr "Calque min"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Layer Max"
-msgstr "Calque"
+msgstr "Calque max"
#: scene/2d/light_2d.cpp
msgid "Item Cull Mask"
msgstr ""
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Shadow"
-msgstr "Ombrage"
+msgstr "Ombre"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Buffer Size"
-msgstr "Vue de derrière"
+msgstr "Taille de tampon"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Gradient Length"
-msgstr "Dégradé édité"
+msgstr "Longueur du dégradé"
#: scene/2d/light_2d.cpp
#, fuzzy
@@ -21288,9 +21138,8 @@ msgid "Filter Smooth"
msgstr "Filtrer les méthodes"
#: scene/2d/light_occluder_2d.cpp
-#, fuzzy
msgid "Closed"
-msgstr "Fermer"
+msgstr "Fermé"
#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
#, fuzzy
@@ -21311,37 +21160,32 @@ msgstr ""
"polygone."
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Width Curve"
-msgstr "Scinder la courbe"
+msgstr "Courbe de largeur"
#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Default Color"
-msgstr "Défaut"
+msgstr "Couleur par défaut"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
msgid "Fill"
-msgstr ""
+msgstr "Remplissage"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Gradient"
-msgstr "Dégradé édité"
+msgstr "Dégradé"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Texture Mode"
-msgstr "RegionDeTexture"
+msgstr "Mode de texture"
#: scene/2d/line_2d.cpp
msgid "Capping"
-msgstr ""
+msgstr "Capuchonnement"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Joint Mode"
-msgstr "Mode Icône"
+msgstr "Mode de jointure"
#: scene/2d/line_2d.cpp
#, fuzzy
@@ -21349,14 +21193,12 @@ msgid "Begin Cap Mode"
msgstr "Mode Région"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "End Cap Mode"
-msgstr "Mode d'aimantation :"
+msgstr "Mode du capuchon de fin"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Border"
-msgstr "dans l'ordre :"
+msgstr "Bordure"
#: scene/2d/line_2d.cpp
msgid "Sharp Limit"
@@ -21364,13 +21206,12 @@ msgstr ""
#: scene/2d/line_2d.cpp
msgid "Round Precision"
-msgstr ""
+msgstr "Précision de l’arrondissement"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Antialiased"
-msgstr "Initialiser"
+msgstr "Anticrénelé"
#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
#, fuzzy
@@ -21381,24 +21222,54 @@ msgstr "Multiplier %s"
#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
msgid "Cell Size"
-msgstr ""
+msgstr "Taille des Cellules"
#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-#, fuzzy
msgid "Edge Connection Margin"
-msgstr "Modifier la connexion :"
+msgstr "Marge de connexion des bords"
+
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+"Le nœud « Navigation2D » et « Navigation2D.get_simple_path() » sont "
+"obsolètes et seront supprimés dans une future version. Utilisez « "
+"Navigation2DServer.map_get_path() » à la place."
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Pathfinding"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr "Distance souhaitée du chemin"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
-msgstr ""
+msgstr "Distance Désirée de la Cible"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr "Distance maximale du chemin"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance"
+msgstr "Évitement"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance Enabled"
+msgstr "Évitement activé"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
-msgstr ""
+msgstr "Distance des voisins"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Max Neighbors"
-msgstr ""
+msgstr "Maximum de voisins"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
@@ -21406,30 +21277,19 @@ msgid "Time Horizon"
msgstr "Retourner horizontalement"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Max Speed"
-msgstr "Vitesse :"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Choisissez distance :"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Activer"
+msgstr "Vitesse Max"
#: scene/2d/navigation_agent_2d.cpp
-#, fuzzy
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr "Le NavigationAgent2D ne peut être utilisé que sous un nœud Node2D."
+msgstr ""
+"Le NavigationAgent2D ne peut être utilisé que sous un nœud dont le parent "
+"hérite de Node2D."
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-#, fuzzy
msgid "Estimate Radius"
-msgstr "Changer le rayon extérieur de la tour"
+msgstr "Estimer le rayon"
#: scene/2d/navigation_obstacle_2d.cpp
msgid ""
@@ -21449,73 +21309,66 @@ msgstr ""
"polygone."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"Un NavigationPolygonInstance doit être un enfant ou petit-enfant d'un nœud "
-"Navigation2D. Il fournit seulement des données de navigation."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
-msgstr ""
+msgstr "Polygone de navigation"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr "Coût d’entrée"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
+msgstr "Coût de déplacement"
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Degrés de Rotation"
-#: scene/2d/node_2d.cpp
-#, fuzzy
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
-msgstr "Constante globale"
+msgstr "Rotation Globale"
#: scene/2d/node_2d.cpp
msgid "Global Rotation Degrees"
msgstr "Degrés de Rotation Globale"
#: scene/2d/node_2d.cpp
-#, fuzzy
msgid "Global Scale"
-msgstr "Échelle aléatoire :"
+msgstr "Échelle Globale"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Global Transform"
-msgstr "Conserver la transformation globale"
+msgstr "Transformation Globale"
#: scene/2d/node_2d.cpp
-#, fuzzy
msgid "Z As Relative"
-msgstr "Alignement relatif"
+msgstr "Z En tant que relatif"
#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Scroll"
-msgstr ""
+msgstr "Défilement"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Base Offset"
-msgstr "Décalage :"
+msgstr "Décalage de Base"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Base Scale"
-msgstr "Utiliser le magnétisme d'échelle"
+msgstr "Échelle de Base"
#: scene/2d/parallax_background.cpp
msgid "Limit Begin"
-msgstr ""
+msgstr "Début de la limite"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Limit End"
-msgstr "À la fin"
+msgstr "Fin de la limite"
#: scene/2d/parallax_background.cpp
msgid "Ignore Camera Zoom"
-msgstr ""
+msgstr "Ignorer le zoom de la Caméra"
#: scene/2d/parallax_layer.cpp
msgid ""
@@ -21527,14 +21380,12 @@ msgstr ""
#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Motion"
-msgstr "Action"
+msgstr "Déplacement"
#: scene/2d/parallax_layer.cpp
-#, fuzzy
msgid "Mirroring"
-msgstr "Miroir"
+msgstr "Effet de miroir"
#: scene/2d/particles_2d.cpp
msgid ""
@@ -21578,19 +21429,17 @@ msgstr ""
"Animation » activé."
#: scene/2d/particles_2d.cpp
-#, fuzzy
msgid "Visibility Rect"
-msgstr "Mode prioritaire"
+msgstr "Zone de Visibilité"
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
msgid "Process Material"
-msgstr ""
+msgstr "Matériau"
#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Curve"
-msgstr "Scinder la courbe"
+msgstr "Courbe"
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
@@ -21599,63 +21448,55 @@ msgstr ""
"d'un nœud de type Path2D."
#: scene/2d/path_2d.cpp scene/3d/path.cpp
-#, fuzzy
msgid "Unit Offset"
-msgstr "Décalage de la grille :"
+msgstr "Décalage d'unité"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-#, fuzzy
msgid "H Offset"
-msgstr "Décalage :"
+msgstr "Décalage Horizontal"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-#, fuzzy
msgid "V Offset"
-msgstr "Décalage :"
+msgstr "Décalage Vertical"
#: scene/2d/path_2d.cpp scene/3d/path.cpp
msgid "Cubic Interp"
-msgstr ""
+msgstr "Interpolation Cubique"
#: scene/2d/path_2d.cpp
msgid "Lookahead"
-msgstr ""
+msgstr "Anticipation"
#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Layers"
-msgstr "Calque"
+msgstr "Calques"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Constant Linear Velocity"
-msgstr "Initialiser"
+msgstr "Vélocité Linéaire Constante"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Constant Angular Velocity"
-msgstr "Initialiser"
+msgstr "Vélocité Angulaire Constante"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
-#, fuzzy
msgid "Friction"
-msgstr "Fonction"
+msgstr "Friction"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
msgid "Bounce"
-msgstr ""
+msgstr "Rebond"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Physics Material Override"
-msgstr ""
+msgstr "Surcharge du Matériau Des Physiques"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#, fuzzy
msgid "Default Gravity"
-msgstr "Aperçu par défaut"
+msgstr "Gravité par Défaut"
#: scene/2d/physics_body_2d.cpp
msgid ""
@@ -21669,81 +21510,72 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Mass"
-msgstr ""
+msgstr "Masse"
#: scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Inertia"
-msgstr "Vertical :"
+msgstr "Inertie"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Weight"
-msgstr "Lumière"
+msgstr "Poids"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Gravity Scale"
-msgstr ""
+msgstr "Échelle de la Gravité"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Custom Integrator"
-msgstr "Nœud Personnalisé"
+msgstr "Intégrateur personnalisé"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Continuous CD"
-msgstr "Continu"
+msgstr "Détection de collision continue"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Contacts Reported"
-msgstr ""
+msgstr "Contact Rapporté"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Contact Monitor"
-msgstr "Prélever une couleur"
+msgstr "Moniteur de Contact"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Sleeping"
-msgstr "Magnétisme intelligent"
+msgstr "Sommeil"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Can Sleep"
-msgstr "Vitesse :"
+msgstr "Peut Dormir"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Damp"
-msgstr ""
+msgstr "Atténuation"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Angular"
-msgstr ""
+msgstr "Angulaire"
#: scene/2d/physics_body_2d.cpp
msgid "Applied Forces"
-msgstr ""
+msgstr "Forces Appliquées"
#: scene/2d/physics_body_2d.cpp
msgid "Torque"
-msgstr ""
+msgstr "Torque"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Safe Margin"
-msgstr "Définir la marge"
+msgstr "Marge de sécurité"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Sync To Physics"
msgstr "Synchroniser Avec La Physique"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Moving Platform"
-msgstr "Déplacement du résultat"
+msgstr "Plateforme mobile"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Apply Velocity On Leave"
@@ -21753,71 +21585,61 @@ msgstr ""
#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Normal"
-msgstr "Format"
+msgstr "Normale"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Remainder"
-msgstr "Moteur de rendu :"
+msgstr "Reste"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Local Shape"
-msgstr "Localisation"
+msgstr "Forme Locale"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider"
-msgstr "Mode collision"
+msgstr "Collisionneur"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collider ID"
-msgstr ""
+msgstr "ID Du Collisionneur"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider RID"
-msgstr "RID invalide"
+msgstr "RID Du Collisionneur"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider Shape"
-msgstr "Mode collision"
+msgstr "Forme Du Collisionneur"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Collider Shape Index"
-msgstr "Mode collision"
+msgstr "Index De La Forme Du Collisionneur"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider Velocity"
-msgstr "Vue de l'orbite vers la droite"
+msgstr "Vélocité Du Collisionneur"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Collider Metadata"
-msgstr ""
+msgstr "Méta-Données Du Collisionneur"
#: scene/2d/polygon_2d.cpp
msgid "Invert"
-msgstr ""
+msgstr "Inverser"
#: scene/2d/polygon_2d.cpp
-#, fuzzy
msgid "Vertex Colors"
-msgstr "Vertex"
+msgstr "Couleurs Des Sommets"
#: scene/2d/polygon_2d.cpp
-#, fuzzy
msgid "Internal Vertex Count"
-msgstr "Créer un vertex interne"
+msgstr "Nombre de Sommet Interne"
#: scene/2d/position_2d.cpp
#, fuzzy
@@ -21826,24 +21648,23 @@ msgstr "Gadgets"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Exclude Parent"
-msgstr ""
+msgstr "Exclure Le Parent"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Cast To"
-msgstr "Créer un nœud Shader"
+msgstr "Lancer vers"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Collide With"
-msgstr ""
+msgstr "Collisionne Avec"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Areas"
-msgstr ""
+msgstr "Zones"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Bodies"
-msgstr ""
+msgstr "Corps"
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -21852,24 +21673,20 @@ msgstr ""
"fonctionner."
#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-#, fuzzy
msgid "Remote Path"
-msgstr "Supprimer un point"
+msgstr "Chemin distant"
#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-#, fuzzy
msgid "Use Global Coordinates"
-msgstr "Coordonnée suivante"
+msgstr "Utiliser les coordonnées globales"
#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
-#, fuzzy
msgid "Rest"
-msgstr "Redémarrer"
+msgstr "Repos"
#: scene/2d/skeleton_2d.cpp
-#, fuzzy
msgid "Default Length"
-msgstr "Thème par défaut"
+msgstr "Longueur par défaut"
#: scene/2d/skeleton_2d.cpp
msgid "This Bone2D chain should end at a Skeleton2D node."
@@ -21890,16 +21707,15 @@ msgstr ""
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Hframes"
-msgstr ""
+msgstr "Trames H"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Vframes"
-msgstr ""
+msgstr "Trames V"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Frame Coords"
-msgstr "Image %"
+msgstr "Coordonnées de trame"
#: scene/2d/sprite.cpp scene/resources/texture.cpp
#, fuzzy
@@ -21917,14 +21733,12 @@ msgstr ""
"etc."
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Tile Set"
-msgstr "TileSet"
+msgstr "Palette de tuiles"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Quadrant Size"
-msgstr "Changer la taille d'une caméra"
+msgstr "Taille de quadrant"
#: scene/2d/tile_map.cpp
#, fuzzy
@@ -21932,66 +21746,56 @@ msgid "Custom Transform"
msgstr "Transformation"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Half Offset"
-msgstr "Initialiser"
+msgstr "Décalage de moitié"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Tile Origin"
-msgstr "Afficher l'origine"
+msgstr "Origine de la tuile"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Y Sort"
-msgstr "Trier"
+msgstr "Trier par Y"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Show Collision"
-msgstr "Collision"
+msgstr "Afficher la Collision"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Compatibility Mode"
-msgstr "Mode prioritaire"
+msgstr "Mode de Compatibilité"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Centered Textures"
-msgstr "Fonctionnalités principales :"
+msgstr "Textures Centrées"
#: scene/2d/tile_map.cpp
msgid "Cell Clip UV"
msgstr ""
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Use Parent"
-msgstr "Mode collision"
+msgstr "Utiliser le Parent"
#: scene/2d/tile_map.cpp
msgid "Use Kinematic"
-msgstr ""
+msgstr "Utiliser Kinematic"
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Shape Centered"
-msgstr "Aimanter au centre du nœud"
+msgstr "Forme Centrée"
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Shape Visible"
-msgstr "Rendre visible"
+msgstr "Forme Visible"
#: scene/2d/touch_screen_button.cpp
msgid "Passby Press"
msgstr ""
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Visibility Mode"
-msgstr "Mode prioritaire"
+msgstr "Mode de Visibilité"
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
@@ -22002,41 +21806,36 @@ msgstr ""
"nœud racine de la scène éditée."
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-#, fuzzy
msgid "Pause Animations"
-msgstr "Coller l'animation"
+msgstr "Mettre les animations en pause"
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
msgid "Freeze Bodies"
-msgstr ""
+msgstr "Geler les corps"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Pause Particles"
-msgstr "Particules"
+msgstr "Mettre les particules en pause"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Pause Animated Sprites"
-msgstr "Coller l'animation"
+msgstr "Mettre les Sprites animés en pause"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Process Parent"
-msgstr "Activer la priorité"
+msgstr "Parent du Processus"
#: scene/2d/visibility_notifier_2d.cpp
msgid "Physics Process Parent"
-msgstr ""
+msgstr "Parent du Processus Physique"
#: scene/3d/area.cpp
msgid "Reverb Bus"
msgstr ""
#: scene/3d/area.cpp
-#, fuzzy
msgid "Uniformity"
-msgstr "Définir le nom de l'uniforme"
+msgstr "Uniformité"
#: scene/3d/arvr_nodes.cpp
msgid "ARVRCamera must have an ARVROrigin node as its parent."
@@ -22044,11 +21843,11 @@ msgstr "ARVRCamera doit avoir un nœud ARVROrigin comme parent."
#: scene/3d/arvr_nodes.cpp
msgid "Controller ID"
-msgstr ""
+msgstr "ID Du Contrôleur"
#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
msgid "Rumble"
-msgstr ""
+msgstr "Vibration"
#: scene/3d/arvr_nodes.cpp
msgid "ARVRController must have an ARVROrigin node as its parent."
@@ -22084,48 +21883,44 @@ msgid "ARVROrigin requires an ARVRCamera child node."
msgstr "ARVROrigin requiert un nœud enfant ARVRCamera."
#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-#, fuzzy
msgid "World Scale"
-msgstr "Échelle aléatoire :"
+msgstr "Échelle du Monde"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Attenuation Model"
-msgstr "Nœud d'animation"
+msgstr "Modèle d’atténuation"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit dB"
-msgstr ""
+msgstr "Unité (dB)"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit Size"
-msgstr ""
+msgstr "Taille d’unité"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Max dB"
-msgstr ""
+msgstr "Max (dB)"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Emission Angle"
-msgstr "Couleurs d'émission"
+msgstr "Angle d’émission"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Degrees"
msgstr "Degrés"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Filter Attenuation dB"
-msgstr "Animation"
+msgstr "Filtre d’atténuation (dB)"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Attenuation Filter"
-msgstr ""
+msgstr "Filtre d’atténuation"
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
@@ -22135,14 +21930,12 @@ msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_filter.cpp
-#, fuzzy
msgid "dB"
-msgstr "o"
+msgstr "dB"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Doppler"
-msgstr "Activer l'effet Doppler"
+msgstr "Doppler"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -22152,7 +21945,7 @@ msgstr "Empaquetage"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
msgid "Interior"
-msgstr ""
+msgstr "Intérieur"
#: scene/3d/baked_lightmap.cpp
msgid "Finding meshes and lights"
@@ -22187,69 +21980,59 @@ msgstr "Gadgets"
#: scene/3d/baked_lightmap.cpp
msgid "Tweaks"
-msgstr ""
+msgstr "Ajustements"
#: scene/3d/baked_lightmap.cpp
msgid "Bounces"
-msgstr ""
+msgstr "Rebonds"
#: scene/3d/baked_lightmap.cpp
msgid "Bounce Indirect Energy"
-msgstr ""
+msgstr "Énergie indirecte de rebond"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Use Denoiser"
-msgstr "Filtre :"
+msgstr "Utiliser un filtre anti-bruit"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
msgid "Use HDR"
-msgstr ""
+msgstr "Utiliser HDR"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Use Color"
-msgstr "Couleurs"
+msgstr "Utiliser la couleur"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Default Texels Per Unit"
-msgstr "Thème par défaut"
+msgstr "Texels par unité par défaut"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Atlas"
-msgstr "Nouvel Atlas"
+msgstr "Atlas"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Generate"
-msgstr "Général"
+msgstr "Générer"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Max Size"
-msgstr "Taille :"
+msgstr "Taille maximale"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Sky"
-msgstr "Nœud Personnalisé"
+msgstr "Ciel personnalisé"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Sky Rotation Degrees"
-msgstr "Rotation de %s degrés."
+msgstr "Degrés de rotation du ciel personnalisé"
#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Custom Color"
-msgstr "Nœud Personnalisé"
+msgstr "Couleur personnalisée"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Energy"
-msgstr "Déplacer effet de transport"
+msgstr "Énergie personnalisée"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22257,27 +22040,24 @@ msgid "Min Light"
msgstr "Indenter vers la droite"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Propagation"
-msgstr "Navigation"
+msgstr "Propagation"
#: scene/3d/baked_lightmap.cpp
msgid "Image Path"
-msgstr ""
+msgstr "Chemin de l'image"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Light Data"
-msgstr "Avec données"
+msgstr "Données de lumière"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Bone Name"
-msgstr "Nom de nœud :"
+msgstr "Nom de l'os"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
-msgstr ""
+msgstr "Garder l'aspect"
#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
msgid "Cull Mask"
@@ -22289,36 +22069,32 @@ msgid "Doppler Tracking"
msgstr "Piste de propriété"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Projection"
-msgstr "Projet"
+msgstr "Projection"
#: scene/3d/camera.cpp
msgid "FOV"
-msgstr ""
+msgstr "Champ de vision"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Frustum Offset"
-msgstr "Décalage de la grille :"
+msgstr "Décalage du Tronc"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Near"
-msgstr "Au plus proche"
+msgstr "Plan proche"
#: scene/3d/camera.cpp
msgid "Far"
-msgstr ""
+msgstr "Plan éloigné"
#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/shape.cpp scene/resources/style_box.cpp
#: scene/resources/texture.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Margin"
-msgstr "Définir la marge"
+msgstr "Marge"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22408,48 +22184,40 @@ msgid "Box Extents"
msgstr "Gadgets"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Radius"
-msgstr "Masque d'émission"
+msgstr "Rayon de l'anneau"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Inner Radius"
-msgstr "Changer le rayon intérieur de la tour"
+msgstr "Rayon intérieur de l'anneau"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Height"
-msgstr "Rotation vers la droite"
+msgstr "Hauteur de l'anneau"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Axis"
-msgstr "Avertissements"
+msgstr "Axe de l'anneau"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Rotate Y"
-msgstr "Rotation"
+msgstr "Rotation Y"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Disable Z"
-msgstr "Item désactivé"
+msgstr "Désactiver axe Z"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Flatness"
-msgstr ""
+msgstr "Platitude"
#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Portals"
-msgstr "Retourner les Portals"
+msgstr "Portails"
#: scene/3d/cull_instance.cpp
-#, fuzzy
msgid "Portal Mode"
-msgstr "Mode prioritaire"
+msgstr "Mode portail"
#: scene/3d/cull_instance.cpp
msgid "Include In Bound"
@@ -22460,9 +22228,8 @@ msgid "Allow Merging"
msgstr ""
#: scene/3d/cull_instance.cpp
-#, fuzzy
msgid "Autoplace Priority"
-msgstr "Activer la priorité"
+msgstr "Priorité d’auto-placement"
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -22493,114 +22260,98 @@ msgstr ""
#: scene/3d/gi_probe.cpp
msgid "Subdiv"
-msgstr ""
+msgstr "Subdivision"
#: scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Dynamic Range"
-msgstr "Bibliothèque dynamique"
+msgstr "Plage dynamique"
#: scene/3d/gi_probe.cpp scene/3d/light.cpp
msgid "Normal Bias"
-msgstr ""
+msgstr "Biais normal"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Pixel Size"
-msgstr "Aimanter au pixel"
+msgstr "Taille de pixel"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Billboard"
-msgstr ""
+msgstr "Panneau(Billboard)"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Shaded"
-msgstr "Ombrage"
+msgstr "Ombré"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Double Sided"
-msgstr ""
+msgstr "Double face"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
msgid "No Depth Test"
-msgstr ""
+msgstr "Pas de test de profondeur"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Fixed Size"
-msgstr "Vue de devant"
+msgstr "Taille fixe"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Alpha Cut"
-msgstr ""
+msgstr "Coupe alpha"
#: scene/3d/label_3d.cpp scene/resources/material.cpp
msgid "Alpha Scissor Threshold"
-msgstr ""
+msgstr "Seuil des ciseaux d'alpha"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Render Priority"
-msgstr "Activer la priorité"
+msgstr "Priorité de rendu"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Render Priority"
-msgstr "Activer la priorité"
+msgstr "Priorité de rendu du contour"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Modulate"
-msgstr "Forcer la modulation blanche"
+msgstr "Moduler le contour"
#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Font"
-msgstr "Polices"
+msgstr "Police"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Horizontal Alignment"
-msgstr "Horizontal Activé"
+msgstr "Alignement horizontal"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Vertical Alignment"
-msgstr "Filtrer les signaux"
+msgstr "Alignement vertical"
#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
-#, fuzzy
msgid "Autowrap"
-msgstr "AutoLoad"
+msgstr "Retour à la ligne automatique"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Indirect Energy"
-msgstr "Couleurs d'émission"
+msgstr "Énergie indirecte"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Negative"
-msgstr "GDNative"
+msgstr "Négative"
#: scene/3d/light.cpp scene/resources/material.cpp
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Specular"
-msgstr "Mode Règle"
+msgstr "Spéculaire"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Bake Mode"
-msgstr "Mode Bitmask"
+msgstr "Mode de pré-calcul"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Contact"
-msgstr "Prélever une couleur"
+msgstr "Contact"
#: scene/3d/light.cpp
#, fuzzy
@@ -22608,9 +22359,8 @@ msgid "Reverse Cull Face"
msgstr "Réinitialiser le volume de bus"
#: scene/3d/light.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Directional Shadow"
-msgstr "Directions"
+msgstr "Ombre directionnelle"
#: scene/3d/light.cpp
#, fuzzy
@@ -22628,9 +22378,8 @@ msgid "Split 3"
msgstr "Divisé"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Blend Splits"
-msgstr "Temps de mélange :"
+msgstr "Mélanger les écarts"
#: scene/3d/light.cpp
#, fuzzy
@@ -22638,23 +22387,20 @@ msgid "Bias Split Scale"
msgstr "Utiliser le magnétisme d'échelle"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Depth Range"
-msgstr "Profondeur"
+msgstr "Plage de profondeur"
#: scene/3d/light.cpp
msgid "Omni"
-msgstr ""
+msgstr "Omnidirectionnelle"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Shadow Mode"
-msgstr "Ombrage"
+msgstr "Mode ombre"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Shadow Detail"
-msgstr "Afficher par défaut"
+msgstr "Détails d'ombre"
#: scene/3d/light.cpp
msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
@@ -22664,68 +22410,64 @@ msgstr ""
#: scene/3d/light.cpp
msgid "Spot"
-msgstr ""
+msgstr "Spot"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Angle Attenuation"
-msgstr "Animation"
+msgstr "Atténuation d'angle"
#: scene/3d/mesh_instance.cpp
msgid "Software Skinning"
msgstr ""
#: scene/3d/mesh_instance.cpp
-#, fuzzy
msgid "Transform Normals"
-msgstr "Transformation annulée."
+msgstr "Transformer les normales"
+
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+"Le nœud \"Navigation\" et \"Navigation.get_simple_path()\" sont obsolètes et "
+"seront retires dans une version ultérieure. Utilisez plutôt "
+"\"NavigationServer.map_get_path()\"."
#: scene/3d/navigation.cpp scene/resources/curve.cpp
-#, fuzzy
msgid "Up Vector"
-msgstr "Vecteur"
+msgstr "Vecteur Haut"
#: scene/3d/navigation.cpp
-#, fuzzy
msgid "Cell Height"
-msgstr "En période de test"
+msgstr "Hauteur de cellule"
#: scene/3d/navigation_agent.cpp
msgid "Agent Height Offset"
-msgstr ""
+msgstr "Décalage de hauteur de l'agent"
#: scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Ignore Y"
-msgstr "[Ignorer]"
+msgstr "Ignorer Y"
#: scene/3d/navigation_agent.cpp
-#, fuzzy
msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr "Le NavigationAgent ne peut être utilisé que sous un nœud spatial."
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
msgstr ""
-"Un NavigationMeshInstance doit être enfant ou sous-enfant d'un nœud de type "
-"Navigation. Il fournit uniquement des données de navigation."
+"Le NavigationAgent ne peut être utilisé que sous un nœud parent héritant de "
+"Spatial."
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-#, fuzzy
msgid "NavMesh"
-msgstr "Calculer le NavMesh"
+msgstr "NavMesh"
#: scene/3d/navigation_obstacle.cpp
-#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
"Spatial inheriting parent object."
msgstr ""
-"Un NavigationObstacle ne peut éviter les collisions qu'avec les nœuds "
-"Spatial."
+"Le NavigationObstacle ne sert qu'à fournir l’évitement de collision qu'aux "
+"objets dont les parents héritent de Spatial."
#: scene/3d/occluder.cpp
msgid "No shape is set."
@@ -22776,19 +22518,16 @@ msgstr ""
"Particles » activé."
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Visibility AABB"
-msgstr "Basculer la visibilité"
+msgstr "Visibilité AABB"
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Draw Passes"
-msgstr "Appels de dessin :"
+msgstr "Afficher les passes"
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Passes"
-msgstr "Appels de dessin :"
+msgstr "Passes"
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -22805,7 +22544,6 @@ msgstr ""
"Vector » dans la ressource Curve de son parent Path."
#: scene/3d/path.cpp
-#, fuzzy
msgid "Rotation Mode"
msgstr "Mode rotation"
@@ -22820,223 +22558,189 @@ msgstr ""
"Modifiez la taille dans les formes de collision enfant à la place."
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Axis Lock"
-msgstr "Axe"
+msgstr "Verrouiller l'axe"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear X"
-msgstr "Linéaire"
+msgstr "X linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Y"
-msgstr "Linéaire"
+msgstr "Y linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Z"
-msgstr "Linéaire"
+msgstr "Z linéaire"
#: scene/3d/physics_body.cpp
msgid "Angular X"
-msgstr ""
+msgstr "X angulaire"
#: scene/3d/physics_body.cpp
msgid "Angular Y"
-msgstr ""
+msgstr "Y angulaire"
#: scene/3d/physics_body.cpp
msgid "Angular Z"
-msgstr ""
+msgstr "Z angulaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion X"
-msgstr "Action"
+msgstr "X mouvement"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Y"
-msgstr "Action"
+msgstr "Y mouvement"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Z"
-msgstr "Action"
+msgstr "Z mouvement"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint Constraints"
-msgstr "Constantes"
+msgstr "Restrictions de jointure"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Impulse Clamp"
-msgstr ""
+msgstr "Borner l'impulsion"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Swing Span"
-msgstr "Enregistrement de la scène"
+msgstr "Ampleur de balancement"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Twist Span"
-msgstr ""
+msgstr "Ampleur de torsion"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Relaxation"
-msgstr "Séparation :"
+msgstr "Relaxation"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Enabled"
-msgstr "Filtrer les signaux"
+msgstr "Limite angulaire activée"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Upper"
-msgstr "Linéaire"
+msgstr "Limite angulaire haute"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Lower"
-msgstr "Erreur angulaire max. :"
+msgstr "Limite angulaire basse"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Bias"
-msgstr "Linéaire"
+msgstr "Biais de limite angulaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Softness"
-msgstr "Animation"
+msgstr "Douceur de limite angulaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Relaxation"
-msgstr "Animation"
+msgstr "Relaxation de limite angulaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Upper"
-msgstr "Linéaire"
+msgstr "Limite linéaire haute"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Lower"
-msgstr "Linéaire"
+msgstr "Limite linéaire basse"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Softness"
-msgstr "Linéaire"
+msgstr "Douceur de limite linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Restitution"
-msgstr "Linéaire"
+msgstr "Restitution de limite linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Damping"
-msgstr "Linéaire"
+msgstr "Amortissement de limite linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Restitution"
-msgstr "Animation"
+msgstr "Restitution de limite angulaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Damping"
-msgstr "Animation"
+msgstr "Amortissement de limite angulaire"
#: scene/3d/physics_body.cpp
msgid "X"
-msgstr ""
+msgstr "X"
#: scene/3d/physics_body.cpp
msgid "Y"
-msgstr ""
+msgstr "Y"
#: scene/3d/physics_body.cpp
msgid "Z"
-msgstr ""
+msgstr "Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Enabled"
-msgstr "Linéaire"
+msgstr "Limite linéaire active"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Enabled"
-msgstr "Linéaire"
+msgstr "Ressort linéaire actif"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Stiffness"
-msgstr "Linéaire"
+msgstr "Raideur du ressort linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Damping"
-msgstr "Linéaire"
+msgstr "Amortissement de ressort linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Equilibrium Point"
-msgstr "Linéaire"
+msgstr "Point d’équilibre linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Restitution"
-msgstr "Description"
+msgstr "Restitution linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Damping"
-msgstr "Linéaire"
+msgstr "Amortissement linéaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Restitution"
-msgstr "Description"
+msgstr "Restitution angulaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Damping"
-msgstr "Animation"
+msgstr "Amortissement angulaire"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "ERP"
msgstr ""
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Enabled"
-msgstr "Filtrer les signaux"
+msgstr "Ressort angulaire actif"
#: scene/3d/physics_body.cpp
msgid "Angular Spring Stiffness"
-msgstr ""
+msgstr "Raideur de ressort angulaire"
#: scene/3d/physics_body.cpp
msgid "Angular Spring Damping"
-msgstr ""
+msgstr "Amortissement de ressort angulaire"
#: scene/3d/physics_body.cpp
msgid "Angular Equilibrium Point"
-msgstr ""
+msgstr "Point d’équilibre angulaire"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Body Offset"
-msgstr "Décalage :"
+msgstr "Décalage du corps"
#: scene/3d/physics_joint.cpp
msgid "Node A and Node B must be PhysicsBodies"
@@ -23060,183 +22764,159 @@ msgstr "Node A et Node B doivent être des PhysicsBody différents"
#: scene/3d/physics_joint.cpp
msgid "Solver"
-msgstr ""
+msgstr "Résolveur"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Exclude Nodes"
-msgstr "Supprimer des nœuds"
+msgstr "Exclure les nœuds"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Params"
-msgstr "Paramètre modifié :"
+msgstr "Paramètres"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit"
-msgstr ""
+msgstr "Limite angulaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper"
-msgstr "Tout en majuscule"
+msgstr "Haute"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower"
-msgstr "Tout en minuscule"
+msgstr "Basse"
#: scene/3d/physics_joint.cpp
msgid "Motor"
-msgstr ""
+msgstr "Moteur"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Target Velocity"
-msgstr "Vue de l'orbite vers la droite"
+msgstr "Vélocité cible"
#: scene/3d/physics_joint.cpp
msgid "Max Impulse"
msgstr "Impulsion Maximale"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit"
-msgstr "Linéaire"
+msgstr "Limite linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper Distance"
-msgstr "Choisissez distance :"
+msgstr "Distance haute"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower Distance"
-msgstr "Choisissez distance :"
+msgstr "Distance basse"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Restitution"
-msgstr "Description"
+msgstr "Restitution"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motion"
-msgstr "Initialiser"
+msgstr "Mouvement linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Ortho"
-msgstr "Orthogonale arrière"
+msgstr "Ortho linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper Angle"
-msgstr "Tout en majuscule"
+msgstr "Angle supérieur"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower Angle"
-msgstr "Tout en minuscule"
+msgstr "Angle inférieur"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Angular Motion"
-msgstr "Animation"
+msgstr "Mouvement angulaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Angular Ortho"
-msgstr "Erreur angulaire max. :"
+msgstr "Ortho angulaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit X"
-msgstr "Linéaire"
+msgstr "X de la limite linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motor X"
-msgstr "Initialiser"
+msgstr "X du moteur linéaire"
#: scene/3d/physics_joint.cpp
msgid "Force Limit"
msgstr "Limite de Force"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Spring X"
-msgstr "Linéaire"
+msgstr "X du ressort linéaire"
#: scene/3d/physics_joint.cpp
msgid "Equilibrium Point"
-msgstr ""
+msgstr "Point d’équilibre"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit X"
-msgstr ""
+msgstr "X de la limite angulaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor X"
-msgstr ""
+msgstr "X du moteur angulaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring X"
-msgstr ""
+msgstr "X du ressort angulaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit Y"
-msgstr "Linéaire"
+msgstr "Y de la limite linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motor Y"
-msgstr "Initialiser"
+msgstr "Y du moteur linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Spring Y"
-msgstr "Linéaire"
+msgstr "Y du ressort linéaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Y"
-msgstr ""
+msgstr "Y de la limite angulaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor Y"
-msgstr ""
+msgstr "Y du moteur angulaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Y"
-msgstr ""
+msgstr "Y du ressort angulaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit Z"
-msgstr "Linéaire"
+msgstr "Z de la limite linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Motor Z"
-msgstr "Initialiser"
+msgstr "Z du moteur linéaire"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Spring Z"
-msgstr "Linéaire"
+msgstr "Z du ressort linéaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Z"
-msgstr ""
+msgstr "Z de la limite angulaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor Z"
-msgstr ""
+msgstr "Z du moteur angulaire"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Z"
-msgstr ""
+msgstr "Z du ressort angulaire"
#: scene/3d/portal.cpp
msgid "The RoomManager should not be a child or grandchild of a Portal."
@@ -23256,21 +22936,19 @@ msgstr "Portail actif"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
-msgstr ""
+msgstr "Double sens"
#: scene/3d/portal.cpp
msgid "Linked Room"
msgstr "Salle liée"
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Use Default Margin"
-msgstr "Défaut"
+msgstr "Utiliser les marges par défaut"
#: scene/3d/proximity_group.cpp
-#, fuzzy
msgid "Group Name"
-msgstr "Groupé"
+msgstr "Nom de groupe"
#: scene/3d/proximity_group.cpp
msgid "Dispatch Mode"
@@ -23281,42 +22959,36 @@ msgid "Grid Radius"
msgstr "Rayon de la Grille"
#: scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Debug Shape"
-msgstr "Débogueur"
+msgstr "Forme de débogage"
#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
msgid "Thickness"
-msgstr ""
+msgstr "Épaisseur"
#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Update Mode"
-msgstr "Mode rotation"
+msgstr "Mode de mise à jour"
#: scene/3d/reflection_probe.cpp
msgid "Origin Offset"
msgstr "Décalage de la Grille"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Box Projection"
-msgstr "Projet"
+msgstr "Projection boîte"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Enable Shadows"
-msgstr "Activer l'alignement"
+msgstr "Activer les ombres"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Color"
-msgstr "Prélever une couleur"
+msgstr "Couleur ambiante"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Energy"
-msgstr "Couleurs d'émission"
+msgstr "Énergie ambiante"
#: scene/3d/reflection_probe.cpp
#, fuzzy
@@ -23619,6 +23291,11 @@ msgstr ""
"Modifiez les tailles dans les formes de collision enfants à la place."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Transformation Globale"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23692,9 +23369,8 @@ msgid "Use As Steering"
msgstr ""
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Wheel"
-msgstr "Molette vers le haut."
+msgstr "Molette"
#: scene/3d/vehicle_body.cpp
msgid "Roll Influence"
@@ -23730,9 +23406,8 @@ msgid "Material Override"
msgstr "Redéfinition"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Material Overlay"
-msgstr "Changements de matériau :"
+msgstr "Superposition de Matériau"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23740,9 +23415,8 @@ msgid "Cast Shadow"
msgstr "Créer un nœud Shader"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Extra Cull Margin"
-msgstr "Arguments supplémentaires :"
+msgstr "Marge supplémentaire de détermination des faces cachées"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23814,14 +23488,12 @@ msgid "Mix Mode"
msgstr "Mélanger le nœud"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadein Time"
-msgstr "Durée du fondu (s) :"
+msgstr "Durée du fondu entrant"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadeout Time"
-msgstr "Durée du fondu (s) :"
+msgstr "Durée du fondu sortant"
#: scene/animation/animation_blend_tree.cpp
msgid "Auto Restart"
@@ -23836,9 +23508,8 @@ msgid "Delay"
msgstr ""
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Random Delay"
-msgstr "Inclinaison aléatoire :"
+msgstr "Retard aléatoire"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -23846,9 +23517,8 @@ msgid "Add Amount"
msgstr "Quantité"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Blend Amount"
-msgstr "Quantité :"
+msgstr "Quantité de mélange"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -23862,9 +23532,8 @@ msgstr "Ajouter un port d'entrée"
#: scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Xfade Time"
-msgstr "Durée du fondu (s) :"
+msgstr "Durée du fondu croisé"
#: scene/animation/animation_node_state_machine.cpp
#, fuzzy
@@ -24276,9 +23945,8 @@ msgid "Pass On Modal Close Click"
msgstr ""
#: scene/gui/control.cpp
-#, fuzzy
msgid "Size Flags"
-msgstr "Taille :"
+msgstr "Drapeaux de Taille"
#: scene/gui/control.cpp
#, fuzzy
@@ -24330,9 +23998,8 @@ msgid "Scroll Offset"
msgstr "Décalage du Défilement"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Snap Distance"
-msgstr "Choisissez distance :"
+msgstr "Distance d'arrondissage"
#: scene/gui/graph_edit.cpp
#, fuzzy
@@ -24469,9 +24136,8 @@ msgid "Secret"
msgstr ""
#: scene/gui/line_edit.cpp
-#, fuzzy
msgid "Secret Character"
-msgstr "Caractères valides :"
+msgstr "Caractère secret"
#: scene/gui/line_edit.cpp
msgid "Expand To Text Length"
@@ -24528,7 +24194,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Caret"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
@@ -24705,9 +24371,8 @@ msgid "Meta Underlined"
msgstr ""
#: scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Tab Size"
-msgstr "Taille :"
+msgstr "Taille de tabulation"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24728,9 +24393,8 @@ msgid "Selection Enabled"
msgstr "Sélection uniquement"
#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Override Selected Font Color"
-msgstr "Configurer le profil sélectionné :"
+msgstr "Remplacer la couleur de police sélectionnée"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24781,9 +24445,8 @@ msgid "Tick Count"
msgstr "Prélever une couleur"
#: scene/gui/slider.cpp
-#, fuzzy
msgid "Ticks On Borders"
-msgstr "dans l'ordre :"
+msgstr "Encoches aux bordures"
#: scene/gui/spin_box.cpp
msgid "Prefix"
@@ -24794,9 +24457,8 @@ msgid "Suffix"
msgstr "Suffixe"
#: scene/gui/split_container.cpp
-#, fuzzy
msgid "Split Offset"
-msgstr "Décalage de la grille :"
+msgstr "Décalage des écarts"
#: scene/gui/split_container.cpp scene/gui/tree.cpp
#, fuzzy
@@ -24813,9 +24475,8 @@ msgid "Tab Align"
msgstr ""
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-#, fuzzy
msgid "Current Tab"
-msgstr "Actuel :"
+msgstr "Onglet actuel"
#: scene/gui/tab_container.cpp
#, fuzzy
@@ -24857,9 +24518,13 @@ msgid "Breakpoint Gutter"
msgstr "Passer les points d'arrêt"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Fold Gutter"
-msgstr "Dossier :"
+msgstr "Replier le bandeau"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Sélection uniquement"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -24956,9 +24621,8 @@ msgid "Initial Angle"
msgstr "Initialiser"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Fill Degrees"
-msgstr "Rotation de %s degrés."
+msgstr "Degrés remplis"
#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -25064,9 +24728,8 @@ msgid "Max Redirects"
msgstr ""
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Timeout"
-msgstr "Délai dépassé."
+msgstr "Délai dépassé"
#: scene/main/node.cpp
msgid ""
@@ -25264,18 +24927,6 @@ msgstr "Chemin d'exportation"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Ce Viewport n'est pas sélectionné comme cible de rendu. Si vous avez "
-"l'intention d'afficher son contenu directement à l'écran, rattachez-le à un "
-"nœud de type Control afin qu'il en obtienne une taille. Sinon, faites-en une "
-"RenderTarget et assignez sa texture à un nœud pouvant l'afficher."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -25283,6 +24934,15 @@ msgstr ""
"dans les deux sens pour que le rendu soit possible."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25342,9 +25002,8 @@ msgid "Debug Draw"
msgstr "Débogage"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Render Target"
-msgstr "Moteur de rendu :"
+msgstr "Rendre la cible"
#: scene/main/viewport.cpp
msgid "V Flip"
@@ -25441,6 +25100,16 @@ msgid "3D Physics"
msgstr "Physique"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigation"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigation"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25507,9 +25176,8 @@ msgid "Font Color Disabled"
msgstr "Âgrafe désactivée"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "H Separation"
-msgstr "Séparation :"
+msgstr "Séparation H"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25597,14 +25265,12 @@ msgid "Font Outline Modulate"
msgstr "Forcer la modulation blanche"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset X"
-msgstr "Décalage X de la grille :"
+msgstr "Décalage X de l'ombre"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset Y"
-msgstr "Décalage Y de la grille :"
+msgstr "Décalage Y de l'ombre"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25662,14 +25328,12 @@ msgid "Space"
msgstr "Scène principale"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folded"
-msgstr "Dossier :"
+msgstr "Replié"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Fold"
-msgstr "Dossier :"
+msgstr "Replier"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Readonly"
@@ -25788,14 +25452,12 @@ msgid "Close Highlight"
msgstr "Éclairage direct"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Close H Offset"
-msgstr "Décalage de la grille :"
+msgstr "Fermer décalage H"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Close V Offset"
-msgstr "Décalage de la grille :"
+msgstr "Fermer décalage V"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25823,9 +25485,8 @@ msgid "Labeled Separator Right"
msgstr "Séparateur nommé"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Separator"
-msgstr "Opérateur de couleur."
+msgstr "Séparateur de police"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25833,14 +25494,12 @@ msgid "Font Color Accel"
msgstr "Renommer l'item de couleur"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Separator"
-msgstr "Opérateur de couleur."
+msgstr "Séparateur de couleur de police"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "V Separation"
-msgstr "Séparation :"
+msgstr "Séparation V"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25888,9 +25547,8 @@ msgid "Title Offset"
msgstr "Décalage d’Octet"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Close Offset"
-msgstr "Décalage de la grille :"
+msgstr "Fermer de décalage"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26020,9 +25678,8 @@ msgid "Icon Margin"
msgstr "Définir la marge"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Separation"
-msgstr "Séparation :"
+msgstr "Séparation de line"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26082,9 +25739,8 @@ msgid "Large"
msgstr "Cible"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folder"
-msgstr "Dossier :"
+msgstr "Dossier"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26122,9 +25778,8 @@ msgid "Label Width"
msgstr "Étendu à Gauche"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Screen Picker"
-msgstr "Opérateur d'écran."
+msgstr "Sélecteur d'écran"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26185,14 +25840,12 @@ msgid "Mono Font"
msgstr "Police Principale"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table H Separation"
-msgstr "Séparation :"
+msgstr "Séparation H de table"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table V Separation"
-msgstr "Séparation :"
+msgstr "Séparation V de table"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26357,7 +26010,7 @@ msgstr "Condition"
#: scene/resources/environment.cpp
msgid "Fog"
-msgstr ""
+msgstr "Brouillard"
#: scene/resources/environment.cpp
msgid "Sun Color"
@@ -26453,14 +26106,12 @@ msgid "Max Steps"
msgstr "Pas"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Fade In"
-msgstr "Fondu entrant (s) :"
+msgstr "Fondu entrant"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Fade Out"
-msgstr "Fondu sortant (s) :"
+msgstr "Fondu sortant"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26539,54 +26190,52 @@ msgstr "2"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "3"
-msgstr ""
+msgstr "3"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "4"
-msgstr ""
+msgstr "4"
#: scene/resources/environment.cpp
msgid "5"
-msgstr ""
+msgstr "5"
#: scene/resources/environment.cpp
msgid "6"
-msgstr ""
+msgstr "6"
#: scene/resources/environment.cpp
msgid "7"
-msgstr ""
+msgstr "7"
#: scene/resources/environment.cpp
msgid "Bloom"
-msgstr ""
+msgstr "Flou lumineux"
#: scene/resources/environment.cpp
msgid "HDR Threshold"
-msgstr ""
+msgstr "Seuil HDR"
#: scene/resources/environment.cpp
msgid "HDR Luminance Cap"
-msgstr ""
+msgstr "Limite de luminance HDR"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "HDR Scale"
-msgstr "Mode mise à l'échelle"
+msgstr "Échelle HDR"
#: scene/resources/environment.cpp
msgid "Bicubic Upscale"
-msgstr ""
+msgstr "Redimensionnement Bicubique"
#: scene/resources/environment.cpp
msgid "Adjustments"
-msgstr ""
+msgstr "Ajustements"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Brightness"
-msgstr "Lumière"
+msgstr "Luminosité"
#: scene/resources/environment.cpp
msgid "Saturation"
@@ -26594,22 +26243,19 @@ msgstr "Saturation"
#: scene/resources/environment.cpp
msgid "Color Correction"
-msgstr "Correction de Couleur"
+msgstr "Correction des couleurs"
#: scene/resources/font.cpp
-#, fuzzy
msgid "Ascent"
-msgstr "Récents :"
+msgstr "Inclinaison"
#: scene/resources/font.cpp
-#, fuzzy
msgid "Distance Field"
-msgstr "Mode Sans Distraction"
+msgstr "Champ de distance"
#: scene/resources/gradient.cpp
-#, fuzzy
msgid "Raw Data"
-msgstr "Profondeur"
+msgstr "Données brutes"
#: scene/resources/gradient.cpp
msgid "Offsets"
@@ -26617,62 +26263,55 @@ msgstr "Décalages"
#: scene/resources/height_map_shape.cpp
msgid "Map Width"
-msgstr ""
+msgstr "Largeur de la carte"
#: scene/resources/height_map_shape.cpp
-#, fuzzy
msgid "Map Depth"
-msgstr "Profondeur"
+msgstr "Profondeur de la carte"
#: scene/resources/height_map_shape.cpp
-#, fuzzy
msgid "Map Data"
-msgstr "Profondeur"
+msgstr "Données de la carte"
#: scene/resources/line_shape_2d.cpp
msgid "D"
-msgstr ""
+msgstr "D"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Next Pass"
-msgstr "Plan suivant"
+msgstr "Passe suivante"
#: scene/resources/material.cpp
msgid "Use Shadow To Opacity"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Unshaded"
-msgstr "Afficher sans ombrage"
+msgstr "Sans ombrage"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Vertex Lighting"
-msgstr "Éclairage direct"
+msgstr "Éclairage de sommet"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Use Point Size"
-msgstr "Vue de devant"
+msgstr "Utiliser la taille de point"
#: scene/resources/material.cpp
msgid "World Triplanar"
-msgstr ""
+msgstr "Monde Triplanaire"
#: scene/resources/material.cpp
msgid "Albedo Tex Force sRGB"
-msgstr ""
+msgstr "Forcer sRGB dans la texture d'albédo"
#: scene/resources/material.cpp
msgid "Do Not Receive Shadows"
-msgstr ""
+msgstr "Ne pas recevoir d'ombres"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Disable Ambient Light"
-msgstr "Indenter vers la droite"
+msgstr "Désactiver la lumière ambiante"
#: scene/resources/material.cpp
msgid "Ensure Correct Normals"
@@ -26680,72 +26319,63 @@ msgstr "Assurer des Normales Correctes"
#: scene/resources/material.cpp
msgid "Albedo Tex MSDF"
-msgstr ""
+msgstr "Texture d'albédo MSDF"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Vertex Color"
-msgstr "Vertex"
+msgstr "Couleur de sommet"
#: scene/resources/material.cpp
msgid "Use As Albedo"
-msgstr ""
+msgstr "Utiliser comme albédo"
#: scene/resources/material.cpp
msgid "Is sRGB"
-msgstr ""
+msgstr "Est sRGB"
#: scene/resources/material.cpp servers/visual_server.cpp
msgid "Parameters"
msgstr "Paramètres"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Diffuse Mode"
-msgstr "Mode navigation"
+msgstr "Mode diffus"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Specular Mode"
-msgstr "Mode Règle"
+msgstr "Mode spéculaire"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Depth Draw Mode"
-msgstr "Mode d’interpolation"
+msgstr "Mode de dessin en profondeur"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Line Width"
-msgstr "Étendu à Gauche"
+msgstr "Largeur de ligne"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Point Size"
-msgstr "Vue de devant"
+msgstr "Taille de point"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Billboard Mode"
-msgstr "Mode Règle"
+msgstr "Mode Billboard"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Billboard Keep Scale"
-msgstr "Mode Règle"
+msgstr "Garder l'échelle du Billboard"
#: scene/resources/material.cpp
msgid "Grow"
-msgstr ""
+msgstr "Croître"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Grow Amount"
-msgstr "Quantité :"
+msgstr "Quantité de croissance"
#: scene/resources/material.cpp
msgid "Use Alpha Scissor"
-msgstr ""
+msgstr "Utiliser la découpe alpha"
#: scene/resources/material.cpp
#, fuzzy
@@ -26764,7 +26394,7 @@ msgstr "Image %"
#: scene/resources/material.cpp
msgid "Albedo"
-msgstr ""
+msgstr "Albédo"
#: scene/resources/material.cpp
msgid "Metallic"
@@ -26790,7 +26420,7 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Rim"
-msgstr ""
+msgstr "Bord"
#: scene/resources/material.cpp
#, fuzzy
@@ -26849,7 +26479,7 @@ msgstr "Transmission"
msgid "Refraction"
msgstr "Réfraction"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26914,9 +26544,8 @@ msgid "Color Format"
msgstr "Format de Couleur"
#: scene/resources/multimesh.cpp
-#, fuzzy
msgid "Transform Format"
-msgstr "Transformation annulée."
+msgstr "Format de transformation"
#: scene/resources/multimesh.cpp
msgid "Custom Data Format"
@@ -26932,14 +26561,17 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Sampling"
+msgstr "Échantillonnage"
+
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Partition Type"
msgstr "Définir type de variable"
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Parsed Geometry Type"
-msgstr "Analyse de la géométrie..."
+msgstr "Type de la géométrie analysée"
#: scene/resources/navigation_mesh.cpp
msgid "Source Geometry Mode"
@@ -26951,10 +26583,15 @@ msgid "Source Group Name"
msgstr "Source"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Segments"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26964,11 +26601,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Région"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Fusionner depuis la scène"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26982,8 +26624,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Afficher par défaut"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
-msgstr "Choisissez distance :"
+msgstr "Échantillonner la distance"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -26999,9 +26645,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Générer AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Décalage :"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27044,12 +26700,10 @@ msgid "Color Modifier"
msgstr "Ralentissement de la vue libre"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Point Texture"
-msgstr "Points d'Émission :"
+msgstr "Texture ponctuelle"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Normal Texture"
msgstr "Texture Normale"
@@ -27081,9 +26735,8 @@ msgid "Absorbent"
msgstr ""
#: scene/resources/plane_shape.cpp
-#, fuzzy
msgid "Plane"
-msgstr "Plan :"
+msgstr "Plan"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -27157,9 +26810,8 @@ msgid "Bone"
msgstr "Os"
#: scene/resources/sky.cpp
-#, fuzzy
msgid "Radiance Size"
-msgstr "Taille du contour :"
+msgstr "Taille du rayonnement"
#: scene/resources/sky.cpp
msgid "Panorama"
@@ -27413,6 +27065,11 @@ msgid "Scenario"
msgstr "Scène"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigation"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27430,6 +27087,25 @@ msgstr "Linéaire gauche"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Défaut"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Aperçu par défaut"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "En période de test"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Edge Connection Margin"
+msgstr "Marge de connexion des bords par défaut"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -27582,11 +27258,11 @@ msgstr "Ressource"
#: servers/audio/effects/audio_effect_limiter.cpp
msgid "Ceiling dB"
-msgstr ""
+msgstr "Plafond de dB"
#: servers/audio/effects/audio_effect_limiter.cpp
msgid "Threshold dB"
-msgstr ""
+msgstr "Seuil de dB"
#: servers/audio/effects/audio_effect_limiter.cpp
msgid "Soft Clip dB"
@@ -27598,37 +27274,36 @@ msgstr ""
#: servers/audio/effects/audio_effect_phaser.cpp
msgid "Range Min Hz"
-msgstr ""
+msgstr "Borne inférieure de la plage (Hz)"
#: servers/audio/effects/audio_effect_phaser.cpp
msgid "Range Max Hz"
-msgstr ""
+msgstr "Borne supérieure de la plage (Hz)"
#: servers/audio/effects/audio_effect_pitch_shift.cpp
msgid "Oversampling"
-msgstr ""
+msgstr "Suréchantillonnage"
#: servers/audio/effects/audio_effect_pitch_shift.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
msgid "FFT Size"
-msgstr "Taille FFT"
+msgstr "Taille des FFTs"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Predelay"
-msgstr ""
+msgstr "Pré-retarder"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Msec"
-msgstr ""
+msgstr "Millisec"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Room Size"
-msgstr ""
+msgstr "Taille de la salle"
#: servers/audio/effects/audio_effect_reverb.cpp
-#, fuzzy
msgid "High-pass"
-msgstr "Contourner"
+msgstr "Passe-haut"
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
msgid "Tap Back Pos"
@@ -27639,27 +27314,24 @@ msgid "Pan Pullout"
msgstr ""
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-#, fuzzy
msgid "Time Pullout (ms)"
-msgstr "Délai dépassé."
+msgstr "Temps de retrait (ms)"
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
msgid "Surround"
-msgstr ""
+msgstr "Surround"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Enable Audio Input"
-msgstr "Renommer le bus audio"
+msgstr "Activer l’entrée audio"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Output Latency"
-msgstr "Sortie"
+msgstr "Latence de sortie"
#: servers/audio_server.cpp
msgid "Channel Disable Threshold dB"
-msgstr ""
+msgstr "Désactiver le seuil de dB du canal"
#: servers/audio_server.cpp
#, fuzzy
@@ -27668,43 +27340,39 @@ msgstr "Changer le temps de mélange"
#: servers/audio_server.cpp
msgid "Video Delay Compensation (ms)"
-msgstr ""
+msgstr "Compensation de retard vidéo (ms)"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Bus Count"
-msgstr "Ajouter un port d'entrée"
+msgstr "Nombre de ports"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Capture Device"
-msgstr "Capturer depuis Pixel"
+msgstr "Périphérique de capture"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Global Rate Scale"
-msgstr "Variable globale"
+msgstr "Echelle de débit global"
#: servers/camera/camera_feed.cpp
msgid "Feed"
-msgstr ""
+msgstr "Flux"
#: servers/camera/camera_feed.cpp
-#, fuzzy
msgid "Is Active"
-msgstr "Perspective"
+msgstr "Est active"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Linear"
-msgstr ""
+msgstr "Seuil linéaire de veille"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Angular"
-msgstr ""
+msgstr "Seuil angulaire de veille"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Time Before Sleep"
-msgstr ""
+msgstr "Temps avant veille"
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "BP Hash Table Size"
@@ -27716,48 +27384,43 @@ msgstr ""
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Inverse Mass"
-msgstr ""
+msgstr "Masse inverse"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Inverse Inertia"
-msgstr "Vue libre gauche"
+msgstr "Inertie inverse"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Total Angular Damp"
-msgstr ""
+msgstr "Amortissage angulaire total"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Total Linear Damp"
-msgstr "Linéaire"
+msgstr "Amortissage linéaire total"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Total Gravity"
-msgstr "Aperçu par défaut"
+msgstr "Gravité totale"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Linear Velocity"
-msgstr "Initialiser"
+msgstr "Vélocité linéaire"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Exclude"
-msgstr ""
+msgstr "Exclure"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Shape RID"
-msgstr ""
+msgstr "RID de forme"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collide With Bodies"
-msgstr "Mode collision"
+msgstr "Collisions avec les corps"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collide With Areas"
-msgstr ""
+msgstr "Collisions avec les zones"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Motion Remainder"
@@ -27999,14 +27662,12 @@ msgid "Use Software Skinning"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Ninepatch Mode"
-msgstr "Mode d’interpolation"
+msgstr "Mode Ninepatch"
#: servers/visual_server.cpp
-#, fuzzy
msgid "OpenGL"
-msgstr "Ouvrir"
+msgstr "OpenGL"
#: servers/visual_server.cpp
msgid "Batching Send Null"
@@ -28031,12 +27692,11 @@ msgstr "Traitement en lot"
#: servers/visual_server.cpp
msgid "Use Batching"
-msgstr ""
+msgstr "Utiliser le traitement en lot"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Batching In Editor"
-msgstr "Mise à jour de l'éditeur"
+msgstr "Utiliser le traitement en lot dans l'éditeur"
#: servers/visual_server.cpp
msgid "Single Rect Fallback"
@@ -28060,7 +27720,7 @@ msgstr "Nombre Maximal d'Éléments Joints"
#: servers/visual_server.cpp
msgid "Batch Buffer Size"
-msgstr ""
+msgstr "Taille de tampon des lots"
#: servers/visual_server.cpp
msgid "Item Reordering Lookahead"
@@ -28071,21 +27731,20 @@ msgid "Flash Batching"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Diagnose Frame"
-msgstr "Coller une image"
+msgstr "Diagnostiquer la trame"
#: servers/visual_server.cpp
msgid "GLES2"
-msgstr ""
+msgstr "GLES2"
#: servers/visual_server.cpp
msgid "Compatibility"
-msgstr ""
+msgstr "Compatibilité"
#: servers/visual_server.cpp
msgid "Disable Half Float"
-msgstr ""
+msgstr "Désactiver les demi Float"
#: servers/visual_server.cpp
#, fuzzy
@@ -28093,31 +27752,28 @@ msgid "Enable High Float"
msgstr "Activer la priorité"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Precision"
-msgstr "Expression"
+msgstr "Précision"
#: servers/visual_server.cpp
msgid "UV Contract"
-msgstr ""
+msgstr "Contraction UV"
#: servers/visual_server.cpp
msgid "UV Contract Amount"
-msgstr ""
+msgstr "Quantité de contraction UV"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Simple PVS"
-msgstr "Utiliser le magnétisme d'échelle"
+msgstr "Utiliser PVS simple"
#: servers/visual_server.cpp
msgid "PVS Logging"
-msgstr ""
+msgstr "Journal PVS"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Signals"
-msgstr "Signaux"
+msgstr "Utiliser les signaux"
#: servers/visual_server.cpp
#, fuzzy
@@ -28136,27 +27792,24 @@ msgstr "Voir la suppression de l'occlusion"
#: servers/visual_server.cpp
msgid "Max Active Spheres"
-msgstr ""
+msgstr "Nombre maximum de sphères actives"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Active Polygons"
-msgstr "Déplacer le polygone"
+msgstr "Nombre maximum de polygones actifs"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Compilation Mode"
-msgstr "Mode d’interpolation"
+msgstr "Mode de compilation des shaders"
#: servers/visual_server.cpp
msgid "Max Simultaneous Compiles"
-msgstr ""
+msgstr "Nombre de compilations simultanées"
#: servers/visual_server.cpp
msgid "Log Active Async Compiles Count"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Cache Size (MB)"
-msgstr "Changer la taille d'une caméra"
+msgstr "Taille du cache de shader (Mo)"
diff --git a/editor/translations/ga.po b/editor/translations/ga.po
index 0be19c562a..87e005f5f3 100644
--- a/editor/translations/ga.po
+++ b/editor/translations/ga.po
@@ -204,9 +204,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -313,7 +314,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+msgid "Invalid input %d (not passed) in expression"
msgstr ""
#: core/math/expression.cpp
@@ -357,6 +358,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Scagairí..."
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Scrios ionchur"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -382,6 +393,11 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Scagairí..."
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -434,6 +450,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -541,7 +561,8 @@ msgstr "Cuntas:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -624,24 +645,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -750,7 +770,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Scagairí..."
@@ -1022,6 +1043,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Saor"
@@ -1038,7 +1060,7 @@ msgstr ""
msgid "Time:"
msgstr ""
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr ""
@@ -1283,10 +1305,68 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+msgid "Time (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Cruthaigh"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Nód Beochana"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Scála:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Nód Cumaisc2"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
msgstr ""
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "CrannBeochan"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1494,7 +1574,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2015,14 +2095,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cuardach:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2078,8 +2159,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2087,7 +2168,7 @@ msgid "Open"
msgstr "Oscailte"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2379,7 +2460,7 @@ msgid "Bus Options"
msgstr "Cruthaigh"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2431,8 +2512,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2635,6 +2716,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "CrannBeochan"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2647,6 +2745,27 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Scagairí..."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2747,8 +2866,26 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "Ábhar:"
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2919,9 +3056,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3999,14 +4136,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4123,6 +4252,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Ainm nua:"
@@ -4151,6 +4284,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4780,11 +4917,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4877,6 +5016,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Cuntas:"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5131,7 +5275,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5156,6 +5302,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5667,10 +5821,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6390,14 +6546,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6526,7 +6674,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Scagairí..."
@@ -6772,7 +6920,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6800,6 +6948,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7457,11 +7617,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7479,11 +7648,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7580,10 +7744,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7624,10 +7790,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7739,7 +7901,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Athrú: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -7756,11 +7919,6 @@ msgid "New name:"
msgstr "Ainm nua:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Scála:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8642,6 +8800,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8705,6 +8864,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9445,8 +9608,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Acmhainn"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -9675,6 +9839,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9828,13 +9993,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9843,10 +10001,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10533,13 +10687,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Scála:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Athrú: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10562,11 +10720,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11041,7 +11194,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11073,15 +11226,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "CrannBeochan"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11145,6 +11299,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "CrannBeochan"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12008,8 +12167,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13422,20 +13580,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13443,14 +13596,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13551,19 +13696,23 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+msgid "Export Project..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13571,7 +13720,7 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+msgid "Godot Project Pack"
msgstr ""
#: editor/project_export.cpp
@@ -13579,6 +13728,10 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13850,11 +14003,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15012,8 +15165,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Cosán"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15836,7 +15990,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15997,7 +16151,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16404,7 +16558,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16433,6 +16586,19 @@ msgstr "Nód Cumaisc2"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Nód Beochana"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Nód Beochana"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16830,7 +16996,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16838,7 +17004,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17204,7 +17370,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17212,7 +17378,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17365,11 +17531,11 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+msgid "Invalid argument of type:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+msgid "Invalid arguments:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17381,11 +17547,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17678,6 +17844,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Cruthaigh"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17685,6 +17856,15 @@ msgstr ""
msgid "Export Format"
msgstr ""
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Nód Cumaisc2"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17721,15 +17901,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Nód Cumaisc2"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17875,10 +18046,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17955,12 +18122,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17969,25 +18136,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Nód Measc"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18003,6 +18194,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18031,7 +18226,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18042,19 +18237,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18067,7 +18260,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18083,7 +18276,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Ábhar:"
#: platform/android/export/export_plugin.cpp
@@ -18091,15 +18284,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18109,7 +18299,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18340,6 +18530,15 @@ msgstr "Cruthaigh"
msgid "Custom BG Color"
msgstr "Cruthaigh"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18361,19 +18560,28 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Invalid export template: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Ábhar:"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18447,15 +18655,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18733,9 +18941,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "CrannBeochan"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18751,15 +18976,67 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Cuntas:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18770,7 +19047,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18811,6 +19088,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "CrannBeochan"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19108,6 +19394,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19150,6 +19440,60 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19168,6 +19512,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19183,6 +19543,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19294,7 +19658,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19338,7 +19703,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20013,35 +20378,55 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Ábhar:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Scagairí..."
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "Scagairí..."
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20064,13 +20449,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Nód Cumaisc2"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20078,7 +20466,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21131,6 +21519,13 @@ msgstr ""
msgid "Transform Normals"
msgstr ""
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21152,12 +21547,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21956,6 +22345,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Athrú: "
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23058,6 +23452,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Scagairí..."
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Scagairí..."
@@ -23419,16 +23818,17 @@ msgstr "Cosán"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23570,6 +23970,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Nód Beochana"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Nód Beochana"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24867,7 +25277,7 @@ msgstr "Athrú: "
msgid "Refraction"
msgstr "Cuntas:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24940,8 +25350,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Scála:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Cuntas:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -24957,10 +25373,15 @@ msgid "Source Group Name"
msgstr "Acmhainn"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Ábhar:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -24969,11 +25390,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Cruthaigh"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24985,6 +25411,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Scagairí..."
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25001,7 +25432,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25373,6 +25812,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Nód Beochana"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25388,6 +25832,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Scrios ionchur"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Nód Cumaisc2"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Scrios ionchur"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Ábhar:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/gl.po b/editor/translations/gl.po
index 5687b29d5a..29db0e8063 100644
--- a/editor/translations/gl.po
+++ b/editor/translations/gl.po
@@ -223,9 +223,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Analítica de Rendemento de Rede"
@@ -340,7 +341,8 @@ msgstr ""
"Non hai insuficientes \"bytes\" para descodificar, ou o formato é inválido."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Entrada inválida %i (non pasada) na expresión"
#: core/math/expression.cpp
@@ -385,6 +387,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Mover Modo"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Eliminar Entrada"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -413,6 +425,11 @@ msgstr ""
msgid "Command"
msgstr "Comunidade"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fotograma de Física %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -471,6 +488,10 @@ msgid "Pressure"
msgstr "Axustes de Importación"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Axuste Relativo"
@@ -586,7 +607,8 @@ msgstr "Descrición"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Executar"
@@ -673,6 +695,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Ruta da Escena:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -680,19 +707,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Control de Versións"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Control de Versións"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Nome do Plugin:"
+msgid "Version Control Plugin Name"
+msgstr "Control de Versións"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -809,7 +832,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtros:"
@@ -1090,6 +1114,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libre"
@@ -1106,7 +1131,7 @@ msgstr "Espello"
msgid "Time:"
msgstr "Tempo:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valor:"
@@ -1353,10 +1378,72 @@ msgid "Remove this track."
msgstr "Eliminar esta pista."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Tempo (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Posición do Panel"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Modo Rotación"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Escala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tipo:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Extensión inválida."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Aviso:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Oínte de Son"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Reiniciar (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animacións:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Act./Desact. Pista"
@@ -1570,7 +1657,8 @@ msgid "Add Method Track Key"
msgstr "Engadir Chave de Pista de Método"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Método non encontrado no obxecto: "
#: editor/animation_track_editor.cpp
@@ -2108,14 +2196,15 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recente:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Buscar:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Coincidencias:"
@@ -2175,8 +2264,8 @@ msgstr "Buscar Recurso de Substitución:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2184,8 +2273,8 @@ msgid "Open"
msgstr "Abrir"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Dono De:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2497,7 +2586,7 @@ msgid "Bus Options"
msgstr "Opcións de Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
@@ -2549,8 +2638,9 @@ msgstr "Abrir Disposición do Bus de Son"
msgid "There is no '%s' file."
msgstr "Non hai ningún arquivo '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Disposición"
#: editor/editor_audio_buses.cpp
@@ -2756,6 +2846,25 @@ msgid "Choose"
msgstr "Elixir"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Copiar Ruta do Nodo"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Paquete instalado correctamente!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Fracasado:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Almacenando Arquivo:"
@@ -2768,6 +2877,31 @@ msgid "Packing"
msgstr "Empaquetando"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Gardar Como"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Non se puido crear cartafol."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Non se puido iniciar subproceso!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Non se puido abrir o arquivo para escritura:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Gardar Como"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2888,11 +3022,31 @@ msgstr "Non se encontrou un modelo de depuración personalizado."
msgid "Custom release template not found."
msgstr "Non se encontrou un modelo release personalizado."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Modelo:"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Non se encontrou o arquivo do modelo:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Fallou a carga do Recurso."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Na exportación de 32 bits o PCK integrado non pode ser maior de 4 GiB."
@@ -3067,9 +3221,9 @@ msgid "Import"
msgstr "Importar"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportación"
@@ -4244,15 +4398,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Escena"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Ruta da Escena:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4378,6 +4523,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Control de Versións"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Renomear"
@@ -4406,6 +4555,10 @@ msgstr "Act./Desact. modo sen distraccións."
msgid "Add a new scene."
msgstr "Engadir unha nova escena."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Escena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ir á escena aberta previamente."
@@ -5077,11 +5230,15 @@ msgid "Selected node is not a Viewport!"
msgstr "O nodo seleccionado non é unha Mini-Ventá (Viewport)!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Tamaño: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Páxina: "
#: editor/editor_properties_array_dict.cpp
@@ -5183,6 +5340,11 @@ msgstr ""
"Engade uns axustes de exportación executables, ou define algún xa existente "
"como executable."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Proxecto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Escribe a túa lóxica no método '_run()'."
@@ -5462,7 +5624,9 @@ msgid "Draw Spaces"
msgstr "Chamadas"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navegación"
@@ -5488,6 +5652,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Encadrar Selección"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6046,10 +6219,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Administrador de Proxectos"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6817,14 +6992,6 @@ msgid "Replace in Files"
msgstr "Substituír Todo"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Buscar: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Substituír: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Substituír Todo"
@@ -6954,7 +7121,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtros:"
@@ -7221,8 +7388,9 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
+#, fuzzy
+msgid "Generating for Mesh:"
+msgstr "Renomeando Cartafol:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7249,6 +7417,18 @@ msgid "Saving..."
msgstr "Gardando..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7930,11 +8110,20 @@ msgid "New Anim"
msgstr "Nova Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Renomear Animación"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Eliminar Animación?"
@@ -7952,11 +8141,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Renomear Animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplicar Animación"
@@ -8054,10 +8238,12 @@ msgstr ""
msgid "Directions"
msgstr "Direccións"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Pasado"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Futuro"
@@ -8098,10 +8284,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nome da Animación:"
@@ -8212,7 +8394,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Transición: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8229,11 +8412,6 @@ msgid "New name:"
msgstr "Novo nome:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Escala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -9139,6 +9317,7 @@ msgstr "Crear Óso(s) Personalizados a partir de Nodo(s)"
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9205,6 +9384,10 @@ msgid "Preview Canvas Scale"
msgstr "Vista Previa da Escala do Lenzo (Canvas)"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Disposición"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9978,8 +10161,9 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Fonte:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10212,6 +10396,7 @@ msgid "Points"
msgstr "Puntos"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polígonos"
@@ -10365,13 +10550,6 @@ msgid "Instance:"
msgstr "Instancia:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tipo:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10380,10 +10558,6 @@ msgstr ""
msgid "Load Resource"
msgstr "Cargar Recurso"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11097,12 +11271,16 @@ msgstr "Modo Rotación"
msgid "Translate"
msgstr "Trasladar:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Escalado: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Trasladando: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11127,12 +11305,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Tamaño: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "Obxectos Debuxados"
@@ -11631,8 +11803,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Converter a CPUParticles2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11663,15 +11836,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Simplificación: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11735,6 +11909,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filtrar métodos"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Velocidade:"
@@ -12671,8 +12850,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Rexión"
@@ -14153,34 +14331,19 @@ msgid "Runnable"
msgstr "Executable"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Eliminar axustes de exportación '%s'?"
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Fallou a exportación do proxecto á plataforma '%s'.\n"
-"Esto pode deberse a un problema cos axustes de exportación."
#: editor/project_export.cpp
-msgid "Exporting All"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
+msgid "Delete preset '%s'?"
+msgstr "Eliminar axustes de exportación '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
+msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
@@ -14290,34 +14453,48 @@ msgid "More Info..."
msgstr "Mover a..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Exportar..."
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Exportar Proxecto"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Elixir un Directorio"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Exportar..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Exportar Proxecto"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Fundadores do Proxecto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14626,14 +14803,14 @@ msgid "Project Manager"
msgstr "Administrador de Proxectos"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Cargando, por favor agarde..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Derradeira Modificación"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Cargando, por favor agarde..."
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Exportar Proxecto"
@@ -15811,7 +15988,8 @@ msgid "Attach Node Script"
msgstr "Adxuntar Script de Nodo"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Remoto "
#: editor/script_editor_debugger.cpp
@@ -16676,7 +16854,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Polígonos"
@@ -16852,7 +17030,8 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Bibliotecas: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17291,7 +17470,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17321,6 +17499,19 @@ msgstr "Centro"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navegación"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navegación"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17730,7 +17921,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17738,7 +17929,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18105,7 +18296,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18113,7 +18304,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18282,12 +18473,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Argumentos inválidos para construir '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Nome inválido."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18299,12 +18492,14 @@ msgid "Var Name"
msgstr "Nome"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Método non encontrado no obxecto: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Método non encontrado no obxecto: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18625,6 +18820,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Cortar Nodos"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18633,6 +18833,16 @@ msgstr ""
msgid "Export Format"
msgstr "Formato"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Tamaño: "
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Obxectivo"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18672,16 +18882,6 @@ msgstr "Anterior Pestana"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Tamaño: "
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Obxectivo"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18849,10 +19049,6 @@ msgid "Could not execute on device."
msgstr "Non se puido crear cartafol."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18935,12 +19131,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18949,25 +19145,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Sinal"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18986,6 +19206,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Non se puido iniciar subproceso!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19015,7 +19240,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19026,20 +19251,18 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr "Non se pudo editar o arquivo 'project.godot' na ruta do proxecto."
#: platform/android/export/export_plugin.cpp
@@ -19051,8 +19274,9 @@ msgid "Building Android Project (gradle)"
msgstr "Construir Proxecto Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"A creación do proxecto para Android fallou; comproba a saída para encontrar "
@@ -19072,7 +19296,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Contenido do Paquete:"
#: platform/android/export/export_plugin.cpp
@@ -19081,15 +19305,13 @@ msgid "Creating APK..."
msgstr "Conectando..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Non se puido iniciar subproceso!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19101,7 +19323,7 @@ msgstr "Engadindo %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Non se puido iniciar subproceso!"
#: platform/android/export/export_plugin.cpp
@@ -19343,6 +19565,17 @@ msgstr "Cortar Nodos"
msgid "Custom BG Color"
msgstr "Cortar Nodos"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Modelo:"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Non se encontrou un modelo release personalizado."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19365,23 +19598,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Non se puido crear cartafol."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Extensión inválida."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Non se puido crear cartafol."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Contidos:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Non se puido crear cartafol."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Escalar (Razón):"
@@ -19457,17 +19702,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Non se puido crear cartafol."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Non se puido crear cartafol."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Erro ao gardar TileSet!"
#: platform/javascript/export/export.cpp
@@ -19765,9 +20010,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Non se puido iniciar subproceso!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Non se puido iniciar subproceso!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Linguaxe"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19783,18 +20047,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Non se atopou ningún sub-recurso."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Erro gardando o arquivo: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direccións"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Non se puido iniciar subproceso!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Creando Miniatura"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Non se puido iniciar subproceso!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Ruta base inválida."
#: platform/osx/export/export.cpp
msgid ""
@@ -19804,7 +20124,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19845,6 +20165,16 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proxecto"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Non se pudo editar o arquivo 'project.godot' na ruta do proxecto."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -20154,6 +20484,11 @@ msgid "Debug Algorithm"
msgstr "Depurador"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Non se pode eliminar o arquivo temporal:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20201,6 +20536,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Pegar Animación"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Extensión inválida."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Argumentos inválidos para construir '%s'"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nome inválido."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Extensión inválida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Non se pode eliminar o arquivo temporal:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20222,6 +20617,23 @@ msgid "Invalid product version:"
msgstr "Nome de Proxecto Inválido."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Extensión inválida."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nova Xanela"
@@ -20238,6 +20650,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20363,7 +20779,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Instanciar"
@@ -20414,7 +20831,7 @@ msgstr "Aumentar Zoom"
msgid "Custom Viewport"
msgstr "1 Ventá"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21147,11 +21564,42 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Editar Conexión:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Pegar Animación"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Elexir unha Escena Principal"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Avanzado"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Activar"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21169,15 +21617,6 @@ msgstr "Horizontal:"
msgid "Max Speed"
msgstr "Velocidade:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Activar"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21201,22 +21640,26 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centro Abaixo"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Viaxe"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Rotando % graos."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Constante"
@@ -22380,6 +22823,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformación"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22404,12 +22854,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23282,6 +23726,11 @@ msgstr ""
"lugar."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Transformación"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24502,6 +24951,11 @@ msgstr "Cartafol:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Só a Selección"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Activar"
@@ -24898,18 +25352,6 @@ msgid "Viewport Path"
msgstr "1 Ventá"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Esta Mini-Ventá (Viewport) no está configurada como obxectivo de "
-"renderizado. Se quere que o seu contido se mostre directamente na pantalla, "
-"convértao nun nodo fillo dun nodo Control para que poida recibir dimensións. "
-"Ou ben, fágao un RenderTarget e asigne a súa textura a algún nodo."
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -24919,6 +25361,15 @@ msgstr ""
"renderizar nada."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25075,6 +25526,16 @@ msgid "3D Physics"
msgstr "Fotograma de Física %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navegación"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navegación"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26482,7 +26943,7 @@ msgstr "Transición: "
msgid "Refraction"
msgstr "Escalar (Razón):"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26565,7 +27026,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Escalado: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Cambiar Tipo Base:"
#: scene/resources/navigation_mesh.cpp
@@ -26582,10 +27048,15 @@ msgid "Source Group Name"
msgstr "Fonte"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Fragment"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26594,11 +27065,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Rexión"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26611,6 +27087,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Cargar Valores por Defecto"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26627,9 +27108,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Offset:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27038,6 +27528,11 @@ msgid "Scenario"
msgstr "Escena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navegación"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27055,6 +27550,26 @@ msgstr "Por Defecto"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Por Defecto"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Vista Previa Cinemática"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Probas"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Editar Conexión:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/he.po b/editor/translations/he.po
index f70a86945c..abaada7880 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -21,13 +21,14 @@
# Omer I.S. <omeritzicschwartz@gmail.com>, 2021.
# Ram Tourgeman <ramtorgeman@gmail.com>, 2021.
# Shailee Eliyahu <dev.sle.il@gmail.com>, 2021.
+# Mati Borlak <matiborlak@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-11-29 20:38+0000\n"
-"Last-Translator: Shailee Eliyahu <dev.sle.il@gmail.com>\n"
+"PO-Revision-Date: 2022-06-08 06:48+0000\n"
+"Last-Translator: Mati Borlak <matiborlak@gmail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/"
"godot/he/>\n"
"Language: he\n"
@@ -36,25 +37,23 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 4.10-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "דריבר טבלט"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "לוח העתקה ריק!"
+msgstr "לוח העתקה"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "שם סצנה נוכחית"
+msgstr "מסך נוכחית"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "קוד יציאה"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -79,66 +78,58 @@ msgid "Low Processor Usage Mode Sleep (µsec)"
msgstr ""
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Keep Screen On"
-msgstr "להשאיר את מנפה השגיאות פתוח"
+msgstr "לשמור את המסך"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "מבט קדמי"
+msgstr "גודל חלון מינימלי"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "מבט קדמי"
+msgstr "גודל חלון מקסימלי"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "פתיחת התיעוד"
+msgstr "כוון מסך"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Window"
-msgstr "חלון חדש"
+msgstr "חלון"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "בלי קצה"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
msgstr ""
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "הפעלת/ביטול מסך מלא"
+msgstr "מסך מלא"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "מקסימלי"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Minimized"
-msgstr "הגדלת אות ראשונה"
+msgstr "מינימלי"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "אפשר לשנות את הגודל"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "מיקום הפנל"
+msgstr "מיקום"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -149,27 +140,24 @@ msgstr "מיקום הפנל"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "מבט קדמי"
+msgstr "גודל"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "עורך"
+msgstr "רמז עורך"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "תדפיס הודעות שגיאה"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "מצב אינטרפולציה"
+msgstr "איטרציות לשניה"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -188,7 +176,7 @@ msgstr "שקופית פיזיקלית %"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "שגיאה"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -196,18 +184,16 @@ msgid "Error String"
msgstr "שגיאה בשמירה"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "שגיאה בשמירה"
+msgstr "שורת שגיאה"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "חיפוש בעזרה"
+msgstr "תוצאה"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "זכרון"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -218,12 +204,11 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "תחום"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Ctrl: הטייה"
+msgstr "תור פיקוד"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
@@ -233,22 +218,21 @@ msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "פונקציות"
+msgstr "פונקציה"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "מידע"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr "מאפיין רשת"
+msgstr "רשת"
#: core/io/file_access_network.cpp
#, fuzzy
@@ -257,7 +241,7 @@ msgstr "מרוחק "
#: core/io/file_access_network.cpp
msgid "Page Size"
-msgstr ""
+msgstr "גודל דף"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
@@ -268,9 +252,8 @@ msgid "Blocking Mode Enabled"
msgstr ""
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "התחברות"
+msgstr "חיבור"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
@@ -278,7 +261,7 @@ msgstr ""
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "זהות אוביקט"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
#, fuzzy
@@ -358,7 +341,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "אין מספיק בתים לפענוח בתים, או פורמט לא תקין‭‭."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "קלט שגוי %i (לא הועבר) בתוך הביטוי"
#: core/math/expression.cpp
@@ -391,22 +375,31 @@ msgid "Seed"
msgstr ""
#: core/math/random_number_generator.cpp
-#, fuzzy
msgid "State"
-msgstr "הטיית מצולע"
+msgstr "מצב"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "תור הוראות"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "גודל מקסימלי (KB)"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "מצב שינוי קנה מידה (R)"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "מחיקת קלט"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
-msgstr "התקן"
+msgstr "מכשיר"
#: core/os/input_event.cpp
#, fuzzy
@@ -427,16 +420,19 @@ msgid "Meta"
msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "קהילה"
+msgstr "פיקוד"
+
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "פיזיקה"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
-msgstr "ערכה מוגדרת…"
+msgstr "לחוץ"
#: core/os/input_event.cpp
#, fuzzy
@@ -466,9 +462,8 @@ msgid "Global Position"
msgstr "קבוע"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "חוקר"
+msgstr "פקטור"
#: core/os/input_event.cpp
#, fuzzy
@@ -484,9 +479,12 @@ msgid "Tilt"
msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "ערכה מוגדרת…"
+msgstr "לחץ"
+
+#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
#: core/os/input_event.cpp
#, fuzzy
@@ -497,14 +495,13 @@ msgstr "GDNative"
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed"
-msgstr "מהירות (FPS):"
+msgstr "מהירות"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
msgid "Axis"
-msgstr ""
+msgstr "ציר"
#: core/os/input_event.cpp
#, fuzzy
@@ -512,35 +509,31 @@ msgid "Axis Value"
msgstr "(ערך)"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Index"
-msgstr "הזחה אוטומטית"
+msgstr "אנדקס"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Action"
-msgstr "כל הבחירה"
+msgstr "פעלה"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "כח"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "דלתא"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "שינוי"
+msgstr "ערוץ"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "סנכרון השינויים בסקריפט"
+msgstr "מסר"
#: core/os/input_event.cpp
#, fuzzy
@@ -556,23 +549,21 @@ msgstr "הגדלת אות ראשונה"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "כלי"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "שורה מספר:"
+msgstr "מספר שלט"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "ערך שלט"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "כל הבחירה"
+msgstr "אפליקציה"
#: core/project_settings.cpp main/main.cpp
#, fuzzy
@@ -605,7 +596,8 @@ msgstr "תיאור"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "הרצה"
@@ -647,7 +639,7 @@ msgstr "הצג הכל"
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "רחב"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -655,23 +647,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "ימין"
+msgstr "גבה"
#: core/project_settings.cpp
msgid "Always On Top"
msgstr ""
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "מבט שמאלי"
+msgstr "רחב בדיקה"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "בבדיקה"
+msgstr "גבה בדיקה"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -695,6 +684,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "נתיב סצנות:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -702,25 +696,20 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "בקרת גירסאות"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "בקרת גירסאות"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "שם המפרק:"
+msgid "Version Control Plugin Name"
+msgstr "בקרת גירסאות"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "הוספת קלט"
+msgstr "קלט"
#: core/project_settings.cpp
msgid "UI Accept"
@@ -789,9 +778,8 @@ msgstr "בסוף"
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Physics"
-msgstr "שקופית פיזיקלית %"
+msgstr "פיזיקה"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -801,7 +789,7 @@ msgstr "שקופית פיזיקלית %"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "3D"
#: core/project_settings.cpp
msgid "Smooth Trimesh Collision"
@@ -827,13 +815,13 @@ msgstr ""
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "איכות"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
-msgstr "מסננים..."
+msgstr "מסננים"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
@@ -903,7 +891,7 @@ msgstr ""
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
@@ -963,9 +951,8 @@ msgid "Locale"
msgstr ""
#: core/translation.cpp
-#, fuzzy
msgid "Test"
-msgstr "בבדיקה"
+msgstr "בדיקה"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
@@ -1027,7 +1014,7 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1088,9 +1075,8 @@ msgstr ""
#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp
#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Scale"
-msgstr "קנה מידה:"
+msgstr "קנה מידה"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Follow Surface"
@@ -1106,12 +1092,13 @@ msgstr ""
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "איכות גבוה"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "חופשי"
@@ -1128,7 +1115,7 @@ msgstr "מראה"
msgid "Time:"
msgstr "זמן:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "ערך:"
@@ -1183,9 +1170,8 @@ msgstr "שינוי קריאת אנימציה"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "שקופית %"
+msgstr "שקופית"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1203,9 +1189,8 @@ msgstr "צעד סיבוב:"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "צעד סיבוב:"
+msgstr "צעד סיבוב"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1375,10 +1360,73 @@ msgid "Remove this track."
msgstr "הסרת רצועה."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "זמן (שניות): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "מיקום"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "צעד סיבוב"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "קנה מידה:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "תבנית יצוא שגויה:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "אזהרה:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "מאזין לשמע"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "התחלה(ות) מחדש:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "דהייה/יות:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "אנימציות"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "הפעלת/ביטול רצועה"
@@ -1460,9 +1508,8 @@ msgstr "מחיקת רצועת הנפשה"
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editors"
-msgstr "עורך"
+msgstr "עורכים"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#, fuzzy
@@ -1591,7 +1638,8 @@ msgid "Add Method Track Key"
msgstr "הוסף מפתח רצועת שיטה"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "לא נמצאה מתודה בעצם: "
#: editor/animation_track_editor.cpp
@@ -1612,7 +1660,7 @@ msgstr "מתודות"
#: editor/animation_track_editor.cpp
msgid "Bezier"
-msgstr ""
+msgstr "Bezier"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -2119,14 +2167,15 @@ msgstr "מועדפים:"
msgid "Recent:"
msgstr "אחרונים:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "חיפוש:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "התאמות:"
@@ -2186,8 +2235,8 @@ msgstr "חיפוש משאב חלופי:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2195,8 +2244,8 @@ msgid "Open"
msgstr "פתיחה"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "בעלים של:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2495,7 +2544,7 @@ msgid "Bus Options"
msgstr "אפשרויות אפיק"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "שכפול"
@@ -2547,8 +2596,9 @@ msgstr "פתיחת פריסת אפיקי שמע"
msgid "There is no '%s' file."
msgstr "קובץ '%s' אינו קיים."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "פריסה"
#: editor/editor_audio_buses.cpp
@@ -2752,6 +2802,25 @@ msgid "Choose"
msgstr "בחירה"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "העתקת נתיב המפרק"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "החבילה הותקנה בהצלחה!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "נכשל:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "קובץ אחסון:"
@@ -2764,6 +2833,31 @@ msgid "Packing"
msgstr "אורז"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "שמירה בשם"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "לא ניתן ליצור תיקייה."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "לא ניתן לכתוב קובץ:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "לא ניתן לפתוח קובץ לכתיבה:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "שמירה בשם"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2879,11 +2973,32 @@ msgstr "תבנית ניפוי שגיאות מותאמת אישית לא נמצא
msgid "Custom release template not found."
msgstr "תבנית שחרור מותאמת-אישית לא נמצאה."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "ניהול תבניות"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "הקובץ לא קיים."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "קובץ התבנית לא נמצא:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "תבנית יצוא שגויה:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "בייצוא ארכיטקטורת 32 ביט, ה PCK המובנה לא יכול לחרוג מעבר ל 4 GiB."
@@ -3052,9 +3167,9 @@ msgid "Import"
msgstr "ייבוא"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "ייצוא"
@@ -4195,15 +4310,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "סצנה"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "נתיב סצנות:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4331,6 +4437,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "בקרת גירסאות"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "שינוי שם"
@@ -4359,6 +4469,10 @@ msgstr "הפעל/בטל מצב ללא הסחות דעת."
msgid "Add a new scene."
msgstr "הוספת סצנה חדשה."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "סצנה"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "מעבר לסצנה הקודמת."
@@ -5033,11 +5147,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
+msgstr "מבט קדמי"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5135,6 +5252,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "מיזם"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "ניתן לכתוב את הלוגיקה שלך בשיטה ‎_run()‎."
@@ -5416,7 +5538,9 @@ msgid "Draw Spaces"
msgstr "קריאות"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "עריכת מצולע"
@@ -5443,6 +5567,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap מילוי הבחירה"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5999,10 +6132,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "מנהל המיזמים"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6789,14 +6924,6 @@ msgid "Replace in Files"
msgstr "להחליף הכול"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "איתור "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "להחליף "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "להחליף הכול"
@@ -6937,7 +7064,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "מסננים..."
@@ -7202,8 +7329,9 @@ msgid "Generating Lightmaps"
msgstr "נוצרות מפות תאורה"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
+#, fuzzy
+msgid "Generating for Mesh:"
+msgstr "נוצרות מפות תאורה"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7230,6 +7358,18 @@ msgid "Saving..."
msgstr "שמירה…"
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7938,11 +8078,20 @@ msgid "New Anim"
msgstr "הנפשה חדשה"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "יצירת הנפשה חדשה"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "שינוי שם הנפשה:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "שינוי שם הנפשה"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "מחיקת אנימציה?"
@@ -7960,11 +8109,6 @@ msgid "Animation name already exists!"
msgstr "שם ההנפשה כבר קיים!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "שינוי שם הנפשה"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "שכפול הנפשה"
@@ -8062,10 +8206,12 @@ msgstr "הגדרות שכבות בצל"
msgid "Directions"
msgstr "כיוונים"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "עבר"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "עתיד"
@@ -8106,10 +8252,6 @@ msgid "Pin AnimationPlayer"
msgstr "הצמדת AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "יצירת הנפשה חדשה"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "שם הנפשה:"
@@ -8223,7 +8365,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "קביעת הנפשת הסיום. זה שימושי למעברי משנה."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "מעברון: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8240,11 +8383,6 @@ msgid "New name:"
msgstr "שם חדש:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "קנה מידה:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Fade In (s):"
msgstr "דהייה/יות:"
@@ -9184,6 +9322,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "נגינת סצנה בהתאמה אישית"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9248,6 +9387,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "פריסה"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10022,8 +10165,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "צורות התנגשות גלויים"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10260,6 +10404,7 @@ msgid "Points"
msgstr "הזזת נקודה"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "עריכת מצולע"
@@ -10421,13 +10566,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10436,10 +10574,6 @@ msgstr ""
msgid "Load Resource"
msgstr "טעינת משאב"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11180,13 +11314,17 @@ msgstr "הטיית מצולע"
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "קנה מידה:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "מעברון: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11209,12 +11347,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "מבט קדמי"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11717,7 +11849,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "המרה לאותיות גדולות"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11751,15 +11883,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "אפליקציה"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11831,6 +11964,11 @@ msgstr "שם הנפשה חדשה:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Filter animations"
+msgstr "מאפייני פריט."
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Speed:"
msgstr "מהירות (FPS):"
@@ -12783,8 +12921,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "מצב גולמי"
@@ -14300,20 +14437,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14322,14 +14454,6 @@ msgid "Exporting All"
msgstr "ייצוא"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export Path"
msgstr "ייצוא מיזם"
@@ -14433,20 +14557,28 @@ msgid "More Info..."
msgstr "העברה אל…"
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "ייצוא"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "ייצוא מיזם"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "מצב הייצוא?"
+#, fuzzy
+msgid "Export All"
+msgstr "ייצוא"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "נא לבחור תיקייה"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "ייצוא"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14454,14 +14586,20 @@ msgid "ZIP File"
msgstr "קובץ ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "ייצוא מיזם"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "מקימי המיזם"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "ניהול תבניות ייצוא"
@@ -14748,6 +14886,10 @@ msgid "Project Manager"
msgstr "מנהל המיזמים"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr ""
@@ -14755,10 +14897,6 @@ msgstr ""
"נא להמתין…"
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "ייצוא מיזם"
@@ -15965,7 +16103,8 @@ msgid "Attach Node Script"
msgstr "חיבור סקריפט למפרק"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "מרוחק "
#: editor/script_editor_debugger.cpp
@@ -16831,7 +16970,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "עריכת מצולע"
@@ -17005,7 +17144,8 @@ msgid "Disabled GDNative Singleton"
msgstr "סינגלטון GDNative לא מאופשר"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "ספריות: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17448,7 +17588,6 @@ msgid "Use In Baked Light"
msgstr "אפיית Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17478,6 +17617,19 @@ msgstr "הזחה משמאל"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "עריכת מצולע"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "עריכת מצולע"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "המישור הבא"
@@ -17894,7 +18046,8 @@ msgstr ""
"המפרק בבקשה."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "מפרק החזיר פלט סדר (sequence) לא חוקי: "
#: modules/visual_script/visual_script.cpp
@@ -17902,7 +18055,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "סיבית הסדר (sequence bit) נמצאה אבל המפרק לא במחסנית, דווח על שגיאה!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "גלישת מחסנית עם עומק מחסנית: "
#: modules/visual_script/visual_script.cpp
@@ -18274,7 +18428,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "סוג הקלט לא זמין למחזוריות: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18282,7 +18437,8 @@ msgid "Iterator became invalid"
msgstr "איטרטור הפך ללא חוקי"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "איטרטור הפך ללא חוקי: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18451,11 +18607,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": ארגומנט שגוי מסוג: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": ארגומנטים שגויים: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18468,11 +18626,13 @@ msgid "Var Name"
msgstr "שם"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "לא נמצא VariableGet בסקריפט: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "לא נמצא VariableSet בסקריפט: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18796,6 +18956,11 @@ msgid "The package must have at least one '.' separator."
msgstr "החבילה חייבת לכלול לפחות מפריד '.' אחד."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "גזירת מפרקים"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18804,6 +18969,16 @@ msgstr ""
msgid "Export Format"
msgstr "ייצוא מיזם"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "מבט קדמי"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "נתיב המשאב"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18844,16 +19019,6 @@ msgstr "בדיקת המופע הקודם"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "מבט קדמי"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "נתיב המשאב"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19025,10 +19190,6 @@ msgid "Could not execute on device."
msgstr "לא ניתן ליצור תיקייה."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19112,13 +19273,13 @@ msgstr "חובה לאפשר ״שימוש בבניה מותאמת אישית״ כ
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr "\"Hand Tracking\" תקף רק כאשר \"מצב Xr\" הוא \"Oculus Mobile VR\"."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "\"Hand Tracking\" תקף רק כאשר \"מצב Xr\" הוא \"Oculus Mobile VR\"."
#: platform/android/export/export_plugin.cpp
@@ -19127,25 +19288,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "אות"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19165,6 +19350,11 @@ msgid "Could not find keystore, unable to export."
msgstr "לא ניתן לפתוח תבנית לייצוא:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "לא ניתן להפעיל תהליך משנה!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19195,7 +19385,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19209,9 +19399,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"חוסר התאמה בגירסת אנדרואיד:\n"
@@ -19221,12 +19409,13 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "לא ניתן לכתוב קובץ:"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19238,8 +19427,9 @@ msgid "Building Android Project (gradle)"
msgstr "בניית מיזם אנדרואיד (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"בניית מיזם אנדרואיד נכשלה, ניתן לבדוק את הפלט לאיתור השגיאה.\n"
@@ -19257,7 +19447,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "הנפשה לא נמצאה: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19267,15 +19457,12 @@ msgstr "יצירת קווי מתאר..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "לא ניתן לפתוח תבנית לייצוא:"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19287,7 +19474,7 @@ msgstr "איתור…"
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "לא ניתן לכתוב קובץ:"
#: platform/android/export/export_plugin.cpp
@@ -19529,6 +19716,17 @@ msgstr "גזירת מפרקים"
msgid "Custom BG Color"
msgstr "גזירת מפרקים"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "ניהול תבניות"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "תבנית שחרור מותאמת-אישית לא נמצאה."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "לא צוין App Store Team ID - לא ניתן להגדיר את המיזם."
@@ -19550,23 +19748,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "הפעלת ה־HTML המיוצא בדפדפן בררת המחדל של המערכת."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "לא ניתן לפתוח תבנית לייצוא:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "תבנית יצוא שגויה:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "לא ניתן לכתוב קובץ:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "תוכן:"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "לא ניתן לכתוב קובץ:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "מונים:"
@@ -19642,17 +19852,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "לא ניתן לקרוא מעטפת HTML מותאמת:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "לא ניתן ליצור תיקייה."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "שגיאה בשמירת הסצנה."
#: platform/javascript/export/export.cpp
@@ -19950,9 +20160,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "לא ניתן לכתוב קובץ:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "לא ניתן להפעיל תהליך משנה!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "עריכת מצולע"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19968,21 +20197,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "לא נמצא!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "שגיאה בשמירת קובץ: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "כיוונים"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "לא ניתן להפעיל תהליך משנה!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "יצירת תמונה ממוזערת"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "לא ניתן לפתוח תבנית לייצוא:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "תבנית יצוא שגויה:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19990,7 +20274,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20032,6 +20316,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "מיזם"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "לא ניתן לפתוח תבנית לייצוא:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "מזהה לא חוקי:"
@@ -20345,6 +20639,11 @@ msgid "Debug Algorithm"
msgstr "ניפוי שגיאות"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "לא ניתן להסיר:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20392,6 +20691,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "הדבקת הנפשה"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "לא ניתן לפתוח תבנית לייצוא:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "לא ניתן לפתוח תבנית לייצוא:"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "סיומת לא חוקית."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "לא ניתן לפתוח תבנית לייצוא:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "לא ניתן לפתוח תבנית לייצוא:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "מזהה לא חוקי:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "שם שגוי."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "סיומת לא חוקית."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "לא ניתן להסיר:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20413,6 +20776,23 @@ msgid "Invalid product version:"
msgstr "GUID מוצר לא חוקי."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "סיומת לא חוקית."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "חלון חדש"
@@ -20429,6 +20809,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20555,7 +20939,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "בחירת מרחק:"
@@ -20606,7 +20991,7 @@ msgstr "התקרבות"
msgid "Custom Viewport"
msgstr "מבט תחתי"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21340,11 +21725,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "עריכת חיבור:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "קישור"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "בחירת מרחק:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "בחירת מרחק:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "מתקדם"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "הפעלה"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21361,16 +21778,6 @@ msgstr ""
msgid "Max Speed"
msgstr "מהירות (FPS):"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "בחירת מרחק:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "הפעלה"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21396,24 +21803,26 @@ msgstr ""
"מאפיין או לצייר מצולע."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance חייב להיות ילד או נכד למפרק Navigation2D. הוא מספק "
-"רק נתוני ניווט."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "מתחת"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "טיול"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "הטיה של %s מעלות."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "קבוע"
@@ -22589,6 +22998,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "התמרה"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22612,14 +23028,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance חייב להיות ילד או נכד למפרק Navigation. הוא מספק רק "
-"נתוני ניווט."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23496,6 +23904,11 @@ msgstr ""
"במקום זאת יש לשנות את גודל צורות ההתנגשות של הצאצאים."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "התמרה"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24725,6 +25138,11 @@ msgstr "יצירת תיקייה"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "בחירה בלבד"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "הפעלה"
@@ -25127,17 +25545,6 @@ msgid "Viewport Path"
msgstr "ייצוא מיזם"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"חלון תצוגה זה אינו מוגדר כיעד עיבוד. להצגת התוכן ישירות למסך, יש להפוך אותו "
-"לצאצא של בקר כדי שיקבל גודל. או להפוך אותו ל-RenderTarget ולשייך את המרקם "
-"הפנימי שלו למפרק כלשהו לתצוגה."
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25145,6 +25552,15 @@ msgid ""
msgstr "גודל חלון התצוגה חייב להיות גדול מ-0 על מנת להציג משהו."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25298,6 +25714,16 @@ msgid "3D Physics"
msgstr "שקופית פיזיקלית %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "עריכת מצולע"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "עריכת מצולע"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26710,7 +27136,7 @@ msgstr "מעברון: "
msgid "Refraction"
msgstr "מונים:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26792,7 +27218,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "קנה מידה:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "קביעת סוג משתנה"
#: scene/resources/navigation_mesh.cpp
@@ -26810,10 +27241,15 @@ msgid "Source Group Name"
msgstr "משאב"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "תוכן:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26823,11 +27259,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "מצב גולמי"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "מיזוג מסצנה"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26841,6 +27282,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "טעינת בררת המחדל"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "בחירת מרחק:"
@@ -26857,9 +27303,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "היסט רשת:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27267,6 +27722,11 @@ msgid "Scenario"
msgstr "סצנה"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "עריכת מצולע"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27284,6 +27744,26 @@ msgstr "ליניארי"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "בחירת מחדל"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "תצוגה מקדימה:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "בבדיקה"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "עריכת חיבור:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index c5be63b03b..e5a41404d0 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -15,13 +15,14 @@
# l4KKY <greenforcesave@gmail.com>, 2020.
# harvinder rathor <harvinderr09@gmail.com>, 2021.
# Sumanyu Aggarwal <sumanyu.code@gmail.com>, 2021.
+# Arin <upadhyay.arin@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-10-28 22:09+0000\n"
-"Last-Translator: Sumanyu Aggarwal <sumanyu.code@gmail.com>\n"
+"PO-Revision-Date: 2022-06-08 06:48+0000\n"
+"Last-Translator: Arin <upadhyay.arin@gmail.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/godot-engine/godot/"
"hi/>\n"
"Language: hi\n"
@@ -29,105 +30,97 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "टैब ड्राइवर"
#: core/bind/core_bind.cpp
msgid "Clipboard"
-msgstr ""
+msgstr "क्लिपबोर्ड"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "अगला टैब"
+msgstr "वर्तमान स्क्रीन"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "निकास कोड"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "सक्रिय करे"
+msgstr "वि-सिंक सक्रिय"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "वि-सिंक कंपोज़ीटर के द्वारा"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "डेल्टा समरेखण"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "मोड टॉगल कीजिये"
+msgstr "कम प्रोसेसर प्रयोग मोड"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "कम प्रोसेसर प्रयोग मोड निद्रा (µसेकंड्‌स)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr ""
+msgstr "स्क्रीन को चालू रखें"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "आकार: "
+msgstr "न्यूनतम विंडो माप"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "आकार: "
+msgstr "अधिकतम विंडो माप"
#: core/bind/core_bind.cpp
msgid "Screen Orientation"
-msgstr ""
+msgstr "स्क्रीन अनुस्थापन"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Window"
-msgstr "नया विंडो"
+msgstr "विंडो"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "सीमा के बिना"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "प्रति पिक्सेल पारदर्शिता सक्रिय"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "पूर्णस्क्रीन चालू करें"
+msgstr "पूर्णस्क्रीन"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "अधिकतम"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "न्यूनतम"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "आकार बदलने योग्य"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "डॉक पोजीशन"
+msgstr "स्थान"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -138,64 +131,56 @@ msgstr "डॉक पोजीशन"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "आकार: "
+msgstr "माप"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "एन्डियन विनिमय"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "संपादक"
+msgstr "एडीटर संकेत"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "प्रिंट एरर संदेश"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "इंटरपोलेशन मोड"
+msgstr "यात्रा प्रति सेकंड"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr ""
+msgstr "लक्ष्य FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "एनिमेटेड स्केल कुंजी"
+msgstr "समय पैमाना"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "फिजिक्स फ्रेम %"
+msgstr "भौतिक जिटर फिक्स"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "एरर"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "लोड होने मे त्रुटि:"
+msgstr "एरर स्ट्रिंग"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "लोड होने मे त्रुटि:"
+msgstr "एरर पंक्ति"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "खोज के परिणाम"
+msgstr "परिणाम"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "स्मृति"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -206,58 +191,55 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "सीमाएं"
#: core/command_queue_mt.cpp
msgid "Command Queue"
-msgstr ""
+msgstr "कमांड कतार"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "मल्टीथ्रेडिंग कतार आकार (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "कार्यों"
+msgstr "कार्य"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "डेटा"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr ""
+msgstr "संजाल"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "मिटाइये"
+msgstr "रिमोट FS"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "पृष्ठ: "
+msgstr "पृष्ठ: माप"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "पृष्ठ: आगे पढ़ें"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "अवरुद्ध मोड सक्रिय"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "जोड़िये"
+msgstr "संबंध"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
@@ -343,7 +325,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "अमान्य फ़ोर्मैट, या बाइट्स डिकोडिंग के लिए पर्याप्त बाइट्स नहीं।"
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "एक्सप्रेशन मे अमान्य इनपुट %i (पास नहीं हो पाया)"
#: core/math/expression.cpp
@@ -387,6 +370,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "दृश्य रोकें"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -414,6 +406,11 @@ msgstr ""
msgid "Command"
msgstr "समुदाय"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "फिजिक्स फ्रेम %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -469,6 +466,10 @@ msgid "Pressure"
msgstr "प्रीसेट"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -578,7 +579,8 @@ msgstr "विवरण"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -665,6 +667,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "दृश्य पथ:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -672,19 +679,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "वर्जन कंट्रोल"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "वर्जन कंट्रोल"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "प्लगइन्स"
+msgid "Version Control Plugin Name"
+msgstr "वर्जन कंट्रोल"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -798,7 +801,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "फिल्टर:"
@@ -1074,6 +1078,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "मुफ्त"
@@ -1090,7 +1095,7 @@ msgstr "आइना"
msgid "Time:"
msgstr "समय:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "मूल्य :"
@@ -1336,10 +1341,71 @@ msgid "Remove this track."
msgstr "इस ट्रैक को हटा दें।"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "समय (एस): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "स्थान"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "कोन्स्टन्ट"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "गलत फॉण्ट का आकार |"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "नोड वक्र संपादित करें"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "शुरू कीजिये"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "कार्यों:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "टॉगल ट्रैक सक्षम"
@@ -1554,7 +1620,8 @@ msgid "Add Method Track Key"
msgstr "विधि ट्रैक कुंजी जोड़ें"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "ऑब्जेक्ट में नहीं पाया गया विधि: "
#: editor/animation_track_editor.cpp
@@ -2088,14 +2155,15 @@ msgstr "पसंदीदा:"
msgid "Recent:"
msgstr "हाल ही में किया:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "खोज:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "एक जैसा:"
@@ -2155,8 +2223,8 @@ msgstr "खोज रिप्लेसमेंट संसाधन:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2164,8 +2232,8 @@ msgid "Open"
msgstr "खोलो इसे"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "के स्वामी:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2473,7 +2541,7 @@ msgid "Bus Options"
msgstr "बस विकल्प"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "प्रतिलिपि"
@@ -2525,8 +2593,9 @@ msgstr "ऑडियो बस लेआउट खोलिये"
msgid "There is no '%s' file."
msgstr "कोई '%s' फ़ाइल नहीं."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "लेआउट"
#: editor/editor_audio_buses.cpp
@@ -2731,6 +2800,25 @@ msgid "Choose"
msgstr "चुनें"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "खंड कौपी कीजिये"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "पैकेज सफलतापूर्वक स्थापित!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "विफल:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "फ़ाइल स्टोर कर रहा है:"
@@ -2743,6 +2831,31 @@ msgid "Packing"
msgstr "पैक कर रहा है"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "इस तरह बचा के रखिये"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "फ़ोल्डर नही बना सकते."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "फ़ाइल रायटिंग के लिए नहीं खोल सकते:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "इस तरह बचा के रखिये"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2860,11 +2973,31 @@ msgstr "कस्टम डिबग टेम्प्लेट नहीं
msgid "Custom release template not found."
msgstr "कस्टम रिलिज टेम्प्लेट नहीं मिला."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "टेम्पलेट्स का प्रबंधन करें"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "टेम्प्लेट फ़ाइल नहीं मिला:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "निर्यात टेम्पलेट्स ज़िप नहीं खोल सकते।"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "32-बिट ‍एक्सपोर्ट पर एमबेड्डेड PCK 4 GiB से बड़ी नहीं इस्तेमाल कर सकते."
@@ -3038,9 +3171,9 @@ msgid "Import"
msgstr "आयात"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "‍एक्सपोर्ट"
@@ -4184,15 +4317,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "दृश्य"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "दृश्य पथ:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4317,6 +4441,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "वर्जन कंट्रोल"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "नाम बदली"
@@ -4345,6 +4473,10 @@ msgstr "व्याकुलता मुक्त मोड टॉगल।"
msgid "Add a new scene."
msgstr "एक नया दृश्य जोड़ें।"
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "दृश्य"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "पहले खोले गए दृश्य में जाएं।"
@@ -5025,11 +5157,15 @@ msgid "Selected node is not a Viewport!"
msgstr "चयनित नोड व्यूपोर्ट नहीं है!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "आकार: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "पृष्ठ: "
#: editor/editor_properties_array_dict.cpp
@@ -5130,6 +5266,11 @@ msgstr ""
"कृपया निर्यात मेनू में एक निष्पादन योग्य प्रीसेट जोड़ें, या मौजूदा प्रीसेट को निष्पादन योग्य के "
"रूप में सेट करें।"
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "परियोजना"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "अपने तर्क को _run () विधि में लिखें।"
@@ -5403,7 +5544,9 @@ msgid "Draw Spaces"
msgstr "कॉल"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "सदस्यता बनाएं"
@@ -5430,6 +5573,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "सभी खंड"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5973,10 +6125,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "प्रोजेक्ट मैनेजर"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6747,14 +6901,6 @@ msgid "Replace in Files"
msgstr "सबको बदली करें"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "तलाशिये: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "बदली करे: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "सबको बदली करें"
@@ -6884,7 +7030,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "फिल्टर:"
@@ -7144,7 +7290,8 @@ msgid "Generating Lightmaps"
msgstr "लाईटमॅप बना रहा है"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "मेश के लिये बना रहा है: "
#: editor/import/resource_importer_scene.cpp
@@ -7172,6 +7319,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7843,11 +8002,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7865,11 +8033,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7966,10 +8129,12 @@ msgstr ""
msgid "Directions"
msgstr "निर्देशों"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -8010,10 +8175,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8124,7 +8285,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "संक्रमण: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8141,11 +8303,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -9039,6 +9196,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9103,6 +9261,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "लेआउट"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9863,8 +10025,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "दृश्यमान टकराव आकार"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10097,6 +10260,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "सदस्यता बनाएं"
@@ -10252,13 +10416,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10267,11 +10424,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "संसाधन"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10983,13 +11135,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "स्केल अनुपात:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "संक्रमण: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11012,12 +11168,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "आकार: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11505,8 +11655,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "सदस्यता बनाएं"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11539,15 +11690,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "कार्य"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11614,6 +11766,11 @@ msgid "New Animation"
msgstr "एनिमेशन लूप"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "एनिमेशन"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12536,8 +12693,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -14018,20 +14174,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14039,14 +14190,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14148,34 +14291,48 @@ msgid "More Info..."
msgstr "मे ले जाएँ..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "निर्यात..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "इंपोर्ट डॉक"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "डायरेक्टरी चुनें"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "निर्यात..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "परियोजना"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "परियोजना के संस्थापक"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14454,15 +14611,15 @@ msgid "Project Manager"
msgstr "प्रोजेक्ट मैनेजर"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "दर्पण को पुनः प्राप्त करना, कृपया प्रतीक्षा करें ..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "परियोजना"
@@ -15644,8 +15801,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "मिटाइये"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16498,7 +16656,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "सदस्यता बनाएं"
@@ -16670,7 +16828,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17092,7 +17250,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17122,6 +17279,19 @@ msgstr "को हटा दें"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "सदस्यता बनाएं"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "सदस्यता बनाएं"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17533,7 +17703,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17541,7 +17711,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17922,7 +18092,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17930,7 +18100,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18094,12 +18264,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "'%s' बनाने के लिए अवैध तर्क"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "अमान्य नाम."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18111,12 +18283,14 @@ msgid "Var Name"
msgstr "नाम"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "ऑब्जेक्ट में नहीं पाया गया विधि: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "ऑब्जेक्ट में नहीं पाया गया विधि: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18427,6 +18601,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "प्रतिलिपि"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18435,6 +18614,16 @@ msgstr ""
msgid "Export Format"
msgstr "एनीमेशन परिवर्तन परिणत"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "आकार: "
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "नोड हटाएं"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18473,16 +18662,6 @@ msgstr "पिछला टैब"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "आकार: "
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "नोड हटाएं"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18646,10 +18825,6 @@ msgid "Could not execute on device."
msgstr "फ़ोल्डर नही बना सकते."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18727,12 +18902,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18741,25 +18916,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "सिग्नल"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18778,6 +18977,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18806,7 +19010,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18817,20 +19021,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18842,7 +19045,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18858,7 +19061,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "पैकेज में है:"
#: platform/android/export/export_plugin.cpp
@@ -18867,15 +19070,13 @@ msgid "Creating APK..."
msgstr "जोड़ने..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18887,7 +19088,7 @@ msgstr "पसंदीदा:"
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
#: platform/android/export/export_plugin.cpp
@@ -19129,6 +19330,17 @@ msgstr "प्रतिलिपि"
msgid "Custom BG Color"
msgstr "प्रतिलिपि"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "टेम्पलेट्स का प्रबंधन करें"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "कस्टम रिलिज टेम्प्लेट नहीं मिला."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19151,23 +19363,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "फ़ोल्डर नही बना सकते."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "गलत फॉण्ट का आकार |"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "फ़ोल्डर नही बना सकते."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "शो में फाइल सिस्टम"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "फ़ोल्डर नही बना सकते."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "संस्करण:"
@@ -19243,17 +19467,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "फ़ोल्डर नही बना सकते."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "फ़ोल्डर नही बना सकते."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "त्रुटि बचत टाइलसेट!"
#: platform/javascript/export/export.cpp
@@ -19544,9 +19768,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "सदस्यता बनाएं"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19562,18 +19805,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "सब-रिसोर्स नहीं मिला."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "फ़ाइल बचाने में चूक: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "निर्देशों"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "थंबनेल बनाना"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "उपप्रक्रिया शुरू नहीं कर सका!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "गलत फॉण्ट का आकार |"
#: platform/osx/export/export.cpp
msgid ""
@@ -19583,7 +19882,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19625,6 +19924,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "परियोजना"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "गलत फॉण्ट का आकार |"
@@ -19937,6 +20245,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "अल्पकालिक फ़ाइल निकाली नहीं जा सक्ती:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19983,6 +20296,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "कोन्स्टन्ट"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "गलत फॉण्ट का आकार |"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "गलत फॉण्ट का आकार |"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "अमान्य नाम."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "गलत फॉण्ट का आकार |"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "अल्पकालिक फ़ाइल निकाली नहीं जा सक्ती:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20004,6 +20377,23 @@ msgid "Invalid product version:"
msgstr "गलत फॉण्ट का आकार |"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "गलत फॉण्ट का आकार |"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "नया विंडो"
@@ -20020,6 +20410,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20139,7 +20533,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "इनस्टन्स"
@@ -20189,7 +20584,7 @@ msgstr "बड़ा करो"
msgid "Custom Viewport"
msgstr "व्यूपोर्ट चुनें"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20893,34 +21288,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "कनेक्शन संपादित करें:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "कोन्स्टन्ट"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "एक मुख्य दृश्य चुनें"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "अग्रवर्ती"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "सक्रिय करे"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "सक्रिय करे"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20944,13 +21361,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "को हटा दें"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20958,7 +21378,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "कोन्स्टन्ट"
@@ -22062,6 +22482,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "सदस्यता बनाएं"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22084,12 +22511,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22932,6 +23353,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "एनीमेशन परिवर्तन परिणत"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24110,6 +24536,11 @@ msgstr "फ़ोल्डर:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "सिर्फ चयन किये हुए"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "सक्रिय करे"
@@ -24504,16 +24935,17 @@ msgstr "फ़ोकस पाथ"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24668,6 +25100,16 @@ msgid "3D Physics"
msgstr "फिजिक्स फ्रेम %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "सदस्यता बनाएं"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "सदस्यता बनाएं"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26050,7 +26492,7 @@ msgstr "संक्रमण: "
msgid "Refraction"
msgstr "संस्करण:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26129,8 +26571,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "स्केल अनुपात:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "संस्करण:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -26146,10 +26594,15 @@ msgid "Source Group Name"
msgstr "संसाधन"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "स्क्रिप्ट बढ़ाएँ"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26158,11 +26611,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "खुला हाल"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26175,6 +26633,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "प्रायिक लोड कीजिये"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26191,9 +26654,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "मिटाना"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26592,6 +27064,11 @@ msgid "Scenario"
msgstr "दृश्य"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "सदस्यता बनाएं"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26609,6 +27086,26 @@ msgstr "चूक"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "चूक"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "चूक"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "चूक"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "कनेक्शन संपादित करें:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/hr.po b/editor/translations/hr.po
index 0e45dceead..e473c6556c 100644
--- a/editor/translations/hr.po
+++ b/editor/translations/hr.po
@@ -6,12 +6,13 @@
# Patik <patrikfs5@gmail.com>, 2019.
# Nikola Bunjevac <nikola.bunjevac@gmail.com>, 2019, 2020.
# LeoClose <leoclose575@gmail.com>, 2020, 2021.
+# Filip <fhomolka@protonmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-08-13 19:05+0000\n"
-"Last-Translator: LeoClose <leoclose575@gmail.com>\n"
+"PO-Revision-Date: 2022-07-23 03:57+0000\n"
+"Last-Translator: Filip <fhomolka@protonmail.com>\n"
"Language-Team: Croatian <https://hosted.weblate.org/projects/godot-engine/"
"godot/hr/>\n"
"Language: hr\n"
@@ -19,11 +20,11 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.8-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Upravljački program za Tablet"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -39,73 +40,77 @@ msgid "Exit Code"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "Omogući"
+msgstr "V-Sync Omogućen"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync preko Kompozitora"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Delta Ublažavanje"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
-msgstr ""
+msgstr "Način niske upotrebe procesora"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "Stanje mirovanja u načinu korištenja niskog procesora (μsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr ""
+msgstr "Zadrži zaslon uključenim"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "Glavna skripta:"
+msgstr "Min. veličina prozora"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "Glavna skripta:"
+msgstr "Maks. veličina prozora"
#: core/bind/core_bind.cpp
msgid "Screen Orientation"
-msgstr ""
+msgstr "Orijentacija zaslona"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
+#, fuzzy
msgid "Window"
-msgstr ""
+msgstr "Prozor"
#: core/bind/core_bind.cpp core/project_settings.cpp
+#, fuzzy
msgid "Borderless"
-msgstr ""
+msgstr "Bez obruba"
#: core/bind/core_bind.cpp
+#, fuzzy
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Omogućena prozirnost po pikselu"
#: core/bind/core_bind.cpp core/project_settings.cpp
+#, fuzzy
msgid "Fullscreen"
-msgstr ""
+msgstr "Cijeli zaslon"
#: core/bind/core_bind.cpp
+#, fuzzy
msgid "Maximized"
-msgstr ""
+msgstr "Maksimiziran"
#: core/bind/core_bind.cpp
+#, fuzzy
msgid "Minimized"
-msgstr ""
+msgstr "Minimiziran"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
+#, fuzzy
msgid "Resizable"
-msgstr ""
+msgstr "Mogućnost promjene veličine"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -114,7 +119,7 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Position"
-msgstr "Stvori"
+msgstr "Pozicija"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -125,8 +130,9 @@ msgstr "Stvori"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
+#, fuzzy
msgid "Size"
-msgstr ""
+msgstr "Veličina"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
@@ -135,25 +141,27 @@ msgstr ""
#: core/bind/core_bind.cpp
#, fuzzy
msgid "Editor Hint"
-msgstr "(Editor Onemogućen)"
+msgstr "Savjet Urednika"
#: core/bind/core_bind.cpp
+#, fuzzy
msgid "Print Error Messages"
-msgstr ""
+msgstr "Ispis poruka o pogreškama"
#: core/bind/core_bind.cpp
#, fuzzy
msgid "Iterations Per Second"
-msgstr "Način Interpolacije"
+msgstr "Iteracije u sekundi"
#: core/bind/core_bind.cpp
+#, fuzzy
msgid "Target FPS"
-msgstr ""
+msgstr "Ciljani FPS"
#: core/bind/core_bind.cpp
#, fuzzy
msgid "Time Scale"
-msgstr "Dubina"
+msgstr "Vremenska skala"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Physics Jitter Fix"
@@ -214,9 +222,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -327,7 +336,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nedovoljno bajtova za dekodiranje ili neispravan format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Neispravan unos %i (nije uspio) u izrazu"
#: core/math/expression.cpp
@@ -371,6 +381,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Način reprodukcije:"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -397,6 +416,11 @@ msgstr ""
msgid "Command"
msgstr "Zajednica"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Omogući"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -449,6 +473,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -557,7 +585,8 @@ msgstr "Opis"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -642,26 +671,24 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-#, fuzzy
-msgid "Plugin Name"
-msgstr "Naziv Čvora(node):"
+msgid "Version Control Plugin Name"
+msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -769,7 +796,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtriraj signale"
@@ -1041,6 +1069,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Slobodno"
@@ -1057,7 +1086,7 @@ msgstr "Zrcalo"
msgid "Time:"
msgstr "Vrijeme:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Vrijednost:"
@@ -1303,10 +1332,71 @@ msgid "Remove this track."
msgstr "Ukloni ovu stazu."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Vrijeme/vremena: "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Stvori"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Zalijepi Animaciju"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Nevažeće ime."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Upozorenje:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Način Interpolacije"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animacijski Klipovi:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Upali/Ugasi Stazu"
@@ -1516,7 +1606,8 @@ msgid "Add Method Track Key"
msgstr "Dodaj Ključ Metode Staze"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metoda nije nađena u objektu: "
#: editor/animation_track_editor.cpp
@@ -2042,14 +2133,15 @@ msgstr "Favoriti:"
msgid "Recent:"
msgstr "Nedavno:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Pretraga:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Podudaranja:"
@@ -2109,8 +2201,8 @@ msgstr "Traži zamjenu resursa:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2118,8 +2210,8 @@ msgid "Open"
msgstr "Otvori"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Vlasnici:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2420,7 +2512,7 @@ msgid "Bus Options"
msgstr "Opcije Klase"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliciraj"
@@ -2472,8 +2564,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr "Datoteka '%s' ne postoji."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2677,6 +2769,24 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Animacija"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Paket uspješno instaliran!"
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2689,6 +2799,28 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Spremi Kao"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Spremi Kao"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2792,8 +2924,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2969,9 +3118,9 @@ msgid "Import"
msgstr "Uvezi"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Izvoz"
@@ -4060,14 +4209,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4188,6 +4329,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Preimenuj zvučnu sabirnicu"
@@ -4216,6 +4361,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4854,11 +5003,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4954,6 +5105,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Direkcije"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5217,7 +5373,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigacija"
@@ -5242,6 +5400,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Izbriši Odabir"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5780,10 +5947,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6516,14 +6685,6 @@ msgid "Replace in Files"
msgstr "Zamijeni sve"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Zamijeni sve"
@@ -6656,7 +6817,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtriraj signale"
@@ -6913,7 +7074,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6941,6 +7102,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7609,11 +7782,20 @@ msgid "New Anim"
msgstr "Nova Animacija"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Kreiraj Novu Animaciju"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Promijeni Ime Animacije:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Preimenuj animaciju"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Obrisati Animaciju?"
@@ -7631,11 +7813,6 @@ msgid "Animation name already exists!"
msgstr "Animacija sa ovim imenom već postoji!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Preimenuj animaciju"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Dupliciraj Animaciju"
@@ -7732,10 +7909,12 @@ msgstr "\"Onion Skinning\" Opcije"
msgid "Directions"
msgstr "Direkcije"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Prošlost"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Budućnost"
@@ -7776,10 +7955,6 @@ msgid "Pin AnimationPlayer"
msgstr "Pinuj AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Kreiraj Novu Animaciju"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Ime Animacije:"
@@ -7890,8 +8065,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Animacija"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7907,11 +8083,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8799,6 +8970,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8863,6 +9035,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9613,8 +9789,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Izvor:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -9843,6 +10020,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9996,13 +10174,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10011,10 +10182,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10709,13 +10876,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Upozorenje:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Uredi Tranzicije..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10738,11 +10909,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11221,8 +11387,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Spoji '%s' na '%s'"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11253,15 +11420,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Animacija"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11325,6 +11493,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Obrisati Animaciju?"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12208,8 +12381,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Regija"
@@ -13651,20 +13823,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13672,14 +13839,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13780,34 +13939,47 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Izvoz"
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Uvoz Profila"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
msgstr ""
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Izvoz"
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "ZIP Datoteka"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Uredi vezu:"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Osnivači projekta"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14082,11 +14254,11 @@ msgid "Project Manager"
msgstr "Projektni menadžer "
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15249,8 +15421,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Ukloni"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16090,7 +16263,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -16259,7 +16432,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16675,7 +16848,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16705,6 +16877,19 @@ msgstr "Premjesti čvor(node)"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigacija"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Način Navigacije"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17109,7 +17294,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17117,7 +17302,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17490,7 +17675,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17498,7 +17683,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17659,12 +17844,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Neispravni argumenti za konstrukciju '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Nevažeće ime."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17676,12 +17863,14 @@ msgid "Var Name"
msgstr "Ime"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metoda nije nađena u objektu: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metoda nije nađena u objektu: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -17979,6 +18168,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Pomakni Bezier Točke"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17987,6 +18181,16 @@ msgstr ""
msgid "Export Format"
msgstr "Izvoz"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Glavna skripta:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Premjesti čvor(node)"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18023,16 +18227,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Glavna skripta:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Premjesti čvor(node)"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18187,10 +18381,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18267,12 +18457,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18281,25 +18471,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Brisati odabrani ključ/odabrane ključeve"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18315,6 +18529,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18343,7 +18561,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18354,19 +18572,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18379,7 +18595,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18394,7 +18610,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18402,15 +18618,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18420,8 +18633,9 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files."
+msgstr "Trenutni Profil:"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -18657,6 +18871,15 @@ msgstr "Funkcije"
msgid "Custom BG Color"
msgstr "Funkcije"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18678,23 +18901,34 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Nevažeće ime."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Trenutni Profil:"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Uredi vezu:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Trenutni Profil:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Opis:"
@@ -18769,16 +19003,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "Trenutni Profil:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
+#, fuzzy
+msgid "Error starting HTTP server: %d."
+msgstr "Pogreška prilikom spremanja datoteke: %s"
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19059,9 +19295,27 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Trenutni Profil:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Navigacija"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19077,18 +19331,72 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Pogreška prilikom spremanja datoteke: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direkcije"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Nevažeće ime."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19096,7 +19404,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19137,6 +19445,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Direkcije"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19438,6 +19755,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19483,6 +19804,65 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Zalijepi Animaciju"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Nevažeće ime."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Neispravni argumenti za konstrukciju '%s'"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nevažeće ime."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Nevažeće ime."
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19503,6 +19883,23 @@ msgid "Invalid product version:"
msgstr "Nevažeće ime."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Nevažeće ime."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19518,6 +19915,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19633,7 +20034,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19681,7 +20083,7 @@ msgstr "Zumiraj"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20375,34 +20777,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Uredi vezu:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Zalijepi Animaciju"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Instaliraj"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Napredno"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Omogući"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Omogući"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20426,13 +20850,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Premjesti čvor(node)"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20440,7 +20867,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21522,6 +21949,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Način Ravnala"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21543,12 +21977,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22378,6 +22806,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Uredi Tranzicije..."
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23523,6 +23956,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Samo odabir"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Omogući"
@@ -23900,16 +24338,17 @@ msgstr "Put"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24058,6 +24497,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigacija"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigacija"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25418,7 +25867,7 @@ msgstr ""
msgid "Refraction"
msgstr "Opis:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25496,7 +25945,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Upozorenje:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Promijeni vrstu baze:"
#: scene/resources/navigation_mesh.cpp
@@ -25513,7 +25967,11 @@ msgid "Source Group Name"
msgstr "Izvor:"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25525,11 +25983,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Regija"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25542,6 +26005,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Učitaj Zadano"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25558,9 +26026,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Promijeni vrstu baze:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -25946,6 +26423,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigacija"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25963,6 +26445,26 @@ msgstr "Lijevo Linearno"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Mesh2D Pregled"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Mesh2D Pregled"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Mesh2D Pregled"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Uredi vezu:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index 0a66c721ec..b35be76368 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -22,13 +22,15 @@
# Andras Virag <snowflake71@gmail.com>, 2021.
# balintmaci <balintmaci@gmail.com>, 2021.
# Balázs Püspök-Kiss <pkblazsak@gmail.com>, 2021.
+# Mr.Catfood <sipos22@msn.com>, 2022.
+# 6Leoo6 <leo.takacs@yahoo.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-12-23 15:30+0000\n"
-"Last-Translator: Balázs Püspök-Kiss <pkblazsak@gmail.com>\n"
+"PO-Revision-Date: 2022-06-19 11:52+0000\n"
+"Last-Translator: 6Leoo6 <leo.takacs@yahoo.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/godot-engine/"
"godot/hu/>\n"
"Language: hu\n"
@@ -36,21 +38,19 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.10.1\n"
+"X-Generator: Weblate 4.13.1-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "A vágólap üres!"
+msgstr "Vágólap"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Jelenlegi Jelenet"
+msgstr "Aktuális képernyő"
#: core/bind/core_bind.cpp
msgid "Exit Code"
@@ -70,9 +70,8 @@ msgid "Delta Smoothing"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Mozgató Mód"
+msgstr "Alacsony processzorhasználati mód"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
@@ -243,9 +242,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Hálózati profilkészítő"
@@ -361,12 +361,13 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nincs elég bájt a bájtok dekódolására, vagy hibás formátum."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Érvénytelen bemenet %i (nem átadott) a kifejezésben"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "self nem használható, mert a példány null (nincs átadva)"
+msgstr "Nem használható self mivel nincs megadva"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -406,6 +407,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Mozgató Mód"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Bemenet Törlése"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -434,6 +445,11 @@ msgstr ""
msgid "Command"
msgstr "Közösség"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fizika Keret %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -442,9 +458,8 @@ msgid "Pressed"
msgstr "Előre beállított"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Keresés"
+msgstr "beolvasási kód"
#: core/os/input_event.cpp
msgid "Physical Scancode"
@@ -452,7 +467,7 @@ msgstr ""
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
@@ -492,6 +507,10 @@ msgid "Pressure"
msgstr "Előre beállított"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Relatív Illesztés"
@@ -606,7 +625,8 @@ msgstr "Leírás"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Futtatás"
@@ -695,6 +715,11 @@ msgid "Main Run Args"
msgstr "Fő Jelenet Argumentumok:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Scene elérési Út:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -702,19 +727,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Verziókezelés"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Verziókezelés"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Bővítmény neve:"
+msgid "Version Control Plugin Name"
+msgstr "Verziókezelés"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -833,7 +854,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Szűrők:"
@@ -1115,6 +1137,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Szabad"
@@ -1131,7 +1154,7 @@ msgstr "Tükör"
msgid "Time:"
msgstr "Idő:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Érték:"
@@ -1380,10 +1403,74 @@ msgid "Remove this track."
msgstr "Jelen sáv eltávolítása."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Idő (mp): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Dokk Pozíció"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Forgatási Léptetés:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skála:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Típus:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Érvénytelen kiterjesztés."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Fogantyú Beállítása"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Fogantyú Beállítása"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Rádió Elem"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Újraindítás (mp):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Előtűnés (mp):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animációk:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Sáv Engedélyezés Kapcsolása"
@@ -1600,7 +1687,8 @@ msgid "Add Method Track Key"
msgstr "Metódus Sáv Kulcs Hozzáadása"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "A metódus nem található az objektumban: "
#: editor/animation_track_editor.cpp
@@ -2087,7 +2175,7 @@ msgstr "Biztosan eltávolítja az összes kapcsolatot a(z) \"%s\" jelzésről?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr "Jelzések"
+msgstr "jelek"
#: editor/connections_dialog.cpp
msgid "Filter signals"
@@ -2138,14 +2226,15 @@ msgstr "Kedvencek:"
msgid "Recent:"
msgstr "Legutóbbi:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Keresés:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Egyezések:"
@@ -2205,8 +2294,8 @@ msgstr "Csere Forrás Keresése:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2214,8 +2303,8 @@ msgid "Open"
msgstr "Megnyitás"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Tulajdonosai:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2517,7 +2606,7 @@ msgid "Bus Options"
msgstr "Busz Beállítások"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Megkettőzés"
@@ -2569,8 +2658,9 @@ msgstr "Hangbusz Elrendezés Megnyitása"
msgid "There is no '%s' file."
msgstr "Nincs '%s' fájl."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Elrendezés"
#: editor/editor_audio_buses.cpp
@@ -2777,6 +2867,25 @@ msgid "Choose"
msgstr "Kiválaszt"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Node Útvonal Másolása"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "A csomag telepítése sikeres volt!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Sikertelen:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Tároló Fájl:"
@@ -2789,6 +2898,31 @@ msgid "Packing"
msgstr "Csomagolás"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Mentés Másként"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Nem sikerült létrehozni a mappát."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Az alprocesszt nem lehetett elindítani!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Nem lehet megnyitni a fájlt írásra:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Mentés Másként"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2908,11 +3042,32 @@ msgstr "Az egyéni hibakeresési sablon nem található."
msgid "Custom release template not found."
msgstr "Az egyéni kiadási sablon nem található."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Sablonok kezelése"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "A megadott útvonal nem létezik."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Sablon fájl nem található:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Nem nyitható meg az export sablon zip."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "32-bites exportokon a beágyazott PCK nem lehet nagyobb mint 4 GiB."
@@ -3091,9 +3246,9 @@ msgid "Import"
msgstr "Importálás"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportálás"
@@ -4273,15 +4428,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Jelenet"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Scene elérési Út:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4408,6 +4554,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Verziókezelés"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Átnevezés"
@@ -4436,6 +4586,10 @@ msgstr "Zavarmentes mód váltása."
msgid "Add a new scene."
msgstr "Hozzáad egy új jelenetet."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Jelenet"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ugrás az előzőleg megnyitott jelenetre."
@@ -5106,11 +5260,15 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Méret: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Oldal: "
#: editor/editor_properties_array_dict.cpp
@@ -5209,6 +5367,11 @@ msgstr ""
"Nem található futtatható exportállomány ehhez a platformhoz.\n"
"Kérem adjon hozzá egy futtatható exportállományt az export menüben."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Írja a logikát a _run() metódusba."
@@ -5489,7 +5652,9 @@ msgid "Draw Spaces"
msgstr "Hívások"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigáció"
@@ -5515,6 +5680,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Kijelölés Keretezése"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5743,7 +5917,7 @@ msgstr "Pont"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "Alakzat"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6075,10 +6249,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Projektkezelő"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6852,14 +7028,6 @@ msgid "Replace in Files"
msgstr "Összes cseréje"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Keres: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Csere: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Összes cseréje"
@@ -6989,7 +7157,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Szűrők:"
@@ -7008,7 +7176,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -7257,7 +7425,8 @@ msgid "Generating Lightmaps"
msgstr "Fénytérképek Létrehozása"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Létrehozás a Következő Hálóhoz: "
#: editor/import/resource_importer_scene.cpp
@@ -7286,6 +7455,18 @@ msgid "Saving..."
msgstr "Mentés..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7968,11 +8149,20 @@ msgid "New Anim"
msgstr "Új Animáció"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Új Animáció Létrehozása"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Animáció Nevének Megváltoztatása:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Animáció Átnevezése"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animáció Törlése?"
@@ -7990,11 +8180,6 @@ msgid "Animation name already exists!"
msgstr "Az animáció név már létezik!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Animáció Átnevezése"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Animáció Megkettőzése"
@@ -8093,10 +8278,12 @@ msgstr ""
msgid "Directions"
msgstr "Irányok"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Múlt"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Jövő"
@@ -8137,10 +8324,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Új Animáció Létrehozása"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Animáció Neve:"
@@ -8251,7 +8434,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Átmenet: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8268,11 +8452,6 @@ msgid "New name:"
msgstr "Új név:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skála:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Előtűnés (mp):"
@@ -9191,6 +9370,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "Egyéni csontok törlése"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9257,6 +9437,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Elrendezés"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10020,7 +10204,8 @@ msgid "Volume"
msgstr "Mennyiség"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Kibocsátási Forrás: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10250,6 +10435,7 @@ msgid "Points"
msgstr "Pontok"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Sokszögek"
@@ -10403,13 +10589,6 @@ msgid "Instance:"
msgstr "Példány:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Típus:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Megnyitás Szerkesztőben"
@@ -10418,10 +10597,6 @@ msgstr "Megnyitás Szerkesztőben"
msgid "Load Resource"
msgstr "Erőforrás Betöltése"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ForrásElőtöltö"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11138,13 +11313,17 @@ msgstr "Forgató Mód"
msgid "Translate"
msgstr "Fordítások"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Skála:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Fordítások:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11167,12 +11346,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Méret: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "Rajzolt objektumok"
@@ -11659,8 +11832,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Konvertálás CPUParticles2D-re"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11691,15 +11865,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Művelet"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11763,6 +11938,11 @@ msgid "New Animation"
msgstr "Új animáció"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Metódusok szűrése"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12696,8 +12876,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Régió"
@@ -13184,7 +13363,7 @@ msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "SSH Passphrase"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -14140,20 +14319,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14161,14 +14335,6 @@ msgid "Exporting All"
msgstr "Összes exportálása"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Exportálási Útvonal"
@@ -14271,19 +14437,27 @@ msgid "More Info..."
msgstr "Áthelyezés..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Összes exportálása"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Projekt Exportálása"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Exportálási mód?"
+msgid "Export All"
+msgstr "Összes exportálása"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Válasszon egy Könyvtárat"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Összes exportálása"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14291,14 +14465,20 @@ msgid "ZIP File"
msgstr "ZIP fájl"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Projekt Exportálása"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projekt Alapítói"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Export Sablonok Kezelése"
@@ -14576,14 +14756,14 @@ msgid "Project Manager"
msgstr "Projektkezelő"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Betöltés, kérem várjon..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Betöltés, kérem várjon..."
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Projekt Exportálása"
@@ -15750,8 +15930,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Eltávolítás"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16629,10 +16810,9 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
-msgstr "Sokszögek"
+msgstr "Sokszög"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
@@ -16805,7 +16985,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17246,7 +17426,6 @@ msgid "Use In Baked Light"
msgstr "Fény Besütése"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17276,6 +17455,19 @@ msgstr "Középre"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigáció"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navigációs mód"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Következő Síklap"
@@ -17691,7 +17883,8 @@ msgstr ""
"értéke! Javítsa ki a node-ját."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Node egy érvénytelen szekvencia kimenettel tért vissza: "
#: modules/visual_script/visual_script.cpp
@@ -17699,7 +17892,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18052,7 +18245,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "Amíg"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -18067,7 +18260,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Beviteli típus nem iterálható: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18075,7 +18269,8 @@ msgid "Iterator became invalid"
msgstr "Az iterátor érvénytelenné vált"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Az iterátor érvénytelenné vált: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18245,11 +18440,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Érvénytelen típusargumentum: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Érvénytelen argumentumok: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18262,11 +18459,13 @@ msgid "Var Name"
msgstr "Név"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet nem található a szkriptben: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet nem található a szkriptben: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18375,7 +18574,7 @@ msgstr ""
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Yield"
-msgstr ""
+msgstr "hozam"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
@@ -18588,6 +18787,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Node-ok kivágása"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18596,6 +18800,16 @@ msgstr ""
msgid "Export Format"
msgstr "Exportálási Útvonal"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Körvonal Mérete:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Cél Felület:"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18635,16 +18849,6 @@ msgstr "Előző lap"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Körvonal Mérete:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Cél Felület:"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18814,10 +19018,6 @@ msgid "Could not execute on device."
msgstr "Nem sikerült létrehozni a mappát."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18894,12 +19094,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18908,25 +19108,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Jelzés"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18945,6 +19169,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Az alprocesszt nem lehetett elindítani!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18975,7 +19204,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18986,20 +19215,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Az alprocesszt nem lehetett elindítani!"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19011,7 +19239,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19027,7 +19255,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Az animáció nem található: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19036,15 +19264,13 @@ msgid "Creating APK..."
msgstr "Kontúrok létrehozása…"
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Az alprocesszt nem lehetett elindítani!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19056,7 +19282,7 @@ msgstr "%s Hozzáadása..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Az alprocesszt nem lehetett elindítani!"
#: platform/android/export/export_plugin.cpp
@@ -19298,6 +19524,17 @@ msgstr "Node-ok kivágása"
msgid "Custom BG Color"
msgstr "Node-ok kivágása"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Sablonok kezelése"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Az egyéni kiadási sablon nem található."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19319,23 +19556,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Nem sikerült létrehozni a mappát."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Érvénytelen kiterjesztés."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Nem sikerült létrehozni a mappát."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Margó Beállítása"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Nem sikerült létrehozni a mappát."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Felsorolások:"
@@ -19411,17 +19660,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Nem sikerült létrehozni a mappát."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Nem sikerült létrehozni a mappát."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Hiba TileSet mentésekor!"
#: platform/javascript/export/export.cpp
@@ -19720,9 +19969,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Az alprocesszt nem lehetett elindítani!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Az alprocesszt nem lehetett elindítani!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokalizáció"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19738,18 +20006,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Nincs Találat!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Hiba a fájl mentésekor: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Irányok"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Az alprocesszt nem lehetett elindítani!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Indexkép Létrehozása"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Az alprocesszt nem lehetett elindítani!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Érvénytelen Alapútvonal."
#: platform/osx/export/export.cpp
msgid ""
@@ -19759,7 +20083,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19801,6 +20125,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Érvénytelen azonosító:"
@@ -20111,6 +20444,11 @@ msgid "Debug Algorithm"
msgstr "Hibakereső"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Az ideiglenes fájl nem távolítható el:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20158,6 +20496,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Véletlenszerű Forgatás:"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Érvénytelen kiterjesztés."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Érvénytelen azonosító:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Érvénytelen név."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Érvénytelen kiterjesztés."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Az ideiglenes fájl nem távolítható el:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20179,6 +20577,23 @@ msgid "Invalid product version:"
msgstr "Érvénytelen termék GUID."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Érvénytelen kiterjesztés."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Új ablak"
@@ -20195,6 +20610,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20318,7 +20737,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Példány"
@@ -20369,7 +20789,7 @@ msgstr "Nagyítás"
msgid "Custom Viewport"
msgstr "Nézet Megjelenítése"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20501,9 +20921,8 @@ msgid "Show Behind Parent"
msgstr ""
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Show On Top"
-msgstr "Origó Megjelenítése"
+msgstr "Megjelenítés felül"
#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
@@ -21097,34 +21516,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Kapcsolat szerkesztése:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Véletlenszerű Forgatás:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Válasszon egy Fő Jelenetet"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Speciális"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Engedélyezés"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Engedélyezés"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21149,22 +21590,26 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Középre lent"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Utazás"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Forgatási Léptetés:"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Állandó"
@@ -22308,6 +22753,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Átalakítás Megszakítva."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22331,12 +22783,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23196,6 +23642,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Globális Transzformáció Megtartása"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24410,6 +24861,11 @@ msgstr "Mappa:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Csak kijelölés"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Engedélyezés"
@@ -24812,20 +25268,17 @@ msgstr "Exportálási Útvonal"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
-"Ez a nézetablak nincs beállítva leképezési célnak. Ha azt szeretné, hogy a "
-"tartalma közvetlenül a képernyőn jelenjen meg, tegye azt egy Control "
-"gyermekévé, hogy így kapjon méretet. Ellenkező esetben tegye RenderTarget-"
-"té, és állítsa hozzá a belső textúráját valamilyen node-hoz kirajzolásra."
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24982,6 +25435,16 @@ msgid "3D Physics"
msgstr "Fizika Keret %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigáció"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigáció"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26394,7 +26857,7 @@ msgstr "Átmenet: "
msgid "Refraction"
msgstr "Felsorolások:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26477,7 +26940,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Skála:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Alaptípus módosítása:"
#: scene/resources/navigation_mesh.cpp
@@ -26495,10 +26963,15 @@ msgid "Source Group Name"
msgstr "Forrás"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Fő Jelenet Argumentumok:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26507,11 +26980,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Régió"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26524,6 +27002,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Alapértelmezett Betöltése"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26540,9 +27023,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "AABB Generálása"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Rács Eltolás:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26949,6 +27442,11 @@ msgid "Scenario"
msgstr "Jelenet"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigáció"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26966,6 +27464,26 @@ msgstr "Bal lineáris"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Alapértelmezett"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Előnézet frissítése"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Tesztelés"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Kapcsolat szerkesztése:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/id.po b/editor/translations/id.po
index 486e023df4..7d839357cd 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -26,7 +26,7 @@
# Ade Fikri Malihuddin <ade.fm97@gmail.com>, 2020.
# zephyroths <ridho.hikaru@gmail.com>, 2020, 2021, 2022.
# Richard Urban <redasuio1@gmail.com>, 2020.
-# yusuf afandi <afandi.yusuf.04@gmail.com>, 2020.
+# yusuf afandi <afandi.yusuf.04@gmail.com>, 2020, 2022.
# Habib Rohman <revolusi147id@gmail.com>, 2020.
# Hanz <hanzhaxors@gmail.com>, 2021.
# Reza Almanda <rezaalmanda27@gmail.com>, 2021, 2022.
@@ -39,13 +39,14 @@
# ProgrammerIndonesia 44 <elo.jhy@gmail.com>, 2022.
# Rizky Ramadhan <rizkyterm@gmail.com>, 2022.
# Primananda Kurnia <primakurnia71@gmail.com>, 2022.
+# FellowMustard <rachmawanng33@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-15 09:38+0000\n"
-"Last-Translator: Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>\n"
+"PO-Revision-Date: 2022-07-31 18:34+0000\n"
+"Last-Translator: ProgrammerIndonesia 44 <elo.jhy@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot/id/>\n"
"Language: id\n"
@@ -53,7 +54,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -237,9 +238,10 @@ msgid "Data"
msgstr "Data"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Jaringan"
@@ -343,7 +345,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Tidak cukup byte untuk decoding byte, atau format tidak valid."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Masukkan tidak sah %i (tidak diberikan) dalam ekspresi"
#: core/math/expression.cpp
@@ -388,6 +391,16 @@ msgstr "Antrian Pesan"
msgid "Max Size (KB)"
msgstr "Ukuran Maksimum (KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Mode Pindah"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Hapus Masukan"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -413,6 +426,10 @@ msgstr "Meta"
msgid "Command"
msgstr "Perintah"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "(Secara fisik)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -464,6 +481,11 @@ msgid "Pressure"
msgstr "Tekanan"
#: core/os/input_event.cpp
+#, fuzzy
+msgid "Pen Inverted"
+msgstr "Balik"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relatif"
@@ -567,7 +589,8 @@ msgstr "Deskripsi"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Jalankan"
@@ -653,6 +676,10 @@ msgid "Main Run Args"
msgstr "Jalan Utama Argumen"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Penamaan Skena"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Cari dalam Ekstensi File"
@@ -660,18 +687,15 @@ msgstr "Cari dalam Ekstensi File"
msgid "Script Templates Search Path"
msgstr "Jalur Pencarian Template Skrip"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Kontrol Versi"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+#, fuzzy
+msgid "Version Control Autoload On Startup"
msgstr "Muat Otomatis Saat Memulai"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nama Plugin"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Kontrol Versi"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -780,7 +804,8 @@ msgid "Quality"
msgstr "Kualitas"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filter"
@@ -1049,6 +1074,7 @@ msgstr "Kualitas Tinggi"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Bebas"
@@ -1065,7 +1091,7 @@ msgstr "Cermin"
msgid "Time:"
msgstr "Waktu:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Nilai:"
@@ -1180,7 +1206,7 @@ msgstr "Atur Pegangan"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "Arus"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1314,10 +1340,75 @@ msgid "Remove this track."
msgstr "Hapus track ini."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Waktu (d): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Posisi"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Rotasi"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Jenis:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Templat ekspor tidak valid:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Mempermudah Masuk-Keluar"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Atur Pegangan"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Atur Pegangan"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Item Radio"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Mulai Ulang:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Memudar Masuk (d):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animasi:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Aktifkan Trek Beralih"
@@ -1532,7 +1623,8 @@ msgid "Add Method Track Key"
msgstr "Tambah Kunci Track Metode"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metode tidak ditemukan dalam objek: "
#: editor/animation_track_editor.cpp
@@ -2066,14 +2158,15 @@ msgstr "Favorit:"
msgid "Recent:"
msgstr "Saat ini:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cari:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Kecocokan:"
@@ -2133,8 +2226,8 @@ msgstr "Cari Resource Pengganti:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2142,8 +2235,8 @@ msgid "Open"
msgstr "Buka"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Pemilik Dari:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2446,7 +2539,7 @@ msgid "Bus Options"
msgstr "Pilihan Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Gandakan"
@@ -2498,8 +2591,9 @@ msgstr "Buka Layout Suara Bus"
msgid "There is no '%s' file."
msgstr "Tidak ada berkas '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Tata Letak"
#: editor/editor_audio_buses.cpp
@@ -2705,6 +2799,24 @@ msgid "Choose"
msgstr "Pilih"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Salin Lokasi Node"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Sukses."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Gagal:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Menyimpan File:"
@@ -2717,6 +2829,31 @@ msgid "Packing"
msgstr "Mengemas"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Simpan Sebagai"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Tidak dapat membuat folder."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Tidak dapat ekspor berkas proyek"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Tidak dapat membuka file untuk menulis:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Simpan Sebagai"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2836,11 +2973,33 @@ msgstr "Templat awakutu kustom tidak ditemukan."
msgid "Custom release template not found."
msgstr "Templat rilis kustom tidak ditemukan."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Kelola Templat"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Lokasi ekspor yang diberikan tidak ada:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Templat berkas tidak ditemukan:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Templat ekspor tidak valid:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Lapisan"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Pada ekspor 32-bit PCK yang ditanamkan tidak boleh lebih dari 4GiB."
@@ -3015,9 +3174,9 @@ msgid "Import"
msgstr "Impor"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Ekspor"
@@ -3129,9 +3288,8 @@ msgid "Save a File"
msgstr "Simpan sebuah File"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Access"
-msgstr "Sukses!"
+msgstr "Akses"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#, fuzzy
@@ -4182,14 +4340,6 @@ msgstr ""
"Tidak dapat menulis ke file '%s', file sedang digunakan, terkunci atau tidak "
"memiliki izin."
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scene"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Penamaan Skena"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4318,6 +4468,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Kontrol Versi"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Ubah Nama"
@@ -4346,6 +4500,10 @@ msgstr "Toggle mode tanpa gangguan."
msgid "Add a new scene."
msgstr "Tambah skena baru."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scene"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Pergi ke skena yang sebelumnya dibuka."
@@ -5033,11 +5191,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Node yang terpilih bukanlah Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Ukuran: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Ukuran:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Halaman: "
#: editor/editor_properties_array_dict.cpp
@@ -5137,6 +5298,11 @@ msgstr ""
"Tidak ada preset ekspor yang bisa digunakan untuk platform ini.\n"
"Mohon tambahkan preset yang bisa digunakan di menu ekspor."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Proyek"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Tulis logika di dalam fungsi _run()."
@@ -5417,7 +5583,9 @@ msgid "Draw Spaces"
msgstr "Gambarkan Spasi"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigasi"
@@ -5442,6 +5610,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Tombol Ekstra Mouse Navigasi Riwayat"
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Isi Seleksi GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Penampilan"
@@ -5997,10 +6174,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Manajer Proyek"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Urutan Penyortiran"
@@ -6758,14 +6937,6 @@ msgid "Replace in Files"
msgstr "Ganti Semua"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Cari: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Ganti: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Ganti Semua"
@@ -6895,7 +7066,7 @@ msgstr "Ulang"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filter:"
@@ -7154,7 +7325,8 @@ msgid "Generating Lightmaps"
msgstr "Membuat Pemetaan Cahaya"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Menghasilkan untuk Mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7183,6 +7355,18 @@ msgid "Saving..."
msgstr "Menyimpan..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
#, fuzzy
msgid "2D, Detect 3D"
msgstr "Deteksi 3D"
@@ -7870,11 +8054,20 @@ msgid "New Anim"
msgstr "Animasi Baru"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Buat Animasi Baru"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Ubah Nama Animasi:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Ubah Nama Animasi"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Hapus Animasi?"
@@ -7892,11 +8085,6 @@ msgid "Animation name already exists!"
msgstr "Nama animasi sudah ada!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Ubah Nama Animasi"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Gandakan Animasi"
@@ -7994,10 +8182,12 @@ msgstr "Opsi Onion Skinning"
msgid "Directions"
msgstr "Arah"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Sebelum"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Masa depan"
@@ -8038,10 +8228,6 @@ msgid "Pin AnimationPlayer"
msgstr "Sematkan AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Buat Animasi Baru"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nama Animasi:"
@@ -8155,7 +8341,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Terapkan akhir pada animasi. Berguna untuk sub-transisi."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Transisi: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8172,11 +8359,6 @@ msgid "New name:"
msgstr "Nama baru:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Memudar Masuk (d):"
@@ -9091,6 +9273,7 @@ msgstr "Buat Tulang Kustom(satu/lebih) dari Node(satu/lebih)"
msgid "Clear Custom Bones"
msgstr "Bersihkan Pertulangan Kustom"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9157,6 +9340,10 @@ msgid "Preview Canvas Scale"
msgstr "Pratinjau Skala Kanvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Tata Letak"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Masker translasi untuk menyisipkan key."
@@ -9933,7 +10120,8 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Sumber Emisi: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10167,6 +10355,7 @@ msgid "Points"
msgstr "Titik"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Poligon"
@@ -10322,13 +10511,6 @@ msgid "Instance:"
msgstr "Instansi:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Jenis:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Buka dalam Editor"
@@ -10337,10 +10519,6 @@ msgstr "Buka dalam Editor"
msgid "Load Resource"
msgstr "Muat Resource"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Balikkan Portal"
@@ -11041,12 +11219,16 @@ msgstr "Putar"
msgid "Translate"
msgstr "Translasi"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Penskalaan: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Mentranslasi: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11070,11 +11252,6 @@ msgid "Yaw:"
msgstr "Yaw:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Ukuran:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Objek Digambar:"
@@ -11567,7 +11744,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geometri tidak valid, tidak dapat diganti dengan mesh."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Konversikan menjadi Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11599,15 +11777,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Penyederhanaan: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Penciutan (Piksel): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Pertumbuhan (Piksel): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11671,6 +11852,11 @@ msgid "New Animation"
msgstr "Animasi Baru"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filter method"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Kecepatan:"
@@ -12193,9 +12379,8 @@ msgid "Available Node-based types:"
msgstr "Profil yang Tersedia:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Type name is empty!"
-msgstr "Nama berkas kosong."
+msgstr "Nama tipe kosong!"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -12615,8 +12800,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Pilih bentuk sebelumnya, subtile, atau Tile."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Wilayah"
@@ -14148,40 +14332,22 @@ msgid "Runnable"
msgstr "Dapat dijalankan"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Hapus preset '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Gagal mengekspor proyek untuk platform '%s'.\n"
-"Templat Ekspor kelihatannya belum terpasang atau tidak valid."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Gagal mengekspor proyek untuk platform '%s'.\n"
-"Ini mungkin disebabkan oleh masalah konfigurasi dalam preset ekspor atau "
-"pengaturan ekspor Anda."
+msgid "Delete preset '%s'?"
+msgstr "Hapus preset '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Mengekspor Semua"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Lokasi ekspor yang diberikan tidak ada:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Templat ekspor untuk platform ini tidak ada / rusak:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Lokasi Ekspor"
@@ -14295,19 +14461,27 @@ msgid "More Info..."
msgstr "Pindahkan ke..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Ekspor PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Ekspor Projek"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Mode ekspor?"
+msgid "Export All"
+msgstr "Ekspor Semua"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Silakan pilih direktori kosong."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Ekspor Semua"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14315,7 +14489,8 @@ msgid "ZIP File"
msgstr "Berkas ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Paket Gim Godot"
#: editor/project_export.cpp
@@ -14323,6 +14498,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Tidak ada templat ekspor untuk platform ini:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Penemu Proyek"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Mengatur Templat Ekspor"
@@ -14639,14 +14819,14 @@ msgid "Project Manager"
msgstr "Manajer Proyek"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Memuat, tunggu sejenak..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Terakhir Diubah"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Memuat, tunggu sejenak..."
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Ekspor Projek"
@@ -15882,7 +16062,8 @@ msgid "Attach Node Script"
msgstr "Lampirkan Skrip Node"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Remot "
#: editor/script_editor_debugger.cpp
@@ -16746,7 +16927,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Poligon"
@@ -16924,7 +17105,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Dinonaktifkan Singleton GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Pustaka: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17344,7 +17526,6 @@ msgid "Use In Baked Light"
msgstr "Panggang Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr "Sel"
@@ -17371,6 +17552,19 @@ msgstr "Pusat Z"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigasi"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Mode Navigasi"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Dataran Selanjutnya"
@@ -17787,7 +17981,8 @@ msgstr ""
"memori! Silahkan perbaiki node anda."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Node mengembalikan sebuah keluaran urutan yang tidak sah: "
#: modules/visual_script/visual_script.cpp
@@ -17797,7 +17992,8 @@ msgstr ""
"besar, laporkan bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Tumpukan melimpah dengan kedalaman tumpukan: "
#: modules/visual_script/visual_script.cpp
@@ -18171,7 +18367,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Tipe masukan tidak iterable: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18179,7 +18376,8 @@ msgid "Iterator became invalid"
msgstr "Iterator menjadi tidak sah"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterator menjadi tidak sah: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18348,11 +18546,13 @@ msgid "Operator"
msgstr "Operator overlay."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Argumen tidak sah dari tipe: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Argumen-argumen tidak sah: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18365,11 +18565,13 @@ msgid "Var Name"
msgstr "Nama"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet tidak ditemukan dalam script: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet tidak ditemukan dalam script: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18694,6 +18896,11 @@ msgstr "Package setidaknya harus memiliki sebuah pemisah '.'."
#: platform/android/export/export_plugin.cpp
#, fuzzy
+msgid "Custom Build"
+msgstr "Gunakan Direktori Pengguna Kustom"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid "Use Custom Build"
msgstr "Gunakan Direktori Pengguna Kustom"
@@ -18702,6 +18909,16 @@ msgstr "Gunakan Direktori Pengguna Kustom"
msgid "Export Format"
msgstr "Lokasi Ekspor"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Ukuran Garis Tepi:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "FPS Sasaran"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18744,16 +18961,6 @@ msgstr "Inspeksi Instance Sebelumnya"
msgid "Code"
msgstr "Kode"
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Ukuran Garis Tepi:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "FPS Sasaran"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18912,10 +19119,6 @@ msgid "Could not execute on device."
msgstr "Tidak dapat dijalankan di perangkat."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Tak dapat menemukan perkakas 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18998,7 +19201,7 @@ msgstr "\"Gunakan Build Custom\" harus diaktifkan untuk menggunakan plugin."
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Pelacakan Tangan\" hanya valid ketika \"Mode Xr\" bernilai \"Oculus Mobile "
@@ -19006,7 +19209,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Pelacakan Tangan\" hanya valid ketika \"Mode Xr\" bernilai \"Oculus Mobile "
"VR\"."
@@ -19019,29 +19222,54 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Expor AAB\" hanya bisa valid ketika \"Gunakan Build Custom\" diaktifkan."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Expor AAB\" hanya bisa valid ketika \"Gunakan Build Custom\" diaktifkan."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"Versi \"Target SDK\" harus lebih tinggi atau sama dengan versi \"Min SDK\"."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Sinyal"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19057,6 +19285,10 @@ msgid "Could not find keystore, unable to export."
msgstr "Tidak dapat menemukan keystore, tidak bisa ekspor."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "Tidak dapat memulai apksigner."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19087,8 +19319,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Nama berkas tidak valid! APK Android memerlukan ekstensi *.apk ."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Format ekspor tidak didukung!\n"
+msgid "Unsupported export format!"
+msgstr "Format ekspor tidak didukung!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19100,24 +19332,20 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Versi build Android tidak cocok:\n"
-" Templat terpasang: %s\n"
-" Versi Godot: %s\n"
-"Silakan pasang ulang templat build Android dari menu 'Project'."
+"Versi build Android tidak cocok: Templat terpasang: %s, Versi Godot: %s. "
+"Silakan pasang ulang templat build Android dari menu 'Proyek'."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "Tidak dapat menyunting proyek gradle dalam lokasi proyek\n"
+msgid "Could not export project files to gradle project."
+msgstr "Tidak dapat mengekspor file proyek ke dalam lokasi proyek gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19129,11 +19357,11 @@ msgstr "Membangun Proyek Android (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"Pembangunan proyek Android gagal, periksa output untuk galatnya.\n"
-"Atau kunjungi docs.godotengine.org untuk dokumentasi build Android."
+"Pembangunan proyek Android gagal, periksa output untuk galatnya. Atau "
+"kunjungi docs.godotengine.org untuk dokumentasi build Android."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -19149,7 +19377,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animasi tidak ditemukan: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19158,17 +19386,12 @@ msgid "Creating APK..."
msgstr "Membuat kontur..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"Tidak dapat menemukan contoh APK untuk ekspor:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Tidak dapat menemukan contoh APK untuk ekspor: \"%s\""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19179,7 +19402,8 @@ msgid "Adding files..."
msgstr "Menambahkan %s..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Tidak dapat ekspor berkas proyek"
#: platform/android/export/export_plugin.cpp
@@ -19322,9 +19546,8 @@ msgid "Capabilities"
msgstr "Kapabilitas"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Access Wi-Fi"
-msgstr "Sukses!"
+msgstr "Akses Wi-Fi"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19425,6 +19648,17 @@ msgstr "Potong Node"
msgid "Custom BG Color"
msgstr "Potong Node"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Kelola Templat"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Templat rilis kustom tidak ditemukan."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19447,22 +19681,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Jalankan HTML yang diekspor dalam peramban baku sistem."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Tidak dapat membuka templat untuk ekspor:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Templat ekspor tidak valid:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Tidak dapat menulis berkas:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Atur Batas"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Tidak dapat membaca berkas:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
msgid "Variant"
msgstr "Varian"
@@ -19534,15 +19781,18 @@ msgid "Icon 512 X 512"
msgstr "Ikon 512 X 512"
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Tidak dapat membaca shell HTML:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Tidak dapat menciptakan direktori server HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Kesalahan memulai server HTTP:"
#: platform/javascript/export/export.cpp
@@ -19840,9 +20090,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Tidak dapat ekspor berkas proyek"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "Tidak dapat memulai subproses xcrun."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Notarisasi"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
"Catatan: Proses notaris umumnya memakan waktu kurang dari satu jam. Ketika "
"proses selesai, Anda akan menerima email."
@@ -19864,18 +20133,73 @@ msgstr ""
"diekspor (opsional):"
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Identitas tidak ditemukan."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Error menyimpan berkas: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Arah"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "Tidak dapat memulai subproses hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Membuat bundel aplikasi"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Tidak dapat menemukan contoh APK untuk ekspor:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Templat ekspor tidak valid:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19883,7 +20207,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19926,6 +20250,16 @@ msgid "Sending archive for notarization"
msgstr "Mengirim arsip untuk notaris"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proyeksi"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Tidak dapat membuka file untuk membaca dari jalur \"%s\"."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Identifier bundel tidak valid:"
@@ -20245,6 +20579,11 @@ msgid "Debug Algorithm"
msgstr "Algoritma Awakutu"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Tidak dapat menghapus berkas sementara:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr "Tipe Identitas"
@@ -20287,6 +20626,70 @@ msgid "Trademarks"
msgstr "Merek Dagang"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Perputaran Acak:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Tidak dapat menemukan keystore, tidak bisa ekspor."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Tidak dapat menemukan keystore, tidak bisa ekspor."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Ekstensi tidak valid."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Tidak dapat menemukan keystore, tidak bisa ekspor."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Tidak dapat menemukan keystore, tidak bisa ekspor."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Tipe Identitas"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nama tidak sah."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Ekstensi tidak valid."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Tidak dapat menghapus berkas sementara:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20305,6 +20708,23 @@ msgid "Invalid product version:"
msgstr "Versi produk tidak valid:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Ekstensi tidak valid."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Jendela Baru"
@@ -20321,6 +20741,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -20444,7 +20868,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "Jarak Maks"
@@ -20491,7 +20916,7 @@ msgstr "Perbesar Pandangan"
msgid "Custom Viewport"
msgstr "Penampil Kustom"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21228,11 +21653,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Sunting Koneksi:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Mengikat"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Target Jarak yang Diinginkan"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr "Target Jarak yang Diinginkan"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Pilih Jarak:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Lanjut"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Aktifkan"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21249,16 +21706,6 @@ msgstr "Balik secara Horizontal"
msgid "Max Speed"
msgstr "Kecepatan Maks"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Pilih Jarak:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Aktifkan"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -21287,23 +21734,25 @@ msgstr ""
"ini bekerja. Silakan atur sebuah properti atau gambar sebuah polygon."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance harus menjadi sebuah child atau grandchild ke "
-"sebuah node Navigation2D. Ini hanya menyediakan data navigasi."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Bawah Tengah"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Menjelajah"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Derajat Putaran"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr "Rotasi Global"
@@ -22457,6 +22906,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformasi Dibatalkan."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr "Vektor Atas"
@@ -22480,14 +22936,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent hanya dapat digunakan di bawah node spasial."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance harus menjadi child atau grandchild untuk sebuah node "
-"Navigation. Ini hanya menyediakan data navigasi."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23373,6 +23821,11 @@ msgstr ""
"Ubah ukurannya melalui \"collision shape\"-anaknya saja."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Transformasi Global"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr "Matriks"
@@ -24293,7 +24746,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Tanda sisipan"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
@@ -24634,6 +25087,11 @@ msgstr "Direktori:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Hanya yang Dipilih"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Aktifkan"
@@ -24970,9 +25428,8 @@ msgid "Draw 2D Outlines"
msgstr "Buat Garis Tepi"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "Arah"
+msgstr "Refleksi"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -25040,19 +25497,6 @@ msgid "Viewport Path"
msgstr "Lokasi Ekspor"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Viewport ini tidak diatur sebagai target render. Jika anda berniat untuk "
-"menampilkan konten-kontennya secara langsung ke layar, jadikan viewport ini "
-"sebagai child dari sebuah Control agar ia bisa memperoleh ukuran. Jika "
-"tidak, jadikan sebagai RenderTarget dan tetapkan tekstur internal nya ke "
-"beberapa node untuk ditampilkan."
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25060,6 +25504,15 @@ msgid ""
msgstr "Ukuran viewport harus lebih besar dari 0 untuk me-render apa pun."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25218,6 +25671,16 @@ msgid "3D Physics"
msgstr "Fisika"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigasi"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigasi"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26322,9 +26785,8 @@ msgstr ""
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
-#, fuzzy
msgid "2"
-msgstr "2D"
+msgstr "2"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
@@ -26647,7 +27109,7 @@ msgstr "Transisi: "
msgid "Refraction"
msgstr "Enumerasi:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26732,7 +27194,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Penskalaan: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Atur Jenis variabel"
#: scene/resources/navigation_mesh.cpp
@@ -26749,8 +27216,14 @@ msgid "Source Group Name"
msgstr "Sumber"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
+#, fuzzy
+msgid "Cells"
+msgstr "Sel"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Argumen Skena Utama:"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
@@ -26762,11 +27235,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Wilayah"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Gabung dari Skena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26779,6 +27257,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Detail Bayangan"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr "Jarak sampel"
@@ -26796,9 +27279,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Membuat AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Pengimbangan:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27203,6 +27696,11 @@ msgid "Scenario"
msgstr "Skena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigasi"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27220,6 +27718,26 @@ msgstr "Linier ke Kiri"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Langkah Desimal Baku"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Perbarui Pratinjau"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Menguji"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Sunting Koneksi:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/is.po b/editor/translations/is.po
index 02befde0b4..512c660eef 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -209,9 +209,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -320,7 +321,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ekki nægt minni til að umskrá bæti eða ógilt snið."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Ógild inntak % i (ekki sent áfram)"
#: core/math/expression.cpp
@@ -365,6 +367,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Breyta Viðbót"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -390,6 +401,10 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -442,6 +457,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -550,7 +569,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -635,24 +655,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -761,7 +780,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Verkefna Stjóri"
@@ -1033,6 +1053,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -1049,7 +1070,7 @@ msgstr ""
msgid "Time:"
msgstr ""
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr ""
@@ -1308,10 +1329,69 @@ msgid "Remove this track."
msgstr "Fjarlægja Anim track"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+msgid "Time (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Val á kvarða"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Breyta Viðbót"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Breyta hnútnum Ferill"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Breyta Viðbót"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Stillið breyting á:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1531,7 +1611,7 @@ msgid "Add Method Track Key"
msgstr "Anim bæta við lag"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2060,14 +2140,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2123,8 +2204,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2132,7 +2213,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2426,7 +2507,7 @@ msgid "Bus Options"
msgstr "Val á kvarða"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2478,8 +2559,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2682,6 +2763,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Fjarlægja val"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2694,6 +2792,27 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Verkefna Stjóri"
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2797,8 +2916,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2972,9 +3108,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4060,14 +4196,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4188,6 +4316,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Endurnefning Anim track"
@@ -4216,6 +4348,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4851,11 +4987,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4949,6 +5087,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Verkefna Stjóri"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5207,7 +5350,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Breyta Viðbót"
@@ -5233,6 +5378,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Allt úrvalið"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5757,10 +5911,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Verkefna Stjóri"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6485,14 +6641,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6622,7 +6770,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Verkefna Stjóri"
@@ -6870,7 +7018,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6898,6 +7046,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7566,11 +7726,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7588,11 +7757,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7690,10 +7854,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7734,10 +7900,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7854,7 +8016,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "Stillið breyting á:"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -7871,11 +8033,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8773,6 +8930,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8836,6 +8994,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9583,7 +9745,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9816,6 +9978,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Breyta Viðbót"
@@ -9971,13 +10134,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9986,10 +10142,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10678,13 +10830,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Val á kvarða"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Stillið breyting á:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10707,11 +10863,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11190,8 +11341,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Hreyfa Viðbótar Lykil"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11223,15 +11375,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Allt úrvalið"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11297,6 +11450,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Stillið breyting á:"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12178,8 +12336,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13626,20 +13783,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13647,14 +13799,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13755,34 +13899,47 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Breyta..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Verkefna Stjóri"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
msgstr ""
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Breyta..."
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Verkefna Stjóri"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Verkefna Stjóri"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14059,11 +14216,11 @@ msgid "Project Manager"
msgstr "Verkefna Stjóri"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15235,8 +15392,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Fjarlægja val"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16067,7 +16225,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Breyta Viðbót"
@@ -16231,7 +16389,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16640,7 +16798,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16669,6 +16826,19 @@ msgstr "Anim DELETE-lyklar"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Breyta Viðbót"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Breyta Viðbót"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17075,7 +17245,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17083,7 +17253,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17458,7 +17628,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17466,7 +17636,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17620,11 +17790,11 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+msgid "Invalid argument of type:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+msgid "Invalid arguments:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17636,11 +17806,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17935,6 +18105,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Tvíteknir lyklar"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17943,6 +18118,15 @@ msgstr ""
msgid "Export Format"
msgstr "Breyta umbreytingu"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Anim DELETE-lyklar"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17979,15 +18163,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Anim DELETE-lyklar"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18139,10 +18314,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18219,12 +18390,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18233,25 +18404,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Tvíteknir lyklar"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18267,6 +18462,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18295,7 +18494,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18306,19 +18505,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18331,7 +18528,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18346,7 +18543,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18354,15 +18551,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18372,7 +18566,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18605,6 +18799,15 @@ msgstr "Tvíteknir lyklar"
msgid "Custom BG Color"
msgstr "Tvíteknir lyklar"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18626,19 +18829,28 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Breyta Tengingu: "
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18715,15 +18927,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18998,9 +19210,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Breyta Viðbót"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19016,18 +19245,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Allt úrvalið"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Breyta umbreytingu"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19035,7 +19317,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19076,6 +19358,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Verkefna Stjóri"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19374,6 +19665,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19417,6 +19712,60 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19435,6 +19784,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19450,6 +19815,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19563,7 +19932,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19609,7 +19979,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20294,35 +20664,55 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Breyta Tengingu: "
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Fjarlægja val"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "Fjarlægja val"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20345,13 +20735,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Anim DELETE-lyklar"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20359,7 +20752,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21429,6 +21822,13 @@ msgstr ""
msgid "Transform Normals"
msgstr ""
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21450,12 +21850,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22259,6 +22653,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Breyta umbreytingu"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23368,6 +23767,11 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Afrita val"
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23739,16 +24143,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23894,6 +24299,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Breyta Viðbót"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Breyta Viðbót"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25227,7 +25642,7 @@ msgstr "Stillið breyting á:"
msgid "Refraction"
msgstr "Stillið breyting á:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25303,8 +25718,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Val á kvarða"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Stillið breyting á:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -25319,7 +25740,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25331,11 +25756,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Afrita val"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25347,6 +25777,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25363,9 +25797,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Fjarlægja val"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -25745,6 +26188,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Breyta Viðbót"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25760,6 +26208,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Afrita val"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Afrita val"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Afrita val"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Breyta Tengingu: "
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/it.po b/editor/translations/it.po
index 2a41dbe9b6..2c9f7eb6fe 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -68,13 +68,16 @@
# Alfonso Scarpino <alfonso.scarpino@gmail.com>, 2022.
# Federico Caprini <caprinifede@gmail.com>, 2022.
# Alessandro Casalino <alessandro.casalino93@gmail.com>, 2022.
+# conecat <ilgrandemax190@gmail.com>, 2022.
+# Gico2006 <gradaellig@protonmail.com>, 2022.
+# ale piccia <picciatialessio2@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-15 20:00+0000\n"
-"Last-Translator: Alessandro Casalino <alessandro.casalino93@gmail.com>\n"
+"PO-Revision-Date: 2022-07-31 18:34+0000\n"
+"Last-Translator: Mirko <miknsop@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -82,7 +85,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -266,9 +269,10 @@ msgid "Data"
msgstr "Dati"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Reti"
@@ -372,8 +376,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Byte insufficienti per decodificarli o formato non valido."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Input %i non valido (assente) nell'espressione"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Input %d non valido (assente) nell'espressione"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -416,6 +420,14 @@ msgstr "Coda Messaggi"
msgid "Max Size (KB)"
msgstr "Dimensione Massima (KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Modalità Mouse"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Usa Input Accumulati"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -441,6 +453,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Comando"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (Fisico)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -456,6 +473,7 @@ msgid "Physical Scancode"
msgstr "Scancode Fisico"
#: core/os/input_event.cpp
+#, fuzzy
msgid "Unicode"
msgstr "Unicode"
@@ -492,6 +510,10 @@ msgid "Pressure"
msgstr "Pressione"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relativo"
@@ -595,7 +617,8 @@ msgstr "Descrizione"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Esegui"
@@ -650,14 +673,12 @@ msgid "Always On Top"
msgstr "Sempre In Primo Piano"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Larghezza Test"
+msgstr "Test Larghezza"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Altezza Test"
+msgstr "Test Altezza"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -680,6 +701,10 @@ msgid "Main Run Args"
msgstr "Parametri Principali Eseguiti"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Nome Scena"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Cerca nelle Estensioni dei File"
@@ -687,18 +712,13 @@ msgstr "Cerca nelle Estensioni dei File"
msgid "Script Templates Search Path"
msgstr "Percorso di Ricerca dei Template di Script"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Controllo della versione"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "Autocaricamento all'Avvio"
+msgid "Version Control Autoload On Startup"
+msgstr "Caricamento automatico del controllo di versione all'avvio"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nome dell'estensione"
+msgid "Version Control Plugin Name"
+msgstr "Nome del plugin di controllo della versione"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -805,7 +825,8 @@ msgid "Quality"
msgstr "Qualità"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filtri"
@@ -880,6 +901,7 @@ msgid "Modules"
msgstr "Moduli"
#: core/register_core_types.cpp
+#, fuzzy
msgid "TCP"
msgstr "TCP"
@@ -1072,6 +1094,7 @@ msgstr "Alta Qualità"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Dimensione Massima Buffer del Blend Shape (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libere"
@@ -1088,7 +1111,7 @@ msgstr "Specchiate"
msgid "Time:"
msgstr "Tempo:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valore:"
@@ -1143,9 +1166,8 @@ msgstr "Cambia la chiamata di un'animazione"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Fotogramma %"
+msgstr "Fotogramma"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1171,14 +1193,13 @@ msgid "Value"
msgstr "Valore"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Quantità"
+msgstr "Quantità Argomenti"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argomenti"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1188,14 +1209,12 @@ msgid "Type"
msgstr "Tipo"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Imposta Maniglia"
+msgstr "In gestione"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Imposta Maniglia"
+msgstr "Non gestire"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1205,14 +1224,12 @@ msgid "Stream"
msgstr "Stream"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Scostamento della griglia:"
+msgstr "Scostamento Dall'Inizio"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Scostamento:"
+msgstr "Scostamento Dalla Fine"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1225,9 +1242,8 @@ msgid "Animation"
msgstr "Animazione"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Easing In-Out"
+msgstr "Allentamento"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1336,8 +1352,67 @@ msgid "Remove this track."
msgstr "Rimuovi questa traccia."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Tempo (s): "
+#, fuzzy
+msgid "Time (s):"
+msgstr "Tempo (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Posizione:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotazione:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Scala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tipo:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Template di esportazione non valido:"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Allentamento:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Imposta Maniglia"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Imposta Maniglia"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Stream"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "inizia:"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "finisci:"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "clip delle animazioni:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1555,8 +1630,9 @@ msgid "Add Method Track Key"
msgstr "Aggiungi una chiave a una traccia di chiamate metodi"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Metodo non trovato nell'oggetto: "
+#, fuzzy
+msgid "Method not found in object:"
+msgstr "Metodo non trovato nell'oggetto:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2039,6 +2115,7 @@ msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "Sei sicuro di voler rimuovere tutte le connessioni dal segnale \"%s\"?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
+#, fuzzy
msgid "Signals"
msgstr "Segnali"
@@ -2091,14 +2168,15 @@ msgstr "Preferiti:"
msgid "Recent:"
msgstr "Recenti:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cerca:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Corrispondenze:"
@@ -2158,8 +2236,8 @@ msgstr "Cerca risorsa di rimpiazzo:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2167,8 +2245,8 @@ msgid "Open"
msgstr "Apri"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Proprietari di:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "proprietario di: %s (Totale: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2472,7 +2550,7 @@ msgid "Bus Options"
msgstr "Opzioni Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplica"
@@ -2524,9 +2602,9 @@ msgstr "Apri la disposizione di un bus audio"
msgid "There is no '%s' file."
msgstr "File \"%s\" assente."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Disposizione"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr ""
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2730,6 +2808,26 @@ msgid "Choose"
msgstr "Scegli"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Project export for platform:"
+msgstr "Esportazione del progetto per la piattaforma:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Completato con errori."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Completato con successo."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Fallito."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Memorizzazione file:"
@@ -2742,6 +2840,29 @@ msgid "Packing"
msgstr "Impacchettando"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Salva PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "impossibile creare il file \"%s\"."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Impossibile esportare i file del progetto"
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "impossibile aprire file da leggere dalla path \"%s\"."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Salva ZIP"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2860,11 +2981,33 @@ msgstr "Modello di sviluppo personalizzato non trovato."
msgid "Custom release template not found."
msgstr "Modello di rilascio personalizzato non trovato."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Gestisci i modelli d'esportazione"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Il percorso di esportazione specificato non esiste:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "File del modello non trovato:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Template di esportazione non valido:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Padding"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"Il PCK integrato non può essere più grande di 4 GiB nelle esportazioni a 32 "
@@ -3042,9 +3185,9 @@ msgid "Import"
msgstr "Importa"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Esporta"
@@ -4201,14 +4344,6 @@ msgid ""
msgstr ""
"Impossibile scrivere sul file '%s', file in uso, bloccato o mancano permessi."
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scena"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Nome Scena"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4323,6 +4458,10 @@ msgid "Default Color Picker Mode"
msgstr "Modalità di Scelta Colore Predefinita"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Controllo della versione"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Nome Utente"
@@ -4350,6 +4489,10 @@ msgstr "Commuta la modalità senza distrazioni."
msgid "Add a new scene."
msgstr "Aggiungi una nuova scena."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Va alla scena precedentemente aperta."
@@ -5037,12 +5180,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Il nodo selezionato non è un Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Dimensione: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Dimensione:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Pagina: "
+#, fuzzy
+msgid "Page:"
+msgstr "Pagina:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5139,6 +5285,11 @@ msgstr ""
"Per favore, aggiungerne una nel menù di esportazione o impostarne una già "
"esistente come eseguibile."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Progetto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Inserisci la logica dello script nel metodo _run()."
@@ -5392,7 +5543,9 @@ msgid "Draw Spaces"
msgstr "Disegna Spazi"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigazione"
@@ -5417,6 +5570,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Uso dei tasti aggiuntivi del mouse per navigare la cronologia"
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Selezione GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Aspetto"
@@ -5429,17 +5591,14 @@ msgid "Line Numbers Zero Padded"
msgstr "Numeri di Riga Riempiti con Zeri"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Bookmark Gutter"
msgstr "Mostra i segnalibri nella barra laterale"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Breakpoint Gutter"
msgstr "Mostra i punti d'interruzione nella barra laterale"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Info Gutter"
msgstr "Mostra le informazioni nella barra laterale"
@@ -5542,7 +5701,6 @@ msgid "Auto Brace Complete"
msgstr "Auto-completamento Parentesi"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Code Complete Delay"
msgstr "Delay del completamento automatico del codice"
@@ -5653,8 +5811,9 @@ msgid "Grid Division Level Min"
msgstr "Livello minimo di divisioni della griglia"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "Livello di Bias di divisioni della griglia"
#: editor/editor_settings.cpp
msgid "Grid XZ Plane"
@@ -5724,7 +5883,7 @@ msgstr "Modificatore Zoom"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
-msgstr ""
+msgstr "Panning Continuo Del Mouse"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5804,8 +5963,9 @@ msgid "Bone Selected Color"
msgstr "Colore Osso Selezionato"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Bone IK Color"
-msgstr ""
+msgstr "Colore IK Osso"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
@@ -5935,10 +6095,12 @@ msgstr "Host"
msgid "Port"
msgstr "Porta"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Gestore dei progetti"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Tipo di Ordinamento"
@@ -5952,8 +6114,9 @@ msgid "Keyword Color"
msgstr "Colore Parola Chiave"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "Colore Parola Chiave Controllo Flusso"
#: editor/editor_settings.cpp
msgid "Base Type Color"
@@ -6096,9 +6259,8 @@ msgid "Flat"
msgstr "Flat"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "Modalità Collisioni"
+msgstr "Nascondi Slider"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6694,14 +6856,6 @@ msgid "Replace in Files"
msgstr "Sostituisci nei file"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Trova: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Sostituisci: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Sostituisci tutto (NESSUN ANNULLA)"
@@ -6817,7 +6971,6 @@ msgstr "No BPTC Se RGB"
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Flags"
msgstr "Flags"
@@ -6829,13 +6982,12 @@ msgstr "Ripeti"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Filtro"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Mipmaps"
msgstr "Mipmaps"
@@ -6846,6 +6998,7 @@ msgstr "Anisotropico"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
+#, fuzzy
msgid "sRGB"
msgstr "sRGB"
@@ -7064,8 +7217,9 @@ msgid "Generating Lightmaps"
msgstr "Generando Lightmap"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Generazione della Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
+msgstr "Generazione della Mesh:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7093,6 +7247,18 @@ msgid "Saving..."
msgstr "Salvataggio..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr "2D, Rileva 3D"
@@ -7109,8 +7275,9 @@ msgid "HDR Mode"
msgstr "Modalità HDR"
#: editor/import/resource_importer_texture.cpp
+#, fuzzy
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
@@ -7317,7 +7484,7 @@ msgstr "Locale"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr "Localizzazione non disponibile per la lingua attuale"
+msgstr "Localizzazione non disponibile per la lingua attuale."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -7770,11 +7937,20 @@ msgid "New Anim"
msgstr "Nuova Animazione"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Crea Nuova Animazione"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Cambia Nome Animazione:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Rinomina Animazione"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Eliminare Animazione?"
@@ -7792,11 +7968,6 @@ msgid "Animation name already exists!"
msgstr "Nome animazione già esistente!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Rinomina Animazione"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplica Animazione"
@@ -7894,10 +8065,12 @@ msgstr "Opzioni dell'Onion Skinning"
msgid "Directions"
msgstr "Direzioni"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Passato"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Futuro"
@@ -7938,10 +8111,6 @@ msgid "Pin AnimationPlayer"
msgstr "Fissa AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Crea Nuova Animazione"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nome Animazione:"
@@ -8057,8 +8226,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Assegna l'animazione finale. Utile per le sotto-transizioni."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Transizione: "
+#, fuzzy
+msgid "Transition:"
+msgstr "Transizione:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8074,11 +8244,6 @@ msgid "New name:"
msgstr "Nuovo nome:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Scala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade In (s):"
@@ -8989,6 +9154,7 @@ msgstr "Crea ossa personalizzate a partire da uno o più nodi"
msgid "Clear Custom Bones"
msgstr "Cancella Ossa Personalizzate"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9052,6 +9218,10 @@ msgid "Preview Canvas Scale"
msgstr "Anteprima Dimensione Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Disposizione"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Maschera di traslazione per inserimento chiavi."
@@ -9382,14 +9552,14 @@ msgid "Icon"
msgstr "Icona"
#: editor/plugins/item_list_editor_plugin.cpp
+#, fuzzy
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "Separazione:"
+msgstr "Separatore"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9831,8 +10001,9 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Sorgente Emissione: "
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Sorgente Emissione:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10065,6 +10236,7 @@ msgid "Points"
msgstr "Punti"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Poligoni"
@@ -10222,13 +10394,6 @@ msgid "Instance:"
msgstr "Istanza:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tipo:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Apri nell'editor"
@@ -10237,10 +10402,6 @@ msgstr "Apri nell'editor"
msgid "Load Resource"
msgstr "Carica risorsa"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Ribalta Portali"
@@ -10410,6 +10571,7 @@ msgstr "Script precedente"
#: editor/plugins/script_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "File"
msgstr "File"
@@ -10937,13 +11099,17 @@ msgstr "Ruota"
msgid "Translate"
msgstr "Trasla"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Scalatura: "
+#, fuzzy
+msgid "Scaling:"
+msgstr "Scalatura:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Traslazione: "
+#, fuzzy
+msgid "Translating:"
+msgstr "Traslazione:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10966,11 +11132,6 @@ msgid "Yaw:"
msgstr "Imbardata:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Dimensione:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Oggetti disegnati:"
@@ -10995,6 +11156,7 @@ msgid "Vertices:"
msgstr "Vertici:"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "FPS: %d (%s ms)"
msgstr "FPS: %d (%s ms)"
@@ -11236,7 +11398,7 @@ msgstr "Orbita la visuale in giù"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Left"
-msgstr "Orbita la visuale in su"
+msgstr "Orbita la visuale a sinistra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Right"
@@ -11245,11 +11407,12 @@ msgstr "Orbita la visuale a destra"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Orbit View Up"
-msgstr "Vista frontale"
+msgstr "Orbita la visuale in sù"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Orbit View 180"
-msgstr ""
+msgstr "Orbita la visuale 180"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Switch Perspective/Orthogonal View"
@@ -11466,7 +11629,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geometria non valida, impossibile sostituirla con una mesh."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Converti in Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11498,16 +11662,19 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Semplificazione: "
+#, fuzzy
+msgid "Simplification:"
+msgstr "Semplificazione:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Rimpicciolisci (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
+msgstr "Rimpicciolisci (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Ingrandisci (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
+msgstr "Ingrandisci (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11570,6 +11737,11 @@ msgid "New Animation"
msgstr "Nuova Animazione"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Modalità di filtraggio"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Velocità:"
@@ -12147,12 +12319,11 @@ msgid "Select UI Scene:"
msgstr "Seleziona Scena UI:"
#: editor/plugins/theme_editor_preview.cpp
-#, fuzzy
msgid ""
"Toggle the control picker, allowing to visually select control types for "
"edit."
msgstr ""
-"Alterna il picker di controllo, permettendo di selezionare visualmente i "
+"Commuta il picker di controllo, permettendo di selezionare visualmente i "
"tipi di controllo per la modifica."
#: editor/plugins/theme_editor_preview.cpp
@@ -12449,8 +12620,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Seleziona la precedente forma, sottotile, o Tile."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Regione"
@@ -12743,7 +12913,6 @@ msgid "This property can't be changed."
msgstr "Questa proprietà non può essere cambiata."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "Opzioni Agganciamento"
@@ -12756,9 +12925,8 @@ msgstr "Opzioni Agganciamento"
#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
#: scene/main/canvas_layer.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Offset"
-msgstr "Scostamento:"
+msgstr "Scostamento"
#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
#: scene/gui/range.cpp scene/resources/animation.cpp
@@ -12769,14 +12937,12 @@ msgstr "Passo"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "Separazione:"
+msgstr "Separazione"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Seleziona"
+msgstr "Mattonella Selezionata"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12785,14 +12951,12 @@ msgstr "Seleziona"
#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Texture"
-msgstr "Testo"
+msgstr "Texture"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "Offset Byte"
+msgstr "Scostamento Texture"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12802,59 +12966,49 @@ msgstr "Materiale"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Modulate"
-msgstr "Popola"
+msgstr "Modula"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Commuta la modalità"
+msgstr "Modalità Mattonelle"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "Modalità Bitmask"
+msgstr "Modalità Bitmask Autotile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "Dimensione Outline:"
+msgstr "Dimensione Subtile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "Spaziatura Linee"
+msgstr "Spaziatura Subtile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "Foro di Occlusione"
+msgstr "Scostamento Occlusore"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "Sensazione Navigazione"
+msgstr "Scostamento Navigazione"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Scostamento:"
+msgstr "Scostamento Forma"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Trasformazione"
+msgstr "Trasformazione Forma"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "Usa Collisioni"
+msgstr "Collisione Selezionata"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Selected Collision One Way"
-msgstr "Solo nella selezione"
+msgstr "Collisione Selezionata Solo Da Una Parte"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -12862,19 +13016,16 @@ msgid "Selected Collision One Way Margin"
msgstr "Margine di Collisione BVH"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "Navigazione visibile"
+msgstr "Navigazione Selezionata"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "Seleziona"
+msgstr "Occlusione Selezionata"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Filtra Script"
+msgstr "Script Tileset"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -12954,8 +13105,9 @@ msgid "Select SSH private key path"
msgstr "Seleziona il percorso della chiave privata SSH"
#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "SSH Passphrase"
-msgstr ""
+msgstr "Frase di accesso SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -13034,8 +13186,9 @@ msgid "Pull"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Push"
-msgstr ""
+msgstr "Push"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Force Push"
@@ -13058,8 +13211,9 @@ msgid "Typechange"
msgstr "Cambio di tipo"
#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Unmerged"
-msgstr ""
+msgstr "Non mescolato"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "View:"
@@ -13970,41 +14124,26 @@ msgid "Runnable"
msgstr "Eseguibile"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Eliminare preset \"%s\"?"
+#, fuzzy
+msgid "Export the project for all the presets defined."
+msgstr "Esporta il progetto per tutti i preset definiti."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+#, fuzzy
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Non è stato possibile esportare il progetto per la piattaforma \"%s\".\n"
-"I template di esportazione sembrano essere mancanti o non validi."
+"Tutti i preset devono avere un percorso di esportazione definito affinché "
+"\"Esporta tutto\" funzioni."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Non è stato possibile esportare il progetto per la piattaforma \"%s\".\n"
-"Questo potrebbe essere dovuto a un problema di configurazione nel preset di "
-"esportazione o nelle impostazioni di esportazione."
+msgid "Delete preset '%s'?"
+msgstr "Eliminare preset \"%s\"?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Esportando Tutto"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Il percorso di esportazione specificato non esiste:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"I template di esportazione per questa piattaforma sono mancanti/corrotti:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Percorso di Esportazione"
@@ -14107,33 +14246,44 @@ msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
msgstr ""
+"Nota: La chiave di crittografia deve essere salvata nel binario,\n"
+"occorre compilare i templates di esportazione dal sorgente."
#: editor/project_export.cpp
msgid "More Info..."
msgstr "Maggiori Informazioni..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "Esporta PCK/Zip"
-
-#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "Esporta Progetto"
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Esporta PCK/Zip..."
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Modalità di esportazione?"
+#, fuzzy
+msgid "Export Project..."
+msgstr "Esporta Progetto..."
#: editor/project_export.cpp
msgid "Export All"
msgstr "Esporta Tutto"
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Si prega di scegliere una cartella vuota:"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Esporta Tutto..."
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "File ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Pacchetto Gioco Godot"
#: editor/project_export.cpp
@@ -14141,6 +14291,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Le export templates per questa piattaforma sono mancanti:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Fondatori del progetto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gestisci template d'esportazione"
@@ -14458,14 +14613,14 @@ msgid "Project Manager"
msgstr "Gestore Progetto"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Caricamento, per favore attendere..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Ultima Modifica"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Caricamento, per favore attendere..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Modifica Progetto"
@@ -15214,6 +15369,10 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"Impossibile salvare un branch che è figlio di una scena già istanziata.\n"
+"Per salvare questo branch in una sua propria scena, aprire la scena "
+"originale, cliccare con il tasto destro del mouse su questo branch e "
+"selezionare \"Salva Branch come Scena\"."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -15221,6 +15380,10 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"Impossibile salvare un branch che fa parte di una scena ereditata.\n"
+"Per salvare questo branch in una sua propria scena, aprire la scena "
+"originale, cliccare con il tasto destro del mouse su questo branch e "
+"selezionare \"Salva Branch come Scena\"."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
@@ -15248,7 +15411,7 @@ msgstr "Rendi Locale"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "Un altro nodo sta già usando questo nome unico nella scena."
#: editor/scene_tree_dock.cpp
msgid "Enable Scene Unique Name"
@@ -15435,7 +15598,6 @@ msgid "Show Scene Tree Root Selection"
msgstr "Mostra Selezione del Tree Root di Scena"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Derive Script Globals By Name"
msgstr "Ricava Script Globali Dal Nome"
@@ -15682,8 +15844,9 @@ msgid "Attach Node Script"
msgstr "Allega Script Nodo"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Remoto "
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Remoto %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16024,19 +16187,16 @@ msgid "Set Occluder Polygon Point Position"
msgstr "Imposta Posizione Poligono di Occlusione"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Imposta Posizione Punto Curva"
+msgstr "Imposta Posizione Del Foro Dell'Occlusore"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Front"
-msgstr "Crea Poligono di Occlusione"
+msgstr "Parte Davanti Del Poligono di Occlusione"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Back"
-msgstr "Crea Poligono di Occlusione"
+msgstr "Parte Dietro Del Poligono di Occlusione"
#: editor/spatial_editor_gizmos.cpp
msgid "Occluder Hole"
@@ -16093,8 +16253,9 @@ msgid "Flush stdout On Print"
msgstr "Svuota stdout Alla Stampa"
#: main/main.cpp servers/visual_server.cpp
+#, fuzzy
msgid "Logging"
-msgstr ""
+msgstr "Logging"
#: main/main.cpp
msgid "File Logging"
@@ -16214,7 +16375,7 @@ msgstr ""
#: main/main.cpp
msgid "stdout"
-msgstr ""
+msgstr "stdout"
#: main/main.cpp
msgid "Print FPS"
@@ -16225,9 +16386,8 @@ msgid "Verbose stdout"
msgstr "stdout Verbose"
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-#, fuzzy
msgid "Physics Interpolation"
-msgstr "Modalità d'interpolazione"
+msgstr "Interpolazione Fisica"
#: main/main.cpp
msgid "Enable Warnings"
@@ -16247,7 +16407,7 @@ msgstr ""
#: main/main.cpp
msgid "iOS"
-msgstr ""
+msgstr "iOS"
#: main/main.cpp
msgid "Hide Home Indicator"
@@ -16260,7 +16420,7 @@ msgstr "Dispositivi Input"
#: main/main.cpp
#, fuzzy
msgid "Pointing"
-msgstr "Punto"
+msgstr "Puntamento"
#: main/main.cpp
msgid "Touch Delay"
@@ -16268,7 +16428,7 @@ msgstr "Delay Tocco"
#: main/main.cpp servers/visual_server.cpp
msgid "GLES3"
-msgstr ""
+msgstr "GLES3"
#: main/main.cpp servers/visual_server.cpp
msgid "Shaders"
@@ -16304,7 +16464,7 @@ msgstr "Immagine"
#: main/main.cpp
msgid "Fullsize"
-msgstr ""
+msgstr "Dimensione Massima"
#: main/main.cpp scene/resources/dynamic_font.cpp
msgid "Use Filter"
@@ -16396,14 +16556,12 @@ msgid "Auto Accept Quit"
msgstr "Auto-Accetta Uscita"
#: main/main.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Quit On Go Back"
-msgstr "Torna indietro"
+msgstr "Esci Nel Tornare indietro"
#: main/main.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Snap Controls To Pixels"
-msgstr "Scatta sui lati dei nodi"
+msgstr "Aggancia I Controlli Ai Pixel"
#: main/main.cpp
msgid "Dynamic Fonts"
@@ -16419,7 +16577,7 @@ msgstr ""
#: modules/csg/csg_gizmos.cpp
msgid "CSG"
-msgstr ""
+msgstr "CSG"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -16508,7 +16666,7 @@ msgstr "Lati Anello"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr "Poligono"
@@ -16558,7 +16716,7 @@ msgstr "Scegli la Distanza:"
#: modules/csg/csg_shape.cpp
#, fuzzy
msgid "Path Joined"
-msgstr "Rotazione Casuale:"
+msgstr "Percorsi Uniti"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Compression Mode"
@@ -16589,23 +16747,20 @@ msgid "DTLS Hostname"
msgstr ""
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Use DTLS"
-msgstr "Usa Scatto"
+msgstr "Usa DTLS"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
msgstr ""
#: modules/fbx/editor_scene_importer_fbx.cpp
-#, fuzzy
msgid "Use FBX"
-msgstr "Usa BVH"
+msgstr "Usa FBX"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Config File"
-msgstr "Memorizzazione file:"
+msgstr "File Di Configurazione"
#: modules/gdnative/gdnative.cpp
msgid "Load Once"
@@ -16675,8 +16830,9 @@ msgid "Disabled GDNative Singleton"
msgstr "Singleton GDNative disabilitato"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Librerie: "
+#, fuzzy
+msgid "Libraries:"
+msgstr "Librerie:"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
@@ -16907,9 +17063,8 @@ msgid "Parent"
msgstr "Genitore"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Xform"
-msgstr "Piattaforma"
+msgstr "Xform"
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
@@ -17076,7 +17231,6 @@ msgid "Use In Baked Light"
msgstr "Utilizza in Luce Preprocessata"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr "Cella"
@@ -17102,6 +17256,19 @@ msgstr "Centra Z"
msgid "Mask"
msgstr "Maschera"
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigazione"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Sensazione Navigazione"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Piano Successivo"
@@ -17311,12 +17478,14 @@ msgid "Oversample"
msgstr ""
#: modules/mobile_vr/mobile_vr_interface.cpp
+#, fuzzy
msgid "K1"
-msgstr ""
+msgstr "K1"
#: modules/mobile_vr/mobile_vr_interface.cpp
+#, fuzzy
msgid "K2"
-msgstr ""
+msgstr "K2"
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
@@ -17513,16 +17682,18 @@ msgstr ""
"memoria di lavoro del nodo! Si prega di correggere il nodo."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "Il nodo ha ritornato una sequenza di output invalida: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
+msgstr "Il nodo ha ritornato una sequenza di output invalida:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Trovato bit di sequenza ma non il nodo nello stack, segnalare il bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "Overflow dello stack con profondità dello stack: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
+msgstr "Overflow dello stack con profondità dello stack:"
#: modules/visual_script/visual_script.cpp
#, fuzzy
@@ -17850,11 +18021,11 @@ msgstr "Modifica membro"
#: scene/resources/visual_shader.cpp
#, fuzzy
msgid "Expression"
-msgstr "Cambia espressione"
+msgstr "Espressione"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Return"
-msgstr ""
+msgstr "Ritorno"
#: modules/visual_script/visual_script_flow_control.cpp
#, fuzzy
@@ -17875,8 +18046,9 @@ msgid "if (cond) is:"
msgstr "if (cond) is:"
#: modules/visual_script/visual_script_flow_control.cpp
+#, fuzzy
msgid "While"
-msgstr ""
+msgstr "While"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -17891,16 +18063,18 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "Il tipo di input non è iterabile: "
+#, fuzzy
+msgid "Input type not iterable:"
+msgstr "Il tipo di input non è iterabile:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "L'iteratore è diventato invalido"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "L'iteratore è diventato invalido: "
+#, fuzzy
+msgid "Iterator became invalid:"
+msgstr "L'iteratore è diventato invalido:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18059,12 +18233,14 @@ msgid "Operator"
msgstr "Operatore"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": Argomento invalido di tipo: "
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Argomento invalido di tipo:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": Argomenti invalidi: "
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Argomenti invalidi:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18075,12 +18251,14 @@ msgid "Var Name"
msgstr "Var Nome"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "VariableGet non trovato nello script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "VariableGet non trovato nello script:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "VariableSet non trovato nello script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "VariableSet non trovato nello script:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18182,8 +18360,9 @@ msgid "Search VisualScript"
msgstr "Ricerca VisualScript"
#: modules/visual_script/visual_script_yield_nodes.cpp
+#, fuzzy
msgid "Yield"
-msgstr ""
+msgstr "Yield"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
@@ -18208,17 +18387,17 @@ msgstr "Tempo Di Attesa"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
msgid "WaitSignal"
-msgstr "Segnale"
+msgstr "WaitSignal"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
msgid "WaitNodeSignal"
-msgstr "Segnale"
+msgstr "WaitNodeSignal"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
msgid "WaitInstanceSignal"
-msgstr "Istanza"
+msgstr "WaitInstanceSignal"
#: modules/webrtc/webrtc_data_channel.cpp
#, fuzzy
@@ -18395,6 +18574,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Il pacchetto deve avere almeno un \".\" separatore."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Utilizza Build Personalizzata"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr "Utilizza Build Personalizzata"
@@ -18402,6 +18586,14 @@ msgstr "Utilizza Build Personalizzata"
msgid "Export Format"
msgstr "Formato Esportazione"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "SDK Min"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "Target SDK"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18440,14 +18632,6 @@ msgstr "Elimina Installazione Precedente"
msgid "Code"
msgstr "Codice"
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr "SDK Min"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr "Target SDK"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr "Pacchetto"
@@ -18499,7 +18683,6 @@ msgid "Hand Tracking Frequency"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Passthrough"
msgstr "Passthrough"
@@ -18597,10 +18780,6 @@ msgid "Could not execute on device."
msgstr "Impossibile eseguire sul dispositivo."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Impossibile trovare lo strumento \"apksigner\"."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18693,7 +18872,7 @@ msgstr "Per utilizzare i plugin \"Use Custom Build\" deve essere abilitato."
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" è valido solo quando \"Xr Mode\" è impostato su \"Oculus "
@@ -18701,7 +18880,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" è valido solo quando \"Xr Mode\" è impostato su \"Oculus "
"Mobile VR\"."
@@ -18714,33 +18893,56 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Segnale"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"Non è stato possibile trovare \"apksigner\".\n"
-"Verificare che il comando sia disponibile nella directory degli strumenti di "
-"compilazione Android SDK.\n"
-"Il %s risultato non è firmato."
+"'apksigner' non è stato trovato. Verificare che il comando sia disponibile "
+"nella directory build-tools di Android SDK. Il risultato %s non è firmato."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -18755,6 +18957,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Non è stato possibile trovare keystore, impossible esportare."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Non è stato possibile avviare l'eseguibile apksigner."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' ha restituito con errore #%d"
@@ -18785,8 +18992,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Nome file non valido! L'APK Android richiede l'estensione *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Formato d'esportazione non supportato!\n"
+msgid "Unsupported export format!"
+msgstr "Formato d'esportazione non supportato!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -18798,27 +19005,27 @@ msgstr ""
"\"Progetto\"."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Versione build di Android non coerente:\n"
-" Template installato: %s\n"
-" Versione Godot: %s\n"
-"Per favore, reinstalla il build template di Android dal menu \"Progetto\"."
+"Versione build di Android non coerente: Template installato: %s, Versione "
+"Godot: %s. Per favore, reinstalla il build template di Android dal menu "
+"\"Progetto\"."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Impossibile sovrascrivere i file res://android/build/res/*.xml con il nome "
"del progetto"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "Impossibile esportare i file del progetto in un progetto gradle\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Impossibile esportare i file del progetto in un progetto gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18829,14 +19036,14 @@ msgid "Building Android Project (gradle)"
msgstr "Compilazione di un progetto Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Compilazione del progetto Android fallita, controlla l'output per vedere gli "
-"errori.\n"
-"In alternativa, visita docs.godotengine.org per la documentazione della "
-"build Android."
+"errori. In alternativa, visita docs.godotengine.org per la documentazione "
+"della build Android."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -18851,7 +19058,8 @@ msgstr ""
"directory del progetto gradle per gli output."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Pacchetto non trovato: \"%s\""
#: platform/android/export/export_plugin.cpp
@@ -18859,31 +19067,28 @@ msgid "Creating APK..."
msgstr "Creazione APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"Impossibile trovare il template APK per l'esportazione:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Impossibile trovare il template APK per l'esportazione: \"%s\"."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
-"Mancano librerie nel template di esportazione per le architetture "
-"selezionate: %s.\n"
-"Si prega di costruire un template con tutte le librerie richieste, o "
-"deselezionare le architetture mancanti nel preset di esportazione."
+"Librerie mancanti nel modello di esportazione per le architetture "
+"selezionate: %s. Creare un modello con tutte le librerie richieste o "
+"deselezionare le architetture mancanti nella preimpostazione di esportazione."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "Aggiungendo file..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Impossibile esportare i file del progetto"
#: platform/android/export/export_plugin.cpp
@@ -19126,6 +19331,17 @@ msgstr "Taglia nodi"
msgid "Custom BG Color"
msgstr "Taglia nodi"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Gestisci i modelli d'esportazione"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Modello di rilascio personalizzato non trovato."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19148,22 +19364,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Esegui il codice HTML esportato nel browser di sistema predefinito."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Impossibile aprire il template per l'esportazione:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Template di esportazione non valido:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Impossibile scrivere il file:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Imposta Margine"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Impossibile leggere il file:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Separazione:"
@@ -19238,20 +19467,23 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Impossibile leggere la shell HTML:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Impossibile creare la directory per il server HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Errore all'avvio del server HTTP:"
#: platform/javascript/export/export.cpp
msgid "Web"
-msgstr ""
+msgstr "Web"
#: platform/javascript/export/export.cpp
msgid "HTTP Host"
@@ -19547,9 +19779,28 @@ msgid "Apple Team ID"
msgstr "ID Apple Team"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Impossibile esportare i file del progetto"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Impossibile avviare l'eseguibile xcrun."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Localizzazione"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19565,20 +19816,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Nessuna icona trovata."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Errore nel salvataggio del file: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direzione"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Impossibile avviare l'eseguibile hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Creando la miniatura"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Impossibile trovare il template dell'app per l'esportazione:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Template di esportazione non valido:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19586,7 +19893,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19627,6 +19934,16 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proiezione"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Impossibile aprire il file da leggere dal percorso \"%s\"."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Identificatore del bundle non valido:"
@@ -19764,7 +20081,7 @@ msgstr "Nome Visualizzato del Publisher"
#: platform/uwp/export/export.cpp
#, fuzzy
msgid "Product GUID"
-msgstr "GUID prodotto invalido."
+msgstr "GUID del prodotto"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -19936,12 +20253,12 @@ msgstr ""
#: platform/uwp/export/export.cpp
msgid "UWP"
-msgstr ""
+msgstr "UWP"
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "Signtool"
-msgstr "Segnale"
+msgstr "Signtool"
#: platform/uwp/export/export.cpp
msgid "Debug Certificate"
@@ -19953,6 +20270,11 @@ msgid "Debug Algorithm"
msgstr "Debugger"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Impossibile rimuovere il file temporaneo:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20000,6 +20322,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Rotazione Casuale:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Non è stato possibile trovare keystore, impossible esportare."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Non è stato possibile trovare keystore, impossible esportare."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Estensione non valida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Non è stato possibile trovare keystore, impossible esportare."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Non è stato possibile trovare keystore, impossible esportare."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Identificatore non valido:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nome non valido."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Estensione non valida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Impossibile rimuovere il file temporaneo:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20018,27 +20404,47 @@ msgid "Invalid product version:"
msgstr "Versione prodotto non valida:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Estensione non valida."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
-msgstr "Nuova Finestra"
+msgstr "Windows"
#: platform/windows/export/export.cpp
msgid "Rcedit"
-msgstr ""
+msgstr "Rcedit"
#: platform/windows/export/export.cpp
msgid "Osslsigncode"
-msgstr ""
+msgstr "Osslsigncode"
#: platform/windows/export/export.cpp
msgid "Wine"
+msgstr "Wine"
+
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
msgstr ""
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
msgid "Frames"
-msgstr "Fotogramma %"
+msgstr "Fotogrammi"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -20113,8 +20519,9 @@ msgstr "Aggiorna Anteprima"
#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
+#, fuzzy
msgid "Gravity"
-msgstr ""
+msgstr "Gravità"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20161,7 +20568,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Scegli la Distanza:"
@@ -20169,7 +20577,7 @@ msgstr "Scegli la Distanza:"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
#, fuzzy
msgid "Attenuation"
-msgstr "Animazione"
+msgstr "Attenuazione"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
@@ -20212,7 +20620,7 @@ msgstr "Ingrandisci"
msgid "Custom Viewport"
msgstr "1 Vista"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20220,8 +20628,9 @@ msgid "Process Mode"
msgstr "Modalità spostamento"
#: scene/2d/camera_2d.cpp
+#, fuzzy
msgid "Limit"
-msgstr ""
+msgstr "Limite"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -20268,13 +20677,14 @@ msgid "Smoothing"
msgstr "Graduale"
#: scene/2d/camera_2d.cpp
+#, fuzzy
msgid "H"
-msgstr ""
+msgstr "H"
#: scene/2d/camera_2d.cpp
#, fuzzy
msgid "V"
-msgstr "UV"
+msgstr "V"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -20516,9 +20926,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Fixed FPS"
-msgstr "Vedi FPS"
+msgstr "FPS fisso"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20528,7 +20937,7 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Drawing"
-msgstr ""
+msgstr "Disegnare"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20572,19 +20981,20 @@ msgstr "Assegna"
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Direction"
-msgstr "Direzioni"
+msgstr "Direzione"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
+#, fuzzy
msgid "Spread"
-msgstr ""
+msgstr "Propagazione"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Initial Velocity"
-msgstr "Inizializza"
+msgstr "Velocità iniziale"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20595,8 +21005,9 @@ msgstr "Velocità"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
+#, fuzzy
msgid "Angular Velocity"
-msgstr ""
+msgstr "Velocità angolare"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20608,13 +21019,13 @@ msgstr "Velocità"
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Orbit Velocity"
-msgstr "Orbita la visuale a destra"
+msgstr "Velocità orbitale"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Linear Accel"
-msgstr "Lineare"
+msgstr "Accelerazione lineare"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20635,21 +21046,24 @@ msgstr "Dividi Curva"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
+#, fuzzy
msgid "Radial Accel"
-msgstr ""
+msgstr "Accelerazione radiale"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
+#, fuzzy
msgid "Tangential Accel"
-msgstr ""
+msgstr "Accelerazione tangenziale"
#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
#: scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
+#, fuzzy
msgid "Damping"
-msgstr ""
+msgstr "Smorzamento"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20664,8 +21078,9 @@ msgstr "Dividi Curva"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
+#, fuzzy
msgid "Angle"
-msgstr ""
+msgstr "Angolo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20774,12 +21189,12 @@ msgstr "Nodo A e Nodo B devono essere PhysicsBody2D diversi"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
#, fuzzy
msgid "Node A"
-msgstr "Nodo"
+msgstr "Nodo A"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
#, fuzzy
msgid "Node B"
-msgstr "Nodo"
+msgstr "Nodo B"
#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
@@ -20798,8 +21213,9 @@ msgstr ""
#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
+#, fuzzy
msgid "Length"
-msgstr ""
+msgstr "Lunghezza"
#: scene/2d/joints_2d.cpp
#, fuzzy
@@ -20835,8 +21251,9 @@ msgstr "TextureRegion"
#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
+#, fuzzy
msgid "Energy"
-msgstr ""
+msgstr "Energia"
#: scene/2d/light_2d.cpp
msgid "Z Min"
@@ -20863,7 +21280,7 @@ msgstr ""
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
#, fuzzy
msgid "Shadow"
-msgstr "Shader"
+msgstr "Ombra"
#: scene/2d/light_2d.cpp
#, fuzzy
@@ -20913,13 +21330,14 @@ msgid "Default Color"
msgstr "Predefinito"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
+#, fuzzy
msgid "Fill"
-msgstr ""
+msgstr "Riempimento"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Gradient"
-msgstr "Gradiente Modificato"
+msgstr "Gradiente"
#: scene/2d/line_2d.cpp
#, fuzzy
@@ -20965,8 +21383,9 @@ msgid "Antialiased"
msgstr "Inizializza"
#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
+#, fuzzy
msgid "Multimesh"
-msgstr ""
+msgstr "Multimesh"
#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
@@ -20979,11 +21398,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Modifica una connessione:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Associazione"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Scegli la Distanza:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Scegli la Distanza:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Opzioni avanzate"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Abilita"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21001,16 +21452,6 @@ msgstr "Ribalta orizzontalmente"
msgid "Max Speed"
msgstr "Velocità:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Scegli la Distanza:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Abilita"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21037,23 +21478,26 @@ msgstr ""
"poligono."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance deve essere figlio o nipote di un nodo "
-"Navigation2D. Esso fornisce solamente dati di navigazione."
-
-#: scene/2d/navigation_polygon.cpp
+#, fuzzy
msgid "Navpoly"
-msgstr ""
+msgstr "Navpoly"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "In Centro In Basso"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Spostamento"
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Rotazione in Gradi"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Costante"
@@ -21222,7 +21666,7 @@ msgstr "Inizializza"
#: scene/resources/physics_material.cpp
#, fuzzy
msgid "Friction"
-msgstr "Funzioni"
+msgstr "Frizione"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
@@ -21250,18 +21694,19 @@ msgstr ""
"Modifica invece la dimensione nelle forme di collisione figlie."
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
+#, fuzzy
msgid "Mass"
-msgstr ""
+msgstr "Massa"
#: scene/2d/physics_body_2d.cpp
#, fuzzy
msgid "Inertia"
-msgstr "Verticale:"
+msgstr "Inerzia"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
msgid "Weight"
-msgstr "Luce"
+msgstr "Peso"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Gravity Scale"
@@ -21302,8 +21747,9 @@ msgid "Damp"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
+#, fuzzy
msgid "Angular"
-msgstr ""
+msgstr "Angolare"
#: scene/2d/physics_body_2d.cpp
msgid "Applied Forces"
@@ -21337,7 +21783,7 @@ msgstr ""
#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
#, fuzzy
msgid "Normal"
-msgstr "Formato"
+msgstr "Normale"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21469,12 +21915,14 @@ msgstr ""
"Skeleton2D e impostane una."
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
+#, fuzzy
msgid "Hframes"
-msgstr ""
+msgstr "Hframes"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
+#, fuzzy
msgid "Vframes"
-msgstr ""
+msgstr "Vframes"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#, fuzzy
@@ -21718,7 +22166,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_filter.cpp
#, fuzzy
msgid "dB"
-msgstr "B"
+msgstr "dB"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -21732,8 +22180,9 @@ msgstr "Impacchettando"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
+#, fuzzy
msgid "Interior"
-msgstr ""
+msgstr "Interno"
#: scene/3d/baked_lightmap.cpp
msgid "Finding meshes and lights"
@@ -21798,9 +22247,8 @@ msgid "Default Texels Per Unit"
msgstr "Tema Predefinito"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Atlas"
-msgstr "Nuova Atlas"
+msgstr "Atlas"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -21839,7 +22287,7 @@ msgstr "Indenta a destra"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#, fuzzy
msgid "Propagation"
-msgstr "Navigazione"
+msgstr "Propagazione"
#: scene/3d/baked_lightmap.cpp
msgid "Image Path"
@@ -21871,11 +22319,12 @@ msgstr "Traccia di proprietà"
#: scene/3d/camera.cpp
#, fuzzy
msgid "Projection"
-msgstr "Progetto"
+msgstr "Proiezione"
#: scene/3d/camera.cpp
+#, fuzzy
msgid "FOV"
-msgstr ""
+msgstr "FOV"
#: scene/3d/camera.cpp
#, fuzzy
@@ -21885,11 +22334,12 @@ msgstr "Scostamento della griglia:"
#: scene/3d/camera.cpp
#, fuzzy
msgid "Near"
-msgstr "Più vicino"
+msgstr "Vicino"
#: scene/3d/camera.cpp
+#, fuzzy
msgid "Far"
-msgstr ""
+msgstr "Lontano"
#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
@@ -21898,7 +22348,7 @@ msgstr ""
#: servers/physics_server.cpp
#, fuzzy
msgid "Margin"
-msgstr "Imposta Margine"
+msgstr "Margine"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22027,7 +22477,7 @@ msgstr ""
#: scene/3d/cull_instance.cpp servers/visual_server.cpp
#, fuzzy
msgid "Portals"
-msgstr "Ribalta orizzontalmente"
+msgstr "Portali"
#: scene/3d/cull_instance.cpp
#, fuzzy
@@ -22074,8 +22524,9 @@ msgstr ""
"Per rimuovere questo avviso, disattiva la proprietà Compress di GIProbe."
#: scene/3d/gi_probe.cpp
+#, fuzzy
msgid "Subdiv"
-msgstr ""
+msgstr "Subdiv"
#: scene/3d/gi_probe.cpp
#, fuzzy
@@ -22226,8 +22677,9 @@ msgid "Depth Range"
msgstr "Profondità"
#: scene/3d/light.cpp
+#, fuzzy
msgid "Omni"
-msgstr ""
+msgstr "Omni"
#: scene/3d/light.cpp
#, fuzzy
@@ -22261,6 +22713,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Trasforma Normals"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22285,14 +22744,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance deve essere un figlio o nipote di un nodo Navigation. "
-"Fornisce solamente dati per la navigazione."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -22646,12 +23097,12 @@ msgstr ""
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Upper"
-msgstr "Maiuscolo"
+msgstr "Superiore"
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Lower"
-msgstr "Minuscolo"
+msgstr "Minore"
#: scene/3d/physics_joint.cpp
msgid "Motor"
@@ -22968,8 +23419,9 @@ msgid "There should only be one RoomManager in the SceneTree."
msgstr "Ci dovrebbe essere un solo RoomManager nello SceneTree."
#: scene/3d/room_manager.cpp
+#, fuzzy
msgid "Main"
-msgstr ""
+msgstr "Principale"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
@@ -22984,9 +23436,8 @@ msgid "Roomlist"
msgstr ""
#: scene/3d/room_manager.cpp servers/visual_server.cpp
-#, fuzzy
msgid "PVS"
-msgstr "FPS"
+msgstr "PVS"
#: scene/3d/room_manager.cpp
#, fuzzy
@@ -23195,6 +23646,11 @@ msgstr ""
"Modifica invece la dimensione nelle forme di collisione figlie."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Mantieni Transform Globale"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23213,8 +23669,9 @@ msgid "Spring Length"
msgstr ""
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
+#, fuzzy
msgid "Opacity"
-msgstr ""
+msgstr "Opacità"
#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
#, fuzzy
@@ -23284,7 +23741,7 @@ msgstr "Funzioni"
#: scene/3d/vehicle_body.cpp
#, fuzzy
msgid "Suspension"
-msgstr "Cambia espressione"
+msgstr "Sospensione"
#: scene/3d/vehicle_body.cpp
#, fuzzy
@@ -23298,7 +23755,7 @@ msgstr ""
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
-msgstr "Riprova"
+msgstr "Geometria"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23335,8 +23792,9 @@ msgid "Lightmap Scale"
msgstr ""
#: scene/3d/visual_instance.cpp
+#, fuzzy
msgid "LOD"
-msgstr ""
+msgstr "LOD"
#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
#: scene/resources/material.cpp
@@ -23647,8 +24105,9 @@ msgid "Stretch Mode"
msgstr "Modalità di Selezione"
#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
+#, fuzzy
msgid "Alignment"
-msgstr ""
+msgstr "Allineamento"
#: scene/gui/base_button.cpp
#, fuzzy
@@ -23671,7 +24130,7 @@ msgstr ""
#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
#, fuzzy
msgid "Shortcut"
-msgstr "Scorciatoie"
+msgstr "Scorciatoia"
#: scene/gui/base_button.cpp
#, fuzzy
@@ -24433,6 +24892,11 @@ msgstr "Cartella:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Solo nella selezione"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Abilita"
@@ -24511,11 +24975,12 @@ msgstr ""
#: scene/gui/texture_progress.cpp
#, fuzzy
msgid "Fill Mode"
-msgstr "Modalità Riproduzione:"
+msgstr "Modalità di riempimento"
#: scene/gui/texture_progress.cpp scene/resources/material.cpp
+#, fuzzy
msgid "Tint"
-msgstr ""
+msgstr "Tinta"
#: scene/gui/texture_progress.cpp
msgid "Radial Fill"
@@ -24529,7 +24994,7 @@ msgstr "Inizializza"
#: scene/gui/texture_progress.cpp
#, fuzzy
msgid "Fill Degrees"
-msgstr "Ruotando di %s gradi."
+msgstr "Gradi di Riempimento"
#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -24839,19 +25304,6 @@ msgstr "Percorso di Esportazione"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Questo viewport non è impostato come target di render. Se si vuole che il "
-"suo contenuto venga direttamente visualizzato sullo schermo, renderlo figlio "
-"di un Control, in modo che possa ottenere una dimensione. Altrimenti, "
-"renderlo un RenderTarget e assegnare la sua texture interna a qualche nodo "
-"per la visualizzazione."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -24859,6 +25311,15 @@ msgstr ""
"entrambi i lati per visualizzare qualcosa."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25017,6 +25478,16 @@ msgid "3D Physics"
msgstr "Fisica"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigazione"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigazione"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25403,7 +25874,7 @@ msgstr "Chiamato Separatore"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Font Separator"
-msgstr "Operatore colore."
+msgstr "Separatore di caratteri"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25413,7 +25884,7 @@ msgstr "Colore Osso 1"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Font Color Separator"
-msgstr "Operatore colore."
+msgstr "Separatore del colore del carattere"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25942,7 +26413,7 @@ msgstr "Condizione"
#: scene/resources/environment.cpp
msgid "Fog"
-msgstr ""
+msgstr "Nebbia"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26265,7 +26736,7 @@ msgstr ""
#: scene/resources/material.cpp
#, fuzzy
msgid "Disable Ambient Light"
-msgstr "Indenta a destra"
+msgstr "Disattiva la luce ambientale"
#: scene/resources/material.cpp
#, fuzzy
@@ -26287,7 +26758,7 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Is sRGB"
-msgstr ""
+msgstr "È sRGB"
#: scene/resources/material.cpp servers/visual_server.cpp
#, fuzzy
@@ -26405,9 +26876,8 @@ msgid "Flowmap"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Ambient Occlusion"
-msgstr "Occlusione"
+msgstr "Occlusione ambientale"
#: scene/resources/material.cpp
msgid "Deep Parallax"
@@ -26445,7 +26915,7 @@ msgstr "Trasmissione"
msgid "Refraction"
msgstr "Separazione:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26528,7 +26998,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Scalatura:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Imposta Tipo di Variabile"
#: scene/resources/navigation_mesh.cpp
@@ -26545,8 +27020,14 @@ msgid "Source Group Name"
msgstr "Sorgente"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
+#, fuzzy
+msgid "Cells"
+msgstr "Cella"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Argomenti Scena Principale:"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
@@ -26558,11 +27039,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Regione"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Unisci da Scena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26576,6 +27062,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Carica i predefiniti"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Scegli la Distanza:"
@@ -26593,9 +27084,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Generando AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Scostamento:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27009,6 +27510,11 @@ msgid "Scenario"
msgstr "Scena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigazione"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27026,6 +27532,26 @@ msgstr "Lineare sinistra"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Passo Predefinito dei Float"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Anteprima Predefinita"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testing"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Modifica una connessione:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -27240,7 +27766,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
#, fuzzy
msgid "Time Pullout (ms)"
-msgstr "Timeout."
+msgstr "Estrazione Temporale (ms)"
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
msgid "Surround"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index a2e81aca45..60458e89df 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -38,12 +38,14 @@
# Hiroki Taira <hrk4649@gmail.com>, 2022.
# Juto <mvobujd237@gmail.com>, 2022.
# jp.owo.Manda <admin@alterbaum.net>, 2022.
+# KokiOgawa <mupimupicandy@gmail.com>, 2022.
+# cacapon <takuma.tsubo@amazingengine.co.jp>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-22 05:53+0000\n"
+"PO-Revision-Date: 2022-06-06 01:50+0000\n"
"Last-Translator: nitenook <admin@alterbaum.net>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
@@ -80,7 +82,7 @@ msgstr "コンポジターで垂直同期する"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "デルタスムージング"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
@@ -166,7 +168,7 @@ msgstr "エディターのヒント"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "エラーメッセージを表示"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -217,7 +219,7 @@ msgstr "メモリー"
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "制限"
#: core/command_queue_mt.cpp
msgid "Command Queue"
@@ -240,9 +242,10 @@ msgid "Data"
msgstr "データ"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "ネットワーク"
@@ -256,7 +259,7 @@ msgstr "ページサイズ"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "ページの先読み"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
@@ -323,8 +326,9 @@ msgid "Data Array"
msgstr "データ配列"
#: core/io/stream_peer_ssl.cpp
+#, fuzzy
msgid "Blocking Handshake"
-msgstr ""
+msgstr "ハンドシェイクを阻止すること"
#: core/io/udp_server.cpp
msgid "Max Pending Connections"
@@ -346,7 +350,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "デコードするにはバイトが足りないか、または無効な形式です。"
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "式中の無効な入力 %i (渡されていません)"
#: core/math/expression.cpp
@@ -390,6 +395,16 @@ msgstr "メッセージキュー"
msgid "Max Size (KB)"
msgstr "最大サイズ (KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "移動モード"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "入力を削除"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -415,6 +430,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (物理的)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -467,6 +487,11 @@ msgid "Pressure"
msgstr "圧力"
#: core/os/input_event.cpp
+#, fuzzy
+msgid "Pen Inverted"
+msgstr "反転"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "相対的"
@@ -571,7 +596,8 @@ msgstr "説明"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "実行"
@@ -590,15 +616,16 @@ msgstr "stderrを無効化"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "非表示のプロジェクトデータディレクトリを使用"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "カスタムユーザディレクトリを使用"
#: core/project_settings.cpp
+#, fuzzy
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "カスタムユーザディレクトリ名"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
@@ -658,25 +685,26 @@ msgid "Main Run Args"
msgstr "メインシーンの引数:"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "シーンの命名規則"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "ファイル拡張子で検索"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "バージョンコントロール"
+msgstr "スクリプトテンプレートの検索パス"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "起動時の自動読み込み"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "プラグイン名"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "バージョンコントロール"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -710,39 +738,41 @@ msgstr "パスにフォーカス"
#: core/project_settings.cpp
#, fuzzy
msgid "UI Left"
-msgstr "左上"
+msgstr "左"
#: core/project_settings.cpp
#, fuzzy
msgid "UI Right"
-msgstr "右上"
+msgstr "右"
#: core/project_settings.cpp
+#, fuzzy
msgid "UI Up"
-msgstr ""
+msgstr "上"
#: core/project_settings.cpp
#, fuzzy
msgid "UI Down"
-msgstr "下り"
+msgstr "下"
#: core/project_settings.cpp
#, fuzzy
msgid "UI Page Up"
-msgstr "ページ: "
+msgstr "ページアップ"
#: core/project_settings.cpp
+#, fuzzy
msgid "UI Page Down"
-msgstr ""
+msgstr "ページダウン"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "ホーム"
#: core/project_settings.cpp
#, fuzzy
msgid "UI End"
-msgstr "終りに"
+msgstr "エンド"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -794,7 +824,8 @@ msgid "Quality"
msgstr "品質"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "フィルター:"
@@ -844,7 +875,7 @@ msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "遠距離マッチング"
#: core/project_settings.cpp
msgid "Compression Level"
@@ -1029,7 +1060,7 @@ msgstr "オブジェクトごとのライト数の上限"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "サブサーフェススキャタリング"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1051,7 +1082,7 @@ msgstr "サーフェスを投入する"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "重量サンプル"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
@@ -1065,6 +1096,7 @@ msgstr "高品質"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "ブレンドシェイプのバッファサイズの上限 (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "自由"
@@ -1081,7 +1113,7 @@ msgstr "ミラー"
msgid "Time:"
msgstr "時間:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "値:"
@@ -1331,10 +1363,75 @@ msgid "Remove this track."
msgstr "このトラックを除去する。"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "時間 (秒): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "位置"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "回転のステップ:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "スケール:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "型:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "無効なエクスポート テンプレート:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "イージング(In-Out)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "ハンドルを設定する"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "ハンドルを設定する"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "ストリーム"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "リスタート:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "フェードイン:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "アニメーション:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "トラックを有効 / 無効"
@@ -1547,7 +1644,8 @@ msgid "Add Method Track Key"
msgstr "メソッドトラックキーの追加"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "オブジェクトにメソッドが見つかりません: "
#: editor/animation_track_editor.cpp
@@ -2082,14 +2180,15 @@ msgstr "お気に入り:"
msgid "Recent:"
msgstr "最近:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "検索:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "一致:"
@@ -2149,8 +2248,8 @@ msgstr "置換するリソースを検索:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2158,8 +2257,8 @@ msgid "Open"
msgstr "開く"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "次のオーナー:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2461,7 +2560,7 @@ msgid "Bus Options"
msgstr "バス オプション"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "複製"
@@ -2513,8 +2612,9 @@ msgstr "オーディオバスのレイアウトを開く"
msgid "There is no '%s' file."
msgstr "'%s' ファイルがありません。"
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "レイアウト"
#: editor/editor_audio_buses.cpp
@@ -2717,6 +2817,25 @@ msgid "Choose"
msgstr "選ぶ"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "ノードのパスをコピー"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "パッケージのインストールに成功しました!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "失敗:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "ファイルの保存:"
@@ -2729,6 +2848,31 @@ msgid "Packing"
msgstr "パック中"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "名前を付けて保存"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "フォルダーを作成できませんでした。"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "プロジェクトファイルをエクスポートできませんでした"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "書き込むファイルを開けません:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "名前を付けて保存"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2849,11 +2993,33 @@ msgstr "カスタム デバッグテンプレートが見つかりません。"
msgid "Custom release template not found."
msgstr "カスタム リリーステンプレートが見つかりません。"
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "テンプレートの管理"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "指定されたエクスポートパスが存在しません:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "テンプレートファイルが見つかりません:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "無効なエクスポート テンプレート:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "パディング"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"32ビットのエクスポートでは、組み込みPCKは4GiBを超えることはできません。"
@@ -3027,9 +3193,9 @@ msgid "Import"
msgstr "インポート"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "エクスポート"
@@ -4175,14 +4341,6 @@ msgstr ""
"ファイル '%s'に書き込めません。ファイルが使用中か、ロックされているか、権限が"
"ありません。"
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "シーン"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "シーンの命名規則"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4302,6 +4460,10 @@ msgid "Default Color Picker Mode"
msgstr "デフォルトのカラーピッカーモード"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "バージョンコントロール"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "ユーザー名"
@@ -4329,6 +4491,10 @@ msgstr "集中モードを切り替える。"
msgid "Add a new scene."
msgstr "新規シーンを追加する。"
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "シーン"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "以前に開いたシーンに移動する。"
@@ -5015,11 +5181,14 @@ msgid "Selected node is not a Viewport!"
msgstr "選択したノードはビューポートではありません!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "サイズ: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "サイズ:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "ページ: "
#: editor/editor_properties_array_dict.cpp
@@ -5118,6 +5287,11 @@ msgstr ""
"エクスポートメニューに実行可能なプリセットを追加するか、既存のプリセットを実"
"行可能にしてください。"
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "プロジェクト"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "ロジックを _run() メソッドに記述する。"
@@ -5377,7 +5551,9 @@ msgid "Draw Spaces"
msgstr "スペースを描画"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "ナビゲーション"
@@ -5402,6 +5578,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap の選択"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "外観"
@@ -5939,10 +6124,12 @@ msgstr "ホスト"
msgid "Port"
msgstr "ポート"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "プロジェクトマネージャー"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "ソート順"
@@ -6694,14 +6881,6 @@ msgid "Replace in Files"
msgstr "複数ファイル内で置換"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "検索: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "置換: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "すべて置換 (元に戻せません)"
@@ -6830,7 +7009,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "フィルター:"
@@ -7097,7 +7276,8 @@ msgid "Generating Lightmaps"
msgstr "ライトマップの生成"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "メッシュの生成: "
#: editor/import/resource_importer_scene.cpp
@@ -7126,6 +7306,18 @@ msgid "Saving..."
msgstr "保存中..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7811,11 +8003,20 @@ msgid "New Anim"
msgstr "新規アニメーション"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "アニメーションを新規作成"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "アニメーション名を変更:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "アニメーションの名前を変更"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "アニメーションを削除しますか?"
@@ -7833,11 +8034,6 @@ msgid "Animation name already exists!"
msgstr "アニメーション名はすでに存在します!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "アニメーションの名前を変更"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "アニメーションを複製"
@@ -7935,10 +8131,12 @@ msgstr "オニオンスキンオプション"
msgid "Directions"
msgstr "方向"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "過去"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "未来"
@@ -7979,10 +8177,6 @@ msgid "Pin AnimationPlayer"
msgstr "アニメーションプレーヤーを固定"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "アニメーションを新規作成"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "アニメーション名:"
@@ -8098,7 +8292,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "終了アニメーションを設定する。これはサブトランジションに便利です。"
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "トランジション: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8115,11 +8310,6 @@ msgid "New name:"
msgstr "新しい名前:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "スケール:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "フェードイン:"
@@ -9031,6 +9221,7 @@ msgstr "ノードからカスタムボーンを作成"
msgid "Clear Custom Bones"
msgstr "カスタム ボーンをクリア"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9094,6 +9285,10 @@ msgid "Preview Canvas Scale"
msgstr "キャンバススケールのプレビュー"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "レイアウト"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "キーを挿入するための変換マスク。"
@@ -9866,7 +10061,8 @@ msgid "Volume"
msgstr "ボリューム"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "放出源: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10098,6 +10294,7 @@ msgid "Points"
msgstr "点"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "ポリゴン"
@@ -10253,13 +10450,6 @@ msgid "Instance:"
msgstr "インスタンス:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "型:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "エディターで開く"
@@ -10268,10 +10458,6 @@ msgstr "エディターで開く"
msgid "Load Resource"
msgstr "リソースを読み込む"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "ポータルを反転"
@@ -10969,12 +11155,16 @@ msgstr "回転"
msgid "Translate"
msgstr "移動"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "縮尺: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "位置の変更: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -10998,11 +11188,6 @@ msgid "Yaw:"
msgstr "ヨー:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "サイズ:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "描画されたオブジェクト:"
@@ -11489,7 +11674,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "ジオメトリが無効です。メッシュに置き換えることはできません。"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Mesh2Dに変換する"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11521,15 +11707,18 @@ msgid "Sprite"
msgstr "スプライト"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "簡略化: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "縮小 (ピクセル): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "拡大(ピクセル): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11593,6 +11782,11 @@ msgid "New Animation"
msgstr "新規アニメーション"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "メソッドを絞り込む"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "速度:"
@@ -12476,8 +12670,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "前のシェイプ、サブタイル、またはタイルを選択します。"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "領域"
@@ -13975,42 +14168,22 @@ msgid "Runnable"
msgstr "実行可能"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "プリセット '%s' を削除しますか?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"プラットフォーム '%s' へのプロジェクトのエクスポートに失敗しました。\n"
-"エクスポート用テンプレートが存在しないか、あるいは異常であるようです。"
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"プラットフォーム '%s' へのプロジェクトのエクスポートに失敗しました。\n"
-"エクスポート用プリセットあるいはエクスポート設定に問題がある可能性がありま"
-"す。"
+msgid "Delete preset '%s'?"
+msgstr "プリセット '%s' を削除しますか?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "すべてエクスポート"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "指定されたエクスポートパスが存在しません:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"このプラットフォームに対するエクスポート テンプレートが見つからないか、破損し"
-"ています:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "エクスポート先のパス"
@@ -14120,19 +14293,27 @@ msgid "More Info..."
msgstr "移動..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "PCK/Zipのエクスポート"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "プロジェクトのエクスポート"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "エクスポートのモードは?"
+msgid "Export All"
+msgstr "すべてエクスポート"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "空のフォルダーを選択してください。"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Export All..."
msgstr "すべてエクスポート"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14140,7 +14321,8 @@ msgid "ZIP File"
msgstr "ZIPファイル"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godotゲームパック"
#: editor/project_export.cpp
@@ -14148,6 +14330,11 @@ msgid "Export templates for this platform are missing:"
msgstr "このプラットフォームに対するエクスポート テンプレートが見つかりません:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "プロジェクト創始者"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "エクスポートテンプレートの管理"
@@ -14462,14 +14649,14 @@ msgid "Project Manager"
msgstr "プロジェクトマネージャー"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "読み込み中、しばらくお待ちください..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "最終更新"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "読み込み中、しばらくお待ちください..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "プロジェクトを編集"
@@ -15690,7 +15877,8 @@ msgid "Attach Node Script"
msgstr "ノードにスクリプトをアタッチする"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "リモート "
#: editor/script_editor_debugger.cpp
@@ -16533,7 +16721,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr "ポリゴン"
@@ -16706,7 +16894,8 @@ msgid "Disabled GDNative Singleton"
msgstr "無効なGDNativeシングルトン"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "ライブラリ: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17137,7 +17326,6 @@ msgid "Use In Baked Light"
msgstr "ライトマップを焼き込む"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17167,6 +17355,19 @@ msgstr "中央"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "ナビゲーション"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "ナビゲーションモード"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "次の平面"
@@ -17583,7 +17784,8 @@ msgstr ""
"を修正してください。"
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "ノードは無効なシーケンス出力を返しました: "
#: modules/visual_script/visual_script.cpp
@@ -17593,7 +17795,8 @@ msgstr ""
"を!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "スタックオーバーフロー発生 スタックの深さ: "
#: modules/visual_script/visual_script.cpp
@@ -17941,16 +18144,18 @@ msgstr "Return(戻り値)"
#: modules/visual_script/visual_script_flow_control.cpp
#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
msgid "Condition"
-msgstr ""
+msgstr "コンディション"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "if (cond) is:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
+#, fuzzy
msgid "While"
-msgstr ""
+msgstr "一方"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -17965,7 +18170,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "入力タイプは反復可能ではありません: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17973,12 +18179,13 @@ msgid "Iterator became invalid"
msgstr "イテレーターが無効になりました"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "イテレーターが無効になりました: "
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
-msgstr ""
+msgstr "シーケンス"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "in order:"
@@ -18139,11 +18346,13 @@ msgid "Operator"
msgstr "イテレータ"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ":無効な引数 引数の型: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": 無効な引数: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18156,11 +18365,13 @@ msgid "Var Name"
msgstr "名前"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGetがスクリプト内にありません: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSetがスクリプト内にありません: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18475,6 +18686,11 @@ msgid "The package must have at least one '.' separator."
msgstr "パッケージには一つ以上の区切り文字 '.' が必要です。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "ノードを切り取る"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18483,6 +18699,15 @@ msgstr ""
msgid "Export Format"
msgstr "エクスポート先のパス"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "アウトラインのサイズ:"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "ターゲットSDK"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18526,15 +18751,6 @@ msgstr "前のインスタンスを調べる"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "アウトラインのサイズ:"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr "ターゲットSDK"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18698,10 +18914,6 @@ msgid "Could not execute on device."
msgstr "デバイスで実行できませんでした。"
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "'apksigner' ツールが見つかりません。"
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18786,15 +18998,17 @@ msgstr ""
"になっている必要があります。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" は \"Xr Mode\" が \"Oculus Mobile VrApi\" または "
"\"OpenXR\" の場合にのみ有効です。"
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "\"Passthrough\" は \"Xr Mode\" が \"OpenXR\" の場合にのみ有効です。"
#: platform/android/export/export_plugin.cpp
@@ -18803,29 +19017,57 @@ msgstr ""
"\"Export AAB\" は \"Use Custom Build\" が有効である場合にのみ有効になります。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Min Sdk\" の変更は \"Use Custom Build\" が有効である場合にのみ有効です。"
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Target Sdk\" の変更は \"Use Custom Build\" が有効である場合にのみ有効です。"
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"\"Target Sdk\" バージョンは \"Min Sdk\" バージョン以上でなければなりません。"
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "DMGをコード署名中"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"'apksigner' が見つかりませんでした。\n"
"このコマンドが Android SDK build-tools ディレクトリにあるか確認してくださ"
@@ -18845,6 +19087,11 @@ msgid "Could not find keystore, unable to export."
msgstr "キーストアが見つからないため、エクスポートできません。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "サブプロセスを開始できませんでした!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' がエラー #%d で終了しました"
@@ -18873,7 +19120,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "無効なファイル名です! Android APKには拡張子 *.apk が必要です。"
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "サポートされていないエクスポートフォーマットです!\n"
#: platform/android/export/export_plugin.cpp
@@ -18885,10 +19133,9 @@ msgstr ""
"情報が存在しません。 「プロジェクト」メニューから再インストールしてください。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Androidビルド バージョンの不一致:\n"
@@ -18898,13 +19145,15 @@ msgstr ""
"ださい。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"res://android/build/res/*.xml ファイルをプロジェクト名で上書きできません"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr ""
"プロジェクトファイルをgladleプロジェクトにエクスポートできませんでした\n"
@@ -18917,8 +19166,9 @@ msgid "Building Android Project (gradle)"
msgstr "Androidプロジェクトの構築(gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Androidプロジェクトのビルドに失敗しました。エラーの出力を確認してください。\n"
@@ -18938,7 +19188,8 @@ msgstr ""
"gradleのプロジェクトディレクトリを確認してください。"
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "見つからないパッケージ: %s"
#: platform/android/export/export_plugin.cpp
@@ -18946,17 +19197,16 @@ msgid "Creating APK..."
msgstr "APK を作成しています..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"エクスポートするテンプレートAPKが見つかりませんでした:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18970,7 +19220,8 @@ msgid "Adding files..."
msgstr "ファイルを追加中..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "プロジェクトファイルをエクスポートできませんでした"
#: platform/android/export/export_plugin.cpp
@@ -19212,6 +19463,17 @@ msgstr "ノードを切り取る"
msgid "Custom BG Color"
msgstr "ノードを切り取る"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "テンプレートの管理"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "カスタム リリーステンプレートが見つかりません。"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store チームID が未指定 - プロジェクトを構成できません。"
@@ -19233,22 +19495,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "エクスポートしたHTMLをシステム既定のブラウザで実行する。"
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "エクスポート用のテンプレートを開けませんでした:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "無効なエクスポート テンプレート:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "ファイルを書き込めませんでした:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "マージンを設定する"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "ファイルを読み込めませんでした:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "分離:"
@@ -19323,15 +19598,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "HTMLシェルを読み込めませんでした:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "HTTPサーバーのディレクトリの作成に失敗:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "HTTPサーバーの開始に失敗:"
#: platform/javascript/export/export.cpp
@@ -19628,9 +19906,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "プロジェクトファイルをエクスポートできませんでした"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "サブプロセスを開始できませんでした!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "ローカライズ"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19646,21 +19943,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "アイコンが見つかりませんでした。"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "ファイルの保存エラー: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "方向"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "サブプロセスを開始できませんでした!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "サムネイルを作成中"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "エクスポートするテンプレートAPKが見つかりませんでした:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "無効なエクスポート テンプレート:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19668,7 +20020,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19709,6 +20061,17 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "プロジェクト"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+"プロジェクトファイルをgladleプロジェクトにエクスポートできませんでした\n"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "無効なバンドルID:"
@@ -20031,6 +20394,11 @@ msgid "Debug Algorithm"
msgstr "デバッガー"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "一時ファイルを削除できません:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20078,6 +20446,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "ランダムな回転:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "キーストアが見つからないため、エクスポートできません。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "キーストアが見つからないため、エクスポートできません。"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "無効な実行可能ファイルです。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "キーストアが見つからないため、エクスポートできません。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "キーストアが見つからないため、エクスポートできません。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "無効な識別子:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "無効な名前です。"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "無効な実行可能ファイルです。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "一時ファイルを削除できません:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20096,6 +20528,23 @@ msgid "Invalid product version:"
msgstr "無効な製品バージョン:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "無効な実行可能ファイルです。"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr "Windows"
@@ -20111,6 +20560,10 @@ msgstr "osslsigncode"
msgid "Wine"
msgstr "Wine"
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20234,7 +20687,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "最大距離"
@@ -20282,7 +20736,7 @@ msgstr "ズーム"
msgid "Custom Viewport"
msgstr "1 ビューポート"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -21033,11 +21487,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "接続を編集:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "バインド"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "距離を取得:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "距離を取得:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "高度な設定"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "有効"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21055,16 +21541,6 @@ msgstr "左右反転"
msgid "Max Speed"
msgstr "速度:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "距離を取得:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "有効"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -21093,24 +21569,26 @@ msgstr ""
"プロパティを設定するか、ポリゴンを描画してください。"
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance は、子または孫 Navigation2D ノードにある必要があり"
-"ます。ナビゲーション データのみ提供します。"
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "中央下"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "トラベル"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "%s 度回転。"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "コンスタント"
@@ -22317,6 +22795,13 @@ msgstr "ソフトウェアスキニング"
msgid "Transform Normals"
msgstr "トランスフォームは中止されました。"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22342,14 +22827,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent はSpatialノードの下でのみ使用されます。"
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance は、ナビゲーションノードの子や孫である必要があります。"
-"これはナビゲーションデータのみ提供します。"
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23249,6 +23726,11 @@ msgstr ""
"代わりに、子の衝突シェイプのサイズを変更してください。"
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "グローバル トランスフォームを保持"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24507,6 +24989,11 @@ msgstr "フォルダー:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "選択範囲のみ"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "有効"
@@ -24915,22 +25402,19 @@ msgstr "エクスポート先のパス"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
-"このビューポートはレンダー ターゲットとして設定されていません。コンテンツを画"
-"面に直接表示する場合は、サイズを取得できるようにコントロールの子にします。そ"
-"れ以外の場合は、RenderTarget にして、その内部テクスチャを表示するノードに割り"
-"当てます。"
+"レンダーするにはViewportの縦横それぞれが2ピクセル以上である必要があります。"
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
-"レンダーするにはViewportの縦横それぞれが2ピクセル以上である必要があります。"
#: scene/main/viewport.cpp
msgid "ARVR"
@@ -25091,6 +25575,16 @@ msgid "3D Physics"
msgstr " (物理的)"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "ナビゲーション"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "ナビゲーション"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr "hiDPIを使用"
@@ -26011,8 +26505,9 @@ msgid "Sky Contribution"
msgstr ""
#: scene/resources/environment.cpp
+#, fuzzy
msgid "Fog"
-msgstr ""
+msgstr "Fog(霧)"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26517,7 +27012,7 @@ msgstr "トランジション"
msgid "Refraction"
msgstr "分離:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26602,7 +27097,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "縮尺: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "変数の型を設定"
#: scene/resources/navigation_mesh.cpp
@@ -26620,10 +27120,15 @@ msgid "Source Group Name"
msgstr "ソース"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "メインシーンの引数:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26633,11 +27138,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "領域"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "シーンからマージ"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26651,6 +27161,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "デフォルトを表示"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "距離を取得:"
@@ -26668,9 +27183,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "AABBを生成中"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "オフセット:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27085,6 +27610,11 @@ msgid "Scenario"
msgstr "シーン"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "ナビゲーション"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27102,6 +27632,26 @@ msgstr "左線形"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "デフォルトのZ Far"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "デフォルトのプレビュー"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "試験的"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "接続を編集:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
index 438853521b..2e6e0e70e7 100644
--- a/editor/translations/ka.po
+++ b/editor/translations/ka.po
@@ -216,9 +216,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -328,7 +329,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+msgid "Invalid input %d (not passed) in expression"
msgstr ""
#: core/math/expression.cpp
@@ -372,6 +373,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "მასშტაბის თანაფარდობა:"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -397,6 +407,11 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "დამაკავშირებელი სიგნალი:"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -451,6 +466,10 @@ msgid "Pressure"
msgstr "ზუმის საწყისზე დაყენება"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -562,7 +581,8 @@ msgstr "აღწერა:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -650,24 +670,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -776,7 +795,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "ანიმ სიგრძის შეცვლა"
@@ -1051,6 +1071,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "თავისუფალი"
@@ -1067,7 +1088,7 @@ msgstr "სარკე"
msgid "Time:"
msgstr ""
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr ""
@@ -1333,10 +1354,70 @@ msgstr "მონიშნული ჩანაწერის წაშლა.
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Time (s): "
+msgid "Time (s):"
msgstr "დრო (წამი): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "ახალი %s შექმნა"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "მუდმივი"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "არასწორი ფონტის ზომა."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "კვანძის მრუდის რედაქტირება"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "მასშტაბის თანაფარდობა:"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "ფუნქციები:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1564,7 +1645,8 @@ msgid "Add Method Track Key"
msgstr "მეთოდის გამოძახების დაკვირვება"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "მეთოდი ვერ მოიძებნა ობიექტში: "
#: editor/animation_track_editor.cpp
@@ -2113,14 +2195,15 @@ msgstr "საყვარლები:"
msgid "Recent:"
msgstr "ბოლო:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "ძებნა:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "დამთხვევები:"
@@ -2182,8 +2265,8 @@ msgstr "ჩამნაცვლებელი რესურსის ძი
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2191,8 +2274,8 @@ msgid "Open"
msgstr "გახსნილი"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "მფლობელები:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2502,7 +2585,7 @@ msgid "Bus Options"
msgstr "აღწერა:"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2554,8 +2637,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2760,6 +2843,24 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "მონიშვნის მოშორება"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "პაკეტი დაყენდა წარმატებით!"
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2772,6 +2873,28 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "ვერ წავშლით:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "პროექტის დამფუძნებლები"
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2875,8 +2998,27 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "წავშალოთ მონიშნული ფაილები?"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "ანიმაციის ხანგრძლივობა (წამებში)."
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -3056,9 +3198,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4168,14 +4310,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4296,6 +4430,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "აუდიო გადამტანის სახელის ცვლილება"
@@ -4324,6 +4462,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4966,11 +5108,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5067,6 +5211,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "პროექტის დამფუძნებლები"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5330,7 +5479,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "შექმნა"
@@ -5356,6 +5507,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "ყველა მონიშნვა"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5893,10 +6053,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6648,15 +6810,6 @@ msgid "Replace in Files"
msgstr "ყველას ჩანაცვლება"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-#, fuzzy
-msgid "Replace: "
-msgstr "ჩანაცვლება"
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "ყველას ჩანაცვლება"
@@ -6794,7 +6947,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "ანიმ სიგრძის შეცვლა"
@@ -7050,7 +7203,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -7078,6 +7231,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7764,11 +7929,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7786,11 +7960,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7888,10 +8057,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7932,10 +8103,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8054,7 +8221,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "გარდასვლა"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8072,11 +8239,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8990,6 +9152,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9053,6 +9216,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9819,8 +9986,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "რესურსი"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10053,6 +10221,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "შექმნა"
@@ -10208,13 +10377,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10223,10 +10385,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10946,13 +11104,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "მასშტაბის თანაფარდობა:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "გარდასვლა"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10975,11 +11137,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11465,8 +11622,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "შექმნა"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11499,15 +11657,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "ყველა მონიშნვა"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11574,6 +11733,11 @@ msgid "New Animation"
msgstr "ანიმაციის ოპტიმიზაცია"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "ფუნქციები:"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12476,8 +12640,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "ინტერპოლაციის რეჟიმი"
@@ -13965,20 +14128,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13986,14 +14144,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14094,19 +14244,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "პროექტის დამფუძნებლები"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14114,14 +14269,20 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "პროექტის დამფუძნებლები"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "პროექტის დამფუძნებლები"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14399,15 +14560,15 @@ msgid "Project Manager"
msgstr "პროექტის მენეჯერი. "
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "ძებნა:"
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "პროექტის დამფუძნებლები"
@@ -15593,8 +15754,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "მოშორება"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16441,7 +16603,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "შექმნა"
@@ -16612,7 +16774,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17028,7 +17190,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17058,6 +17219,19 @@ msgstr "წაშლა"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "შექმნა"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "შექმნა"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17466,7 +17640,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17474,7 +17648,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17858,7 +18032,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17866,7 +18040,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18027,12 +18201,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "არასწორი ფონტის ზომა."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "არასწორი ფონტის ზომა."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18043,12 +18219,14 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "მეთოდი ვერ მოიძებნა ობიექტში: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "მეთოდი ვერ მოიძებნა ობიექტში: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18350,6 +18528,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "ანიმაციის გასაღებების ასლის შექმნა"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18358,6 +18541,16 @@ msgstr ""
msgid "Export Format"
msgstr "ანიმაციის გარდაქმნის ცვლილება"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "დამოკიდებულებების შემსწორებელი"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "წაშლა"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18394,16 +18587,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "დამოკიდებულებების შემსწორებელი"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "წაშლა"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18561,10 +18744,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18642,12 +18821,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18656,25 +18835,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "სიგნალები"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18690,6 +18893,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18718,7 +18925,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18729,19 +18936,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18754,7 +18959,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18770,7 +18975,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "ანიმაციის ხანგრძლივობა (წამებში)."
#: platform/android/export/export_plugin.cpp
@@ -18778,15 +18983,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18797,7 +18999,7 @@ msgid "Adding files..."
msgstr "საყვარლები:"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19036,6 +19238,15 @@ msgstr "ანიმაციის გასაღებების ასლ
msgid "Custom BG Color"
msgstr "ანიმაციის გასაღებების ასლის შექმნა"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19058,19 +19269,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "არასწორი ფონტის ზომა."
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "მონიშვნის მრუდის ცვლილება"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -19147,16 +19368,17 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
+#, fuzzy
+msgid "Error starting HTTP server: %d."
+msgstr "ჩატვირთვის შეცდომები!"
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19439,9 +19661,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "შექმნა"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19457,19 +19696,73 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "მუდმივი"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "ჩატვირთვის შეცდომები!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "აღწერა:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "არასწორი ფონტის ზომა."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19477,7 +19770,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19519,6 +19812,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "პროექტის დამფუძნებლები"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "არასწორი ფონტის ზომა."
@@ -19828,6 +20130,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "ვერ წავშლით:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19874,6 +20181,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "მუდმივი"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "არასწორი ფონტის ზომა."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "არასწორი ფონტის ზომა."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "არასწორი ფონტის ზომა."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "არასწორი ფონტის ზომა."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "ვერ წავშლით:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19895,6 +20262,23 @@ msgid "Invalid product version:"
msgstr "არასწორი ფონტის ზომა."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "არასწორი ფონტის ზომა."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19910,6 +20294,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -20024,7 +20412,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -20072,7 +20461,7 @@ msgstr "ზუმის გაზრდა"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20771,34 +21160,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "მონიშვნის მრუდის ცვლილება"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "მუდმივი"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "დაყენება"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "დაბალანსებული"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "დამაკავშირებელი სიგნალი:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "დამაკავშირებელი სიგნალი:"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20822,13 +21233,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "წაშლა"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20836,7 +21250,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "მუდმივი"
@@ -21931,6 +22345,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "შექმნა"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21952,12 +22373,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22790,6 +23205,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "ანიმაციის გარდაქმნის ცვლილება"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23950,6 +24370,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "მონიშნული მხოლოდ"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "დამაკავშირებელი სიგნალი:"
@@ -24332,16 +24757,17 @@ msgstr "გზა"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24490,6 +24916,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "შექმნა"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "შექმნა"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25856,7 +26292,7 @@ msgstr "გარდასვლა"
msgid "Refraction"
msgstr "ფუნქციის შექმნა"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25936,7 +26372,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "მასშტაბის თანაფარდობა:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "%s ტიპის ცვლილება"
#: scene/resources/navigation_mesh.cpp
@@ -25953,7 +26394,11 @@ msgid "Source Group Name"
msgstr "რესურსი"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25965,11 +26410,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "ინტერპოლაციის რეჟიმი"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25982,6 +26432,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "ანიმ სიგრძის შეცვლა"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25998,9 +26453,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "მონიშვნის მოშორება"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26393,6 +26857,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "შექმნა"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26409,6 +26878,26 @@ msgstr "წრფივი"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "%s ტიპის ცვლილება"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "%s ტიპის ცვლილება"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "%s ტიპის ცვლილება"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "მონიშვნის მრუდის ცვლილება"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/km.po b/editor/translations/km.po
index e0b143c761..522cb30363 100644
--- a/editor/translations/km.po
+++ b/editor/translations/km.po
@@ -200,9 +200,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -306,7 +307,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "ចំនួន bytes សម្រាប់ decoding bytes​ មិនគ្រប់គ្រាន់ ឬ format មិនត្រឹមត្រូវ."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "ការបញ្ចូល %i មានបញ្ហា (មិនបានបញ្ចូល) ក្នុង expression"
#: core/math/expression.cpp
@@ -350,6 +352,14 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr ""
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -375,6 +385,10 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -426,6 +440,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -530,7 +548,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -613,24 +632,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -738,7 +756,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1005,6 +1024,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Free"
@@ -1021,7 +1041,7 @@ msgstr "កញ្ចក់"
msgid "Time:"
msgstr "ពេលវេលា:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "តម្លៃ:"
@@ -1264,7 +1284,64 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
+msgstr "ពេលវេលា:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Anim ផ្លាស់ប្តូរ Transition"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "index នៃ type %s សម្រាប់ base type %s មិនត្រឺមត្រូវទេ"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -1474,7 +1551,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -1994,14 +2071,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2057,8 +2135,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2066,7 +2144,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2357,7 +2435,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2409,8 +2487,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2613,6 +2691,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Anim ផ្លាស់ប្តូរ Transform"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2625,6 +2720,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2725,8 +2840,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2896,9 +3028,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3974,14 +4106,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4096,6 +4220,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4123,6 +4251,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4752,11 +4884,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4848,6 +4982,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5102,7 +5240,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5127,6 +5267,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5637,10 +5785,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6358,14 +6508,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6491,7 +6633,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr ""
@@ -6730,7 +6872,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6758,6 +6900,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7409,11 +7563,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7431,11 +7594,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7532,10 +7690,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7576,10 +7736,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7690,8 +7846,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Anim ផ្លាស់ប្តូរ Transition"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7707,11 +7864,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8596,6 +8748,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8659,6 +8812,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9401,7 +9558,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9631,6 +9788,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9784,13 +9942,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9799,10 +9950,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10489,13 +10636,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Anim ផ្លាស់ប្តូរ Transition"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10518,11 +10668,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -10997,7 +11142,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11029,15 +11174,15 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+msgid "Simplification:"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11101,6 +11246,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Key(s) ដែលបានជ្រើសស្ទួន"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -11955,8 +12105,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13361,20 +13510,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13382,14 +13526,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13490,19 +13626,23 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+msgid "Export Project..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13510,7 +13650,7 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+msgid "Godot Project Pack"
msgstr ""
#: editor/project_export.cpp
@@ -13518,6 +13658,10 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13789,11 +13933,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -14949,7 +15093,7 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+msgid "Remote %s:"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -15765,7 +15909,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15926,7 +16070,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16324,7 +16468,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16350,6 +16493,19 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Key(s) ដែលបានជ្រើសស្ទួន"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "តម្លៃ:"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16745,7 +16901,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16753,7 +16909,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17113,7 +17269,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17121,7 +17277,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17273,12 +17429,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "arguments ដែលប្រើសំរាប់រៀប '%s' មិនត្រឹមត្រូវទេ"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "arguments ដែលប្រើសំរាប់រៀប '%s' មិនត្រឹមត្រូវទេ"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17289,11 +17447,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17584,6 +17742,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Anim ផ្លាស់ប្តូរ Transform"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17591,6 +17754,14 @@ msgstr ""
msgid "Export Format"
msgstr ""
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr ""
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17627,14 +17798,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17777,10 +17940,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17857,12 +18016,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17871,25 +18030,48 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17905,6 +18087,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -17933,7 +18119,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17944,19 +18130,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17969,7 +18153,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -17984,7 +18168,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17992,15 +18176,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18010,7 +18191,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18234,6 +18415,15 @@ msgstr ""
msgid "Custom BG Color"
msgstr ""
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18255,19 +18445,28 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "index នៃ type %s សម្រាប់ base type %s មិនត្រឺមត្រូវទេ"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
+msgstr ""
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+msgid "Icon Creation"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18339,15 +18538,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18614,9 +18813,25 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18632,15 +18847,66 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "DMG Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18651,7 +18917,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18692,6 +18958,14 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -18988,6 +19262,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19028,6 +19306,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "arguments ដែលប្រើសំរាប់រៀប '%s' មិនត្រឹមត្រូវទេ"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19046,6 +19379,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19061,6 +19410,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19170,7 +19523,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19212,7 +19566,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19868,32 +20222,51 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr ""
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Pathfinding"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Avoidance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Avoidance Enabled"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp
@@ -19918,13 +20291,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -19932,7 +20307,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -20960,6 +21335,13 @@ msgstr ""
msgid "Transform Normals"
msgstr ""
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -20981,12 +21363,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21754,6 +22130,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Anim ផ្លាស់ប្តូរ Transition"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -22830,6 +23211,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23182,16 +23567,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23333,6 +23719,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Key(s) ដែលបានជ្រើសស្ទួន"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Key(s) ដែលបានជ្រើសស្ទួន"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24561,7 +24957,7 @@ msgstr ""
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24637,10 +25033,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Anim ផ្លាស់ប្តូរ Transition"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -24653,7 +25054,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24665,11 +25070,15 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24682,6 +25091,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24698,7 +25111,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25060,6 +25481,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Anim ផ្លាស់ប្តូរ Transition"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25075,6 +25501,25 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "តម្លៃ:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "តម្លៃ:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "តម្លៃ:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Edge Connection Margin"
+msgstr ""
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index 1d26a4e6a8..a91450dd41 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -32,13 +32,17 @@
# Lee Minhak <minarihak@gmail.com>, 2022.
# 한수현 <shh1473@ajou.ac.kr>, 2022.
# Taehun Yun <yooontehoon@naver.com>, 2022.
+# vrSono <global.sonogong@gmail.com>, 2022.
+# Seonghyeon Cho <seonghyeoncho96@gmail.com>, 2022.
+# Haoyu Qiu <timothyqiu32@gmail.com>, 2022.
+# 김태우 <ogosengi3@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-23 21:52+0000\n"
-"Last-Translator: Taehun Yun <yooontehoon@naver.com>\n"
+"PO-Revision-Date: 2022-06-26 16:16+0000\n"
+"Last-Translator: 김태우 <ogosengi3@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
"Language: ko\n"
@@ -46,7 +50,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.13.1-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -230,9 +234,10 @@ msgid "Data"
msgstr "데이터"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "네트워크"
@@ -337,8 +342,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "디코딩할 바이트가 모자라거나 잘못된 형식입니다."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "표현식의 입력 %i (전달되지 않음) 이(가) 올바르지 않습니다"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "표현식의 입력 %d (전달되지 않음) 이(가) 올바르지 않습니다"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -381,6 +386,16 @@ msgstr "메시지 대기열"
msgid "Max Size (KB)"
msgstr "최대 크기(KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "이동 모드"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "입력 삭제"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -406,6 +421,11 @@ msgstr "메타"
msgid "Command"
msgstr "명령"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (물리)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -457,6 +477,10 @@ msgid "Pressure"
msgstr "압력"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "상대적"
@@ -560,7 +584,8 @@ msgstr "서술"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "실행"
@@ -643,6 +668,10 @@ msgid "Main Run Args"
msgstr "메인 실행 인자"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "씬 이름 지정"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "파일 확장자로 찾기"
@@ -650,18 +679,15 @@ msgstr "파일 확장자로 찾기"
msgid "Script Templates Search Path"
msgstr "스크립트 템플릿 검색 경로"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "버전 컨트롤"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+#, fuzzy
+msgid "Version Control Autoload On Startup"
msgstr "스타트업으로 자동 로드"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "플러그인 이름"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "버전 컨트롤"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -768,7 +794,8 @@ msgid "Quality"
msgstr "품질"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "필터"
@@ -1035,6 +1062,7 @@ msgstr "고품질"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "블렌드 도형 최대 버퍼 크기 (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "자유"
@@ -1051,7 +1079,7 @@ msgstr "거울"
msgid "Time:"
msgstr "시간:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "값:"
@@ -1106,9 +1134,8 @@ msgstr "애니메이션 호출 바꾸기"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "프레임 %"
+msgstr "프레임"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1119,16 +1146,14 @@ msgstr "시간"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "현지화"
+msgstr "위치"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "회전 단계:"
+msgstr "회전"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1136,14 +1161,13 @@ msgid "Value"
msgstr "값"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "양:"
+msgstr "인수 개수"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "인수"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1153,31 +1177,27 @@ msgid "Type"
msgstr "타입"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "핸들 설정"
+msgstr "입력 핸들"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "핸들 설정"
+msgstr "출력 핸들"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "스트림"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "격자 오프셋:"
+msgstr "시작 오프셋"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "오프셋:"
+msgstr "끝 오프셋"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1190,9 +1210,8 @@ msgid "Animation"
msgstr "애니메이션"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "감속-가속"
+msgstr "속도 완화"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1301,8 +1320,62 @@ msgid "Remove this track."
msgstr "이 트랙을 제거합니다."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "시간 (초): "
+msgid "Time (s):"
+msgstr "시간 (초):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "위치:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "회전:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "스케일:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "타입:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(인식불가. 예상한 타입: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Easing:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "입력 핸들:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "출력 핸들:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "스트림:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "시작 (초):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "종료 (초):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "애니메이션 클립:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1517,8 +1590,8 @@ msgid "Add Method Track Key"
msgstr "메서드 트랙 키 추가"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "오브젝트에 메서드가 없음: "
+msgid "Method not found in object:"
+msgstr "오브젝트에 메서드가 없음:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1999,7 +2072,7 @@ msgstr "\"%s\" 시그널의 모든 연결을 제거하시겠습니까?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr "신호"
+msgstr "시그널"
#: editor/connections_dialog.cpp
msgid "Filter signals"
@@ -2050,14 +2123,15 @@ msgstr "즐겨찾기:"
msgid "Recent:"
msgstr "최근 기록:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "검색:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "일치함:"
@@ -2117,8 +2191,8 @@ msgstr "대체 리소스 검색:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2126,8 +2200,8 @@ msgid "Open"
msgstr "열기"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "소유자:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2426,7 +2500,7 @@ msgid "Bus Options"
msgstr "버스 옵션"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "복제"
@@ -2478,9 +2552,9 @@ msgstr "오디오 버스 레이아웃 열기"
msgid "There is no '%s' file."
msgstr "'%s' 파일이 없습니다."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "레이아웃"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "레이아웃:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2682,6 +2756,25 @@ msgid "Choose"
msgstr "선택"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "파일 경로 완성"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "패키지를 성공적으로 설치했습니다!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "실패함:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "저장하려는 파일:"
@@ -2694,6 +2787,31 @@ msgid "Packing"
msgstr "패킹 중"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "다른 이름으로 저장"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "폴더를 만들 수 없습니다."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "프로젝트 파일을 내보낼 수 없었습니다"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "파일을 쓰기 모드로 열 수 없음:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "다른 이름으로 저장"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2810,11 +2928,33 @@ msgstr "커스텀 디버그 템플릿을 찾을 수 없습니다."
msgid "Custom release template not found."
msgstr "커스텀 릴리스 템플릿을 찾을 수 없습니다."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "템플릿 관리"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "주어진 내보내기 경로가 없음:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "템플릿 파일을 찾을 수 없습니다:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "잘못된 내보내기 템플릿:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "패딩"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "32비트 환경에서는 4 GiB보다 큰 내장 PCK를 내보낼 수 없습니다."
@@ -2985,9 +3125,9 @@ msgid "Import"
msgstr "가져오기"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "내보내기"
@@ -3431,9 +3571,8 @@ msgid "Property:"
msgstr "속성:"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Label"
-msgstr "값"
+msgstr "레이블"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -4073,7 +4212,7 @@ msgstr "레이아웃 삭제"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
msgid "Default"
-msgstr "디폴트"
+msgstr "기본값"
#: editor/editor_node.cpp editor/editor_resource_picker.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
@@ -4124,35 +4263,24 @@ msgstr "외 %d개의 파일"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "씬"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "씬 경로:"
+"파일 '%s'에 쓸 수 없습니다. 파일이 사용 중이거나 잠겨 있거나 권한이 없습니다."
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
-#, fuzzy
msgid "Interface"
-msgstr "유저 인터페이스"
+msgstr "인터페이스"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tabs"
-msgstr "씬 탭 전환"
+msgstr "씬 탭"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Always Show Close Button"
-msgstr "항상 격자 보이기"
+msgstr "항상 닫기 버튼 표시"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "탭이 많은 경우 크기 조정"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
@@ -4163,103 +4291,96 @@ msgid "Output"
msgstr "출력"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Clear Output On Play"
-msgstr "출력 지우기"
+msgstr "실행 시 항상 출력 지우기"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr ""
+msgstr "실행 시 항상 출력 열기"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
-msgstr ""
+msgstr "정지 시 항상 출력 닫기"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr ""
+msgstr "포커스를 잃을 때 저장"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Save Each Scene On Quit"
-msgstr "가지를 씬으로 저장하기"
+msgstr "종료 시 각 씬 저장"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Quit Confirmation"
-msgstr "정보 보기"
+msgstr "종료 확인"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Show Update Spinner"
-msgstr "업데이트 스피너 숨기기"
+msgstr "업데이트 스피너 표시"
#: editor/editor_node.cpp
msgid "Update Continuously"
msgstr "상시 업데이트"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Only"
-msgstr "머티리얼 바꾸기:"
+msgstr "중요 사항만 업데이트"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Localize Settings"
-msgstr "현지화"
+msgstr "현지화 설정"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Restore Scenes On Load"
-msgstr "시간 탐색 노드"
+msgstr "불러오기 시 씬 복원"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "마우스 오버 시 썸네일 표시"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
msgstr "인스펙터"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Default Property Name Style"
-msgstr "프로젝트 경로:"
+msgstr "기본 속성 이름 스타일"
#: editor/editor_node.cpp
msgid "Default Float Step"
-msgstr ""
+msgstr "기본 부동 소수점 단계"
#: editor/editor_node.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Disable Folding"
-msgstr "비활성화된 버튼"
+msgstr "폴딩 비활성화"
#: editor/editor_node.cpp
msgid "Auto Unfold Foreign Scenes"
-msgstr ""
+msgstr "외부 씬 자동으로 펼치기"
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
-msgstr ""
+msgstr "수평 2차원 벡터 변경"
#: editor/editor_node.cpp
msgid "Horizontal Vector Types Editing"
-msgstr ""
+msgstr "수평 벡터 타입 변경"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Resources In Current Inspector"
-msgstr "인스펙터에서 열기"
+msgstr "현재 인스펙터에서 자원 열기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Resources To Open In New Inspector"
-msgstr "인스펙터에서 열기"
+msgstr "새로운 인스펙터에서 자원 열기"
#: editor/editor_node.cpp
msgid "Default Color Picker Mode"
-msgstr ""
+msgstr "기본 색 고르기 모드"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "버전 컨트롤"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
@@ -4267,11 +4388,11 @@ msgstr "사용자 이름"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Public Key Path"
-msgstr ""
+msgstr "SSH 공용 키 경로"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Private Key Path"
-msgstr ""
+msgstr "SSH 개인 키 경로"
#: editor/editor_node.cpp
msgid "Dock Position"
@@ -4289,6 +4410,10 @@ msgstr "집중 모드를 토글합니다."
msgid "Add a new scene."
msgstr "새 씬을 추가합니다."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "씬"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "이전에 열었던 씬으로 이동합니다."
@@ -4469,7 +4594,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Force Shader Fallbacks"
-msgstr ""
+msgstr "강제 셰이더 폴백"
#: editor/editor_node.cpp
msgid ""
@@ -4480,6 +4605,11 @@ msgid ""
"Asynchronous shader compilation must be enabled in the project settings for "
"this option to make a difference."
msgstr ""
+"이 옵션이 활성화된 경우, 셰이더는 폴백 폼으로(우버 셰이더 또는 숨겨진 것을 "
+"볼 수 있음) 런타임에 사용됩니다.\n"
+"이는 폴백의 성능을 확인할 때 기존의 간단하게 보여졌던 것보다 유용합니다.\n"
+"비동기 셰이더의 모음의 경우 변화를 확인하려면 반드시 프로젝트 설정에서 이 옵"
+"션을 활성화해야 합니다."
#: editor/editor_node.cpp
msgid "Synchronize Scene Changes"
@@ -4631,14 +4761,12 @@ msgid "Save & Restart"
msgstr "저장 & 다시 시작"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "변경될 때 업데이트"
+msgstr "모든 변경 사항 업데이트"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "머티리얼 바꾸기:"
+msgstr "중요한 변경 업데이트"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4900,9 +5028,8 @@ msgid "Profiler Frame History Size"
msgstr "프로파일러 프레임 기록 크기"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Profiler Frame Max Functions"
-msgstr "함수명 바꾸기"
+msgstr "프로파일러 프레임 최대 함수 개수"
#: editor/editor_properties.cpp
msgid "Edit Text:"
@@ -4965,12 +5092,14 @@ msgid "Selected node is not a Viewport!"
msgstr "선택된 노드는 뷰포트가 아닙니다!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "크기: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "크기:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "페이지: "
+msgid "Page:"
+msgstr "페이지:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5030,20 +5159,17 @@ msgstr "새 %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Base Type"
-msgstr "기본 타입 바꾸기"
+msgstr "기본 타입"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Edited Resource"
-msgstr "리소스 추가"
+msgstr "변경된 리소스"
#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-#, fuzzy
msgid "Editable"
-msgstr "편집할 수 있는 항목"
+msgstr "편집 가능"
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "New Script"
@@ -5054,9 +5180,8 @@ msgid "Extend Script"
msgstr "스크립트 상속"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Script Owner"
-msgstr "스크립트 이름:"
+msgstr "스크립트 소유자"
#: editor/editor_run_native.cpp
msgid ""
@@ -5068,6 +5193,11 @@ msgstr ""
"내보내기 메뉴에서 실행할 수 있는 프리셋을 추가하거나 기존 프리셋을 실행할 수 "
"있도록 정의해주세요."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "프로젝트"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "_run() 메서드에 당신의 논리를 작성하세요."
@@ -5097,13 +5227,12 @@ msgid "Editor Language"
msgstr "에디터 언어"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Display Scale"
-msgstr "모두 표시"
+msgstr "화면 크기"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr ""
+msgstr "사용자 지정 화면 크기"
#: editor/editor_settings.cpp
msgid "Main Font Size"
@@ -5115,11 +5244,11 @@ msgstr "코드 글꼴 크기"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr ""
+msgstr "안티앨리어스된 폰트"
#: editor/editor_settings.cpp
msgid "Font Hinting"
-msgstr ""
+msgstr "폰트 힌팅"
#: editor/editor_settings.cpp
msgid "Main Font"
@@ -5135,20 +5264,19 @@ msgstr "코드 글꼴"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
-msgstr ""
+msgstr "창 팝업을 어두운 에디터로"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "낮은 프로세서 모드 슬립 (µsec)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "포커스되지 않은 낮은 프로세서 모드 슬립 (µsec)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Separate Distraction Mode"
-msgstr "집중 모드"
+msgstr "분리 방해 모드"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
@@ -5156,7 +5284,7 @@ msgstr "자동으로 스크린샷 열기"
#: editor/editor_settings.cpp
msgid "Max Array Dictionary Items Per Page"
-msgstr ""
+msgstr "페이지 당 최대 딕셔너리 아이템 배열 크기"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5186,70 +5314,59 @@ msgstr "대비"
#: editor/editor_settings.cpp
msgid "Relationship Line Opacity"
-msgstr ""
+msgstr "관계선 불투명도"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Highlight Tabs"
-msgstr "라이트맵 저장 중"
+msgstr "간격 하이라이트"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Border Size"
-msgstr "테두리 픽셀"
+msgstr "테두리 크기"
#: editor/editor_settings.cpp
msgid "Use Graph Node Headers"
-msgstr ""
+msgstr "그래프 노드 헤더 사용"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Additional Spacing"
-msgstr "애니메이션 반복"
+msgstr "추가적인 공간 확보"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Custom Theme"
-msgstr "테마 에디터"
+msgstr "사용자 지정 테마"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Script Button"
-msgstr "휠 오른쪽 버튼"
+msgstr "스크립트 버튼 보이기"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Directories"
-msgstr "방향"
+msgstr "디렉토리"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Autoscan Project Path"
-msgstr "프로젝트 경로:"
+msgstr "자동 스캔 프로젝트 경로"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Project Path"
-msgstr "프로젝트 경로:"
+msgstr "기본 프로젝트 경로"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "On Save"
-msgstr "저장"
+msgstr "저장 시"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Compress Binary Resources"
-msgstr "리소스 복사"
+msgstr "이진 리소스 압축"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
-msgstr ""
+msgstr "백업으로 안전 저장 후 이름 바꾸기"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "File Dialog"
-msgstr "XForm 대화 상자"
+msgstr "파일 대화 상자"
#: editor/editor_settings.cpp
msgid "Thumbnail Size"
@@ -5257,21 +5374,19 @@ msgstr "썸네일 크기"
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "결합"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tree"
-msgstr "씬 트리 편집"
+msgstr "씬 트리"
#: editor/editor_settings.cpp
msgid "Start Create Dialog Fully Expanded"
-msgstr ""
+msgstr "완전히 확장된 대화 상자 생성 시작"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Always Show Folders"
-msgstr "항상 격자 보이기"
+msgstr "폴더 항상 보이기"
#: editor/editor_settings.cpp
msgid "Property Editor"
@@ -5282,42 +5397,38 @@ msgid "Auto Refresh Interval"
msgstr "자동 새로 고침 간격"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "하위 리소스"
+msgstr "하위 리소스 Hue 설정"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Color Theme"
-msgstr "테마 에디터"
+msgstr "색 테마"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Line Spacing"
-msgstr ""
+msgstr "라인 간격"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Highlighting"
-msgstr "직접 조명"
+msgstr "강조"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Syntax Highlighting"
msgstr "구문 강조"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
-msgstr ""
+msgstr "모든 발생 강조"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight Current Line"
-msgstr ""
+msgstr "현재 줄 강조"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
-msgstr ""
+msgstr "타입 안전 줄 강조"
#: editor/editor_settings.cpp
msgid "Indent"
@@ -5328,37 +5439,35 @@ msgid "Auto Indent"
msgstr "자동 들여쓰기"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "공백으로 들여쓰도록 변환"
+msgstr "저장 시 들여쓰기 변환"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Tabs"
-msgstr "드로우 콜:"
+msgstr "탭 사용"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Spaces"
-msgstr "드로우 콜:"
+msgstr "공백 사용"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "네비게이션"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Smooth Scrolling"
-msgstr ""
+msgstr "부드러운 스크롤링"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "V Scroll Speed"
-msgstr ""
+msgstr "수직 스크롤 속도"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Minimap"
-msgstr "원점 보이기"
+msgstr "미니맵 보이기"
#: editor/editor_settings.cpp
msgid "Minimap Width"
@@ -5366,231 +5475,221 @@ msgstr "미니맵 너비"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
+msgstr "마우스 부가 버튼으로 히스토리 둘러보기"
+
+#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "그리드맵 선택"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
msgstr ""
#: editor/editor_settings.cpp
msgid "Appearance"
-msgstr ""
+msgstr "모습"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Show Line Numbers"
-msgstr "행 번호:"
+msgstr "줄 번호 보이기"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Numbers Zero Padded"
-msgstr "행 번호:"
+msgstr "0 채워진 줄 번호"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
-msgstr ""
+msgstr "북마크 여백 보이기"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Breakpoint Gutter"
-msgstr "중단점 넘기기"
+msgstr "중단점 여백 보이기"
#: editor/editor_settings.cpp
msgid "Show Info Gutter"
-msgstr ""
+msgstr "정보 여백 보이기"
#: editor/editor_settings.cpp
msgid "Code Folding"
-msgstr ""
+msgstr "코드 접기"
#: editor/editor_settings.cpp
msgid "Word Wrap"
-msgstr ""
+msgstr "단어 감싸기"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "줄 길이 가이드라인 보이기"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "줄 길이 가이드라인 소프트 열"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "줄 길이 가이드라인 하드 열"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script List"
-msgstr "스크립트 에디터"
+msgstr "스크립트 리스트"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "멤버 오버뷰 보이기"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Files"
msgstr "파일"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Trim Trailing Whitespace On Save"
-msgstr "후행 공백 문자 제거"
+msgstr "저장 시 후행 공백 문자 제거"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr ""
+msgstr "초 간격 자동 저장"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "불러올 시 스크립트 복원"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "저장 시 스크립트 자동 재배치 및 파싱"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "외부에서 변경 시 스크립트 자동 재배치"
#: editor/editor_settings.cpp
msgid "Create Signal Callbacks"
-msgstr ""
+msgstr "신호 콜백 생성"
#: editor/editor_settings.cpp
msgid "Sort Members Outline Alphabetically"
-msgstr ""
+msgstr "아웃라인에서 사전 순으로 멤버 정렬"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr ""
+msgstr "커서"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "파일 끝으로 스크롤"
#: editor/editor_settings.cpp
msgid "Block Caret"
-msgstr ""
+msgstr "탈자 기호 방지"
#: editor/editor_settings.cpp
msgid "Caret Blink"
-msgstr ""
+msgstr "탈자 기호 깜빡임"
#: editor/editor_settings.cpp
msgid "Caret Blink Speed"
-msgstr ""
+msgstr "탈자 기호 깜빡임 속도"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Right Click Moves Caret"
-msgstr "점을 추가하려면 우클릭"
+msgstr "우클릭으로 탈자 기호 이동"
#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
#: modules/gdscript/gdscript_editor.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion"
-msgstr "선택 항목 복사"
+msgstr "완성도"
#: editor/editor_settings.cpp
msgid "Idle Parse Delay"
-msgstr ""
+msgstr "게으른 파싱 지연 시간"
#: editor/editor_settings.cpp
msgid "Auto Brace Complete"
-msgstr ""
+msgstr "자동 중괄호 완성"
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "코드 완성 지연 시간"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
+msgstr "현재 줄 아래에 콜 힌트 툴팁 배치"
#: editor/editor_settings.cpp
msgid "Callhint Tooltip Offset"
-msgstr ""
+msgstr "콜 힌트 툴팁 오프셋"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Complete File Paths"
-msgstr "노드 경로 복사"
+msgstr "파일 경로 완성"
#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Add Type Hints"
-msgstr "타입 추가"
+msgstr "타입 힌트 추가"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Use Single Quotes"
-msgstr "새 단일 타일"
+msgstr "홑따옴표 사용"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Help Index"
-msgstr "도우미 보이기"
+msgstr "도우미 인덱스 보이기"
#: editor/editor_settings.cpp
msgid "Help Font Size"
-msgstr ""
+msgstr "폰트 크기 도우미"
#: editor/editor_settings.cpp
msgid "Help Source Font Size"
-msgstr ""
+msgstr "소스 폰트 크기 도우미"
#: editor/editor_settings.cpp
msgid "Help Title Font Size"
-msgstr ""
+msgstr "제목 폰트 크기 도우미"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
msgstr "그리드맵"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Pick Distance"
-msgstr "거리 선택:"
+msgstr "선택 거리"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Preview Size"
-msgstr "미리보기"
+msgstr "미리보기 크기"
#: editor/editor_settings.cpp
msgid "Primary Grid Color"
-msgstr ""
+msgstr "주 격자 색"
#: editor/editor_settings.cpp
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "보조 격자 색"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Selection Box Color"
-msgstr "선택 영역만"
+msgstr "선택 영역 색"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "3D Gizmos"
-msgstr "기즈모"
+msgstr "3차원 기즈모"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Gizmo Colors"
-msgstr "방출 색상"
+msgstr "기즈모 색"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Instanced"
-msgstr "인스턴스하기"
+msgstr "인스턴스된"
#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint"
-msgstr "점"
+msgstr "조인트"
#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
@@ -5599,115 +5698,99 @@ msgstr "점"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "모양"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Primary Grid Steps"
-msgstr "격자 단계:"
+msgstr "주 격자 분할 수"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid Size"
-msgstr "격자 단계:"
+msgstr "격자 크기"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
-msgstr ""
+msgstr "최대 격자 분할 레벨"
#: editor/editor_settings.cpp
msgid "Grid Division Level Min"
-msgstr ""
+msgstr "최소 격자 분할 레벨"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "기본 격자 분할 레벨"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XZ Plane"
-msgstr "그리드맵 칠하기"
+msgstr "격자 XZ 평면"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XY Plane"
-msgstr "그리드맵 칠하기"
+msgstr "격자 XY 평면"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid YZ Plane"
-msgstr "그리드맵 칠하기"
+msgstr "격자 YZ 평면"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default FOV"
-msgstr "디폴트"
+msgstr "기본 시야각"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Near"
-msgstr "디폴트 테마"
+msgstr "기본 Z Near"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Far"
-msgstr "디폴트"
+msgstr "기본 Z Far"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
+msgstr "라이트맵을 굽는 데 사용할 CPU 스레드 수"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Scheme"
-msgstr "내비게이션 모드"
+msgstr "내비게이션 계획"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert Y Axis"
-msgstr "Y 축 편집"
+msgstr "Y축 반전"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert X Axis"
-msgstr "X 축 편집"
+msgstr "X축 반전"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Style"
-msgstr "줌 아웃"
+msgstr "줌 방식"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
-msgstr ""
+msgstr "숫자 패드 모방"
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "마우스 버튼 3개 모방"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Orbit Modifier"
-msgstr "처음으로 수정된 순서로 정렬"
+msgstr "궤도 변경"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Modifier"
-msgstr "팬 모드"
+msgstr "팬 변경"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Modifier"
-msgstr "수정됨"
+msgstr "줌 변경"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Feel"
-msgstr "내비게이션 모드"
+msgstr "내비게이션 감도"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
@@ -5763,42 +5846,36 @@ msgid "Freelook Speed Zoom Link"
msgstr "자유 시점 속도 수정자"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Grid Color"
-msgstr "색상 선택"
+msgstr "격자 색상"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Guides Color"
-msgstr "색상 선택"
+msgstr "가이드 색상"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Smart Snapping Line Color"
-msgstr "스마트 스냅"
+msgstr "스마트 스냅 라인 색상"
#: editor/editor_settings.cpp
msgid "Bone Width"
-msgstr ""
+msgstr "본 너비"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 1"
-msgstr "색상 항목 이름 바꾸기"
+msgstr "본 색상 1"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 2"
-msgstr "색상 항목 이름 바꾸기"
+msgstr "본 색상 2"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Selected Color"
-msgstr "선택된 프로필 구성:"
+msgstr "선택된 본 색상"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
-msgstr ""
+msgstr "본 IK 색상"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
@@ -5900,14 +5977,12 @@ msgid "Auto Save"
msgstr "자동 저장"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Save Before Running"
-msgstr "씬을 실행하기 전에 저장..."
+msgstr "실행하기 전에 저장"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Font Size"
-msgstr "정면 뷰"
+msgstr "폰트 크기"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
@@ -5940,10 +6015,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "프로젝트 매니저"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6706,14 +6783,6 @@ msgid "Replace in Files"
msgstr "모두 바꾸기"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "찾기: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "바꾸기: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "모두 바꾸기"
@@ -6843,7 +6912,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "필터:"
@@ -7111,7 +7180,8 @@ msgid "Generating Lightmaps"
msgstr "라이트맵 생성 중"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "메시 용으로 생성 중: "
#: editor/import/resource_importer_scene.cpp
@@ -7139,6 +7209,18 @@ msgid "Saving..."
msgstr "저장 중..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7826,11 +7908,20 @@ msgid "New Anim"
msgstr "새 애니메이션"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "새 애니메이션 만들기"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "애니메이션 이름 바꾸기:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "애니메이션 이름 바꾸기"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "애니메이션을 삭제할까요?"
@@ -7848,11 +7939,6 @@ msgid "Animation name already exists!"
msgstr "애니메이션 이름이 이미 있습니다!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "애니메이션 이름 바꾸기"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "애니메이션 복제"
@@ -7950,10 +8036,12 @@ msgstr "어니언 스키닝 설정"
msgid "Directions"
msgstr "방향"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "과거"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "미래"
@@ -7994,10 +8082,6 @@ msgid "Pin AnimationPlayer"
msgstr "AnimationPlayer 고정"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "새 애니메이션 만들기"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "애니메이션 이름:"
@@ -8112,7 +8196,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "끝 애니메이션을 설정합니다. 이것은 하위 전환에 유용합니다."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "전환: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8129,11 +8214,6 @@ msgid "New name:"
msgstr "새 이름:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "스케일:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "페이드 인 (초):"
@@ -9041,6 +9121,7 @@ msgstr "노드에서 커스텀 본 만들기"
msgid "Clear Custom Bones"
msgstr "커스텀 본 지우기"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9107,6 +9188,10 @@ msgid "Preview Canvas Scale"
msgstr "캔버스 스케일 미리보기"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "레이아웃"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "키를 삽입하기 위한 전환 마스크."
@@ -9877,7 +9962,8 @@ msgid "Volume"
msgstr "볼륨"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "방출 소스: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10110,6 +10196,7 @@ msgid "Points"
msgstr "점"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "폴리곤"
@@ -10265,13 +10352,6 @@ msgid "Instance:"
msgstr "인스턴스:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "타입:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "에디터에서 열기"
@@ -10280,10 +10360,6 @@ msgstr "에디터에서 열기"
msgid "Load Resource"
msgstr "리소스 불러오기"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "리소스 프리로더"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "포털 뒤집기"
@@ -10985,12 +11061,16 @@ msgstr "회전"
msgid "Translate"
msgstr "이동"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "크기 조절 중: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "이동 중: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11014,11 +11094,6 @@ msgid "Yaw:"
msgstr "Yaw:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "크기:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "그려진 오브젝트:"
@@ -11503,7 +11578,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "잘못된 지오메트리. 메시로 대체할 수 없습니다."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Mesh2D로 변환"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11535,15 +11611,18 @@ msgid "Sprite"
msgstr "스프라이트"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "단순화: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "수축 (픽셀): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "성장 (픽셀): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11607,6 +11686,11 @@ msgid "New Animation"
msgstr "새 애니메이션"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "메서드 필터"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "속도:"
@@ -12495,8 +12579,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "이전 모양, 하위 타일, 혹은 타일을 선택하세요."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "영역"
@@ -14006,39 +14089,22 @@ msgid "Runnable"
msgstr "실행가능"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "'%s' 프리셋을 삭제하시겠습니까?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"'%s' 플랫폼에 프로젝트를 내보낼 수 없습니다.\n"
-"내보내기 템플릿이 누락되거나 잘못된 것 같습니다."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"'%s' 플랫폼에 프로젝트를 내보낼 수 없습니다.\n"
-"내보내기 프리셋이나 내보내기 설정의 문제인 것 같습니다."
+msgid "Delete preset '%s'?"
+msgstr "'%s' 프리셋을 삭제하시겠습니까?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "모두 내보내기"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "주어진 내보내기 경로가 없음:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "이 플랫폼의 내보내기 템플릿이 누락됨/손상됨:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "경로 내보내기"
@@ -14146,19 +14212,27 @@ msgid "More Info..."
msgstr "여기로 이동..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "PCK/Zip 내보내기"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "프로젝트 내보내기"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "내보내기 모드?"
+msgid "Export All"
+msgstr "모두 내보내기"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "비어있는 폴더를 선택해주세요."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "모두 내보내기"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14166,7 +14240,8 @@ msgid "ZIP File"
msgstr "ZIP 파일"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godot 게임 팩"
#: editor/project_export.cpp
@@ -14174,6 +14249,11 @@ msgid "Export templates for this platform are missing:"
msgstr "이 플랫폼에 대한 내보내기 템플릿이 누락됨:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "프로젝트 창립자"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "내보내기 템플릿 관리"
@@ -14484,14 +14564,14 @@ msgid "Project Manager"
msgstr "프로젝트 매니저"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "로드 중, 기다려 주세요..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "마지막으로 수정됨"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "로드 중, 기다려 주세요..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "프로젝트 편집"
@@ -15508,8 +15588,8 @@ msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"노드가 그룹 안에 있습니다.\n"
-"클릭하면 그룹 독을 보여줘요."
+"노드가 %s 그룹 안에 있습니다.\n"
+"클릭하여 그룹 독을 봅니다."
#: editor/scene_tree_editor.cpp
msgid "Open Script:"
@@ -15696,7 +15776,8 @@ msgid "Attach Node Script"
msgstr "노드 스크립트 붙이기"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "원격 "
#: editor/script_editor_debugger.cpp
@@ -16577,7 +16658,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "폴리곤"
@@ -16755,7 +16836,8 @@ msgid "Disabled GDNative Singleton"
msgstr "비활성화된 GDNative 싱글톤"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "라이브러리: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17199,7 +17281,6 @@ msgid "Use In Baked Light"
msgstr "라이트맵 굽기"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17229,6 +17310,19 @@ msgstr "중앙"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "네비게이션"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "내비게이션 감도"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "다음 평면"
@@ -17644,7 +17738,8 @@ msgstr ""
"쳐주세요."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "잘못된 시퀀스 출력을 반환한 노드: "
#: modules/visual_script/visual_script.cpp
@@ -17653,7 +17748,8 @@ msgstr ""
"시퀀스 비트를 발견했지만 스택 안의 노드에는 없습니다. 버그를 신고하세요!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "스택 깊이로 오버플로우한 스택: "
#: modules/visual_script/visual_script.cpp
@@ -18025,7 +18121,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "반복할 수 없는 입력 타입: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18033,7 +18130,8 @@ msgid "Iterator became invalid"
msgstr "Iterator가 잘못되었습니다"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterator가 잘못됨: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18207,11 +18305,13 @@ msgid "Operator"
msgstr "오버레이 연산자."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": 잘못된 인수 타입: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": 잘못된 인수: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18224,11 +18324,13 @@ msgid "Var Name"
msgstr "이름"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet을 스크립트에서 찾을 수 없음: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet을 스크립트에서 찾을 수 없음: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18556,6 +18658,11 @@ msgid "The package must have at least one '.' separator."
msgstr "패키지는 적어도 하나의 '.' 분리 기호가 있어야 합니다."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "노드 잘라내기"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18564,6 +18671,16 @@ msgstr ""
msgid "Export Format"
msgstr "경로 내보내기"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "윤곽선 크기:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Target(대상)"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18606,16 +18723,6 @@ msgstr "이전 인스턴스 검사"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "윤곽선 크기:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Target(대상)"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18779,10 +18886,6 @@ msgid "Could not execute on device."
msgstr "기기에서 실행할 수 없었습니다."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "'apksigner' 툴을 찾을 수 없습니다."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18866,14 +18969,14 @@ msgstr "플러그인을 사용하려면 \"Use Custom Build\"가 활성화되어
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"손 추적\" 은 \"Xr 모드\" 가 \"Oculus Mobile VR\"일 때만 사용 가능합니다."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"손 추적\" 은 \"Xr 모드\" 가 \"Oculus Mobile VR\"일 때만 사용 가능합니다."
@@ -18884,26 +18987,51 @@ msgstr "\"Export AAB\"는 \"Use Custom Build\"가 활성화된 경우에만 유
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "\"Export AAB\"는 \"Use Custom Build\"가 활성화된 경우에만 유효합니다."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "\"Export AAB\"는 \"Use Custom Build\"가 활성화된 경우에만 유효합니다."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "시그널"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"'apksigner'를 찾을 수 없었습니다.\n"
"명령이 Android SDK build-tools 디렉토리에서 사용 가능한지 확인해주세요.\n"
@@ -18922,6 +19050,11 @@ msgid "Could not find keystore, unable to export."
msgstr "keystore를 찾을 수 없어, 내보낼 수 없었습니다."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "하위 프로세스를 시작할 수 없습니다!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner'가 오류 #%d로 반환되었습니다"
@@ -18950,7 +19083,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "잘못된 파일이름입니다! Android APK는 *.apk 확장자가 필요합니다."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "지원되지 않는 내보내기 형식입니다!\n"
#: platform/android/export/export_plugin.cpp
@@ -18962,10 +19096,9 @@ msgstr ""
"(Project)' 메뉴에서 다시 설치해주세요."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Android 빌드 버전이 맞지 않음:\n"
@@ -18974,13 +19107,15 @@ msgstr ""
"'프로젝트' 메뉴에서 Android 빌드 템플릿을 다시 설치해주세요."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"res://android/build/res/*.xml 파일을 프로젝트 이름으로 덮어쓸 수 없습니다"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "프로젝트 파일을 gradle 프로젝트로 내보낼 수 없었습니다\n"
#: platform/android/export/export_plugin.cpp
@@ -18992,8 +19127,9 @@ msgid "Building Android Project (gradle)"
msgstr "Android 프로젝트 빌드 중 (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Android 프로젝트의 빌드에 실패했습니다, 출력된 오류를 확인하세요.\n"
@@ -19012,7 +19148,8 @@ msgstr ""
"트 디렉토리를 확인하세요."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "패키지를 찾을 수 없음: %s"
#: platform/android/export/export_plugin.cpp
@@ -19020,17 +19157,16 @@ msgid "Creating APK..."
msgstr "APK를 만드는 중..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"내보낼 템플릿 APK를 찾을 수 없음:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19044,7 +19180,8 @@ msgid "Adding files..."
msgstr "파일을 추가하는 중..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "프로젝트 파일을 내보낼 수 없었습니다"
#: platform/android/export/export_plugin.cpp
@@ -19287,6 +19424,17 @@ msgstr "노드 잘라내기"
msgid "Custom BG Color"
msgstr "노드 잘라내기"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "템플릿 관리"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "커스텀 릴리스 템플릿을 찾을 수 없습니다."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store 팀 ID를 지정하지 않았습니다 - 프로젝트를 구성할 수 없습니다."
@@ -19308,22 +19456,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "내보낸 HTML을 시스템의 기본 브라우저를 사용하여 실행합니다."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "내보내기 템플릿을 열 수 없음:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "잘못된 내보내기 템플릿:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "파일에 쓸 수 없음:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "여백 설정"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "파일을 읽을 수 없음:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "간격:"
@@ -19398,15 +19559,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "HTML shell을 읽을 수 없음:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "HTTP 서버 디렉토리를 만들 수 없음:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "HTTP 서버를 시작하는 중 오류:"
#: platform/javascript/export/export.cpp
@@ -19706,9 +19870,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "프로젝트 파일을 내보낼 수 없었습니다"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "하위 프로세스를 시작할 수 없습니다!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "현지화"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19724,23 +19907,78 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "아이콘을 찾을 수 없습니다."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "파일 저장 중 오류: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "방향"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "하위 프로세스를 시작할 수 없습니다!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "썸네일 만드는 중"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
"내보낼 템플릿 APK를 찾을 수 없음:\n"
"%s"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "잘못된 내보내기 템플릿:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19748,7 +19986,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19789,6 +20027,16 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "프로젝트"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "프로젝트 파일을 gradle 프로젝트로 내보낼 수 없었습니다\n"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "잘못된 bundle 식별자:"
@@ -20104,6 +20352,11 @@ msgid "Debug Algorithm"
msgstr "디버거"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "임시 파일을 제거할 수 없음:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20151,6 +20404,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "무작위 회전:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "keystore를 찾을 수 없어, 내보낼 수 없었습니다."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "keystore를 찾을 수 없어, 내보낼 수 없었습니다."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "잘못된 확장자."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "keystore를 찾을 수 없어, 내보낼 수 없었습니다."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "keystore를 찾을 수 없어, 내보낼 수 없었습니다."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "잘못된 식별자:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "올바르지 않은 이름입니다."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "잘못된 확장자."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "임시 파일을 제거할 수 없음:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20172,6 +20489,23 @@ msgid "Invalid product version:"
msgstr "잘못된 제품 GUID."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "잘못된 확장자."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "새 창"
@@ -20188,6 +20522,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20312,7 +20650,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "거리 선택:"
@@ -20363,7 +20702,7 @@ msgstr "줌 인"
msgid "Custom Viewport"
msgstr "뷰포트 1개"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21119,11 +21458,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "연결 변경:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "바인딩"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "거리 선택:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "거리 선택:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "고급"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "활성화"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21141,16 +21512,6 @@ msgstr "수평으로 뒤집기"
msgid "Max Speed"
msgstr "속도:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "거리 선택:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "활성화"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21176,24 +21537,26 @@ msgstr ""
"속성을 설정하거나 폴리곤을 그려주세요."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance는 Navigation2D 노드의 자식이나 손주에 있어야 합니"
-"다. 이것은 내비게이션 데이터만을 제공합니다."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "아래쪽 중앙"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "진행"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "%s도로 회전."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "상수"
@@ -22394,6 +22757,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "변형 중단됨."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22418,14 +22788,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance는 Navigation 노드의 자식이나 손주에 있어야 합니다. 이"
-"것은 내비게이션 데이터만 제공합니다."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23318,6 +23680,11 @@ msgstr ""
"대신 자식 콜리전 모양의 크기를 변경하세요."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "전역 변형 유지"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24572,6 +24939,11 @@ msgstr "폴더:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "선택 영역만"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "활성화"
@@ -24908,9 +25280,8 @@ msgid "Draw 2D Outlines"
msgstr "윤곽선 만들기"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "방향"
+msgstr "반사"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -24983,22 +25354,19 @@ msgstr "경로 내보내기"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
-"뷰포트를 렌더 대상으로 설정하지 않았습니다. 뷰포트의 내용을 화면에 직접 표시"
-"하려면, Control의 자식 노드로 만들어서 크기를 얻어야 합니다. 그렇지 않을 경"
-"우, 화면에 표시하기 위해서는 뷰포트를 RenderTarget으로 만들고 내부적인 텍스처"
-"를 다른 노드에 지정해야 합니다."
+"무엇이든 렌더링하려면 뷰포트 크기가 양쪽 차원에서 2픽셀 이상이어야 합니다."
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
-"무엇이든 렌더링하려면 뷰포트 크기가 양쪽 차원에서 2픽셀 이상이어야 합니다."
#: scene/main/viewport.cpp
msgid "ARVR"
@@ -25159,6 +25527,16 @@ msgid "3D Physics"
msgstr " (물리)"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "네비게이션"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "네비게이션"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26585,7 +26963,7 @@ msgstr "전환: "
msgid "Refraction"
msgstr "간격:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26670,7 +27048,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "크기 조절 중: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "변수 타입 설정"
#: scene/resources/navigation_mesh.cpp
@@ -26688,10 +27071,15 @@ msgid "Source Group Name"
msgstr "소스"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "메인 씬 인수:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26701,11 +27089,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "영역"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "씬에서 병합하기"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26719,6 +27112,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "디폴트 보이기"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "거리 선택:"
@@ -26736,9 +27134,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "AABB 만드는 중"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "오프셋:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27153,6 +27561,11 @@ msgid "Scenario"
msgstr "씬"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "네비게이션"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27170,6 +27583,26 @@ msgstr "왼쪽 선형"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "기본 부동 소수점 단계"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "디폴트 미리보기"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "테스트"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "연결 변경:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index 3b5592b3dd..66891e3f0e 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -7,13 +7,14 @@
# Ignotas Gražys <ignotas.gr@gmail.com>, 2020.
# Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>, 2020, 2021.
# Lukas Hamm <ideallygrey@tuta.io>, 2021.
+# Ignas Kaveckas <ignas.kaveckas@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-10-15 04:33+0000\n"
-"Last-Translator: Lukas Hamm <ideallygrey@tuta.io>\n"
+"PO-Revision-Date: 2022-05-30 16:17+0000\n"
+"Last-Translator: Ignas Kaveckas <ignas.kaveckas@gmail.com>\n"
"Language-Team: Lithuanian <https://hosted.weblate.org/projects/godot-engine/"
"godot/lt/>\n"
"Language: lt\n"
@@ -22,7 +23,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n%10>=2 && (n%100<10 || "
"n%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -219,9 +220,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Importuoti iš Nodo:"
@@ -333,7 +335,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nepakanka baitų iššifruoti baitams, arba netinkamas formatas."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Netinkama įvestis išraiškoje %i (nepraleista)"
#: core/math/expression.cpp
@@ -377,6 +380,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "TimeScale Nodas"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -405,6 +417,11 @@ msgstr ""
msgid "Command"
msgstr "Bendruomenė"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fizikos Kadro %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -459,6 +476,10 @@ msgid "Pressure"
msgstr "Atstatyti Priartinimą"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -570,7 +591,8 @@ msgstr "Aprašymas:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -655,6 +677,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Kelias iki Scenos:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -662,20 +689,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
+#: core/project_settings.cpp
#, fuzzy
-msgid "Version Control"
+msgid "Version Control Autoload On Startup"
msgstr "Versija:"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Priedai"
+msgid "Version Control Plugin Name"
+msgstr "Versija:"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -786,7 +808,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtrai..."
@@ -1060,6 +1083,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Nemokama"
@@ -1076,7 +1100,7 @@ msgstr "Atspindėti"
msgid "Time:"
msgstr "Trukmė:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Reikšmė:"
@@ -1330,10 +1354,70 @@ msgid "Remove this track."
msgstr "Panaikinti šį įrašą."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Laikas (-ai): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Sukurti Naują"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Konstanta"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skalė:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Netinkamas šrifto dydis."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Pradėti!"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animacija"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Koreguoti įrašą į įjungtas"
@@ -1548,7 +1632,7 @@ msgid "Add Method Track Key"
msgstr "Animacija: Pridėti Takelį"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2094,14 +2178,15 @@ msgstr "Mėgstamiausi:"
msgid "Recent:"
msgstr "Naujausi:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Ieškoti:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2157,8 +2242,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2166,7 +2251,7 @@ msgid "Open"
msgstr "Atidaryti"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2460,7 +2545,7 @@ msgid "Bus Options"
msgstr "Aprašymas:"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikuoti"
@@ -2512,8 +2597,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2717,6 +2802,23 @@ msgid "Choose"
msgstr "Pasirinkite"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Panaikinti pasirinkimą"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2729,6 +2831,28 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Nepavyko pašalinti laikino failo:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Filtrai..."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2832,8 +2956,27 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "Animacijos Nodas"
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -3017,9 +3160,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4131,15 +4274,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Kelias iki Scenos:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4262,6 +4396,11 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Versija:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Username"
msgstr "Naujas pavadinimas:"
@@ -4289,6 +4428,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4937,11 +5080,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5040,6 +5185,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Aprašymas:"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5306,7 +5456,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Animacijos Nodas"
@@ -5332,6 +5484,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Visas Pasirinkimas"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5868,10 +6029,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6124,7 +6287,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Cannot remove temporary file:"
-msgstr ""
+msgstr "Nepavyko pašalinti laikino failo:"
#: editor/export_template_manager.cpp
msgid ""
@@ -6152,7 +6315,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Disconnected"
-msgstr ""
+msgstr "Atsijungta"
#: editor/export_template_manager.cpp
msgid "Resolving"
@@ -6165,32 +6328,34 @@ msgstr ""
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Connecting..."
-msgstr ""
+msgstr "Jungiamasi..."
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Can't Connect"
-msgstr ""
+msgstr "Negalima prisijungti"
#: editor/export_template_manager.cpp
msgid "Connected"
-msgstr ""
+msgstr "Prisijungta"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
msgid "Requesting..."
-msgstr ""
+msgstr "Daroma užklausa..."
#: editor/export_template_manager.cpp
msgid "Downloading"
-msgstr ""
+msgstr "Atsisiunčiama"
#: editor/export_template_manager.cpp
msgid "Connection Error"
-msgstr ""
+msgstr "Prisijungimo klaida"
#: editor/export_template_manager.cpp
msgid "SSL Handshake Error"
-msgstr ""
+msgstr "SSL Handshake klaida"
#: editor/export_template_manager.cpp
msgid "Can't open the export templates file."
@@ -6199,12 +6364,12 @@ msgstr ""
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Invalid version.txt format inside the export templates file: %s."
-msgstr "Šablonuose nerasta version.txt failo."
+msgstr "Klaidingas version.txt failo formatas eksporto šablono faile: %s."
#: editor/export_template_manager.cpp
#, fuzzy
msgid "No version.txt found inside the export templates file."
-msgstr "Šablonuose nerasta version.txt failo."
+msgstr "Eksporto šablone nerasta version.txt failo."
#: editor/export_template_manager.cpp
#, fuzzy
@@ -6217,16 +6382,16 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Importing:"
-msgstr ""
+msgstr "Importuojama:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Remove templates for the version '%s'?"
-msgstr "Panaikinti šablono versiją '%s'?"
+msgstr "Panaikinti versijos '%s' šablonus?"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr ""
+msgstr "Išskleidžiami Android Build šaltiniai"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
@@ -6234,7 +6399,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Current Version:"
-msgstr ""
+msgstr "Dabartinė versija:"
#: editor/export_template_manager.cpp
msgid "Export templates are missing. Download them or install from a file."
@@ -6631,14 +6796,6 @@ msgid "Replace in Files"
msgstr "Pakeisti Visus"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Pakeisti Visus"
@@ -6770,7 +6927,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtrai..."
@@ -7028,7 +7185,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -7056,6 +7213,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7745,11 +7914,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7767,11 +7945,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7870,10 +8043,12 @@ msgstr ""
msgid "Directions"
msgstr "Aprašymas:"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7915,10 +8090,6 @@ msgid "Pin AnimationPlayer"
msgstr "Animacija"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8038,7 +8209,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "Transition Nodas"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8057,11 +8228,6 @@ msgid "New name:"
msgstr "Naujas pavadinimas:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skalė:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8975,6 +9141,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9038,6 +9205,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9802,7 +9973,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -10039,6 +10210,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Priedai"
@@ -10196,13 +10368,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10211,10 +10376,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10931,13 +11092,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Skalė:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Transition Nodas"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10960,11 +11125,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11450,8 +11610,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Keisti Poligono Skalę"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11484,15 +11645,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Animacija"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11560,6 +11722,11 @@ msgid "New Animation"
msgstr "Animacija"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filtrai..."
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12465,8 +12632,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "Animacijos Nodas"
@@ -13952,20 +14118,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13973,14 +14134,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export Path"
msgstr "Importuoti iš Nodo:"
@@ -14084,35 +14237,47 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Redaguoti"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export mode?"
+msgid "Export Project..."
msgstr "Importuoti iš Nodo:"
#: editor/project_export.cpp
msgid "Export All"
msgstr ""
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Redaguoti"
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Redaguoti Filtrus"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Aprašymas:"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14390,15 +14555,15 @@ msgid "Project Manager"
msgstr "Aprašymas:"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Atsiųsti"
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Redaguoti Filtrus"
@@ -15580,8 +15745,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Panaikinti"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16427,7 +16593,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Priedai"
@@ -16598,7 +16764,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17020,7 +17186,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17050,6 +17215,19 @@ msgstr "Ištrinti Efektą"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Animacijos Nodas"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Animacijos Nodas"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17460,7 +17638,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17468,7 +17646,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17850,7 +18028,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17858,7 +18036,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18017,12 +18195,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Netinkami argumentai sukurti '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Netinkamas šrifto dydis."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18034,11 +18214,11 @@ msgid "Var Name"
msgstr "Vardas"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -18348,6 +18528,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Transition Nodas"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18356,6 +18541,16 @@ msgstr ""
msgid "Export Format"
msgstr "Importuoti iš Nodo:"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Atidaryti Skriptų Editorių"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "TimeScale Nodas"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18392,16 +18587,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Atidaryti Skriptų Editorių"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "TimeScale Nodas"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18561,10 +18746,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18642,12 +18823,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18656,25 +18837,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signalai"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18690,6 +18895,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18718,7 +18927,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18729,19 +18938,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18754,7 +18961,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18770,7 +18977,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animacijos Nodas"
#: platform/android/export/export_plugin.cpp
@@ -18778,15 +18985,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18797,8 +19001,9 @@ msgid "Adding files..."
msgstr "Filtrai..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files."
+msgstr "Pradėti Profiliavimą"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19038,6 +19243,15 @@ msgstr "Transition Nodas"
msgid "Custom BG Color"
msgstr "Transition Nodas"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19060,23 +19274,34 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Netinkamas šrifto dydis."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Pradėti Profiliavimą"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Prijungti"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Pradėti Profiliavimą"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Versija:"
@@ -19151,16 +19376,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "Pradėti Profiliavimą"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
+#, fuzzy
+msgid "Error starting HTTP server: %d."
+msgstr "Įvyko klaida kraunant šriftą."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19452,9 +19679,27 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Pradėti Profiliavimą"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Animacijos Nodas"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19470,19 +19715,73 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Konstanta"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Įvyko klaida kraunant šriftą."
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Aprašymas:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Netinkamas šrifto dydis."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19490,7 +19789,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19532,6 +19831,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Aprašymas:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Netinkamas šrifto dydis."
@@ -19843,6 +20151,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nepavyko pašalinti laikino failo:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19889,6 +20202,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Konstanta"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Netinkamas šrifto dydis."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Netinkamas šrifto dydis."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Netinkamas šrifto dydis."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Netinkamas šrifto dydis."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nepavyko pašalinti laikino failo:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19910,6 +20283,23 @@ msgid "Invalid product version:"
msgstr "Netinkamas šrifto dydis."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Netinkamas šrifto dydis."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19925,6 +20315,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20043,7 +20437,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -20091,7 +20486,7 @@ msgstr "Priartinti"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20789,34 +21184,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Prijungti"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Konstanta"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Diegti"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Įgalinti"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Įgalinti"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Įgalinti"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20840,13 +21257,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Ištrinti Efektą"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20854,7 +21274,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstanta"
@@ -21955,6 +22375,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Keisti Poligono Skalę"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21976,12 +22403,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22817,6 +23238,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Animacija: Pakeisti Transformaciją"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23978,6 +24404,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Įgalinti"
@@ -24361,16 +24792,17 @@ msgstr "Importuoti iš Nodo:"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24522,6 +24954,16 @@ msgid "3D Physics"
msgstr "Fizikos Kadro %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Animacijos Nodas"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Animacijos Nodas"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25893,7 +26335,7 @@ msgstr "Transition Nodas"
msgid "Refraction"
msgstr "Versija:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25973,8 +26415,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Skalė:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Versija:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -25989,10 +26437,15 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Atidaryti Skriptų Editorių"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26001,11 +26454,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Animacijos Nodas"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26018,6 +26476,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Redaguoti Filtrus"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26034,9 +26497,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Panaikinti pasirinkimą"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26429,6 +26901,11 @@ msgid "Scenario"
msgstr "Kelias iki Scenos:"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Animacijos Nodas"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26446,6 +26923,26 @@ msgstr "Redaguoti Filtrus"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Atnaujinti"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Atnaujinti"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Redaguoti Filtrus"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Prijungti"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
index 6d62cc9d81..c00e8d1a44 100644
--- a/editor/translations/lv.po
+++ b/editor/translations/lv.po
@@ -222,9 +222,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -335,7 +336,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nepietiekams skaits baitu lai dekodētu baitus vai nepareizs formāts."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Nederīga ievade %i (nav padota) izteikumā"
#: core/math/expression.cpp
@@ -380,6 +382,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Mēroga Režīms"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -408,6 +419,11 @@ msgstr ""
msgid "Command"
msgstr "Komūns"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fizikas kadrs %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -463,6 +479,10 @@ msgid "Pressure"
msgstr "Sagatave"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -574,7 +594,8 @@ msgstr "Apraksts"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Palaist"
@@ -663,6 +684,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Ainas ceļš:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -670,19 +696,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Versiju Kontrole"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Versiju Kontrole"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Spraudņi"
+msgid "Version Control Plugin Name"
+msgstr "Versiju Kontrole"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -797,7 +819,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtrs:"
@@ -1073,6 +1096,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Bezmaksas"
@@ -1089,7 +1113,7 @@ msgstr "Spogulis"
msgid "Time:"
msgstr "Laiks:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Vērtība:"
@@ -1336,10 +1360,71 @@ msgid "Remove this track."
msgstr "Noņemt šo celiņu."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Laiks (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Doka pozīcija"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Lokalizācija"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Mērogs:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tips:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Nederīgs paplašinājums."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Mērogs: "
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Sākt"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animācijas:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Pārslēgt Celiņu uz Iespējotu"
@@ -1552,7 +1637,8 @@ msgid "Add Method Track Key"
msgstr "Pievienot Celiņa Metodes Atslēgu"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metode objektā netika atrasta: "
#: editor/animation_track_editor.cpp
@@ -2087,14 +2173,15 @@ msgstr "Favorīti:"
msgid "Recent:"
msgstr "Nesenie:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Meklēt:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Sakritības:"
@@ -2154,8 +2241,8 @@ msgstr "Meklēt aizstājēja resursu:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2163,8 +2250,8 @@ msgid "Open"
msgstr "Atvērt"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Īpašnieki:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2467,7 +2554,7 @@ msgid "Bus Options"
msgstr "Kopnes Iestatījumi"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Izveidot dublikātu"
@@ -2519,8 +2606,9 @@ msgstr "Atvērt audio kopnes izkārtojumu"
msgid "There is no '%s' file."
msgstr "Fails '%s' neeksistē."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Izkārtojums"
#: editor/editor_audio_buses.cpp
@@ -2726,6 +2814,25 @@ msgid "Choose"
msgstr "Izvēlaties"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopēt mezgla ceļu"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pakete instalēta sekmīgi!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Neizdevās:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Faila saglabāšana:"
@@ -2738,6 +2845,31 @@ msgid "Packing"
msgstr "Pako"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Saglabāt Kā"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Neizdevās izveidot mapi."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Filtrēt projektus"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Nevar atvērt failu rakstīšanai:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Saglabāt Kā"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2857,11 +2989,30 @@ msgstr "Pielāgots atkļūdošanas šablons nav atrasts."
msgid "Custom release template not found."
msgstr "Pielāgots relīzes šablons nav atrasts."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Pārvaldīt šablonus"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Šablona fails nav atrasts:"
#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Pie 32-bitu eksportēšanas, iepakotais PCK nevar būt lielāks par 4GB."
@@ -3033,9 +3184,9 @@ msgid "Import"
msgstr "Importēt"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Eksportēt"
@@ -4187,15 +4338,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Aina"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Ainas ceļš:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4320,6 +4462,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Versiju Kontrole"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Pārsaukt"
@@ -4348,6 +4494,10 @@ msgstr "Pārslēgt traucējumu brīvo režīmu."
msgid "Add a new scene."
msgstr "Pievienot jaunu ainu."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Aina"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Iet uz iepriekš atvērto ainu."
@@ -4998,11 +5148,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Izmērs: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Lapa: "
#: editor/editor_properties_array_dict.cpp
@@ -5098,6 +5251,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekts"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Raksti savu loģiku _run() metodē."
@@ -5368,7 +5526,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigācija"
@@ -5394,6 +5554,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Režģkartes izvēle"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5941,10 +6110,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6684,14 +6855,6 @@ msgid "Replace in Files"
msgstr "Aizvietot failos"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Aizvietot: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Aizvietot visu (Nevar atsaukt)"
@@ -6820,7 +6983,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtrs:"
@@ -7081,7 +7244,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -7109,6 +7272,18 @@ msgid "Saving..."
msgstr "Saglabā..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7774,11 +7949,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7796,11 +7980,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7897,10 +8076,12 @@ msgstr ""
msgid "Directions"
msgstr "Virzieni"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Pagātne"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Nākotne"
@@ -7941,10 +8122,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8055,8 +8232,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Pievienot Pāreju"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8072,11 +8250,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Mērogs:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8964,6 +9137,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9028,6 +9202,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Izkārtojums"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9772,8 +9950,9 @@ msgid "Volume"
msgstr "Tilpums"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Redzamas sadursmes formas"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10002,6 +10181,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Daudzstūri"
@@ -10155,13 +10335,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tips:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10170,10 +10343,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10866,13 +11035,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Mērogs: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Pāreja eksistē!"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10895,11 +11068,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11375,8 +11543,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Konvertēt uz CPUParticles2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11407,15 +11576,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Darbība"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11479,6 +11649,11 @@ msgid "New Animation"
msgstr "Jauna animācija"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "animācija"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12348,8 +12523,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Reģions"
@@ -13780,20 +13954,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13801,14 +13970,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13909,34 +14070,48 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Eksportēt..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Importēt Projektu"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Izvēlēties Direktoriju"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Eksportēt..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Rediģēt Projektu"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projekta Dibinātāji"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Pārvaldīt Eksporta Šablonus"
@@ -14209,14 +14384,14 @@ msgid "Project Manager"
msgstr "Projekta Menedžeris "
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Ielādē, lūdzu uzgaidi..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Ielādē, lūdzu uzgaidi..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Rediģēt Projektu"
@@ -15373,8 +15548,9 @@ msgid "Attach Node Script"
msgstr "Pievienot mezgla skriptu"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Noņemt"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16227,7 +16403,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Daudzstūri"
@@ -16399,7 +16575,8 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Bibliotēkas: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16822,7 +16999,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16852,6 +17028,19 @@ msgstr "Centrēt mezglu"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigācija"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navigācijas režīms"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17257,7 +17446,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17265,7 +17454,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17629,7 +17818,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17637,7 +17826,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17804,12 +17993,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Nederīgs arguments, lai izveidotu '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Nederīgs nosaukums."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17821,12 +18012,14 @@ msgid "Var Name"
msgstr "Nosaukums"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metode objektā netika atrasta: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metode objektā netika atrasta: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18140,6 +18333,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Izgriezt mezglu(s)"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18148,6 +18346,16 @@ msgstr ""
msgid "Export Format"
msgstr "Eksportēt bibliotēku"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Galvenais Skripts:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Izdzēst Mezglu"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18187,16 +18395,6 @@ msgstr "Iepriekšējā cilne"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Galvenais Skripts:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Izdzēst Mezglu"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18354,10 +18552,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18434,12 +18628,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18448,25 +18642,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signāls"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18482,6 +18700,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Nevar palaist sub-procesu!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18510,7 +18733,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18521,19 +18744,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18546,7 +18767,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18561,7 +18782,8 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Paka nav atrasta: %s"
#: platform/android/export/export_plugin.cpp
@@ -18569,15 +18791,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18587,8 +18806,9 @@ msgid "Adding files..."
msgstr "Failu pievienošana..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files."
+msgstr "Nevar palaist sub-procesu!"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -18829,6 +19049,17 @@ msgstr "Izgriezt mezglu(s)"
msgid "Custom BG Color"
msgstr "Izgriezt mezglu(s)"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Pārvaldīt šablonus"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Pielāgots relīzes šablons nav atrasts."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18850,19 +19081,32 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Neizdevās izveidot mapi."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Nederīgs paplašinājums."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Neizdevās izveidot mapi."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Saturs:"
+
+#: platform/javascript/export/export.cpp
+#, fuzzy
+msgid "Could not read file: \"%s\"."
+msgstr "Neizdevās izveidot mapi."
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18940,16 +19184,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr ""
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
+msgstr "Neizdevās izveidot mapi."
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
+#, fuzzy
+msgid "Error starting HTTP server: %d."
+msgstr "Kļūda saglabājot failu: %s"
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19239,9 +19485,27 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Nevar palaist sub-procesu!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokalizācija"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19257,19 +19521,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Kļūda saglabājot failu: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Virzieni"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Nevar palaist sub-procesu!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Izveido sīktēlu"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Nederīgs bāzes ceļš."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19277,7 +19596,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19318,6 +19637,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekts"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Nederīgs bunduļa identifikators:"
@@ -19628,6 +19956,11 @@ msgid "Debug Algorithm"
msgstr "Atkļūdotājs"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nevar noņemt pagaidu failu:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19675,6 +20008,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Konstante"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Nederīgs paplašinājums."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Nederīgs Identifikators:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nederīgs nosaukums."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Nederīgs paplašinājums."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nevar noņemt pagaidu failu:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19696,6 +20089,23 @@ msgid "Invalid product version:"
msgstr "Nederīgs produkta GUID."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Nederīgs paplašinājums."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Jauns logs"
@@ -19712,6 +20122,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19833,7 +20247,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Šablons"
@@ -19883,7 +20298,7 @@ msgstr "Palielināt"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20592,34 +21007,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Izmainīt Savienojumu:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Konstante"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Izvēlēties galveno ainu"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Papildus"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Iespējot"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Iespējot"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20643,13 +21080,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centrēt mezglu"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20657,7 +21097,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstante"
@@ -21766,6 +22206,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformēt vienmērīgo."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -21790,12 +22237,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22638,6 +23079,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Pāreja eksistē!"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23824,6 +24270,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Tikai izvēlētais"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Iespējot"
@@ -24217,16 +24668,17 @@ msgstr "Fokusa ceļš"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24380,6 +24832,16 @@ msgid "3D Physics"
msgstr "Fizikas kadrs %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigācija"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigācija"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25763,7 +26225,7 @@ msgstr "Pievienot Pāreju"
msgid "Refraction"
msgstr "Atdalījums:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25843,7 +26305,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Mērogs: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Nomainīt Bāzes Tipu:"
#: scene/resources/navigation_mesh.cpp
@@ -25860,10 +26327,15 @@ msgid "Source Group Name"
msgstr "Avots"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Saturs:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -25873,11 +26345,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Reģions"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Sapludināt no ainas"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25890,6 +26367,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Rādīt noklusējumu"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25906,9 +26388,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Noņemt tekstūru"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26307,6 +26798,11 @@ msgid "Scenario"
msgstr "Aina"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigācija"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26323,6 +26819,26 @@ msgstr "Pa Kreisi, Lineārs"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Noklusējuma"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Noklusējuma motīvs"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testē"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Izmainīt Savienojumu:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/mi.po b/editor/translations/mi.po
deleted file mode 100644
index 517f1c6016..0000000000
--- a/editor/translations/mi.po
+++ /dev/null
@@ -1,25644 +0,0 @@
-# Māori translation of the Godot Engine editor
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
-# This file is distributed under the same license as the Godot source code.
-# follower <follower@rancidbacon.com>, 2019.
-msgid ""
-msgstr ""
-"Project-Id-Version: Godot Engine editor\n"
-"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"Language: mi\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Tablet Driver"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Clipboard"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Current Screen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Exit Code"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "V-Sync Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "V-Sync Via Compositor"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Delta Smoothing"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Keep Screen On"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Min Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Max Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Screen Orientation"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Window"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Borderless"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Per Pixel Transparency Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Fullscreen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Maximized"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Minimized"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
-#: scene/gui/graph_node.cpp
-msgid "Resizable"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
-#: scene/gui/control.cpp scene/gui/line_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Position"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
-#: main/main.cpp modules/gridmap/grid_map.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
-#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-msgid "Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Endian Swap"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Editor Hint"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Print Error Messages"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Iterations Per Second"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Target FPS"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Time Scale"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Physics Jitter Fix"
-msgstr ""
-
-#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Error"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error String"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error Line"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Result"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
-msgid "Memory"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp
-#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#: servers/visual_server.cpp
-msgid "Limits"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Command Queue"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Multithreading Queue Size (KB)"
-msgstr ""
-
-#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Function"
-msgstr ""
-
-#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Data"
-msgstr ""
-
-#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-msgid "Network"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Remote FS"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Size"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Read Ahead"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Blocking Mode Enabled"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Connection"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Read Chunk Size"
-msgstr ""
-
-#: core/io/marshalls.cpp
-msgid "Object ID"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-msgid "Allow Object Decoding"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Refuse New Network Connections"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Network Peer"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-msgid "Root Node"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Refuse New Connections"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Transfer Mode"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Encode Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Input Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Output Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Stream Peer"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Big Endian"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Data Array"
-msgstr ""
-
-#: core/io/stream_peer_ssl.cpp
-msgid "Blocking Handshake"
-msgstr ""
-
-#: core/io/udp_server.cpp
-msgid "Max Pending Connections"
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-msgid "Expected a string of length 1 (a character)."
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/mono/glue/gd_glue.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "self can't be used because instance is null (not passed)"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid index of type %s for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid named index '%s' for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid arguments to construct '%s'"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "On call to '%s':"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Seed"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-msgid "State"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Message Queue"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Max Size (KB)"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: servers/audio_server.cpp
-msgid "Device"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Alt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Shift"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Control"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Meta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Command"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
-#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Pressed"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Physical Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Unicode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Echo"
-msgstr ""
-
-#: core/os/input_event.cpp scene/gui/base_button.cpp
-msgid "Button Mask"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-msgid "Global Position"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Factor"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Button Index"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Doubleclick"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Tilt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pressure"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Relative"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
-#: scene/animation/animation_player.cpp scene/resources/environment.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: scene/3d/sprite_3d.cpp
-msgid "Axis"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Axis Value"
-msgstr ""
-
-#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-msgid "Index"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/touch_screen_button.cpp
-msgid "Action"
-msgstr ""
-
-#: core/os/input_event.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Strength"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Delta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Channel"
-msgstr ""
-
-#: core/os/input_event.cpp main/main.cpp
-msgid "Message"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pitch"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-msgid "Velocity"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Instrument"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Number"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Value"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Application"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-msgid "Config"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Project Settings Override"
-msgstr ""
-
-#: core/project_settings.cpp core/resource.cpp
-#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
-#: editor/editor_help_search.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_profiler.cpp editor/plugins/tile_set_editor_plugin.cpp
-#: editor/project_manager.cpp editor/settings_config_dialog.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/area_2d.cpp scene/3d/area.cpp
-#: scene/3d/skeleton.cpp scene/main/node.cpp scene/resources/mesh_library.cpp
-#: scene/resources/skin.cpp
-msgid "Name"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_help.cpp
-#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Description"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
-msgid "Run"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/run_settings_dialog.cpp main/main.cpp
-msgid "Main Scene"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stdout"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stderr"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Hidden Project Data Directory"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Custom User Dir"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Custom User Dir Name"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
-#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
-#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Width"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Height"
-msgstr ""
-
-#: core/project_settings.cpp editor/animation_track_editor.cpp
-#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
-msgid "Audio"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Default Bus Layout"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp
-#: editor/editor_file_system.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/script_create_dialog.cpp
-#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
-msgid "Editor"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Main Run Args"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Search In File Extensions"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr ""
-
-#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
-#: scene/3d/collision_object.cpp scene/gui/control.cpp
-msgid "Input"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Accept"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Select"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Cancel"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Next"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Prev"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Left"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Right"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Home"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI End"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
-#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/main/scene_tree.cpp scene/main/viewport.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#: servers/physics/space_sw.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Physics"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp main/main.cpp
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-#: scene/3d/physics_body.cpp scene/resources/world.cpp
-#: servers/physics/space_sw.cpp servers/physics_server.cpp
-msgid "3D"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Smooth Trimesh Collision"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
-#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Rendering"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/3d/baked_lightmap.cpp
-#: scene/main/scene_tree.cpp scene/resources/environment.cpp
-#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Quality"
-msgstr ""
-
-#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Filters"
-msgstr ""
-
-#: core/project_settings.cpp scene/main/viewport.cpp
-msgid "Sharpen Intensity"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/project_export.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp scene/3d/room_manager.cpp
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-#: servers/visual_server.cpp
-msgid "Debug"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-msgid "Settings"
-msgstr ""
-
-#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Profiler"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Max Functions"
-msgstr ""
-
-#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-msgid "Compression"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Formats"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zstd"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Long Distance Matching"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Compression Level"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Window Log Size"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zlib"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Gzip"
-msgstr ""
-
-#: core/project_settings.cpp platform/android/export/export.cpp
-msgid "Android"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Modules"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "TCP"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Connect Timeout Seconds"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Packet Peer Stream"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Max Buffer (Power of 2)"
-msgstr ""
-
-#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
-msgid "SSL"
-msgstr ""
-
-#: core/register_core_types.cpp main/main.cpp
-msgid "Certificates"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_resource_picker.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource"
-msgstr ""
-
-#: core/resource.cpp
-msgid "Local To Scene"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/project_manager.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Path"
-msgstr ""
-
-#: core/script_language.cpp
-msgid "Source Code"
-msgstr ""
-
-#: core/translation.cpp editor/project_settings_editor.cpp
-msgid "Locale"
-msgstr ""
-
-#: core/translation.cpp
-msgid "Test"
-msgstr ""
-
-#: core/translation.cpp scene/resources/font.cpp
-msgid "Fallback"
-msgstr ""
-
-#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
-msgid "B"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "KiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "MiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "GiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "TiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "PiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "EiB"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
-msgid "Buffers"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp main/main.cpp
-#: scene/2d/physics_body_2d.cpp scene/resources/world_2d.cpp
-#: servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/visual_server.cpp
-msgid "2D"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Snapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Use GPU Pixel Snap"
-msgstr ""
-
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Immediate Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Lightmapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Use Bicubic Sampling"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Elements"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Lights"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Reflections"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Lights Per Object"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Subsurface Scattering"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/node_2d.cpp scene/2d/parallax_layer.cpp scene/2d/polygon_2d.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp
-#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp
-#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-msgid "Scale"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Follow Surface"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Weight Samples"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Voxel Cone Tracing"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
-msgid "High Quality"
-msgstr ""
-
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Free"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Balanced"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Mirror"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
-msgid "Time:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Value:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Insert Key Here"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Duplicate Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Delete Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Add Bezier Point"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Move Bezier Points"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Delete Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Frame"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#: scene/resources/particles_material.cpp servers/visual_server.cpp
-msgid "Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: platform/osx/export/export.cpp
-msgid "Location"
-msgstr ""
-
-#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-msgid "Rotation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
-msgid "Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Arg Count"
-msgstr ""
-
-#: editor/animation_track_editor.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Args"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
-#: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Type"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "In Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Out Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Stream"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "End Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/sprite.cpp scene/3d/cpu_particles.cpp scene/3d/sprite_3d.cpp
-#: scene/animation/animation_blend_tree.cpp
-#: scene/resources/particles_material.cpp
-msgid "Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Easing"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Length"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation Loop"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Property Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "3D Transform Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Call Method Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier Curve Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (frames)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (seconds)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Looping"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Track Path"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle this track on/off."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Update Mode (How this property is set)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
-msgid "Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove this track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle Track Enabled"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Continuous"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Discrete"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Trigger"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp
-msgid "Capture"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Nearest"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp
-msgid "Linear"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Cubic"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clamp Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Wrap Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add RESET Value(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Update Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Loop Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove Anim Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editors"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-msgid "Confirm Insert Track"
-msgstr ""
-
-#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
-#: editor/animation_track_editor.cpp
-msgid "Create NEW track for %s and insert key?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create %d NEW tracks and insert keys?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "node '%s'"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "property '%s'"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Create & Insert"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Track & Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Rearrange Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"Audio tracks can only point to nodes of type:\n"
-"-AudioStreamPlayer\n"
-"-AudioStreamPlayer2D\n"
-"-AudioStreamPlayer3D"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Not possible to add a new track without a root"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Bezier Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track is not of type Spatial, can't insert key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Transform Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a method key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Method Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Move Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp scene/2d/node_2d.cpp
-#: scene/3d/spatial.cpp scene/main/canvas_layer.cpp
-#: servers/camera/camera_feed.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_help.cpp
-msgid "Methods"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Clipboard is empty!"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Paste Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Scale Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This option does not work for Bezier editing, as it's only a single track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Add RESET Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This animation belongs to an imported scene, so changes to imported tracks "
-"will not be saved.\n"
-"\n"
-"To enable the ability to add custom tracks, navigate to the scene's import "
-"settings and set\n"
-"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom "
-"Tracks\", then re-import.\n"
-"Alternatively, use an import preset that imports animations to separate "
-"files."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Warning: Editing imported animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select an AnimationPlayer node to create and edit animations."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Only show tracks from nodes selected in tree."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Group tracks by node or display them as plain list."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Snap:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation step value."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Seconds"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp main/main.cpp
-#: scene/resources/texture.cpp
-msgid "FPS"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_resource_picker.cpp editor/import/resource_importer_wav.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation properties."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Copy Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale From Cursor"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Transposed"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Next Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Previous Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Apply Reset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Pick the node that will be animated:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Use Bezier Curves"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create RESET Track(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim. Optimizer"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Linear Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Angular Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max Optimizable Angle:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Optimize"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove invalid keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove unresolved and empty tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-up all animations"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Ratio:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select Tracks to Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_log.cpp
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select All/None"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Add Audio Track Clip"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip End Offset"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Resize Array"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value Type"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Go to Line"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line Number:"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "%d replaced."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d match."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d matches."
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Match Case"
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Whole Words"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace All"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Selection Only"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-msgid "Standard"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Toggle Scripts Panel"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom In"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Out"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Reset Zoom"
-msgstr ""
-
-#: editor/code_editor.cpp modules/gdscript/gdscript.cpp
-msgid "Warnings"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line and column numbers."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method in target node must be specified."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method name must be a valid identifier."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Target method not found. Specify a valid method or attach a script to the "
-"target node."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Node:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Script:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "From Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Scene does not contain any script."
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
-#: editor/groups_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-msgid "Add"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp
-msgid "Remove"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Add Extra Call Argument:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Extra Call Arguments:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Receiver Method:"
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Advanced"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Deferred"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/resources/texture.cpp
-msgid "Oneshot"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnects the signal after its first emission."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Cannot connect signal"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.cpp editor/groups_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect '%s' to '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect all from signal: '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Disconnect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect a Signal to a Method"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit Connection:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
-msgid "Signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Filter signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from this signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect All"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Go to Method"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Change %s Type"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/project_settings_editor.cpp
-msgid "Change"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Create New %s"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "No results for \"%s\"."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/property_selector.cpp
-msgid "No description available for %s."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp
-msgid "Favorites:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-msgid "Recent:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Matches:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Description:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Scene '%s' is currently being edited.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Resource '%s' is in use.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Broken"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependency Editor"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement Resource:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Open"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Remove the selected files from the project? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"The files being removed are required by other resources in order for them to "
-"work.\n"
-"Remove them anyway? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Cannot remove:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Error loading:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Load failed due to missing dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_node.cpp
-msgid "Open Anyway"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Which action should be taken?"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Errors loading!"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Show Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Orphan Resource Explorer"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
-msgid "Delete"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owns"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Resources Without Explicit Ownership:"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Key"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Value"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Thanks from the Godot community!"
-msgstr ""
-
-#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp
-msgid "Click to copy."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Godot Engine contributors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Project Founders"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Lead Developer"
-msgstr ""
-
-#. TRANSLATORS: This refers to a job title.
-#: editor/editor_about.cpp
-msgctxt "Job Title"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Developers"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Authors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Platinum Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Mini Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "License"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Third-party Licenses"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid ""
-"Godot Engine relies on a number of third-party free and open source "
-"libraries, all compatible with the terms of its MIT license. The following "
-"is an exhaustive list of all such third-party components with their "
-"respective copyright statements and license terms."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "All Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Licenses"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "%s (already exists)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - No files conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Uncompressing Assets"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "The following files failed extraction from asset \"%s\":"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "(and %s more files)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset \"%s\" installed successfully!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Success!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp editor/editor_node.cpp
-msgid "Install"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset Installer"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Speakers"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Rename Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Change Audio Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Bypass Effects"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Select Audio Bus Send"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Drag & drop to rearrange."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bypass"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bus Options"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Master bus can't be deleted!"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Duplicate Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save Audio Bus Layout As..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Location for New Layout..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Open Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "There is no '%s' file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Invalid file, not an audio bus layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Error saving file: %s"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add a new Audio Bus to this layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Load"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load an existing Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save As"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save this Bus Layout to a file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/import_dock.cpp
-msgid "Load Default"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load the default Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Create a new Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Invalid name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Cannot begin with a digit."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Valid characters:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing engine class name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing built-in type name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing global constant name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Keyword cannot be used as an autoload name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp
-#: modules/gdscript/gdscript.cpp platform/android/export/export_plugin.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/3d/reflection_probe.cpp scene/main/canvas_layer.cpp
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Enable"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Can't add autoload:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. File does not exist."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. Not in resource path (res://)."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Path:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Node Name:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Global Variable"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating Scene"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Storing local changes..."
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating scene..."
-msgstr ""
-
-#: editor/editor_data.cpp editor/editor_resource_picker.cpp
-msgid "[empty]"
-msgstr ""
-
-#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "[unsaved]"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Please select a base directory first."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose a Directory"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Create Folder"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp
-msgid "Name:"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp
-msgid "Could not create folder."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Storing File:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No export template found at the expected path:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Packing"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
-"Etc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' texture compression for GLES3. Enable "
-"'Import Etc 2' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for GLES2. Enable "
-"'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. "
-"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom Template"
-msgstr ""
-
-#: editor/editor_export.cpp editor/project_export.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Release"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Binary Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "64 Bits"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Embed PCK"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "Texture Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "BPTC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "S3TC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC2"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No BPTC Fallbacks"
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom debug template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom release template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Convert Text Resources To Binary On Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "3D Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Script Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Asset Library"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Scene Tree Editing"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Node Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "FileSystem Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to view and edit 3D scenes."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to edit scripts using the integrated script editor."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Provides built-in access to the Asset Library."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to work with signals and groups of the node selected in the Scene "
-"dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to browse the local file system via a dedicated dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to configure import settings for individual assets. Requires the "
-"FileSystem dock to function."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(current)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(none)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove currently selected profile, '%s'? Cannot be undone."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile with this name already exists."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enable Contextual Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Properties:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Main Features:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Nodes and Classes:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "File '%s' format is invalid, import aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Profile '%s' already exists. Remove it first before importing, import "
-"aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Error saving profile to path: '%s'."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Reset to Default"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Current Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Available Profiles:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Make Current"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/editor_node.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Import"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Configure Selected Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Extra Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create or import a profile to edit available classes and properties."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "New profile name:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Godot Feature Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Profile(s)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Export Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Manage Editor Feature Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Default Feature Profile"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select Current Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "File exists, overwrite?"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select This Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Copy Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Open in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-msgid "Show in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "New Folder..."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/find_in_files.cpp
-msgid "Refresh"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Recognized"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Files (*)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open File(s)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File or Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/editor_resource_picker.cpp editor/import_defaults_editor.cpp
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "Save"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Save a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Access"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-msgid "Display Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/csg/csg_shape.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/light_2d.cpp scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/light.cpp scene/3d/physics_body.cpp
-#: scene/gui/control.cpp scene/gui/file_dialog.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Dir"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Show Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Disable Overwrite Warning"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Back"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Forward"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Favorite"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_resource_picker.cpp
-#: scene/gui/base_button.cpp
-msgid "Toggle Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Focus Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Down"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to previous folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to next folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Go to parent folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Refresh files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "(Un)favorite current folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Toggle the visibility of hidden files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a list."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Directories & Files:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
-#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp
-msgid "Preview:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "File:"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "ScanSources"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid ""
-"There are multiple importers for different types pointing to file %s, import "
-"aborted"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "(Re)Importing Assets"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "Reimport Missing Imported Files"
-msgstr ""
-
-#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Top"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Class:"
-msgstr ""
-
-#: editor/editor_help.cpp editor/scene_tree_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Inherits:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Inherited by:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Properties"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "overrides %s:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "default:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Theme Properties"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/gradient.cpp
-msgid "Colors"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constants"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Fonts"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Icons"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Styles"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Enumerations"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Property Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "(value)"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this property. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Method Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this method. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript_editor.cpp
-msgid "Text Editor"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Help"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Sort Functions Alphabetically"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Help"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Case Sensitive"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Show Hierarchy"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Display All"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Classes Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Methods Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Signals Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Constants Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Member Type"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Class"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Method"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Signal"
-msgstr ""
-
-#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Constant"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Property"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
-msgid "Property:"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-msgid "Label"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Read Only"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-msgid "Checkable"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Draw Red"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Keying"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid ""
-"Pinning a value forces it to be saved even if it's equal to the default."
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Set %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Set Multiple:"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Unpinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Paste Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property Path"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Output:"
-msgstr ""
-
-#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Copy Selection"
-msgstr ""
-
-#: editor/editor_log.cpp editor/editor_network_profiler.cpp
-#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/property_editor.cpp editor/scene_tree_dock.cpp
-#: editor/script_editor_debugger.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Clear"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Clear Output"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: editor/editor_profiler.cpp
-msgid "Stop"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
-#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
-msgid "Start"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "%s/s"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Down"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Up"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RSET"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RSET"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "New Window"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Unnamed Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Spins when the editor window redraws.\n"
-"Update Continuously is enabled, which can increase power usage. Click to "
-"disable it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Spins when the editor window redraws."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Imported resources can't be saved."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Error saving resource!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource can't be saved because it does not belong to the edited scene. "
-"Make it unique first."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save Resource As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't open file for writing:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Requested file format unknown:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while saving."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while parsing '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unexpected end of file '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Missing '%s' or its dependencies."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while loading '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Saving Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Analyzing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Creating Thumbnail"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a tree root."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene can't be saved because there is a cyclic instancing inclusion.\n"
-"Please resolve it and then attempt to save again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
-"be satisfied."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not save one or more scenes!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save All Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp editor/scene_tree_dock.cpp
-msgid "Can't overwrite scene that is still open!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load MeshLibrary for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving MeshLibrary!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load TileSet for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving TileSet!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"An error occurred while trying to save the editor layout.\n"
-"Make sure the editor's user data path is writable."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Default editor layout overridden.\n"
-"To restore the Default layout to its base settings, use the Delete Layout "
-"option and delete the Default layout."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Layout name not found!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restored the Default layout to its base settings."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was imported, so it's not editable.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was instanced or inherited.\n"
-"Changes to it won't be kept when saving the current scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource was imported, so it's not editable. Change its settings in the "
-"import panel and then re-import."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene was imported, so changes to it won't be kept.\n"
-"Instancing it or inheriting will allow making changes to it.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This is a remote object, so changes to it won't be kept.\n"
-"Please read the documentation relevant to debugging to better understand "
-"this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "There is no defined scene to run."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save scene before running..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not start subprocess!"
-msgstr ""
-
-#: editor/editor_node.cpp editor/filesystem_dock.cpp
-msgid "Open Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Base Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Script..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Reload"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Close"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before closing?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%s no longer exists! Please specify a new save location."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has no root node, but %d modified external resource(s) "
-"were saved anyway."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"A root node is required to save the scene. You can add a root node using the "
-"Scene tree dock."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene As..."
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "This operation can't be done without a scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Mesh Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a root node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Tile Set"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a selected node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Current scene not saved. Open anyway?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't undo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to undo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't redo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to redo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Redo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't reload a scene that was never saved."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Saved Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has unsaved changes.\n"
-"Reload the saved scene anyway? This action cannot be undone."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Run Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Yes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Exit the editor?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before quitting?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before opening Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This option is deprecated. Situations where refresh must be forced are now "
-"considered a bug. Please report."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pick a Main Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reopen Closed Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s'. This might be due to a code "
-"error in that script.\n"
-"Disabling the addon at '%s' to prevent further errors."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Scene '%s' was automatically imported, so it can't be modified.\n"
-"To make changes to it, a new inherited scene can be created."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to "
-"open the scene, then save it inside the project path."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene '%s' has broken dependencies:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Clear Recent Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"No main scene has ever been defined, select one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' does not exist, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' is not a scene file, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Delete Layout"
-msgstr ""
-
-#: editor/editor_node.cpp editor/import_dock.cpp
-#: editor/script_create_dialog.cpp
-msgid "Default"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-msgid "Show in FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play This Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Close Other Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tabs to the Right"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close All Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Switch Scene Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files or folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to write to file '%s', file in use, locked or lacking permissions."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#: servers/arvr/arvr_interface.cpp
-msgid "Interface"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Scene Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Always Show Close Button"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Resize If Many Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Minimum Width"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Output"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Clear Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Open Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Close Output On Stop"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save On Focus Loss"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Save Each Scene On Quit"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Quit Confirmation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Show Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Continuously"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Only"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Localize Settings"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restore Scenes On Load"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Show Thumbnail On Hover"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Property Name Style"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Float Step"
-msgstr ""
-
-#: editor/editor_node.cpp scene/gui/tree.cpp
-msgid "Disable Folding"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Auto Unfold Foreign Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector2 Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector Types Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Resources In Current Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Resources To Open In New Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Color Picker Mode"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Username"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Public Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Private Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Dock Position"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_plugin.cpp
-msgid "Distraction Free Mode"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle distraction-free mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Add a new scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to previously opened scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Text"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Next tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Previous tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Filter Files..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Operations with scene files."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Open Recent"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Convert To..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "MeshLibrary..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "TileSet..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Undo"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Redo"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Miscellaneous project or scene-wide tools."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-#: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp
-msgid "Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Project Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Set Up Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Shut Down Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install Android Build Template..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open User Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tools"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Orphan Resource Explorer..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Current Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit to Project List"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Deploy with Remote Debug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy will make the executable "
-"attempt to connect to this computer's IP so the running project can be "
-"debugged.\n"
-"This option is intended to be used for remote debugging (typically with a "
-"mobile device).\n"
-"You don't need to enable it to use the GDScript debugger locally."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Small Deploy with Network Filesystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy for Android will only "
-"export an executable without the project data.\n"
-"The filesystem will be provided from the project by the editor over the "
-"network.\n"
-"On Android, deploying will use the USB cable for faster performance. This "
-"option speeds up testing for projects with large assets."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Collision Shapes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, collision shapes and raycast nodes (for 2D and "
-"3D) will be visible in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Navigation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, navigation meshes and polygons will be visible "
-"in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Force Shader Fallbacks"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, shaders will be used in their fallback form "
-"(either visible via an ubershader or hidden) during all the run time.\n"
-"This is useful for verifying the look and performance of fallbacks, which "
-"are normally displayed briefly.\n"
-"Asynchronous shader compilation must be enabled in the project settings for "
-"this option to make a difference."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Scene Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any changes made to the scene in the editor "
-"will be replicated in the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Script Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any script that is saved will be reloaded in "
-"the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Take Screenshot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle Fullscreen"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data/Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Editor Features..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Export Templates..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Online Documentation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Questions & Answers"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Report a Bug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Suggest a Feature"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Send Docs Feedback"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "Community"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "About Godot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Support Godot Development"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause the scene execution for debugging."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Stop the scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the edited scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play custom scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Custom Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changing the video driver requires restarting the editor."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_settings_editor.cpp
-#: editor/settings_config_dialog.cpp
-msgid "Save & Restart"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update All Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Hide Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/fileserver/editor_file_server.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Expand Bottom Panel"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Don't Save"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Android build template is missing, please install relevant templates."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Templates"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install from file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select android sources file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This will set up your project for custom Android builds by installing the "
-"source template to \"res://android/build\".\n"
-"You can then apply modifications and build your own custom APK on export "
-"(adding modules, changing the AndroidManifest.xml, etc.).\n"
-"Note that in order to make custom builds instead of using pre-built APKs, "
-"the \"Use Custom Build\" option should be enabled in the Android export "
-"preset."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The Android build template is already installed in this project and it won't "
-"be overwritten.\n"
-"Remove the \"res://android/build\" directory manually before attempting this "
-"operation again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Import Templates From ZIP File"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Template Package"
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Merge With Existing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Apply MeshInstance Transforms"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open & Run a Script"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Reload"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Resave"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load Errors"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Select"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select Current"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 2D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 3D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Script Editor"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Open Asset Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the next Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the previous Editor"
-msgstr ""
-
-#: editor/editor_node.h
-msgid "Warning!"
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "No sub-resources found."
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "Open a list of sub-resources."
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Creating Mesh Previews"
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Thumbnail..."
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Main Script:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Edit Plugin"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Update"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Version"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Author"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Measure:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Average Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Physics Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Inclusive"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Self"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid ""
-"Inclusive: Includes time from other functions called by this function.\n"
-"Use this to spot bottlenecks.\n"
-"\n"
-"Self: Only count the time spent in the function itself, not in other "
-"functions called by that function.\n"
-"Use this to find individual functions to optimize."
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame #:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Calls"
-msgstr ""
-
-#: editor/editor_profiler.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Debugger"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame History Size"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame Max Functions"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Edit Text:"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/script_create_dialog.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On"
-msgstr ""
-
-#: editor/editor_properties.cpp modules/gridmap/grid_map.cpp
-#: scene/2d/collision_object_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Layer"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Bit %d, value %d"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
-msgid "Assign..."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Invalid RID"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on resources saved as a file.\n"
-"Resource needs to belong to a scene."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on this resource because it's not set as "
-"local to scene.\n"
-"Please switch on the 'local to scene' property on it (and all resources "
-"containing it up to a node)."
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid ""
-"The selected resource (%s) does not match any type expected for this "
-"property (%s)."
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Quick Load"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Convert to %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/plugins/theme_editor_plugin.cpp
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Base Type"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Edited Resource"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
-#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-msgid "Editable"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp
-msgid "Extend Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Script Owner"
-msgstr ""
-
-#: editor/editor_run_native.cpp
-msgid ""
-"No runnable export preset found for this platform.\n"
-"Please add a runnable preset in the Export menu or define an existing preset "
-"as runnable."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Write your logic in the _run() method."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "There is an edited scene already."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't instance script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the 'tool' keyword?"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't run script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the '_run' method?"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor Language"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Antialiased"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Hinting"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Bold"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Dim Editor On Dialog Popup"
-msgstr ""
-
-#: editor/editor_settings.cpp main/main.cpp
-msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Separate Distraction Mode"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Automatically Open Screenshots"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Max Array Dictionary Items Per Page"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
-#: scene/register_scene_types.cpp
-msgid "Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/import_dock.cpp
-msgid "Preset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Icon And Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Accent Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/environment.cpp
-msgid "Contrast"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Relationship Line Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Highlight Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Border Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Graph Node Headers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Additional Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Script Button"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Directories"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autoscan Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Compress Binary Resources"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Safe Save On Backup Then Rename"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "File Dialog"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Thumbnail Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Docks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scene Tree"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Start Create Dialog Fully Expanded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Always Show Folders"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Property Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Refresh Interval"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Subresource Hue Tint"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Color Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/3d/label_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Syntax Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight All Occurrences"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Highlight Type Safe Lines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Auto Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Convert Indent On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Spaces"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
-msgid "Navigation"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Smooth Scrolling"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "V Scroll Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Minimap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Appearance"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Show Line Numbers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Numbers Zero Padded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Bookmark Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Breakpoint Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Info Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Folding"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Word Wrap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Line Length Guidelines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Soft Column"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Hard Column"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Script List"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Members Overview"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Files"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Trim Trailing Whitespace On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autosave Interval Secs"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Restore Scripts On Load"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload Scripts On External Change"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Create Signal Callbacks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sort Members Outline Alphabetically"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Cursor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll Past End Of File"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Block Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Right Click Moves Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
-#: modules/gdscript/gdscript_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Idle Parse Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Brace Complete"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Complete Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Callhint Tooltip Offset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Complete File Paths"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-msgid "Add Type Hints"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Single Quotes"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Help Index"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Source Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Title Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Grid Map"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Preview Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Secondary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Selection Box Color"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "3D Gizmos"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Gizmo Colors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Instanced"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/physics_body.cpp
-msgid "Joint"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/collision_shape.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/occluder.cpp scene/3d/spring_arm.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Shape"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Steps"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Max"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Min"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Bias"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XY Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid YZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default FOV"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Near"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Far"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert Y Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert X Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Style"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate Numpad"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate 3 Button Mouse"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-msgid "Warped Mouse Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Feel"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Translation Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Base Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Activation Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Speed Zoom Link"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Guides Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Smart Snapping Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 1"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 2"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone IK Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Viewport Border Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Constrain Editor View"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Simple Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll To Pan"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Poly Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Point Grab Radius"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Previous Outline"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-msgid "Autorename Animation Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Bezier Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Reset Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Past Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Future Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Visual Editors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Window Placement"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/control.cpp
-msgid "Rect"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Rect Custom Position"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
-msgid "Screen"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Save Before Running"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Host"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor SSL Certificates"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "HTTP Proxy"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Host"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sorting Order"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Symbol Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Control Flow Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Engine Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "User Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Comment Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "String Color"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Existing Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Safe Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Selection Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Brace Mismatch Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Current Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Word Highlighted Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Function Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Member Variable Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Mark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Bookmark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Executing Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Code Folding Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Border Color"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hold %s to round to integers. Hold Shift for more precise changes."
-msgstr ""
-
-#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-msgid "Flat"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hide Slider"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Select Node(s) to Import"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp editor/project_manager.cpp
-msgid "Browse"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Scene Path:"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Import From Node:"
-msgstr ""
-
-#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
-#: editor/editor_vcs_interface.cpp
-msgid "%s Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "There are no mirrors available."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Retrieving the mirror list..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Starting the download..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error requesting URL:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connecting to the mirror..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't resolve the requested address."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't connect to the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No response from the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request ended up in a redirect loop."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request failed:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download complete; extracting templates..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cannot remove temporary file:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Templates installation failed.\n"
-"The problematic templates archives can be found at '%s'."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error getting the list of mirrors."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Best available mirror"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"No download links found for this version. Direct download is only available "
-"for official releases."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Disconnected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Resolving"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Resolve"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connecting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Connect"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Requesting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Downloading"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connection Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "SSL Handshake Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't open the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside the export templates file: %s."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No version.txt found inside the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error creating path for extracting templates:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Extracting Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Importing:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Remove templates for the version '%s'?"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uncompressing Android Build Sources"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export Template Manager"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Current Version:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are missing. Download them or install from a file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are installed and ready to be used."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open Folder"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing installed templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download from:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open in Web Browser"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Copy Mirror URL"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download and Install"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Download and install templates for the current version from the best "
-"possible mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Official export templates aren't available for development builds."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install from File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install templates from a local file."
-msgstr ""
-
-#: editor/export_template_manager.cpp editor/find_in_files.cpp
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cancel the download of the templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Other Installed Versions:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall Template"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Select Template File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Godot Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"The templates will continue to download.\n"
-"You may experience a short editor freeze when they finish."
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-msgid "File Server"
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Password"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Status: Import of file failed. Please fix file and reimport manually."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Importing has been disabled for this file, so it can't be opened for editing."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move/rename resources root."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move a folder into itself."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error moving:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error duplicating:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Unable to update dependencies:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
-msgid "No name provided."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Provided name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "A file or folder with this name already exists."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"This file extension is not recognized by the editor.\n"
-"If you want to rename it anyway, use your operating system's file manager.\n"
-"After renaming to an unknown extension, the file won't be shown in the "
-"editor anymore."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"The following files or folders conflict with items in the target location "
-"'%s':\n"
-"\n"
-"%s\n"
-"\n"
-"Do you wish to overwrite them?"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Inherited Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Set As Main Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Open Scenes"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Instance"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Add to Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Remove from Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Edit Dependencies..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "View Owners..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move To..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Scene..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "New Script..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Resource..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Expand All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Collapse All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Last Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by First Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Rename..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Focus the search box"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Previous Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Next Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Re-Scan Filesystem"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Toggle Split Mode"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Search files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Scanning Files,\n"
-"Please Wait..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/project_manager.cpp editor/rename_dialog.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Rename"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Overwrite"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Create Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Find in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find:"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/rename_dialog.cpp
-msgid "Replace:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Folder:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Filters:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid ""
-"Include the files with the following extensions. Add or remove them in "
-"ProjectSettings."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Replace in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace All (NO UNDO)"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Searching..."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d match in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d files."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Add to Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Remove from Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group name already exists."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Invalid group name."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Rename Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Delete Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/node_dock.cpp
-msgid "Groups"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes Not in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Empty groups will be automatically removed."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group Editor"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Manage Groups"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Collada"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Use Ambient"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-msgid "Create From"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Threshold"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-msgid "Compress"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-msgid "Delimiter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "ColorCorrect"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "No BPTC If RGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
-msgid "Flags"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
-#: scene/resources/texture.cpp
-msgid "Repeat"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Filter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Mipmaps"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Anisotropic"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "sRGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "Slices"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Horizontal"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Vertical"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Generate Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Scale Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Offset Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-#: editor/import/resource_importer_scene.cpp
-msgid "Octahedral Compression"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Optimize Mesh Flags"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Single Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#: scene/3d/physics_joint.cpp
-msgid "Nodes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Type"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Name"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Scale"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Custom Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-msgid "Storage"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Legacy Names"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep On Reimport"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Meshes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Ensure Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Light Baking"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Lightmap Texel Size"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Named Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "External Files"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Store In Subdir"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Filter Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep Custom Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Optimizer"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/camera_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/navigation_polygon.cpp scene/2d/ray_cast_2d.cpp scene/2d/sprite.cpp
-#: scene/2d/y_sort.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/interpolated_camera.cpp
-#: scene/3d/light.cpp scene/3d/navigation_mesh_instance.cpp
-#: scene/3d/physics_joint.cpp scene/3d/ray_cast.cpp scene/3d/skeleton.cpp
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Enabled"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Linear Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angular Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angle"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Remove Unused Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Clips"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/particles.cpp scene/resources/environment.cpp
-msgid "Amount"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Importing Scene..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating Lightmaps"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Running Custom Script..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Couldn't load post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Invalid/broken script for post-import (check console):"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Error running post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Did you return a Node-derived object in the `post_import()` method?"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Saving..."
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D Pixel"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
-msgid "Lossy Quality"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "HDR Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "BPTC LDR"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
-#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
-msgid "Normal Map"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Process"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Fix Alpha Border"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Premult Alpha"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Hdr As Srgb"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Invert Color"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Normal Map Invert Y"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Size Limit"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "SVG"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid ""
-"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
-"texture will not display correctly on PC."
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Atlas File"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Import Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Crop To Region"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Trim Alpha Border From Region"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-msgid "Force"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "8 Bit"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Mono"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate Hz"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Trim"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Normalize"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Mode"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Begin"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop End"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Select Importer"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Importer:"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Reset to Defaults"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Keep File (No Import)"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "%d Files"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Set as Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Clear Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Reimport"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"You have pending changes that haven't been applied yet. Click Reimport to "
-"apply changes made to the import options.\n"
-"Selecting another resource in the FileSystem dock without clicking Reimport "
-"first will discard changes made in the Import dock."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Import As:"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Save Scenes, Re-Import, and Restart"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Changing the type of an imported file requires editor restart."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"WARNING: Assets exist that use this resource, they may stop loading properly."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"Select a resource file in the filesystem or in the inspector to adjust "
-"import settings."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Property Name Style"
-msgstr ""
-
-#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
-msgid "Raw"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Capitalized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localization not available for current language."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Paste Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Extra resource options."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Edit Resource from Clipboard"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Resource Built-In"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Open documentation for this object."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp
-msgid "Open Documentation"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Filter properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Manage object properties."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
-#: editor/multi_node_edit.cpp
-msgid "MultiNode Set"
-msgstr ""
-
-#: editor/node_dock.cpp
-msgid "Select a single node to edit its signals and groups."
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Edit a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Create a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Plugin Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Subfolder:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Author:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Version:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp
-msgid "Language:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Script Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Activate now?"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid ""
-"Edit points.\n"
-"LMB: Move Point\n"
-"RMB: Erase Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Erase points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Insert Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon (Remove Point)"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Remove Polygon And Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Add %s"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Load..."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Move Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "This type of node can't be used. Only root nodes are allowed."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Animation Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Remove BlendSpace1D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Move BlendSpace1D Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"AnimationTree is inactive.\n"
-"Activate to enable playback, check node warnings if activation fails."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Set the blending position within the space"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Select and move points, create points with RMB."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
-msgid "Enable snap and show grid."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Open Editor"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Open Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Triangle already exists."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "BlendSpace2D does not belong to an AnimationTree node."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "No triangles exist, so no blending can take place."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Toggle Auto Triangles"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create triangles by connecting points."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Erase points and triangles."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Generate blend triangles automatically (instead of manually)"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Parameter Changed:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Output node can't be added to the blend tree."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Add Node to BlendTree"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Node Moved"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Unable to connect, port may be in use or connection may be invalid."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Connected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Disconnected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Set Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Toggle Filter On/Off"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Change Filter"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "No animation player set, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Player path set is invalid, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid ""
-"Animation player has no valid root node path, so unable to retrieve track "
-"names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Anim Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Audio Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Functions"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Renamed"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node..."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Edit Filtered Tracks:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Enable Filtering"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Toggle Autoplay"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Anim"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Animation?"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Remove Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Invalid animation name!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation name already exists!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Next Changed"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Blend Time"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "No animation resource on clipboard!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pasted Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from current pos. (A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Stop animation playback. (S)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from start. (Shift+D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from current pos. (D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation position (in seconds)."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Scale animation playback globally for the node."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "New"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste As Reference"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Transitions..."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Open in Inspector"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Enable Onion Skinning"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Onion Skinning Options"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Directions"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Past"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Future"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/3d/collision_polygon.cpp scene/main/scene_tree.cpp
-#: scene/resources/material.cpp scene/resources/primitive_meshes.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Depth"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "1 step"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "2 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "3 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Differences Only"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Force White Modulate"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Include Gizmos (3D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pin AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-msgid "Error!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Times:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Next (Auto Queue):"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Cross-Animation Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Move Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition exists!"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Add Transition"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Immediate"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/animation/animation_blend_tree.cpp
-msgid "Sync"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "At End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Travel"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Start and end nodes are needed for a sub-transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "No playback resource set at path: %s."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set Start Node (Autoplay)"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"Select and move nodes.\n"
-"RMB to add new nodes.\n"
-"Shift+LMB to create connections."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Create new nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Connect nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Remove selected node or transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Toggle autoplay this animation on start, restart or seek to zero."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set the end animation. This is useful for sub-transitions."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Play Mode:"
-msgstr ""
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "New name:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade In (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade Out (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader.cpp
-msgid "Blend"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Auto Restart:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Random Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Start!"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Amount:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 0:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 1:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "X-Fade Time (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Clear Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Set Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Delete Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is valid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is invalid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "OneShot Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Mix Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend2 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend3 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend4 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeScale Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeSeek Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Transition Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Import Animations..."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Node Filters"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Filters..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
-msgid "Use Threads"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Contents:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "View Files"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connection error, please try again."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect to host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response from host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve hostname:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, return code:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Cannot save response to:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Write error."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, too many redirects"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Redirect loop."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, timeout"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Timeout."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Bad download hash, assuming file has been tampered with."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Expected:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Got:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed SHA-256 hash check"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Asset Download Error:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading (%s / %s)..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Resolving..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Error making request"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Idle"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Install..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Retry"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download Error"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Available URLs"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download for this asset is already in progress!"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Least Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Loading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "First"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Previous"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Next"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Last"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "All"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search templates, projects, and demos"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search assets (excluding templates, projects, and demos)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Import..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Plugins..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Sort:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Category:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Site:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Support"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Official"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Testing"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed to get repository configuration."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Assets ZIP File"
-msgstr ""
-
-#: editor/plugins/audio_stream_editor_plugin.cpp
-msgid "Audio Preview Play/Pause"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Can't determine a save path for lightmap images.\n"
-"Save your scene and try again."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"No meshes to bake. Make sure they contain an UV2 channel and that the 'Use "
-"In Baked Light' and 'Generate Lightmap' flags are on."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed creating lightmap images, make sure path is writable."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed determining lightmap size. Maximum lightmap size too small?"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Some mesh is invalid. Make sure the UV2 channel values are contained within "
-"the [0.0,1.0] square region."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Godot editor was built without ray tracing support, lightmaps can't be baked."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Bake Lightmaps"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "LightMap Bake"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Select lightmap bake file:"
-msgstr ""
-
-#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/resources/mesh_library.cpp
-msgid "Preview"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Configure Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Primary Line Every:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "steps"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal and Vertical Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate CanvasItem \"%s\" to %d degrees"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Node2D \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Resize Control \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Locked"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Grouped"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Children of containers have their anchors and margins values overridden by "
-"their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Presets for the anchors and margins values of a Control node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"When active, moving Control nodes changes their anchors instead of their "
-"margins."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Top"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Bottom"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Left Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Top Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Right Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Bottom Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "VCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "HCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Full Rect"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Keep Ratio"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Anchors only"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors and Margins"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"Overrides the running project's camera with the editor viewport camera."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"No project instance running. Run the project from the editor to use this "
-"feature."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Paste Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Warning: Children of a container get their position and size determined only "
-"by their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Reset"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/item_list.cpp
-#: scene/gui/tree.cpp
-msgid "Select Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Drag: Rotate selected node around pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Move selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Scale selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "V: Set selected node's pivot position."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "RMB: Add node at position clicked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Move Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Shift: Scale proportionally."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Show a list of all objects at the position clicked\n"
-"(same as Alt+RMB in select mode)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Click to change object's rotation pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Ruler Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle smart snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Smart Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle grid snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Grid Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Rotation Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Scale Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap Relative"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Pixel Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Smart Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Configure Snap..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Parent"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Sides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Other Nodes"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock the selected object in place (can't be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock the selected object (can be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Makes sure the object's children are not selectable."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Restores the object's children's ability to be selected."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Skeleton Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Custom Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show When Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Hide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Helpers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Rulers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Origin"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Viewport"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Group And Lock Icons"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Frame Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Preview Canvas Scale"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Translation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert keys (based on mask)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Auto insert keys when objects are translated, rotated or scaled (based on "
-"mask).\n"
-"Keys are only added to existing tracks, no new tracks will be created.\n"
-"Keys must be inserted manually for the first time."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Auto Insert Key"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation Key and Pose Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key (Existing Tracks)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Copy Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Add Node Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Instance Scene Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Multiply grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Divide grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 3.125%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 6.25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 12.5%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 50%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 100%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 200%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 400%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 800%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 1600%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Adding %s..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Cannot instantiate multiple nodes without root."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Create Node"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Error instancing scene from %s"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Default Type"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Drag & drop + Shift : Add node as sibling\n"
-"Drag & drop + Alt : Change node type"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Create Polygon3D"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly (Remove Point)"
-msgstr ""
-
-#: editor/plugins/collision_shape_2d_editor_plugin.cpp
-msgid "Set Handle"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Load Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Restart"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Clear Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-msgid "Particles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generated Point Count:"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Solid Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Directed Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Capture from Pixel"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Colors"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-msgid "CPUParticles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 0"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 1"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease In"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease Out"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Smoothstep"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Curve Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Add Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Left Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Toggle Curve Linear Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Hold Shift to edit tangents individually"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right click to add point"
-msgstr ""
-
-#: editor/plugins/gi_probe_editor_plugin.cpp
-msgid "Bake GI Probe"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Gradient Edited"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap Gradient Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Toggle Grid Snap"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
-#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
-#: scene/gui/label.cpp scene/gui/line_edit.cpp scene/gui/link_button.cpp
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Text"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp main/main.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/gui/button.cpp scene/gui/item_list.cpp
-msgid "Icon"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "ID"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separator"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item %d"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Items"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item List Editor"
-msgstr ""
-
-#: editor/plugins/light_occluder_2d_editor_plugin.cpp
-msgid "Create Occluder Polygon"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh is empty!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a Trimesh collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Static Trimesh Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "This doesn't work on scene root!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create a single convex collision shape for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a single convex collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create multiple convex collision shapes for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create any collision shapes."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Shapes"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Navigation Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Contained Mesh is not of type ArrayMesh."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "No mesh to debug."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has no UV in layer %d."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "MeshInstance lacks a Mesh!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has not surface to create outlines from!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Could not create outline!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_mesh.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/mesh_library.cpp
-#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a StaticBody and assigns a polygon-based collision shape to it "
-"automatically.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a single convex collision shape.\n"
-"This is the fastest (but least accurate) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a simplified convex collision shape.\n"
-"This is similar to single collision shape, but can result in a simpler "
-"geometry in some cases, at the cost of accuracy."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Collision Siblings"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is a performance middle-ground between a single convex collision and a "
-"polygon-based collision."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh..."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a static outline mesh. The outline mesh will have its normals "
-"flipped automatically.\n"
-"This can be used instead of the SpatialMaterial Grow property when using "
-"that property isn't possible."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV1"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV2"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Unwrap UV2 for Lightmap/AO"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Outline Size:"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Channel Debug"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid ""
-"Update from existing scene?:\n"
-"%s"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "MeshLibrary"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Ignore Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Apply Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply without Transforms"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply with Transforms"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No surface source specified."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no geometry)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no faces)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate Surface"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate MultiMesh"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "X-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Y-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Z-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh Up Axis:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Rotation:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Tilt:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Scale:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate"
-msgstr ""
-
-#: editor/plugins/navigation_polygon_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Convert to CPUParticles"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generating Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generate Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Can only set point into a ParticlesMaterial process material"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Convert to CPUParticles2D"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generation Time (sec):"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry's faces don't contain any area."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry doesn't contain any faces."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain face geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp scene/gui/video_player.cpp
-msgid "Volume"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generating AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate Visibility AABB"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Point from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Out-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove In-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point to Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Split Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Point in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move In-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Out-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Select Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Shift+Drag: Select Control Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Click: Add Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Left Click: Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Right Click: Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Select Control Points (Shift+Drag)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point (in empty space)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Close Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/theme_editor_preview.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp
-#: main/main.cpp servers/visual_server.cpp
-msgid "Options"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Angles"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Lengths"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Curve Point #"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Point Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve In Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Out Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Path"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Path Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Out-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove In-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/physical_bone_plugin.cpp
-msgid "Move Joint"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"No texture in this polygon.\n"
-"Set a texture to be able to edit UV."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Polygon 2D has internal vertices, so it can no longer be edited in the "
-"viewport."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon & UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Invalid Polygon (need 3 different vertices)"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Add Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint Bone Weights"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Open Polygon 2D UV editor."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Polygon 2D UV Editor"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/line_2d.cpp scene/3d/cpu_particles.cpp scene/3d/portal.cpp
-#: scene/3d/room.cpp scene/resources/convex_polygon_shape.cpp
-#: scene/resources/convex_polygon_shape_2d.cpp
-msgid "Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "Polygons"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/3d/skeleton.cpp
-msgid "Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Command: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift: Move All"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Command: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Ctrl: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Ctrl: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Rotate Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Scale Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create a custom polygon. Enables custom polygon rendering."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Remove a custom polygon. If none remain, custom polygon rendering is "
-"disabled."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Unpaint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Radius:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy Polygon to UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy UV to Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Clear UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Settings"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Enable Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Grid"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Configure Grid:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones to Polygon"
-msgstr ""
-
-#: editor/plugins/ray_cast_2d_editor_plugin.cpp
-msgid "Set cast_to"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ERROR: Couldn't load resource!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Add Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Rename Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Resource clipboard is empty!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Instance:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Open in Editor"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Load Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portals"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Room Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portal"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Occluder Set Transform"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Center Node"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Path to AnimationPlayer is invalid"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Files"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close and save changes?"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error writing TextFile:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Could not load file at:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving file!"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error importing theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Importing"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "New Text File..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save File As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Can't obtain the script for running."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script failed reloading, check console for errors."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script is not in tool mode, will not be able to run."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"To run this script, it must inherit EditorScript and be set to tool mode."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "%s Class Reference"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter scripts"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter methods"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp scene/2d/y_sort.cpp
-msgid "Sort"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Up"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Down"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Next Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Previous Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reopen Closed Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Soft Reload Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Copy Script Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reload Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Search"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Break"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Continue"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Keep Debugger Open"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Debug with External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Online Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Godot online documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search the reference documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to previous edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to next edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Discard"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Results"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Dominant Script On Scene Change"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "External"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Use External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature Enabled"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Highlight Current Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature History Size"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Current Script Background Color"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Group Help Pages"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Sort Scripts By"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "List Script Names As"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Flags"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Scripts"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Connections to method:"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Source"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp platform/uwp/export/export.cpp
-#: scene/3d/interpolated_camera.cpp scene/animation/skeleton_ik.cpp
-msgid "Target"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid ""
-"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "[Ignore]"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Only resources from filesystem can be dropped."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't drop nodes because script '%s' is not used in this scene."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Lookup Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Convert Case"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-#: scene/3d/label_3d.cpp scene/gui/label.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Uppercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Lowercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Capitalize"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Syntax Highlighter"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Go To"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Cut"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Delete Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Left"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Right"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Comment"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold/Unfold Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Unfold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Complete Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Evaluate Selection"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Trim Trailing Whitespace"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Spaces"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Tabs"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Find in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Replace in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Contextual Help"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Line..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Toggle Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Breakpoint"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp
-msgid ""
-"This shader has been modified on on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp
-msgid "Shader"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "This skeleton has no bones, create some children Bone2D nodes."
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Set Rest Pose to Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Create Rest Pose from Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Skeleton2D"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Reset to Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Overwrite Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical bones"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-#: modules/gltf/gltf_node.cpp modules/gltf/gltf_skin.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/mesh_instance.cpp
-msgid "Skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_ik_editor_plugin.cpp
-msgid "Play IK"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
-msgid "Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Perspective"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [auto]"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [portals active]"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Aborted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "X-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Y-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Z-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp
-msgid "None"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/2d/path_2d.cpp
-msgid "Rotate"
-msgstr ""
-
-#. TRANSLATORS: This refers to the movement that changes the position of an object.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotating %s degrees."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Keying is disabled (no key inserted)."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Animation Key Inserted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pitch:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Yaw:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Objects Drawn:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Material Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Shader Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Surface Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Draw Calls:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Vertices:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "FPS: %d (%s ms)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Transform with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Rotation with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "No parent to instance a child at."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "This operation requires a single selected node."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Auto Orthogonal Enabled"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock View Rotation"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Normal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Wireframe"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Overdraw"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Unshaded"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Environment"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Information"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View FPS"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Half Resolution"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/main/viewport.cpp
-msgid "Audio Listener"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Enable Doppler"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Cinematic Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "(Not in GLES2)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Forward"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Backwards"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Speed Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Slow Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Camera Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Rotation Locked"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"To zoom further, change the camera's clipping planes (View -> Settings...)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Note: The FPS value displayed is the editor's framerate.\n"
-"It cannot be used as a reliable indication of in-game performance."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Convert Rooms"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "XForm Dialog"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Click to toggle between visibility states.\n"
-"\n"
-"Open eye: Gizmo is visible.\n"
-"Closed eye: Gizmo is hidden.\n"
-"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Nodes to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Use Local Space"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Use Snap"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Converts rooms for portal culling."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View 180"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Switch Perspective/Orthogonal View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Insert Animation Key"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Selection"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Freelook"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Decrease Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Increase Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Reset Field of View to Default"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Object to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Dialog..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "1 Viewport"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "4 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Grid"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Portal Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Occlusion Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Settings..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate Snap:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Snap (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Snap (%):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Viewport Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Perspective FOV (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Near:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Far:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Change"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale (ratio):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Type"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pre"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Post"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Size"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Opacity"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Show Viewport Rotation Gizmo"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unnamed Gizmo"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Mesh2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Polygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "CollisionPolygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "LightOccluder2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite is empty!"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Can't convert a sprite using animation frames to mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't replace by mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create collision polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create light occluder."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Update Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Settings:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "No Frames Selected"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add %d Frame(s)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Unable to load images"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "ERROR: Couldn't load frame resource!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Resource clipboard is empty or not a texture!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Paste Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Empty"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation FPS"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "(empty)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animations:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "New Animation"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Speed:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: modules/gltf/gltf_animation.cpp modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp scene/2d/path_2d.cpp
-#: scene/3d/path.cpp scene/resources/animation.cpp scene/resources/material.cpp
-msgid "Loop"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animation Frames:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add a Texture from File"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frames from a Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Horizontal:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Vertical:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Offset:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select/Clear All Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Create Frames from Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "SpriteFrames"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Region Rect"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Margin"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Snap Mode:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Pixel Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Grid Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Auto Slice"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Step:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "TextureRegion"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Styleboxes"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} color(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No colors found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} constant(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No constants found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} font(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No fonts found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} icon(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No icons found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} stylebox(es)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No styleboxes found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} currently selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Nothing was selected for the import."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing items {n}/{n}"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Updating the editor"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Finalizing"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select by data type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Caution: Adding icon data may considerably increase the size of your Theme "
-"resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Collapse types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Expand types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items with item data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Import Items tab has some items selected. Selection will be lost upon "
-"closing this window.\n"
-"Close anyway?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Select a theme type from the list to edit its items.\n"
-"You can add a custom type or import a type with its items from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Color Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Constant Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Font Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Icon Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All StyleBox Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"This theme type is empty.\n"
-"Add more items to it manually or by importing from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, not a Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, same as the edited Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Edit Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add StyleBox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Items:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Class Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Custom Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Old Name:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Editor Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select Another Theme Resource:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme Resource"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Another Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter the list of types or create a new custom type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Available Node-based types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Type name is empty!"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Are you sure you want to create an empty type?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Confirm Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Cancel Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Unpin this StyleBox as a main style."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Pin this StyleBox as a main style. Editing its properties will update the "
-"same properties in all other StyleBoxes of this type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Variation Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show Default"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show default type items alongside items that have been overridden."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override all default type items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select the variation base type from a list of available types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"A type associated with a built-in class cannot be marked as a variation of "
-"another type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Items..."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add, remove, organize and import Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select UI Scene:"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid ""
-"Toggle the control picker, allowing to visually select control types for "
-"edit."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Toggle Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp
-msgid "Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Check Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Named Separator"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Submenu"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Many"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled LineEdit"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 3"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Editable Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subtree"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has,Many,Options"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid path, the PackedScene resource was probably moved or removed."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid PackedScene resource, must have a Control node at its root."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid file, not a PackedScene resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Reload the scene to reflect its most actual state."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Fix Invalid Tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cut Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Line Draw"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Disable Autotile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Enable Priority"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Filter tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Give a TileSet resource to this TileMap to use its tiles."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Command+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Ctrl+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Left"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Right"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Horizontally"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Vertically"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Clear Transform"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Tile Map"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Palette Min Width"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Palette Item H Separation"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Names"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Ids"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Sort Tiles By Name"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill Preview"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editor Side"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Display Grid"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Axis Color"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Texture(s) to TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected Texture from TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Single Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Autotile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Atlas"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Next Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the next shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Previous Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the previous shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
-msgid "Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/soft_body.cpp scene/main/scene_tree.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp
-msgid "Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/area_2d.cpp
-#: scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/node_2d.cpp
-msgid "Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Region Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Collision Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Priority Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/item_list.cpp
-msgid "Icon Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Z Index Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Copy bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Erase bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new rectangle."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Rectangle"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete Selected Shape"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Keep polygon inside region Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Enable snap and show grid (configurable via the Inspector)."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Display Tile Names (Hold Alt Key)"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Add or select a texture on the left panel to edit the tiles bound to it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected texture? This will remove all tiles which use it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "You haven't selected a texture to remove."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene? This will overwrite all current tiles."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "%s file(s) were not added because was already on the list."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Drag handles to edit Rect.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete selected Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select current edited sub-tile.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"LMB: Set bit on.\n"
-"RMB: Set bit off.\n"
-"Shift+LMB: Set wildcard bit.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its priority.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its z index.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Icon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Clear Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "This property can't be changed."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Snap Options"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/parallax_background.cpp scene/2d/parallax_layer.cpp
-#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
-#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-msgid "Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
-#: scene/gui/range.cpp scene/resources/animation.cpp
-#: scene/resources/visual_shader_nodes.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Step"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
-#: scene/2d/multimesh_instance_2d.cpp scene/2d/particles_2d.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tex Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
-msgid "Material"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-msgid "Modulate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotile Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Size"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Spacing"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occluder Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Transform"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way Margin"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Navigation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tileset Script"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "TileSet"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No VCS plugins are available."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid ""
-"Remote settings are empty. VCS features that use the network may not work."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No commit message was provided."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Staged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstaged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Date:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Subtitle:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s branch?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s remote?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Apply"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control System"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Initialize"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Login"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH public key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH private key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Passphrase"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Detect new changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Discard all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Stage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Message"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit List"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit list size"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branches"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branch Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remotes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote URL"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Fetch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Pull"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Force Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Modified"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Renamed"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Deleted"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Typechange"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unmerged"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "View:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Split"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unified"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(GLES3 only)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Output"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sampler"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set expression"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Resize VisualShader node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Uniform Name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Input Default Port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node to Visual Shader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Node(s) Moved"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Duplicate Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Input Type Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "UniformRef Name Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vertex"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Fragment"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/light.cpp
-msgid "Light"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Show resulted shader code."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Create Shader Node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Grayscale function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sepia function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Burn operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Darken operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Difference operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Dodge operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "HardLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Lighten operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Overlay operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Screen operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "SoftLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the %s comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Equal (==)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than (>)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than or Equal (>=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided scalars are equal, greater or "
-"less."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between NaN and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than (<)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than or Equal (<=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Not Equal (!=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated scalar if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF (or NaN) and a "
-"scalar parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Input parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the absolute value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Constrains a value to lie between two further values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in radians to degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-e Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Computes the fractional part of the argument."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the greater of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the lesser of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the opposite value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in degrees to radians."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest even integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Extracts the sign of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the truncated value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds scalar to scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts scalar from scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the cubic texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Cubic texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup with triplanar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Calculate the outer product of a pair of vectors.\n"
-"\n"
-"OuterProduct treats the first parameter 'c' as a column vector (matrix with "
-"one column) and the second parameter 'r' as a row vector (matrix with one "
-"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix "
-"whose number of rows is the number of components in 'c' and whose number of "
-"columns is the number of components in 'r'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes transform from four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes transform to four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the determinant of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the inverse of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the transpose of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies transform by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes vector from three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes vector to three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the cross product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the distance between two points."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the dot product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the same direction as a reference vector. "
-"The function has three vector parameters : N, the vector to orient, I, the "
-"incident vector, and Nref, the reference vector. If the dot product of I and "
-"Nref is smaller than zero the return value is N. Otherwise -N is returned."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the length of a vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors using scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the normalize product of vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the direction of reflection ( a : incident "
-"vector, b : normal vector )."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the vector that points in the direction of refraction."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( vector(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds vector to vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts vector from vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, with custom amount of input and "
-"output ports. This is a direct injection of code into the vertex/fragment/"
-"light function, do not use it to write the function declarations inside."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns falloff based on the dot product of surface normal and view "
-"direction of camera (pass associated inputs to it)."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, which is placed on top of the "
-"resulted shader. You can place various function definitions inside and call "
-"it later in the Expressions. You can also declare varyings, uniforms and "
-"constants."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "A reference to an existing uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Scalar derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Vector derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "VisualShader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Edit Visual Property:"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Mode Changed"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Runnable"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Exporting All"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Path"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Presets"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_settings_editor.cpp
-msgid "Add..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"If checked, the preset will be available for use in one-click deploy.\n"
-"Only one preset per platform may be marked as runnable."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export all resources in the project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected scenes (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected resources (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources to export:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to export non-resource files/folders\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to exclude files/folders from project\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Features"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Custom (comma-separated):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Feature List:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Script"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Compiled Bytecode (Faster Loading)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Encrypted (Provide Key Below)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Encryption Key (256-bits as hexadecimal):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Note: Encryption key needs to be stored in the binary,\n"
-"you need to build the export templates from source."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "More Info..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_manager.cpp
-msgid "ZIP File"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Manage Export Templates"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export With Debug"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The path specified doesn't exist."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file (it's not in ZIP format)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose an empty folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose a \"project.godot\" or \".zip\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "This directory already contains a Godot project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Game Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Imported Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "There is already a folder in this path with the specified name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "It would be a good idea to name your project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project path (changed anything?)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file, not in ZIP format."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The following files failed extraction from package:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Package installed successfully!"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Rename Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Existing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install Project:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Name:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Installation Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 3.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Not supported by your GPU drivers."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Higher visual quality\n"
-"All features available\n"
-"Incompatible with older hardware\n"
-"Not recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 2.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Lower visual quality\n"
-"Some features not available\n"
-"Works on most hardware\n"
-"Recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer can be changed later, but scenes may need to be adjusted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Missing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error: Project is missing on the filesystem."
-msgstr ""
-
-#: editor/project_manager.cpp editor/scene_tree_dock.cpp
-msgid "Local"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Local Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Asset Library Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't open project at '%s'."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to open more than one project?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file does not specify the version of Godot "
-"through which it was created.\n"
-"\n"
-"%s\n"
-"\n"
-"If you proceed with opening it, it will be converted to Godot's current "
-"configuration file format.\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file was generated by an older engine "
-"version, and needs to be converted for this version:\n"
-"\n"
-"%s\n"
-"\n"
-"Do you want to convert it?\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The project settings were created by a newer engine version, whose settings "
-"are not compatible with this version."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: no main scene defined.\n"
-"Please edit the project and set the main scene in the Project Settings under "
-"the \"Application\" category."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: Assets need to be imported.\n"
-"Please edit the project to trigger the initial import."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to run %d projects at once?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove %d projects from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove this project from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Remove all missing projects from the list?\n"
-"The project folders' contents won't be modified."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Language changed.\n"
-"The interface will update after restarting the editor or project manager."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Are you sure to scan %s folders for existing Godot projects?\n"
-"This could take a while."
-msgstr ""
-
-#. TRANSLATORS: This refers to the application where users manage their Godot projects.
-#: editor/project_manager.cpp
-msgctxt "Application"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Edit Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Run Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Select a Folder to Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Missing"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "About"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Restart Now"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove All"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Also delete project contents (no undo!)"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't run project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"You currently don't have any projects.\n"
-"Would you like to explore official example projects in the Asset Library?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Filter projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"This field filters projects by name and last path component.\n"
-"To filter projects by name and full path, the query must contain at least "
-"one `/` character."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Physical Key"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Key "
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Axis"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "An action with the name '%s' already exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Rename Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Action deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "All Devices"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid " (Physical)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Press a Key..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 1"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 2"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Axis Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Global Property"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Select a setting item first!"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "No property '%s' exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Delete Item"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Error saving settings."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Settings saved OK."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Moved Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override for Feature"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add %d Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Translation"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Path(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Remap(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Resource Remap Language"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap Option"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter Mode"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Project Settings (project.godot)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "General"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override For..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "The editor must be restarted for changes to take effect."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Input Map"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Action:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp
-msgid "Deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Device:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Localization"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Resources:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps by Locale:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show All Locales"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show Selected Locales Only"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Filter mode:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "AutoLoad"
-msgstr ""
-
-#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Plugins"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Import Defaults"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Zero"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing In-Out"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing Out-In"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "File..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Dir..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Assign"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Select Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Pick a Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Property"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Method"
-msgstr ""
-
-#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Batch Rename"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Prefix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Suffix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Use Regular Expressions"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Advanced Options"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Substitute"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node's parent name, if available"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node type"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Current scene name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Root node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Sequential integer counter.\n"
-"Compare counter options."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Per-level Counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "If set, the counter restarts for each group of child nodes."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Initial value for the counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Amount by which counter is incremented for each node"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Padding"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Minimum number of digits for the counter.\n"
-"Missing digits are padded with leading zeros."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Post-Process"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Style"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Keep"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "PascalCase to snake_case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "snake_case to PascalCase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Lowercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Uppercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Reset"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Regular Expression Error:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "At character %s"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent Node"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Reparent Location (Select new Parent):"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Keep Global Transform"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Run Mode:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp
-msgid "Current Scene"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Main Scene Arguments:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Scene Run Settings"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "No parent to instance the scenes at."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error loading scene from %s"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one "
-"of its nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Scene(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Replace with Branch Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Child Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't paste root node into the same scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Paste Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on the tree root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Node In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Nodes In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Node must belong to the edited scene to become root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instantiated scenes can't become root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make node as Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes and any children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete the root node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\" and its children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires having a scene open in the editor."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires selecting only one node, but you have "
-"selected %d nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the root node branch as an instanced scene.\n"
-"To create an editable copy of the current scene, duplicate it using the "
-"FileSystem dock context menu\n"
-"or create an inherited scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the branch of an already instanced scene.\n"
-"To create a variation of a scene, you can make an inherited scene based on "
-"the instanced scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is a child of an already instantiated scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is part of an inherited scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Save New Scene As..."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Disabling \"editable_instance\" will cause all properties of the node to be "
-"reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
-"cause all properties of the node to be reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Local"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Another node already uses this unique name in the scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Enable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Disable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "New Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Create Root Node:"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "2D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "3D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "User Interface"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Other Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes from a foreign scene!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes the current scene inherits from!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on instanced scenes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Cut Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remove Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change type of node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Couldn't save new scene. Likely dependencies (instances) couldn't be "
-"satisfied."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error saving scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error duplicating scene to save it."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Sub-Resources"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Access as Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Editable Children"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Load As Placeholder"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot attach a script: there are no languages registered.\n"
-"This is probably because this editor was built with all language modules "
-"disabled."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add Child Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Expand/Collapse All"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change Type"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Reparent to New Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Merge From Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Save Branch as Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Copy Node Path"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete (No Confirm)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Instance a scene file as a Node. Creates an inherited scene if no root node "
-"exists."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach a new or existing script to the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach the script from the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remote"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"If selected, the Remote scene tree dock will cause the project to stutter "
-"every time it updates.\n"
-"Switch back to the Local scene tree dock to improve performance."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance? (No Undo!)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Show Scene Tree Root Selection"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Derive Script Globals By Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Use Favorites Root Selection"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Unlock Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Button Group"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "(Connecting From)"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node configuration warning:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"This node can be accessed from within anywhere in the scene by preceding it "
-"with the '%s' prefix in a node path.\n"
-"Click to disable this."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s) and %s group(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is in %s group(s).\n"
-"Click to show groups dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Open Script:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is locked.\n"
-"Click to unlock it."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Children are not selectable.\n"
-"Click to make selectable."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visibility"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"AnimationPlayer is pinned.\n"
-"Click to unpin."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Invalid node name, the following characters are not allowed:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Rename Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Scene Tree (Nodes):"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node Configuration Warning!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Select a Node"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Filename is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is not local."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid base path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "A directory with the same name exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File does not exist."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid extension."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Wrong extension chosen."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading template '%s'"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error - Could not create script in filesystem."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading script from %s"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Overrides"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "N/A"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script / Choose Location"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File exists, it will be reused."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid class name."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid inherited parent name or path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script path/name is valid."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Allowed: a-z, A-Z, 0-9, _ and ."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in script (into scene file)."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will create a new script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will load an existing script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script file already exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Note: Built-in scripts have some limitations and can't be edited using an "
-"external editor."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Warning: Having the script name be the same as a built-in type is usually "
-"not desired."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Class Name:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Template:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in Script:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Attach Node Script"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Bytes:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Warning:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Errors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Child process connected."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Copy Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Open C++ Source on GitHub"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Video RAM"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Skip Breakpoints"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Previous Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Next Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Frames"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Filter stack variables"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Inspect Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Network Profiler"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitor"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "List of Video Memory Usage by Resource:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Total:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export list to a CSV file"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource Path"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_effect_record.cpp
-msgid "Format"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/main/viewport.cpp
-msgid "Usage"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp servers/visual_server.cpp
-msgid "Misc"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control Type:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Live Edit Root:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Set From Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export measures as CSV"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Erase Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Restore Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Change Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Editor Settings"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Shortcuts"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Binding"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Light Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Stream Player 3D"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/gltf/gltf_node.cpp
-#: platform/osx/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Camera"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera FOV"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera Size"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Visibility Notifier"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Reflection Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "GI Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Baked Indirect Light"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Sphere Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Box Shape Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body A"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body B"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Overlap"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Room Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-msgid "Portal Margin"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Arrow"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Portal Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Occluder"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Polygon Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Hole Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Hole"
-msgstr ""
-
-#: main/main.cpp
-msgid "Godot Physics"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "Use BVH"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "BVH Collision Margin"
-msgstr ""
-
-#: main/main.cpp
-msgid "Crash Handler"
-msgstr ""
-
-#: main/main.cpp
-msgid "Multithreaded Server"
-msgstr ""
-
-#: main/main.cpp
-msgid "RID Pool Prealloc"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debugger stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Chars Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Messages Per Frame"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Errors Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Warnings Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Flush stdout On Print"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Log Path"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Log Files"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver Name"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fallback To GLES2"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
-
-#: main/main.cpp
-msgid "DPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allow hiDPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Per Pixel Transparency"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allowed"
-msgstr ""
-
-#: main/main.cpp
-msgid "Intended Usage"
-msgstr ""
-
-#: main/main.cpp
-msgid "Framebuffer Allocation"
-msgstr ""
-
-#: main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Energy Saving"
-msgstr ""
-
-#: main/main.cpp
-msgid "Threads"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-msgid "Thread Model"
-msgstr ""
-
-#: main/main.cpp
-msgid "Thread Safe BVH"
-msgstr ""
-
-#: main/main.cpp
-msgid "Handheld"
-msgstr ""
-
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Orientation"
-msgstr ""
-
-#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
-#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-msgid "Common"
-msgstr ""
-
-#: main/main.cpp
-msgid "Physics FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Force FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Pause Aware Picking"
-msgstr ""
-
-#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
-#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
-#: scene/main/viewport.cpp scene/register_scene_types.cpp
-msgid "GUI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
-
-#: main/main.cpp
-msgid "stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Print FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Verbose stdout"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-msgid "Physics Interpolation"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Warnings"
-msgstr ""
-
-#: main/main.cpp
-msgid "Frame Delay Msec"
-msgstr ""
-
-#: main/main.cpp
-msgid "Low Processor Mode"
-msgstr ""
-
-#: main/main.cpp
-msgid "Delta Sync After Draw"
-msgstr ""
-
-#: main/main.cpp
-msgid "iOS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Hide Home Indicator"
-msgstr ""
-
-#: main/main.cpp
-msgid "Input Devices"
-msgstr ""
-
-#: main/main.cpp
-msgid "Pointing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Touch Delay"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "GLES3"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Shaders"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debug Shader Fallbacks"
-msgstr ""
-
-#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
-#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
-#: scene/resources/world.cpp
-msgid "Environment"
-msgstr ""
-
-#: main/main.cpp
-msgid "Default Clear Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "Boot Splash"
-msgstr ""
-
-#: main/main.cpp
-msgid "Show Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fullsize"
-msgstr ""
-
-#: main/main.cpp scene/resources/dynamic_font.cpp
-msgid "Use Filter"
-msgstr ""
-
-#: main/main.cpp scene/resources/style_box.cpp
-msgid "BG Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "macOS Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Windows Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Buffering"
-msgstr ""
-
-#: main/main.cpp
-msgid "Agile Event Flushing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Touch From Mouse"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Mouse From Touch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Mouse Cursor"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image Hotspot"
-msgstr ""
-
-#: main/main.cpp
-msgid "Tooltip Position Offset"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Debugger Agent"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait For Debugger"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait Timeout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Runtime"
-msgstr ""
-
-#: main/main.cpp
-msgid "Unhandled Exception Policy"
-msgstr ""
-
-#: main/main.cpp
-msgid "Main Loop Type"
-msgstr ""
-
-#: main/main.cpp scene/gui/texture_progress.cpp
-#: scene/gui/viewport_container.cpp
-msgid "Stretch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Aspect"
-msgstr ""
-
-#: main/main.cpp
-msgid "Shrink"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Auto Accept Quit"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Quit On Go Back"
-msgstr ""
-
-#: main/main.cpp scene/main/viewport.cpp
-msgid "Snap Controls To Pixels"
-msgstr ""
-
-#: main/main.cpp
-msgid "Dynamic Fonts"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Oversampling"
-msgstr ""
-
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-msgid "Active Soft World"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "CSG"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Height"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Operation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Calculate Tangents"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Use Collision"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-msgid "Collision Layer"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
-#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
-#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-msgid "Collision Mask"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Invert Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
-#: scene/3d/navigation_obstacle.cpp scene/3d/vehicle_body.cpp
-#: scene/animation/root_motion_view.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/circle_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/sphere_shape.cpp
-msgid "Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Radial Segments"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Rings"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Smooth Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Cone"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Ring Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
-#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-msgid "Polygon"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Degrees"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Node"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval Type"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Simplify Angle"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Rotation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Local"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Continuous U"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path U Distance"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Joined"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Compression Mode"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Transfer Channel"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Channel Count"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Always Ordered"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Server Relay"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Verify"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Hostname"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Use DTLS"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FBX"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Use FBX"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Config File"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Load Once"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Symbol Prefix"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Reloadable"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select the dynamic library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select dependencies of the library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Remove current entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Double click to create a new entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform:"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dynamic Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Add an architecture entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "GDNativeLibrary"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Enabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Disabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Class Name"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Script Class"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Icon Path"
-msgstr ""
-
-#: modules/gdnative/register_types.cpp
-msgid "GDNative"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript.cpp
-msgid "GDScript"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Function Definition Color"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Node Path Color"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
-msgid "Max Call Stack"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Treat Warnings As Errors"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Exclude Addons"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Autocomplete Setters And Getters"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Step argument is zero!"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not a script with an instance"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a script"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a resource file"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (missing @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (can't load script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (invalid script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary (invalid subclasses)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Object can't provide a length."
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Language Server"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Enable Smart Resolve"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Show Native Symbols In Editor"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Use Thread"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Mesh GLTF2"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export GLTF..."
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Normalized"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Min"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Max"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Buffer"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Length"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Stride"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Indices"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "FOV Size"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Zfar"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Znear"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/animation/root_motion_view.cpp scene/gui/color_picker.cpp
-#: scene/gui/color_rect.cpp scene/gui/rich_text_effect.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp
-msgid "Color"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
-#: scene/resources/environment.cpp
-msgid "Intensity"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-msgid "Range"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Inner Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Outer Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Blend Weights"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Instance Materials"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-msgid "Parent"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Xform"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
-msgid "Skin"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-msgid "Translation"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Children"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Roots"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
-msgid "Unique Names"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp
-msgid "Godot Bone Node"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Skin Root"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joints Original"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Inverse Binds"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Non Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Bone I"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Name"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Godot Skin"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Img"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Gloss Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Specular Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Spec Gloss Img"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Json"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Major Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Minor Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "GLB Data"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Use Named Skin Binds"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Buffer Views"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Accessors"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Scene Name"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Root Nodes"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-msgid "Textures"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
-msgid "Images"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Cameras"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-msgid "Lights"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Unique Animation Names"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeletons"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeleton To Node"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Animations"
-msgstr ""
-
-#: modules/gltf/gltf_texture.cpp
-msgid "Src Image"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Mesh Library"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Physics Material"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-msgid "Use In Baked Light"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
-msgid "Cell"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Octant Size"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center X"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Y"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Z"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/resources/material.cpp
-msgid "Mask"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Plane:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Floor:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Delete Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paste Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paint"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Snap View"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Disabled"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Above"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Below"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit X Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Y Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Z Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Clear Rotation"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Paste Selects"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clear Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Settings"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Filter meshes"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Begin Bake"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Preparing data structures"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Generate buffers"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Direct lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Indirect lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Post processing"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Plotting lightmaps"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "CPU Lightmapper"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Low Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Medium Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "High Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Ultra Quality Ray Count"
-msgstr ""
-
-#: modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-msgid "Loop Offset"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Eye Height"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "IOD"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display Width"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display To Lens"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Oversample"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K1"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K2"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Class name can't be a reserved keyword"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Build Solution"
-msgstr ""
-
-#: modules/mono/editor/csharp_project.cpp
-msgid "Auto Update Project"
-msgstr ""
-
-#: modules/mono/mono_gd/gd_mono_utils.cpp
-msgid "End of inner exception stack trace"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-#: scene/3d/navigation_mesh_instance.cpp
-msgid "A NavigationMesh resource must be set or created for this node to work."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Bake NavMesh"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Seamless"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "As Normal Map"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Bump Strength"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise Offset"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Octaves"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Period"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Persistence"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Lacunarity"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Subject"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Names"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Strings"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Multicast If"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Local Port"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover IPv6"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Description URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Control URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Our Addr"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Status"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"A node yielded without working memory, please read the docs on how to yield "
-"properly!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Node yielded, but did not return a function state in the first working "
-"memory."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Return value must be assigned to first element of node working memory! Fix "
-"your node please."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Found sequence bit but not the node in the stack, report bug!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Visual Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Signal Arguments"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Default Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Override an existing built-in function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Variables:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new variable."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new signal."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name is not a valid identifier:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name already in use by another func/var/signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete input port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't copy the function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Duplicate VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Preload Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s) From Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid ""
-"Can't drop properties because script '%s' is not used in this scene.\n"
-"Drop holding 'Shift' to just copy the signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Getter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Setter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Move Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Disconnect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Data"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Script already has function '%s'"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Input Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Resize Comment"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function with a function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function of nodes from nodes of multiple functions."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select at least one node with sequence port."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Try to only have one sequence input in selection."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Tool:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Members:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Nodes..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "function_name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select or create a function to edit its graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete Selected"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Find Node Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Copy Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Cut Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Refresh Graph"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Member"
-msgstr ""
-
-#: modules/visual_script/visual_script_expression.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Enabled"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "if (cond) is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "while (cond):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "for (elem) in (input):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "in order:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Steps"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "'input' is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Type Cast"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Is %s?"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Node Path"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Use Default Args"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Validate"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "RPC Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Subtract %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Multiply %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Divide %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Mod %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftLeft %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftRight %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitAnd %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitOr %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitXor %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Set Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Assign Op"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Get %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base object is not a Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Path does not lead to Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name '%s' in node %s."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Emit %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Compose Array"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Operator"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "a if cond, else b"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Var Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Preload"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Global Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Class Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Math Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Engine Singleton"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "CustomNode"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Custom node has no _step() method, can't process graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ""
-"Invalid return value from _step(), must be integer (seq out), or string "
-"(error)."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "SubCall"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
-msgid "Title"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Construct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Action %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Deconstruct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search VisualScript"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Yield"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Wait"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Physics Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "%s sec(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-msgid "Wait Time"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitNodeSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitInstanceSignal"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.cpp
-msgid "Write Mode"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "WebRTC"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "Max Channel In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Verify SSL"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Trusted SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Client"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Server"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Bind IP"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Private Key"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
-msgid "SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "CA Chain"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Handshake Timeout"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Session Mode"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Required Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Optional Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Requested Reference Space Types"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Reference Space Type"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Visibility State"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Bounds Geometry"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "XR Standard Mapping"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Android SDK Path"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore Pass"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Force System User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Shutdown ADB On Exit"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Launcher Icons"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Main 192 X 192"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Foreground 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Background 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package name is missing."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package segments must be of non-zero length."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' is not allowed in Android application package names."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A digit cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The package must have at least one '.' separator."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Use Custom Build"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Export Format"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-msgid "Architectures"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Keystore"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Debug Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "One Click Deploy"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Clear Previous Install"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Package"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Unique Name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signed"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Classify As Game"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Retain Data On Uninstall"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exclude From Recents"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Graphics"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "OpenGL Debug"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Features"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking Frequency"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Passthrough"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Immersive Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Small"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Normal"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Large"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Xlarge"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "User Data Backup"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Allow"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Command Line"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Extra Args"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Salt"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Public Key"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Custom Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Select device from the list"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Uninstalling..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Installing to device, please wait..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not install to device: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on device..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not execute on device."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build template not installed in the project. Install it from the "
-"Project menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Debug Keystore, Debug User AND Debug Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Release Keystore, Release User AND Release Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release keystore incorrectly configured in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A valid Android SDK path is required in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid Android SDK path in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'platform-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK platform-tools' adb command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Please check in the Android SDK directory specified in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'build-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK build-tools' apksigner command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid public key for APK expansion."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid package name:"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
-"project setting (changed in Godot 3.2.2).\n"
-"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
-"Note that the singleton was also renamed from \"GodotPayments\" to "
-"\"GodotGooglePlayBilling\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Use Custom Build\" must be enabled to use the plugins."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
-"or \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing debug %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing release %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not find keystore, unable to export."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' returned with error #%d"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Verifying %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' verification of %s failed."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting for Android"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android App Bundle requires the *.aab extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion not compatible with Android App Bundle."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android APK requires the *.apk extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Trying to build from a custom built template, but no version info for it "
-"exists. Please reinstall from the 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
-"Please reinstall Android build template from 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not write expansion package file!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Building Android Project (gradle)"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Building of Android project failed, check output for the error.\n"
-"Alternatively visit docs.godotengine.org for Android build documentation."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Moving output"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to copy and rename export file, check gradle project directory for "
-"outputs."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Creating APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
-"Please build a template with all required libraries, or uncheck the missing "
-"architectures in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adding files..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Aligning APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not unzip temporary unaligned APK."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier is missing."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "The character '%s' is not allowed in Identifier."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Landscape Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2436 X 1125"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2208 X 1242"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1024 X 768"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 2048 X 1536"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Portrait Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 960"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 1136"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 750 X 1334"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1125 X 2436"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 768 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1536 X 2048"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1242 X 2208"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Targeted Device Family"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Info"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Signature"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Short Version"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Copyright"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Capabilities"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Access Wi-Fi"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Push Notifications"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "User Data"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From Files App"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From iTunes Sharing"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Privacy"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Camera Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Microphone Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Photolibrary Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 120 X 120"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 180 X 180"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 76 X 76"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 152 X 152"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 167 X 167"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store 1024 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 40 X 40"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 80 X 80"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Launch Screen Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Image Scale Mode"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @2x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @3x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID not specified - cannot configure the project."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Invalid Identifier:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Stop HTTP Server"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run in Browser"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run exported HTML in the system's default browser."
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Variant"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Type"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "VRAM Texture Compression"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Desktop"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Mobile"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTML"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Icon"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Custom HTML Shell"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Head Include"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Canvas Resize Policy"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Focus Canvas On Start"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Experimental Virtual Keyboard"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Progressive Web App"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Offline Page"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 144 X 144"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 180 X 180"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 512 X 512"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Web"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Host"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Port"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Use SSL"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "SSL Key"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't get filesystem access."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get Info.plist hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no exe name."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no bundle id."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, can't load."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create \"%s\" subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to extract thin binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid binary format."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Already signed!"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to process nested resources."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get CodeResources hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-msgid "Invalid entitlements file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid executable file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't resize signature load command."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create fat binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown bundle type."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown object type."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Category"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "High Res"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Location Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendar Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Desktop Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Documents Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Downloads Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Removable Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Codesign"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Identity"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Timestamp"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Hardened Runtime"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Replace Existing Signature"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Entitlements"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Custom File"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow JIT Code Execution"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Unsigned Executable Memory"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Dyld Environment Variables"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Disable Library Validation"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Audio Input"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendars"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Events"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Debugging"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Sandbox"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Server"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Client"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device USB"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device Bluetooth"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Downloads"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Pictures"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Music"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Movies"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Custom Options"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Name"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Password"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Team ID"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"You can check progress manually by opening a Terminal and running the "
-"following command:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Run the following command to staple the notarization ticket to the exported "
-"application (optional):"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "No identity found."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Creating app bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Relative symlinks are not supported on this OS, the exported project might "
-"be broken!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
-"template archive."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making PKG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Ad-hoc signed applications require the 'Disable Library Validation' "
-"entitlement to load dynamic libraries."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making ZIP"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Notarization requires the app to be archived first, select the DMG or ZIP "
-"export format instead."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Sending archive for notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Invalid bundle identifier:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
-"signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Xcode command line tools are not installed, using built-in "
-"\"codesign\". Code signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Code signing is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Hardened runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID name not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID password not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is disabled. The exported project will be blocked by "
-"Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Code signing is disabled. The exported project will not run on Macs with "
-"enabled Gatekeeper and Apple Silicon powered Macs."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Hardened Runtime is not compatible with ad-hoc signature, and will be "
-"disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is not supported from this OS. The exported project "
-"will be blocked by Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Microphone access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Camera access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Location information access is enabled, but usage description is "
-"not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Address book access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Calendar access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Photo library access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "macOS"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Force Builtin Codesign"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Architecture"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Short Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Product GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Signing"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Algorithm"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Major"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Minor"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Build"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Revision"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Store Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 44 X 44 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 71 X 71 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 150 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 310 X 310 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Wide 310 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Splash Screen"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Tiles"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 150 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Wide 310 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 310 X 310"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package short name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package unique name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package publisher display name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid product GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid publisher GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid background color."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid Store Logo image dimensions (should be 50x50)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 44x44 logo image dimensions (should be 44x44)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 71x71 logo image dimensions (should be 71x71)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 150x150 logo image dimensions (should be 150x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 310x310 logo image dimensions (should be 310x310)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid splash screen image dimensions (should be 620x300)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "UWP"
-msgstr ""
-
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Signtool"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Identity Type"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Timestamp Server URL"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Digest Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Modify Resources"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Company Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Description"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Trademarks"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid ""
-"The rcedit tool must be configured in the Editor Settings (Export > Windows "
-"> Rcedit) to change the icon or app information data."
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid icon path:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid file version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid product version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Windows"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Rcedit"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Osslsigncode"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Wine"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/texture.cpp
-msgid "Frames"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite to display frames."
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Speed Scale"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
-#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Playing"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Centered"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip H"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip V"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitoring"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitorable"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Physics Overrides"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Space Override"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Point"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Distance Scale"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Vec"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Gravity"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Linear Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Angular Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Audio Bus"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Override"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
-#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-msgid "Volume dB"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Pitch Scale"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Autoplay"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Stream Paused"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
-msgid "Max Distance"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
-msgid "Attenuation"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Bus"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-msgid "Area Mask"
-msgstr ""
-
-#: scene/2d/back_buffer_copy.cpp
-msgid "Copy Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Anchor Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Rotating"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
-#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
-msgid "Current"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-msgid "Zoom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
-msgid "Custom Viewport"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
-msgid "Process Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Limit"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Left"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Right"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp
-msgid "Bottom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothed"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin H Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin V Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothing"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "H"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "V"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Screen"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Limits"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Drag Margin"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Blend Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Light Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Animation"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim H Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim V Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim Loop"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-msgid "Visibility"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
-#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-msgid "Visible"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Self Modulate"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show Behind Parent"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show On Top"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Light Mask"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Use Parent Material"
-msgstr ""
-
-#: scene/2d/canvas_modulate.cpp
-msgid ""
-"Only one visible CanvasModulate is allowed per scene (or set of instanced "
-"scenes). The first created one will work, while the rest will be ignored."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
-"define its shape."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid "Pickable"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid ""
-"CollisionPolygon2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "An empty CollisionPolygon2D has no effect on collision."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid ""
-"The One Way Collision property will be ignored when the parent is an Area2D."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Build Mode"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
-#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Disabled"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision Margin"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"CollisionShape2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"A shape must be provided for CollisionShape2D to function. Please create a "
-"shape resource for it!"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"Polygon-based shapes are not meant be used nor edited directly through the "
-"CollisionShape2D node. Please use the CollisionPolygon2D node instead."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid ""
-"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Emitting"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Lifetime"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-msgid "One Shot"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Preprocess"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Explosiveness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Lifetime Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fixed FPS"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fract Delta"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Drawing"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Local Coords"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Draw Order"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Emission Shape"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Sphere Radius"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid "Rect Extents"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Normals"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Align Y"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Direction"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Spread"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Initial Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Angular Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Orbit Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Linear Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Radial Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Tangential Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Damping"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Initial Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Hue Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Curve"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node B must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Joint is not connected to two PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be different PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node A"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node B"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/resources/environment.cpp
-msgid "Bias"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Disable Collision"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Softness"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Initial Offset"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
-msgid "Rest Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-msgid "Stiffness"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid ""
-"A texture with the shape of the light must be supplied to the \"Texture\" "
-"property."
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-msgid "Editor Only"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Texture Scale"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-msgid "Energy"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Item Cull Mask"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-msgid "Shadow"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Buffer Size"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Gradient Length"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Filter Smooth"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "Closed"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
-msgid "Cull Mode"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid ""
-"An occluder polygon must be set (or drawn) for this occluder to take effect."
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Width Curve"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Default Color"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Fill"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Gradient"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Texture Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Capping"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Joint Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Begin Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "End Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-msgid "Border"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Sharp Limit"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Round Precision"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/resources/dynamic_font.cpp
-msgid "Antialiased"
-msgstr ""
-
-#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-msgid "Multimesh"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
-#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
-#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Cell Size"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-msgid "Edge Connection Margin"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp
-msgid ""
-"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-msgid "Estimate Radius"
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp
-msgid ""
-"The NavigationObstacle2D only serves to provide collision avoidance to a "
-"Node2D object."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"A NavigationPolygon resource must be set or created for this node to work. "
-"Please set a property or draw a polygon."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Scale"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-msgid "Global Transform"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Z As Relative"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Offset"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Scale"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit Begin"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit End"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Ignore Camera Zoom"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid ""
-"ParallaxLayer node only works when set as child of a ParallaxBackground node."
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid "Mirroring"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles2D node instead. You can use the \"Convert to "
-"CPUParticles2D\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"On macOS, Particles2D rendering is much slower than CPUParticles2D due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles2D instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles2D\" toolbar option for this "
-"purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid ""
-"A material to process the particles is not assigned, so no behavior is "
-"imprinted."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"Particles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid "Visibility Rect"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid "Process Material"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
-#: scene/resources/texture.cpp
-msgid "Curve"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "PathFollow2D only works when set as a child of a Path2D node."
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Unit Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "H Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "V Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Cubic Interp"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "Lookahead"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-msgid "Layers"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Linear Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Angular Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Friction"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Bounce"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Physics Material Override"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid ""
-"Size changes to RigidBody2D (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Mass"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Inertia"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Weight"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Gravity Scale"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Custom Integrator"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Continuous CD"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contacts Reported"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contact Monitor"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Sleeping"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Can Sleep"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Damp"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Angular"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Applied Forces"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Torque"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Safe Margin"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Sync To Physics"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Moving Platform"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Apply Velocity On Leave"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-msgid "Normal"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Remainder"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Local Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider ID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider RID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Shape Index"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Metadata"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Invert"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Vertex Colors"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Internal Vertex Count"
-msgstr ""
-
-#: scene/2d/position_2d.cpp
-msgid "Gizmo Extents"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Exclude Parent"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Cast To"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Collide With"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Areas"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Bodies"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp
-msgid "Path property must point to a valid Node2D node to work."
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Remote Path"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Use Global Coordinates"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
-msgid "Rest"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "Default Length"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid ""
-"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Hframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Vframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Frame Coords"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/resources/texture.cpp
-msgid "Filter Clip"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid ""
-"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
-"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
-"KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Set"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Quadrant Size"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Custom Transform"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Half Offset"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Origin"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Y Sort"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Show Collision"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Compatibility Mode"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Centered Textures"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Cell Clip UV"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Parent"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Kinematic"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Centered"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Visible"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Passby Press"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Visibility Mode"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid ""
-"VisibilityEnabler2D works best when used with the edited scene root directly "
-"as parent."
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Pause Animations"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Freeze Bodies"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Particles"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Animated Sprites"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Process Parent"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Physics Process Parent"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Reverb Bus"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Uniformity"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRCamera must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Controller ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
-msgid "Rumble"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The controller ID must not be 0 or this controller won't be bound to an "
-"actual controller."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Anchor ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The anchor ID must not be 0 or this anchor won't be bound to an actual "
-"anchor."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-msgid "World Scale"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Model"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit Size"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Max dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Out Of Range Mode"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Emission Angle"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Degrees"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Filter Attenuation dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Filter"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Cutoff Hz"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Doppler"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Tracking"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp
-msgid "Interior"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Finding meshes and lights"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing geometry (%d/%d)"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing environment"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generating capture"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Saving lightmaps"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Done"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp
-#: scene/resources/rectangle_shape_2d.cpp
-msgid "Extents"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Tweaks"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounces"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounce Indirect Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Denoiser"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Use HDR"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Default Texels Per Unit"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Atlas"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generate"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Max Size"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky Rotation Degrees"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-msgid "Custom Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Min Light"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Propagation"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Image Path"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Light Data"
-msgstr ""
-
-#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-msgid "Bone Name"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Keep Aspect"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
-msgid "Cull Mask"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Doppler Tracking"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Projection"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "FOV"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Frustum Offset"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Near"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Far"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/shape.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Margin"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Clip To"
-msgstr ""
-
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-msgid "Ray Pickable"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid "Capture On Drag"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape or CollisionPolygon as a child to define "
-"its shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid ""
-"CollisionPolygon only serves to provide a collision shape to a "
-"CollisionObject derived node. Please only use it as a child of Area, "
-"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid "An empty CollisionPolygon has no effect on collision."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"CollisionShape only serves to provide a collision shape to a CollisionObject "
-"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
-"KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"A shape must be provided for CollisionShape to function. Please create a "
-"shape resource for it."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"Plane shapes don't work well and will be removed in future versions. Please "
-"don't use them."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"ConcavePolygonShape doesn't support RigidBody in another mode than static."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid "Nothing is visible because no mesh has been assigned."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid ""
-"CPUParticles animation requires the usage of a SpatialMaterial whose "
-"Billboard Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Box Extents"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Inner Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Height"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Axis"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Rotate Y"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Disable Z"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Flatness"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-msgid "Portals"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Portal Mode"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Include In Bound"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Allow Merging"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Autoplace Priority"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Plotting Meshes"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Finishing Plot"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"GIProbes are not supported by the GLES2 video driver.\n"
-"Use a BakedLightmap instead."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"The GIProbe Compress property has been deprecated due to known bugs and no "
-"longer has any effect.\n"
-"To remove this warning, disable the GIProbe's Compress property."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Subdiv"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Dynamic Range"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp scene/3d/light.cpp
-msgid "Normal Bias"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Pixel Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Billboard"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Shaded"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Double Sided"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "No Depth Test"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Fixed Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Alpha Cut"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/material.cpp
-msgid "Alpha Scissor Threshold"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Modulate"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-msgid "Font"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-msgid "Horizontal Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Vertical Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
-msgid "Autowrap"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Indirect Energy"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Negative"
-msgstr ""
-
-#: scene/3d/light.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Specular"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bake Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Contact"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Reverse Cull Face"
-msgstr ""
-
-#: scene/3d/light.cpp servers/visual_server.cpp
-msgid "Directional Shadow"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 1"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 2"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 3"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Blend Splits"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bias Split Scale"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Depth Range"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Omni"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Detail"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Spot"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Angle Attenuation"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Software Skinning"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Transform Normals"
-msgstr ""
-
-#: scene/3d/navigation.cpp scene/resources/curve.cpp
-msgid "Up Vector"
-msgstr ""
-
-#: scene/3d/navigation.cpp
-msgid "Cell Height"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Agent Height Offset"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Ignore Y"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid ""
-"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-msgid "NavMesh"
-msgstr ""
-
-#: scene/3d/navigation_obstacle.cpp
-msgid ""
-"The NavigationObstacle only serves to provide collision avoidance to a "
-"Spatial inheriting parent object."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "No shape is set."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "Only uniform scales are supported."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles node instead. You can use the \"Convert to "
-"CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"On macOS, Particles rendering is much slower than CPUParticles due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Particles animation requires the usage of a SpatialMaterial whose Billboard "
-"Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Visibility AABB"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Draw Passes"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Passes"
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "PathFollow only works when set as a child of a Path node."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid ""
-"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
-"parent Path's Curve resource."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "Rotation Mode"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid ""
-"Size changes to RigidBody (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Axis Lock"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Joint Constraints"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Impulse Clamp"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Swing Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Twist Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Bias"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "ERP"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Body Offset"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node B must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Joint is not connected to any PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be different PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Solver"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Exclude Nodes"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Params"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Motor"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Target Velocity"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Max Impulse"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Restitution"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Force Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Z"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "The RoomManager should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A Room should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A RoomGroup should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Portal Active"
-msgstr ""
-
-#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
-msgid "Two Way"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Linked Room"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Use Default Margin"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Group Name"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Dispatch Mode"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Grid Radius"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp
-msgid "Debug Shape"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
-msgid "Thickness"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-msgid "Update Mode"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Origin Offset"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Box Projection"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Enable Shadows"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Color"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Energy"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Contrib"
-msgstr ""
-
-#: scene/3d/remote_transform.cpp
-msgid ""
-"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
-"derived node to work."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A Room cannot have another Room as a child or grandchild."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "The RoomManager should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A RoomGroup should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid ""
-"Room convex hull contains a large number of planes.\n"
-"Consider simplifying the room bound in order to increase performance."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Use Default Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp scene/3d/room_manager.cpp
-msgid "Room Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Bound"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "Roomgroup Priority"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "The RoomManager should not be placed inside a RoomGroup."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList has not been assigned."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList node should be a Spatial (or derived from Spatial)."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal Depth Limit is set to Zero.\n"
-"Only the Room that the Camera is in will render."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "There should only be one RoomManager in the SceneTree."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Main"
-msgstr ""
-
-#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Active"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roomlist"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Mode"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Filename"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "Gameplay"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Gameplay Monitor"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Use Secondary PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Merge Meshes"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Show Margins"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Debug Sprawl"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Overlap Warning Threshold"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Preview Camera"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal Depth Limit"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Default Portal Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roaming Expansion Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"RoomList path is invalid.\n"
-"Please check the RoomList branch has been assigned in the RoomManager."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "RoomList contains no Rooms, aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Misnamed nodes detected, check output log for details. Aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal link room not found, check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal autolink failed, check output log for details.\n"
-"Check the portal is facing outwards from the source room."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Room overlap detected, cameras may work incorrectly in overlapping area.\n"
-"Check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Error calculating room bounds.\n"
-"Ensure all rooms contain geometry or manual bounds."
-msgstr ""
-
-#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-msgid "Pose"
-msgstr ""
-
-#: scene/3d/skeleton.cpp
-msgid "Bound Children"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pinned Points"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Attachments"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Point Index"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Spatial Attachment Path"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Physics Enabled"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Parent Collision Ignore"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Simulation Precision"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Total Mass"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Linear Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Areaangular Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Volume Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pressure Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Damping Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Drag Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pose Matching Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "This body will be ignored until you set a mesh."
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid ""
-"Size changes to SoftBody will be overridden by the physics engine when "
-"running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Matrix"
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Gizmo"
-msgstr ""
-
-#: scene/3d/spatial_velocity_tracker.cpp
-msgid "Track Physics Step"
-msgstr ""
-
-#: scene/3d/spring_arm.cpp
-msgid "Spring Length"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-msgid "Opacity"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Transparent"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite3D to display frames."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid ""
-"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
-"it as a child of a VehicleBody."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Per-Wheel Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Engine Force"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Brake"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "VehicleBody Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Traction"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Wheel"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Roll Influence"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Friction Slip"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Suspension"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Max Force"
-msgstr ""
-
-#: scene/3d/visibility_notifier.cpp
-msgid "AABB"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
-msgid "Geometry"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Override"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Overlay"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Cast Shadow"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Extra Cull Margin"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Baked Light"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Generate Lightmap"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Lightmap Scale"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "LOD"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
-#: scene/resources/material.cpp
-msgid "Min Distance"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Min Hysteresis"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Max Hysteresis"
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"WorldEnvironment requires its \"Environment\" property to contain an "
-"Environment to have a visible effect."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set "
-"this environment's Background Mode to Canvas (for 2D scenes)."
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Mix Mode"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadein Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadeout Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Auto Restart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Autorestart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Random Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Add Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Blend Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Seek Position"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Input Count"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Xfade Time"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Switch Mode"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Auto Advance"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Advance Condition"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Anim Apply Reset"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Assigned Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Reset On Save"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Length"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Position"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Playback Options"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Default Blend Time"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Method Call Mode"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "In node '%s', invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Nothing connected to input '%s' of node '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "No root AnimationNode for the graph is set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path to an AnimationPlayer node containing animations is not set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "The AnimationPlayer root node is not a valid node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Tree Root"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Anim Player"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Root Motion"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Track"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "This node has been deprecated. Use AnimationTree instead."
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Playback"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Master Player"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Base Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Animation Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Zero Y"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Root Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Tip Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Interpolation"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Override Tip Basis"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Use Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Target Node"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Max Iterations"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Process Mode"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Speed"
-msgstr ""
-
-#: scene/audio/audio_stream_player.cpp
-msgid "Mix Target"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Ratio"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp
-#: scene/gui/texture_rect.cpp
-msgid "Stretch Mode"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
-msgid "Alignment"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Shortcut In Tooltip"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Action Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Enabled Focus Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Keep Pressed Outside"
-msgstr ""
-
-#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
-msgid "Shortcut"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Group"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp
-msgid "Clip Text"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
-#: scene/gui/spin_box.cpp
-msgid "Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Icon Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Expand Icon"
-msgstr ""
-
-#: scene/gui/center_container.cpp
-msgid "Use Top Left"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid ""
-"Color: #%s\n"
-"LMB: Apply color\n"
-"RMB: Remove preset"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Edit Alpha"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Deferred Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Enabled"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Visible"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Pick a color from the editor window."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Switch between hexadecimal and code values."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Add current color as a preset."
-msgstr ""
-
-#: scene/gui/container.cpp
-msgid ""
-"Container by itself serves no purpose unless a script configures its "
-"children placement behavior.\n"
-"If you don't intend to add a script, use a plain Control node instead."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Overrides"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid ""
-"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
-"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Anchor"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Grow Direction"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Min Size"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pivot Offset"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Clip Content"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Hint"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Tooltip"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Focus"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Left"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Top"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Right"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Bottom"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Next"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Previous"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Mouse"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Default Cursor Shape"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pass On Modal Close Click"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Size Flags"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Stretch Ratio"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Type Variation"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Window Title"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Dialog"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Hide On OK"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Alert!"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Please Confirm..."
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Mode Overrides Title"
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Must use a valid extension."
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Right Disconnects"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Scroll Offset"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Snap Distance"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Min"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Max"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Step"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Show Zoom Label"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimap"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Enable grid minimap."
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Show Close"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/gui/option_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Comment"
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Overlay"
-msgstr ""
-
-#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp
-#: scene/gui/tree.cpp scene/main/viewport.cpp
-msgid "Timers"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
-msgid "Incremental Search Max Interval Msec"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow Reselect"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow RMB Select"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Text Lines"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Auto Height"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Same Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Icon Scale"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Icon Size"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "V Align"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Visible Characters"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Percent Visible"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Lines Skipped"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Max Lines Visible"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
-msgid "Max Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret Character"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Expand To Text Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Context Menu Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Virtual Keyboard Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Clear Button Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Shortcut Keys Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Middle Mouse Paste Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Selecting Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
-#: scene/gui/text_edit.cpp
-msgid "Deselect On Focus Loss Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Right Icon"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Placeholder"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Alpha"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Caret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink Speed"
-msgstr ""
-
-#: scene/gui/link_button.cpp
-msgid "Underline"
-msgstr ""
-
-#: scene/gui/menu_button.cpp
-msgid "Switch On Hover"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Draw Center"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Region Rect"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid "Patch Margin"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Axis Stretch"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid ""
-"The Tile and Tile Fit options for Axis Stretch properties are only effective "
-"when using the GLES3 rendering backend.\n"
-"The GLES2 backend is currently in use, so these modes will act like Stretch "
-"instead."
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Popup"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Exclusive"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid ""
-"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine, but they will hide upon "
-"running."
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Checkable Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On State Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Submenu Popup Delay"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Allow Search"
-msgstr ""
-
-#: scene/gui/progress_bar.cpp
-msgid "Percent"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Min Value"
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Max Value"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Page"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Exp Edit"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Rounded"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Greater"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Lesser"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp
-msgid "Border Color"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp scene/resources/style_box.cpp
-msgid "Border Width"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Relative Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Absolute Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Elapsed Time"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Env"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Character"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "BBCode"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Meta Underlined"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Tab Size"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Fit Content Height"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Active"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Following"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Selection Enabled"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-msgid "Override Selected Font Color"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Custom Effects"
-msgstr ""
-
-#: scene/gui/scroll_bar.cpp
-msgid "Custom Step"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid ""
-"ScrollContainer is intended to work with a single child control.\n"
-"Use a container as child (VBox, HBox, etc.), or a Control and set the custom "
-"minimum size manually."
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Follow Focus"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Horizontal Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Vertical Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Default Scroll Deadzone"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Scrollable"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Tick Count"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Ticks On Borders"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Prefix"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Suffix"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Split Offset"
-msgstr ""
-
-#: scene/gui/split_container.cpp scene/gui/tree.cpp
-msgid "Collapsed"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Dragger Visibility"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Tab Align"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Current Tab"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Tabs Visible"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "All Tabs In Front"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Drag To Rearrange Enabled"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Use Hidden Tabs For Min Size"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Tab Close Display Policy"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Scrolling Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Readonly"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Bookmark Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Breakpoint Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Fold Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Hiding Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Wrap Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Vertical"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Horizontal"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Draw"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Block Mode"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Moving By Right Click"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Idle Detect (sec)"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Undo Stack Max Size"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Hover"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Focused"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Click Mask"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-#: scene/gui/video_player.cpp
-msgid "Expand"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Under"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Over"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Mode"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/material.cpp
-msgid "Tint"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Radial Fill"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Initial Angle"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Degrees"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
-msgid "Center Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Nine Patch Stretch"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Left"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Top"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Right"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Bottom"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Custom Minimum Height"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "(Other)"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Column Titles Visible"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Folding"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Root"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Drop Mode Flags"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Audio Track"
-msgstr ""
-
-#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Paused"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Buffering Msec"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Stream Position"
-msgstr ""
-
-#: scene/gui/viewport_container.cpp
-msgid "Stretch Shrink"
-msgstr ""
-
-#: scene/main/canvas_layer.cpp
-msgid "Follow Viewport"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download File"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download Chunk Size"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Body Size Limit"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Max Redirects"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Timeout"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid ""
-"Setting node name '%s' to be unique within scene for '%s', but it's already "
-"claimed by '%s'. This node is no longer set unique."
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Num Separator"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Casing"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Editor Description"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Pause Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Physics Interpolation Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Display Folded"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Filename"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Owner"
-msgstr ""
-
-#: scene/main/node.cpp scene/main/scene_tree.cpp
-msgid "Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Custom Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Process Priority"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Time Left"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Collisions Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Navigation Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Font Oversampling"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Edited Scene Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Multiplayer Poll"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Shapes"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Shape Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Contact Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Disabled Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Max Contacts Displayed"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-msgid "Draw 2D Outlines"
-msgstr ""
-
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Reflections"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Size"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Subdiv"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "MSAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use FXAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Debanding"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "HDR"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "Use 32 BPC Depth"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Default Environment"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid ""
-"Default Environment as specified in Project Settings (Rendering -> "
-"Environment -> Default Environment) could not be loaded."
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Enable Object Picking"
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid ""
-"Very low timer wait times (< 0.05 seconds) may behave in significantly "
-"different ways depending on the rendered or physics frame rate.\n"
-"Consider using a script's process loop instead of relying on a Timer for "
-"very low wait times."
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid "Autostart"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Viewport Path"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "ARVR"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Size Override Stretch"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Own World"
-msgstr ""
-
-#: scene/main/viewport.cpp scene/resources/world_2d.cpp
-msgid "World"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "World 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Transparent BG"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Handle Input Locally"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "FXAA"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debanding"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Keep 3D Linear"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Direct To Screen"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debug Draw"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Target"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "V Flip"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Clear Mode"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Object Picking"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable Input"
-msgstr ""
-
-#: scene/main/viewport.cpp servers/visual_server.cpp
-msgid "Shadow Atlas"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 0"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 1"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 2"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 3"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Global Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Tooltip Delay (sec)"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Swap OK Cancel"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Layer Names"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Use hiDPI"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom Font"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp
-msgid "Mix Rate"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-msgid "Stereo"
-msgstr ""
-
-#: scene/resources/concave_polygon_shape_2d.cpp
-msgid "Segments"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Resolution"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Interval"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Underline Spacing"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Check V Adjust"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Shadow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Outline Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset X"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset Y"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow As Outline"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Selected"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Uneditable"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimum Spaces"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/world.cpp
-#: scene/resources/world_2d.cpp
-msgid "Space"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folded"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Fold"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Readonly"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Max Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Slider"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tick"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Updown"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scaleborder Size"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close H Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close V Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Parent Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Toggle Hidden"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Accel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Frame"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Default Frame"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Default Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Comment Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Unfocused"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Normal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Select Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Collapsed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Guide Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Drop Position Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Relationship Line Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Font Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Item Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Relationship Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Guides"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Border"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Speed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Icon Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Side Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Top Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Large"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Files Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Screen Picker"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Add Preset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Hue"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Sample"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Overbright Indicator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG Icon"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Normal Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Mono Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Top"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Bottom"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Autohide"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "More"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Minor"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Major"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Fill"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Stroke"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Activity"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Pos"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Neg"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Horizontal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Vertical"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Hinting"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Override Oversampling"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Path"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Size"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Color"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Use Mipmaps"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Extra Spacing"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Char"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Data"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Background"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/sky.cpp
-msgid "Sky"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Custom FOV"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Orientation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation Degrees"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Canvas Max Layer"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/texture.cpp
-msgid "Camera Feed ID"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Ambient Light"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Contribution"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fog"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Color"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Amount"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Begin"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth End"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Min"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Max"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Tonemap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "White"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Auto Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Min Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SS Reflections"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Steps"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade In"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade Out"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Tolerance"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Roughness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SSAO"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Radius 2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Intensity 2"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Light Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "AO Channel Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Edge Sharpness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Far Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Distance"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transition"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Near Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Glow"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Levels"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "1"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "3"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "4"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "5"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "6"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "7"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bloom"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Threshold"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Luminance Cap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Scale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bicubic Upscale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Adjustments"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Brightness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Saturation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Color Correction"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Ascent"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Distance Field"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Raw Data"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Offsets"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Width"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Depth"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Data"
-msgstr ""
-
-#: scene/resources/line_shape_2d.cpp
-msgid "D"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Next Pass"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Shadow To Opacity"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Unshaded"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Lighting"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "World Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex Force sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Do Not Receive Shadows"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Disable Ambient Light"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ensure Correct Normals"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex MSDF"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Color"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use As Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Is sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Parameters"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Diffuse Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Specular Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Depth Draw Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Line Width"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Keep Scale"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow Amount"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Alpha Scissor"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Particles Anim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "H Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "V Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Metallic"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Texture Channel"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Emission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "On UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "NormalMap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Rim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Clearcoat"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Gloss"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Anisotropy"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flowmap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ambient Occlusion"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Deep Parallax"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Min Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Max Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Tangent"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Binormal"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Subsurf Scatter"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Transmission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Refraction"
-msgstr ""
-
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
-msgid "Detail"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV Layer"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV1"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar Sharpness"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Proximity Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Distance Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Async Mode"
-msgstr ""
-
-#: scene/resources/mesh.cpp
-msgid "Lightmap Size Hint"
-msgstr ""
-
-#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
-msgid "Custom AABB"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "Mesh Transform"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "NavMesh Transform"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Color Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Transform Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Custom Data Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Instance Count"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Visible Instance Count"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Parsed Geometry Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Geometry Mode"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Group Name"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Climb"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Slope"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Merge Size"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Verts Per Poly"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Distance"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Low Hanging Obstacles"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Ledge Spans"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "OccluderShapeSphere Set Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Polygon Points"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Hole Points"
-msgstr ""
-
-#: scene/resources/packed_scene.cpp
-msgid "Bundled"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Trail"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Divisor"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Size Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Normal Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Count"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Random"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Curve"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Rough"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Absorbent"
-msgstr ""
-
-#: scene/resources/plane_shape.cpp
-msgid "Plane"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Flip Faces"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Mid Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Width"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Depth"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Top Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Bottom Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Left To Right"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Is Hemisphere"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Curve Step"
-msgstr ""
-
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Slips On Slope"
-msgstr ""
-
-#: scene/resources/segment_shape_2d.cpp
-msgid "A"
-msgstr ""
-
-#: scene/resources/shape_2d.cpp
-msgid "Custom Solver Bias"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind Count"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bone"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Radiance Size"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Panorama"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Top Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Horizon Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Ground"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Bottom Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Sun"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Latitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Longitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Min"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Max"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Content Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Expand Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Skew"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Radius"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Detail"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Anti Aliasing"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow Begin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow End"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Load Path"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base Texture"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Image Size"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Side"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Front"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Back"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Storage Mode"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Lossy Storage Quality"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "From"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "To"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Current Frame"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Pause"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Which Feed"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Camera Is Active"
-msgstr ""
-
-#: scene/resources/theme.cpp
-msgid "Default Font"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Output Port For Preview"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Depth Draw"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Cull"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Diffuse"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Async"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Modes"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Input Name"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Uniform Name"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid ""
-"The sampler port is connected but not used. Consider changing the source to "
-"'SamplerPort'."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for preview."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for shader."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Texture Type"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Cube Map"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Default Value Enabled"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Default Value"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Color Default"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid comparison function for that type."
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Fallback Environment"
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Scenario"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Direct Space State"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity Vector"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Linear Damp"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Angular Damp"
-msgstr ""
-
-#: scene/resources/world_2d.cpp
-msgid "Canvas"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Primary"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Initialized"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "AR"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Anchor Detection Enabled"
-msgstr ""
-
-#: servers/arvr_server.cpp
-msgid "Primary Interface"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Audio Stream"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Random Pitch"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_capture.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#: servers/audio/effects/audio_stream_generator.cpp
-msgid "Buffer Length"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice Count"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Dry"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Wet"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Delay (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Rate Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Depth (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Level dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_panner.cpp
-msgid "Pan"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Attack (µs)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Release (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Mix"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Sidechain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 1"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 2"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Feedback"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Low-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Pre Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Keep Hf Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Drive"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Post Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Resonance"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Ceiling dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Threshold dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip Ratio"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Min Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Max Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Oversampling"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "FFT Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Predelay"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Msec"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Room Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "High-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "Tap Back Pos"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Pan Pullout"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Time Pullout (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Surround"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Enable Audio Input"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Output Latency"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Threshold dB"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Time"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Video Delay Compensation (ms)"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Bus Count"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Capture Device"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Global Rate Scale"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Feed"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Is Active"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Linear"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Angular"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Time Before Sleep"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "BP Hash Table Size"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Large Object Surface Threshold In Cells"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Mass"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Inertia"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Angular Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Linear Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Gravity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Linear Velocity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Exclude"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Shape RID"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Bodies"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Areas"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion Remainder"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Point"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Normal"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Depth"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Safe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Unsafe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Physics Engine"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Center Of Mass"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Principal Inertia Axes"
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Varying may not be assigned in the '%s' function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'vertex' function may not be reassigned in "
-"'fragment' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'fragment' function may not be reassigned in "
-"'vertex' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to uniform."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Constants cannot be modified."
-msgstr ""
-
-#: servers/visual/visual_server_scene.cpp
-msgid "Spatial Partitioning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Render Loop Enabled"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "VRAM Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import BPTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import S3TC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import PVRTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Lossless Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force PNG"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "WebP Compression Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Time Rollover Secs"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Cubemap Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 0 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 1 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 2 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 3 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shadows"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Filter Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Texture Array Reflections"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "High Quality GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Irradiance Max Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Vertex Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Lambert Over Burley"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Blinn Over GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Mesh Storage"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Split Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Physical Light Attenuation"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Depth Prepass"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable For Vendors"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Anisotropic Filter Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Nearest Mipmap Filter"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Software Skinning Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Ninepatch Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "OpenGL"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Send Null"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Orphan Buffers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching In Editor"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Single Rect Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Item Commands"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Colored Vertex Format Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Scissor Area Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Items"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batch Buffer Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Item Reordering Lookahead"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flash Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Diagnose Frame"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "GLES2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Compatibility"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable Half Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Enable High Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Precision"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract Amount"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Simple PVS"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "PVS Logging"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Signals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Remove Danglers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flip Imported Portals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Occlusion Culling"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Spheres"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Polygons"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Compilation Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Simultaneous Compiles"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Log Active Async Compiles Count"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Cache Size (MB)"
-msgstr ""
diff --git a/editor/translations/mk.po b/editor/translations/mk.po
index 9230d277d7..2d183ec609 100644
--- a/editor/translations/mk.po
+++ b/editor/translations/mk.po
@@ -3,21 +3,21 @@
# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
# This file is distributed under the same license as the Godot source code.
#
-# Kristijan Fremen Velkovski <me@krisfremen.com>, 2021.
+# Kristijan Fremen Velkovski <me@krisfremen.com>, 2021, 2022.
# Denis <densisman@gmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-11-18 13:37+0000\n"
-"Last-Translator: Denis <densisman@gmail.com>\n"
+"PO-Revision-Date: 2022-07-23 03:57+0000\n"
+"Last-Translator: Kristijan Fremen Velkovski <me@krisfremen.com>\n"
"Language-Team: Macedonian <https://hosted.weblate.org/projects/godot-engine/"
"godot/mk/>\n"
"Language: mk\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1;\n"
-"X-Generator: Weblate 4.9.1-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -25,28 +25,27 @@ msgstr ""
#: core/bind/core_bind.cpp
msgid "Clipboard"
-msgstr ""
+msgstr "Табла со исечоци"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Својства на анимацијата."
+msgstr "Тековен Екран"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Излезен код"
#: core/bind/core_bind.cpp
msgid "V-Sync Enabled"
-msgstr ""
+msgstr "Вертикална Синхронизација е вклучена"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "Вертикална Синхронизација преку композитор"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Делта Измазнување"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
@@ -58,49 +57,49 @@ msgstr ""
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr ""
+msgstr "Чувај го екранот уклучен"
#: core/bind/core_bind.cpp
msgid "Min Window Size"
-msgstr ""
+msgstr "Минимална Големина на Прозорецот"
#: core/bind/core_bind.cpp
msgid "Max Window Size"
-msgstr ""
+msgstr "Максимална Големина на Прозорецот"
#: core/bind/core_bind.cpp
msgid "Screen Orientation"
-msgstr ""
+msgstr "Ориентација на Екран"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
msgid "Window"
-msgstr ""
+msgstr "Прозорец"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "Без граници"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Уклучена е Транспарентоста По Пиксел"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
-msgstr ""
+msgstr "Цел екран"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Максимизирано"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "Минимизирано"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Променлива големина"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -108,7 +107,7 @@ msgstr ""
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Position"
-msgstr ""
+msgstr "Позиција"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -120,32 +119,31 @@ msgstr ""
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
msgid "Size"
-msgstr ""
+msgstr "Големина"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Ендијанска размена"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Уреди"
+msgstr "Совет за уредник"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Печати грешни пораки"
#: core/bind/core_bind.cpp
msgid "Iterations Per Second"
-msgstr ""
+msgstr "Итерации во секунда"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr ""
+msgstr "Цел на FPS"
#: core/bind/core_bind.cpp
msgid "Time Scale"
-msgstr ""
+msgstr "Временска скала"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Physics Jitter Fix"
@@ -153,23 +151,23 @@ msgstr ""
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "Грешка"
#: core/bind/core_bind.cpp
msgid "Error String"
-msgstr ""
+msgstr "Текст на Грешка"
#: core/bind/core_bind.cpp
msgid "Error Line"
-msgstr ""
+msgstr "Линија за грешка"
#: core/bind/core_bind.cpp
msgid "Result"
-msgstr ""
+msgstr "Резултат"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Меморија"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -180,11 +178,11 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Граници"
#: core/command_queue_mt.cpp
msgid "Command Queue"
-msgstr ""
+msgstr "Ред за наредби"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
@@ -203,9 +201,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -311,7 +310,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Нема доволно бајти за декодирање бајтови, или невалиден формат."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Невалидено внесување %i (не додадено) во израз"
#: core/math/expression.cpp
@@ -355,6 +355,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Својства на анимацијата."
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -380,6 +389,10 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -431,6 +444,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "GDNative(ГДДомороден)"
@@ -536,7 +553,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -619,24 +637,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -744,7 +761,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1011,6 +1029,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Слободно"
@@ -1027,7 +1046,7 @@ msgstr "Огледало"
msgid "Time:"
msgstr "Време:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Вредност:"
@@ -1236,7 +1255,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Functions:"
-msgstr ""
+msgstr "Фукнции:"
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
@@ -1271,42 +1290,101 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
+msgstr "Време:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Анимација Промени Прелаз"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Невалиден индекс од тип %s за основен тип %s"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Својства на анимацијата."
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Својства на анимацијата."
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
#: editor/animation_track_editor.cpp
msgid "Continuous"
-msgstr ""
+msgstr "Континуирана"
#: editor/animation_track_editor.cpp
msgid "Discrete"
-msgstr ""
+msgstr "Дискретна"
#: editor/animation_track_editor.cpp
msgid "Trigger"
-msgstr ""
+msgstr "Чкрапало"
#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp
msgid "Capture"
-msgstr ""
+msgstr "Снимање"
#: editor/animation_track_editor.cpp
msgid "Nearest"
-msgstr ""
+msgstr "Најблиску"
#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
#: scene/3d/physics_body.cpp
msgid "Linear"
-msgstr ""
+msgstr "Линеарна"
#: editor/animation_track_editor.cpp
msgid "Cubic"
-msgstr ""
+msgstr "Кубни"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
@@ -1384,7 +1462,7 @@ msgstr ""
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Create"
-msgstr ""
+msgstr "Создади"
#: editor/animation_track_editor.cpp
msgid "Anim Insert"
@@ -1482,7 +1560,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -1685,7 +1763,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Clean-Up"
-msgstr ""
+msgstr "Очисти"
#: editor/animation_track_editor.cpp
msgid "Scale Ratio:"
@@ -1762,7 +1840,7 @@ msgstr ""
#: editor/code_editor.cpp
msgid "Replace"
-msgstr ""
+msgstr "Замени"
#: editor/code_editor.cpp
msgid "Replace All"
@@ -1775,7 +1853,7 @@ msgstr ""
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
msgid "Standard"
-msgstr ""
+msgstr "Стандардно"
#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
msgid "Toggle Scripts Panel"
@@ -1801,7 +1879,7 @@ msgstr ""
#: editor/code_editor.cpp modules/gdscript/gdscript.cpp
msgid "Warnings"
-msgstr ""
+msgstr "Предупредувања"
#: editor/code_editor.cpp
msgid "Line and column numbers."
@@ -1843,7 +1921,7 @@ msgstr ""
#: editor/plugins/item_list_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
msgid "Add"
-msgstr ""
+msgstr "Додади"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
@@ -1853,7 +1931,7 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
-msgstr ""
+msgstr "Избриши"
#: editor/connections_dialog.cpp
msgid "Add Extra Call Argument:"
@@ -1870,11 +1948,11 @@ msgstr ""
#: editor/connections_dialog.cpp scene/3d/room_manager.cpp
#: servers/visual_server.cpp
msgid "Advanced"
-msgstr ""
+msgstr "Напредно"
#: editor/connections_dialog.cpp
msgid "Deferred"
-msgstr ""
+msgstr "Одложено"
#: editor/connections_dialog.cpp
msgid ""
@@ -2002,14 +2080,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2065,8 +2144,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2074,7 +2153,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2365,7 +2444,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2417,8 +2496,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2621,6 +2700,22 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Completed with warnings."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2633,6 +2728,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2733,8 +2848,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2905,9 +3037,9 @@ msgid "Import"
msgstr "Импортирај"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3987,14 +4119,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4109,6 +4233,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4136,6 +4264,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4765,11 +4897,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4862,6 +4996,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5118,7 +5256,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5143,6 +5283,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5655,10 +5803,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6376,14 +6526,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6509,7 +6651,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr ""
@@ -6754,7 +6896,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6782,6 +6924,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7438,11 +7592,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7460,11 +7623,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7561,10 +7719,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7605,10 +7765,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7719,8 +7875,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Анимација Промени Прелаз"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7736,11 +7893,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8625,6 +8777,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8688,6 +8841,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9428,7 +9585,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9658,6 +9815,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9811,13 +9969,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9826,10 +9977,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10516,13 +10663,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Анимација Промени Прелаз"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10545,11 +10695,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11024,7 +11169,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11056,15 +11201,15 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+msgid "Simplification:"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11128,6 +11273,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Својства на анимацијата."
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -11984,8 +12134,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13393,20 +13542,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13414,14 +13558,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13522,19 +13658,23 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+msgid "Export Project..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13542,14 +13682,19 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Својства на анимацијата."
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13821,11 +13966,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -14981,8 +15126,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Избриши невалидни клучеви"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15797,7 +15943,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15959,7 +16105,8 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Библиотеки: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16359,7 +16506,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16385,6 +16531,19 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Дуплирај избран(и) клуч(еви)"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Вредност:"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16780,7 +16939,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16788,7 +16947,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17148,7 +17307,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17156,7 +17315,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17309,12 +17468,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Невалидни аргументи на конструкт '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Невалидни аргументи на конструкт '%s'"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17325,11 +17486,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17620,6 +17781,10 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Custom Build"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17627,6 +17792,15 @@ msgstr ""
msgid "Export Format"
msgstr ""
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Јазол"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17663,15 +17837,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Јазол"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17816,10 +17981,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17896,12 +18057,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17910,25 +18071,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Јазол"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17944,6 +18129,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -17972,7 +18161,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17983,19 +18172,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18008,7 +18195,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18023,7 +18210,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18031,15 +18218,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18049,7 +18233,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18275,6 +18459,15 @@ msgstr ""
msgid "Custom BG Color"
msgstr ""
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18296,19 +18489,28 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Невалиден индекс од тип %s за основен тип %s"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
+msgstr ""
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+msgid "Icon Creation"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18380,15 +18582,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18655,9 +18857,25 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18673,15 +18891,66 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "DMG Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18692,7 +18961,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18733,6 +19002,14 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19029,6 +19306,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19069,6 +19350,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Невалидни аргументи на конструкт '%s'"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19087,6 +19423,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19102,6 +19454,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19211,7 +19567,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19255,7 +19612,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19915,32 +20272,51 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr ""
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Pathfinding"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Avoidance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Avoidance Enabled"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp
@@ -19965,13 +20341,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -19979,7 +20357,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21011,6 +21389,13 @@ msgstr ""
msgid "Transform Normals"
msgstr ""
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21032,12 +21417,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21808,6 +22187,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Анимација Промени Прелаз"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -22890,6 +23274,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23244,16 +23632,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23394,6 +23783,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Дуплирај избран(и) клуч(еви)"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Дуплирај избран(и) клуч(еви)"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24622,7 +25021,7 @@ msgstr ""
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24696,10 +25095,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Својства на анимацијата."
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -24712,7 +25116,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24724,11 +25132,15 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24741,6 +25153,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24757,7 +25173,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25122,6 +25546,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Својства на анимацијата."
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25137,6 +25566,25 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Вредност:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Вредност:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Вредност:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Edge Connection Margin"
+msgstr ""
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/ml.po b/editor/translations/ml.po
index 707c810751..7568bc881e 100644
--- a/editor/translations/ml.po
+++ b/editor/translations/ml.po
@@ -206,9 +206,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -314,7 +315,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "തെറ്റായ ഫോർമാറ്റിങ് അല്ലെങ്കിൽ ഡീക്കോഡിങ്ങിനു ആവശ്യത്തിനു ബെറ്റുകൾ ഇല്ല."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "എക്സ്പ്രെഷനിൽ അസാധുവായ ഇൻപുട്ട് %i (പാസാക്കിയിട്ടില്ല)"
#: core/math/expression.cpp
@@ -358,6 +360,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "വിളി രീതി നോക്കുക"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -383,6 +394,10 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -435,6 +450,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -540,7 +559,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -623,24 +643,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -748,7 +767,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1016,6 +1036,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "സൗജന്യം"
@@ -1032,7 +1053,7 @@ msgstr "കണ്ണാടി"
msgid "Time:"
msgstr "സമയം:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "വില:"
@@ -1277,10 +1298,70 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
+msgstr "സമയം:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "അടിസ്ഥാന തരം% sഇനു അസാധുവായ സൂചിക തരം"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "വിളി രീതി നോക്കുക"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
msgstr ""
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "ചലനരേഖകൾ:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1489,7 +1570,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2009,14 +2090,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2072,8 +2154,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2081,7 +2163,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2373,7 +2455,7 @@ msgid "Bus Options"
msgstr "പ്രവൃത്തികൾ:"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2425,8 +2507,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2629,6 +2711,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "ചലനം ചുറ്റൽ"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2641,6 +2740,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2743,8 +2862,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2914,9 +3050,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3999,14 +4135,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4122,6 +4250,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4149,6 +4281,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4778,11 +4914,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4874,6 +5012,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5131,7 +5273,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5156,6 +5300,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5667,10 +5819,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6390,14 +6544,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6524,7 +6670,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr ""
@@ -6765,7 +6911,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6793,6 +6939,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7453,11 +7611,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7475,11 +7642,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7576,10 +7738,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7620,10 +7784,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7734,8 +7894,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "ചലനം ചുറ്റൽ"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7751,11 +7912,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8640,6 +8796,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8703,6 +8860,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9446,7 +9607,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9676,6 +9837,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9829,13 +9991,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9844,10 +9999,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10534,13 +10685,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "ചലനം ചുറ്റൽ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10563,11 +10717,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11042,7 +11191,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11074,15 +11223,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "ചലനം ചുറ്റൽ"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11146,6 +11296,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12000,8 +12155,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13411,20 +13565,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13432,14 +13581,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13540,19 +13681,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "ത്രിമാന പരിവർത്തനം നോക്കുക"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13560,14 +13706,19 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "ഗുണം നോക്കുക"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13839,11 +13990,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -14999,8 +15150,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "ഗുണം നോക്കുക"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15817,7 +15969,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15978,7 +16130,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16379,7 +16531,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16405,6 +16556,19 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "സൂചികകൾ നീക്കം ചെയ്യുക"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "വില:"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16800,7 +16964,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16808,7 +16972,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17171,7 +17335,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17179,7 +17343,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17333,12 +17497,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "'%s' നിർമിക്കുവാൻ കിട്ടിയ വിവരങ്ങൾ തെറ്റാണ്"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "'%s' നിർമിക്കുവാൻ കിട്ടിയ വിവരങ്ങൾ തെറ്റാണ്"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17349,11 +17515,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17645,6 +17811,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "പ്രവൃത്തികൾ:"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17653,6 +17824,14 @@ msgstr ""
msgid "Export Format"
msgstr "ത്രിമാന പരിവർത്തനം നോക്കുക"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr ""
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17689,14 +17868,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17841,10 +18012,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17921,12 +18088,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17935,25 +18102,48 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17969,6 +18159,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -17997,7 +18191,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18008,19 +18202,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18033,7 +18225,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18048,7 +18240,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18056,15 +18248,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18074,7 +18263,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18301,6 +18490,15 @@ msgstr "പ്രവൃത്തികൾ:"
msgid "Custom BG Color"
msgstr "പ്രവൃത്തികൾ:"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18322,19 +18520,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "അടിസ്ഥാന തരം% sഇനു അസാധുവായ സൂചിക തരം"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "ചലനം ചുറ്റൽ"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18407,15 +18615,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18685,9 +18893,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "ചലനം ചുറ്റൽ"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18703,18 +18928,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "പ്രവൃത്തികൾ:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "ത്രിമാന പരിവർത്തനം നോക്കുക"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -18722,7 +19000,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18763,6 +19041,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19059,6 +19346,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19099,6 +19390,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "'%s' നിർമിക്കുവാൻ കിട്ടിയ വിവരങ്ങൾ തെറ്റാണ്"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19117,6 +19463,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19132,6 +19494,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19242,7 +19608,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19287,7 +19654,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19950,32 +20317,51 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "ചലനം ചുറ്റൽ"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Pathfinding"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Avoidance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Avoidance Enabled"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp
@@ -20000,13 +20386,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20014,7 +20402,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21057,6 +21445,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "ത്രിമാന പരിവർത്തനം നോക്കുക"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21078,12 +21473,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21871,6 +22260,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -22960,6 +23354,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23315,16 +23713,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23467,6 +23866,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "സൂചികകൾ നീക്കം ചെയ്യുക"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "സൂചികകൾ നീക്കം ചെയ്യുക"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24728,7 +25137,7 @@ msgstr ""
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24805,10 +25214,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -24821,7 +25235,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24833,11 +25251,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "പ്രവൃത്തികൾ:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24850,6 +25273,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24866,7 +25293,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25233,6 +25668,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25248,6 +25688,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "വില:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "വില:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "വില:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "ചലനം ചുറ്റൽ"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/mr.po b/editor/translations/mr.po
index c526e51a21..4bdf5ba4fb 100644
--- a/editor/translations/mr.po
+++ b/editor/translations/mr.po
@@ -204,9 +204,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -313,7 +314,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "डिकोड करण्यासाठी पुरसे बाईटस् नाहित, किंवा अवैध फ़ोरमैट."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "एक्सप्रेशन मधे अवैध इनपुट %i (पास नाही झाले)"
#: core/math/expression.cpp
@@ -357,6 +359,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "प्ले मोड:"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -383,6 +394,10 @@ msgstr ""
msgid "Command"
msgstr "समुदाय"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -435,6 +450,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -542,7 +561,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -625,24 +645,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -751,7 +770,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1019,6 +1039,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "मोफत"
@@ -1035,7 +1056,7 @@ msgstr ""
msgid "Time:"
msgstr "वेळ:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "मूल्य:"
@@ -1279,10 +1300,70 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
+msgstr "वेळ:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "अ‍ॅनिमेशन ट्री"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "अ‍ॅनिमेशन ट्री"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "स्केल:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "बेस प्रकार %s साठी %s प्रकाराची अवैध अनुक्रमणिका"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "नोड हलवा"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "अ‍ॅनिमेशन नाव:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1490,7 +1571,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2010,14 +2091,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2073,8 +2155,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2082,7 +2164,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2373,7 +2455,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2425,8 +2507,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2629,6 +2711,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "अ‍ॅनिमेशन ट्री"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2641,6 +2740,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2741,8 +2860,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2912,9 +3048,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3992,14 +4128,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4116,6 +4244,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4143,6 +4275,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4772,11 +4908,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4868,6 +5006,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5121,7 +5263,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5146,6 +5290,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5661,10 +5813,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6383,14 +6537,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6517,7 +6663,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "नोड हलवा"
@@ -6762,7 +6908,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6790,6 +6936,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7444,11 +7602,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "नवीन अ‍ॅनिमेशन तयार करा"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7466,11 +7633,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7567,10 +7729,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7611,10 +7775,6 @@ msgid "Pin AnimationPlayer"
msgstr "अ‍ॅनिमेशनप्लेअर पिन करा"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "नवीन अ‍ॅनिमेशन तयार करा"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "अ‍ॅनिमेशन नाव:"
@@ -7725,7 +7885,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "शेवटचे अ‍ॅनिमेशन सेट करा. हे उप-संक्रमणांसाठी उपयुक्त आहे."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "संक्रमण: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -7742,11 +7903,6 @@ msgid "New name:"
msgstr "नवीन नाव:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "स्केल:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8630,6 +8786,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8693,6 +8850,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9434,7 +9595,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9664,6 +9825,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9817,13 +9979,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9832,10 +9987,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10521,13 +10672,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "स्केल:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "संक्रमण: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10550,11 +10705,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11029,7 +11179,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11061,15 +11211,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "अ‍ॅनिमेशन ट्री"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11133,6 +11284,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "अ‍ॅनिमेशन ट्री"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -11992,8 +12148,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13405,20 +13560,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13426,14 +13576,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13534,19 +13676,23 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+msgid "Export Project..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13554,7 +13700,7 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+msgid "Godot Project Pack"
msgstr ""
#: editor/project_export.cpp
@@ -13562,6 +13708,10 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13833,11 +13983,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -14994,8 +15144,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "नोड काढला"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15815,7 +15966,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15976,7 +16127,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16378,7 +16529,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16407,6 +16557,19 @@ msgstr "नोड हलवा"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "संक्रमण: "
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "नोड हलवा"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16802,7 +16965,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16810,7 +16973,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17172,7 +17335,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17180,7 +17343,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17335,11 +17498,11 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+msgid "Invalid argument of type:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+msgid "Invalid arguments:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17351,11 +17514,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17647,6 +17810,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "अ‍ॅनिमेशन ट्री"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17654,6 +17822,15 @@ msgstr ""
msgid "Export Format"
msgstr ""
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "नोड हलवा"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17690,15 +17867,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "नोड हलवा"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17845,10 +18013,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17925,12 +18089,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17939,25 +18103,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "नोड जोडा"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17973,6 +18161,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18001,7 +18193,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18012,19 +18204,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18037,7 +18227,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18052,7 +18242,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18060,15 +18250,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18078,7 +18265,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18304,6 +18491,15 @@ msgstr ""
msgid "Custom BG Color"
msgstr ""
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18325,19 +18521,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "बेस प्रकार %s साठी %s प्रकाराची अवैध अनुक्रमणिका"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "अ‍ॅनिमेशन ट्री"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18410,15 +18616,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18687,9 +18893,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "अ‍ॅनिमेशन ट्री"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18705,15 +18928,67 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "संक्रमण: "
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18724,7 +18999,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18765,6 +19040,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "अ‍ॅनिमेशन ट्री"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19063,6 +19347,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19103,6 +19391,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "बेस प्रकार %s साठी %s प्रकाराची अवैध अनुक्रमणिका"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19121,6 +19464,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19136,6 +19495,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19247,7 +19610,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19291,7 +19655,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19966,35 +20330,55 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "अ‍ॅनिमेशन ट्री"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "समक्रमित करा"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "समक्रमित करा"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20017,21 +20401,25 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "नोड हलवा"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "प्रवास"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21076,6 +21464,13 @@ msgstr ""
msgid "Transform Normals"
msgstr ""
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21097,12 +21492,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21892,6 +22281,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "संक्रमण: "
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -22988,6 +23382,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23344,16 +23742,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23495,6 +23894,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "नोड हलवा"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "नोड हलवा"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24757,7 +25166,7 @@ msgstr "संक्रमण: "
msgid "Refraction"
msgstr "संक्रमण: "
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24831,8 +25240,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "स्केल:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "संक्रमण: "
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -24847,7 +25262,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24859,11 +25278,15 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24876,6 +25299,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24892,7 +25319,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25262,6 +25697,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "नोड हलवा"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25277,6 +25717,26 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "मूल्य:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "ब्लेंड टाइम्स:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "मूल्य:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "अ‍ॅनिमेशन ट्री"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index ec5a8a98e3..61a60ad8fe 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -16,7 +16,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-02-23 17:55+0000\n"
+"PO-Revision-Date: 2022-06-12 13:19+0000\n"
"Last-Translator: Keviindran Ramachandran <keviinx@yahoo.com>\n"
"Language-Team: Malay <https://hosted.weblate.org/projects/godot-engine/godot/"
"ms/>\n"
@@ -25,108 +25,97 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Pemacu Tablet"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "Papan klip kosong!"
+msgstr "Papan klip"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Tab seterusnya"
+msgstr "Skrin Semasa"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Kod Keluar"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "Aktifkan"
+msgstr "V-Sync Didayakan"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync Melalui Pengkompos"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Delta Smoothing"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Mod Alih"
+msgstr "Mod Penggunaan Pemproses Rendah"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "Mod Penggunaan Pemproses Rendah Tidur (μsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr ""
+msgstr "Kekalkan Skrin Hidup"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "Saiz:"
+msgstr "Saiz Tetingkap Min"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "Saiz:"
+msgstr "Saiz Tetingkap Maks"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "Buka Dokumentasi"
+msgstr "Orientasi Skrin"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Window"
-msgstr "Tetingkap Baru"
+msgstr "Tetingkap"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Borderless"
-msgstr "Piksel Sempadan"
+msgstr "Tanpa sempadan"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Ketelusan Per Piksel Didayakan"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "Togol Skrin Penuh"
+msgstr "Skrin penuh"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Dimaksimumkan"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "Diminimumkan"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Boleh diubah saiz"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "Kedudukan Dok"
+msgstr "Kedudukan"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -137,63 +126,56 @@ msgstr "Kedudukan Dok"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "Saiz:"
+msgstr "Saiz"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Endian Swap"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Editor"
+msgstr "Petunjuk Editor"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Cetak Mesej Ralat"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "Mod Interpolasi"
+msgstr "Lelaran Sesaat"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr ""
+msgstr "FPS Sasaran"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "Nod TimeScale"
+msgstr "Skala Masa"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Bingkai Fizik %"
+msgstr "Betulkan Fizik Jitter"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "Ralat"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "Ralat semasa memindahkan:"
+msgstr "Ralat String"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "Ralat semasa memindahkan:"
+msgstr "Baris Ralat"
#: core/bind/core_bind.cpp
msgid "Result"
-msgstr ""
+msgstr "Hasil"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Memori"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -204,127 +186,119 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Had-had"
#: core/command_queue_mt.cpp
msgid "Command Queue"
-msgstr ""
+msgstr "Barisan Perintah"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Saiz Baris Multithreading (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
msgstr "Fungsi"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "Data"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr ""
+msgstr "Rangkaian"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Keluarkan"
+msgstr "FS Jauh"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "Halaman: "
+msgstr "Saiz Halaman"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Halaman Baca Di Hadapan"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Mod Penyekatan Didayakan"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Sambung"
+msgstr "Sambungan"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Baca Saiz Chunk"
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "ID Objek"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "Aktifkan Kulit Bawang"
+msgstr "Benarkan Penyahkodan Objek"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Tolak Sambungan Rangkaian Baharu"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Network Peer"
-msgstr ""
+msgstr "Rakan Rangkaian"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "Nod OneShot"
+msgstr "Nod Akar"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "Sambung"
+msgstr "Tolak Sambungan Baharu"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "Mod Pan"
+msgstr "Mod Pemindahan"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Saiz Maks Encode Buffer"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "Saiz Maks Input Buffer"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "Saiz Maks Output Buffer"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "Rakan Strim"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Endian Besar"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Data Array"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Menyekat Handshake"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Edit Sambungan:"
+msgstr "Sambungan Tertunda Maks"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -342,12 +316,12 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Bait tidak mencukupi untuk menyahkod bait, atau format tidak sah."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Input %i tidak sah (tidak lulus) dalam ungkapan"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Input %d tidak sah (tidak lulus) dalam ungkapan"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "self tidak boleh digunakan kerana instance adalah null (tidak lulus)"
+msgstr "self tidak boleh digunakan kerana contol adalah null (tidak lulus)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -372,130 +346,137 @@ msgstr "Atas panggilan ke '%s':"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "Benih"
#: core/math/random_number_generator.cpp
-#, fuzzy
msgid "State"
-msgstr "Status"
+msgstr "Keadaan"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Barisan Mesej"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "Saiz Maksimum (KB)"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Mod Alih"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Padam Input"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
-msgstr ""
+msgstr "Peranti"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Alt"
-msgstr "Semua"
+msgstr "Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "Shift"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Control"
-msgstr "Kawalan Versi"
+msgstr "Kawalan"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "Komuniti"
+msgstr "Perintah"
+
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fizik"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
-msgstr "Pratetap"
+msgstr "Ditekan"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Sumber Imbas"
+msgstr "Kod imbasan"
#: core/os/input_event.cpp
msgid "Physical Scancode"
-msgstr ""
+msgstr "Kod Imbasan Fizikal"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "Gema"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
-msgstr "Butang X 1"
+msgstr "Mask Butang"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "Pemalar"
+msgstr "Kedudukan Global"
#: core/os/input_event.cpp
msgid "Factor"
-msgstr ""
+msgstr "Faktor"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Button Index"
-msgstr "Butang X 1"
+msgstr "Indeks Butang"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "Klik dua kali"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "Tilt"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "Pratetap"
+msgstr "Tekanan"
+
+#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Relative"
-msgstr "Snap Relatif"
+msgstr "Relatif"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
msgid "Speed"
-msgstr ""
+msgstr "Kelajuan"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
msgid "Axis"
-msgstr ""
+msgstr "Paksi"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "Nilai pin"
+msgstr "Nilai Paksi"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
msgid "Index"
-msgstr ""
+msgstr "Indeks"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -506,61 +487,55 @@ msgstr "Aksi"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "Kekuatan"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "Delta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "Ubah"
+msgstr "Saluran"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "Komuniti"
+msgstr "Mesej"
#: core/os/input_event.cpp
msgid "Pitch"
-msgstr ""
+msgstr "Pitch"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
msgid "Velocity"
-msgstr ""
+msgstr "Kelajuan"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "Instrumen"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "Nombor Baris:"
+msgstr "Nombor Pengawal"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "Nilai Pengawal"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "Aksi"
+msgstr "Aplikasi"
#: core/project_settings.cpp main/main.cpp
-#, fuzzy
msgid "Config"
-msgstr "Konfigurasikan Snap"
+msgstr "Konfigurasi"
#: core/project_settings.cpp
-#, fuzzy
msgid "Project Settings Override"
-msgstr "Tetapan Projek..."
+msgstr "Penggantian Tetapan Projek"
#: core/project_settings.cpp core/resource.cpp
#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
@@ -583,49 +558,47 @@ msgstr "Keterangan"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
-msgstr ""
+msgstr "Jalankan"
#: core/project_settings.cpp editor/editor_node.cpp
#: editor/run_settings_dialog.cpp main/main.cpp
msgid "Main Scene"
-msgstr ""
+msgstr "Adegan Utama"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "Tidak Aktif"
+msgstr "Lumpuhkan stdout"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "Tidak Aktif"
+msgstr "Lumpuhkan stderr"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "Gunakan Direktori Data Projek Tersembunyi"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Guna Dir Pengguna Tersuai"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "Nama Dir Pengguna Tersuai"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Paparkan Semua"
+msgstr "Paparan"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Lebar"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -634,21 +607,19 @@ msgstr ""
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
msgid "Height"
-msgstr ""
+msgstr "Tinggi"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Sentiasa Di Atas"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Kiri Lebar"
+msgstr "Uji Lebar"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Menguji"
+msgstr "Uji Tinggi"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -656,9 +627,8 @@ msgid "Audio"
msgstr "Audio"
#: core/project_settings.cpp
-#, fuzzy
msgid "Default Bus Layout"
-msgstr "Muatkan Susun Atur Bas lalai."
+msgstr "Susun Atur Bas Lalai"
#: core/project_settings.cpp editor/editor_export.cpp
#: editor/editor_file_system.cpp editor/editor_node.cpp
@@ -669,96 +639,87 @@ msgstr "Editor"
#: core/project_settings.cpp
msgid "Main Run Args"
-msgstr ""
+msgstr "Jalan Utama Args"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Laluan Adegan:"
#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "Cari Dalam Sambungan Fail"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Kawalan Versi"
+msgstr "Laluan Carian Templat Skrip"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Muatkan Automatik Semasa Permulaan"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Nama Plugin:"
+msgid "Version Control Plugin Name"
+msgstr "Kawalan Versi"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "Tambah Input"
+msgstr "Input"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "UI Terima"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "Pilih"
+msgstr "UI Pilih"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
-msgstr "Batal"
+msgstr "UI Batal"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "Laluan Fokus"
+msgstr "Fokus UI Seterusnya"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "Laluan Fokus"
+msgstr "Fokus UI Sebelumnya"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Left"
-msgstr "Atas Kiri"
+msgstr "UI Kiri"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Right"
-msgstr "Atas Kanan"
+msgstr "UI Kanan"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "UI Atas"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "Bawah"
+msgstr "UI Bawah"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "Halaman: "
+msgstr "UI Halaman Atas"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "UI Halaman Bawah"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "UI Laman Utama"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI End"
-msgstr "Pada Akhir"
+msgstr "UI Akhir"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -768,9 +729,8 @@ msgstr "Pada Akhir"
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Physics"
-msgstr "Bingkai Fizik %"
+msgstr "Fizik"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -780,11 +740,11 @@ msgstr "Bingkai Fizik %"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "3D"
#: core/project_settings.cpp
msgid "Smooth Trimesh Collision"
-msgstr ""
+msgstr "Perlanggaran Trimesh Lancar"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -796,7 +756,7 @@ msgstr ""
#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Rendering"
-msgstr ""
+msgstr "Render"
#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
@@ -806,17 +766,17 @@ msgstr ""
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "Kualiti"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
-msgstr "Penapis:"
+msgstr "Penapis"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "Tajamkan Intensiti"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -832,85 +792,81 @@ msgstr "Nyahpepijat"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Settings"
-msgstr "Menguji"
+msgstr "Tetapan"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Profiler"
-msgstr ""
+msgstr "Profiler"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "Buat Fungsi"
+msgstr "Fungsi Maks"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
msgid "Compression"
-msgstr ""
+msgstr "Mampatan"
#: core/project_settings.cpp
msgid "Formats"
-msgstr ""
+msgstr "Format"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "Padanan Jarak Jauh"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "Tahap Mampatan"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "Saiz Tetingkap Log"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "Modul"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "Sambung ke Nod:"
+msgstr "Sambungkan Masa Tamat Saat"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "Aliran Rakan Sebaya Paket"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Buffer Maksimum (Kuasa 2)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
-msgstr "Bucu:"
+msgstr "Sijil"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
@@ -919,9 +875,8 @@ msgid "Resource"
msgstr "Sumber"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "Tutup Adegan"
+msgstr "Tempatan Ke Adegan"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -932,20 +887,19 @@ msgstr "Laluan"
#: core/script_language.cpp
msgid "Source Code"
-msgstr ""
+msgstr "Kod Sumber"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
-msgstr ""
+msgstr "Tempatan"
#: core/translation.cpp
-#, fuzzy
msgid "Test"
-msgstr "Menguji"
+msgstr "Ujian"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "Fallback"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -981,17 +935,17 @@ msgstr "EiB"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "Penampan"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "Saiz Penampan Poligon Kanvas (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "Saiz Penampan Indeks Poligon Kanvas (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -1003,56 +957,52 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
-msgstr "Snap Pintar"
+msgstr "Snapping"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Use GPU Pixel Snap"
-msgstr "Gunakan Pixel Snap"
+msgstr "Gunakan Snap Piksel GPU"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Saiz Penampan Segera (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
-#, fuzzy
msgid "Lightmapping"
-msgstr "Bake Lightmap"
+msgstr "Pemetaan cahaya"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Gunakan Persampelan Bicubic"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Elemen Boleh Render Maks"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Lampu Boleh Render Maks"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Max Renderable Reflections"
-msgstr "Pemilihan Pusat"
+msgstr "Refleksi Maks Boleh Render"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Lampu Maks Setiap Objek"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Scattering Subpermukaan"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1065,28 +1015,29 @@ msgstr ""
#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/particles_material.cpp
msgid "Scale"
-msgstr ""
+msgstr "Skala"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Follow Surface"
-msgstr ""
+msgstr "Ikut Permukaan"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "Sampel Berat"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Pengesanan Kon Voxel"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "Kualiti Tinggi"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "Saiz Penampan Maks Bentuk Campuran (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Bebas"
@@ -1103,7 +1054,7 @@ msgstr "Cermin"
msgid "Time:"
msgstr "Masa:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Nilai:"
@@ -1158,9 +1109,8 @@ msgstr "Anim Ubah Panggilan"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Bingkai %"
+msgstr "Bingkai"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1171,65 +1121,58 @@ msgstr "Masa"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "Langkah Putaran:"
+msgstr "Lokasi"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Langkah Putaran:"
+msgstr "Putaran"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
msgid "Value"
-msgstr ""
+msgstr "Nilai"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Jumlah:"
+msgstr "Kiraan Arg"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Args"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
#: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp
#: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp
msgid "Type"
-msgstr ""
+msgstr "Jenis"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Tetapkan Pemegang"
+msgstr "Dalam Pemegang"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Tetapkan Pemegang"
+msgstr "Keluar Pemegang"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "Aliran"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Grid Offset:"
+msgstr "Mulakan Offset"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Grid Offset:"
+msgstr "Tamat Offset"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1243,7 +1186,7 @@ msgstr "Animasi"
#: editor/animation_track_editor.cpp
msgid "Easing"
-msgstr ""
+msgstr "Pelonggaran"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1352,8 +1295,62 @@ msgid "Remove this track."
msgstr "Keluarkan trek ini."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Masa (s): "
+msgid "Time (s):"
+msgstr "Masa (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Kedudukan:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Putaran:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Jenis:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Tidak sah, jenis dijangka: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Pelonggaran:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "Dalam-Pemegang:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Keluar-Pemegang:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Aliran:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Mula (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Tamat (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Klip Animasi:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1437,14 +1434,12 @@ msgstr "Keluarkan Trek Anim"
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editors"
msgstr "Editor"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Confirm Insert Track"
-msgstr "Anim Masukkan Trek & Kunci"
+msgstr "Sahkan Sisipkan Trek"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1568,8 +1563,8 @@ msgid "Add Method Track Key"
msgstr "Tambah Kunci Trek Kaedah"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Kaedah tidak ditemui dalam objek: "
+msgid "Method not found in object:"
+msgstr "Kaedah tidak ditemui dalam objek:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2106,14 +2101,15 @@ msgstr "Kegemaran:"
msgid "Recent:"
msgstr "Terkini:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cari:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Padanan:"
@@ -2173,8 +2169,8 @@ msgstr "Cari Penggantian Sumber:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2182,8 +2178,8 @@ msgid "Open"
msgstr "Buka"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Pemilik:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2486,7 +2482,7 @@ msgid "Bus Options"
msgstr "Pilihan Bas"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Pendua"
@@ -2538,8 +2534,9 @@ msgstr "Buka Susun Atur Bas Audio"
msgid "There is no '%s' file."
msgstr "Tiada fail '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Susun atur"
#: editor/editor_audio_buses.cpp
@@ -2744,6 +2741,25 @@ msgid "Choose"
msgstr "Pilih"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Salin Pilihan"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pakej berjaya dipasang!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Gagal:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Menyimpan Fail:"
@@ -2756,6 +2772,31 @@ msgid "Packing"
msgstr "Pembungkusan"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Simpan sebagai"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Tidak dapat mencipta folder."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Tidak dapat mengeksport fail projek"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Tidak dapat membuka fail untuk ditulis:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Simpan sebagai"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2876,11 +2917,31 @@ msgstr "Templat nyahpepijat tersuai tidak dijumpai."
msgid "Custom release template not found."
msgstr "Templat pelepasan tersuai tidak dijumpai."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Urus Templat-templat"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Fail templat tidak dijumpai:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Tidak dapat membuka fail templat eksport."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"Pada eksport 32-bit PCK terbenam tidak boleh lebih besar daripada 4 GiB."
@@ -3052,12 +3113,12 @@ msgstr "Buat Semasa"
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Import"
-msgstr "import"
+msgstr "Import"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Eksport"
@@ -4220,15 +4281,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Adegan"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Laluan Adegan:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4356,6 +4408,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Kawalan Versi"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Namakan Semula"
@@ -4384,6 +4440,10 @@ msgstr "Togol mod bebas gangguan."
msgid "Add a new scene."
msgstr "Tambah adegan baru."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Adegan"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Pergi ke adegan yang dibuka sebelum ini."
@@ -5072,11 +5132,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Node yang dipilih bukan Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Saiz: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Saiz:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Halaman: "
#: editor/editor_properties_array_dict.cpp
@@ -5177,6 +5240,11 @@ msgstr ""
"Sila tambah pratetap yang dapat dijalankan di menu Eksport atau tentukan "
"pratetap yang ada sebagai yang dapat dijalankan."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projek"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Tulis logik anda dalam kaedah _run()."
@@ -5452,7 +5520,9 @@ msgid "Draw Spaces"
msgstr "Cabutan Panggilan:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5478,6 +5548,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Semua Pilihan"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6030,10 +6109,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6787,14 +6868,6 @@ msgid "Replace in Files"
msgstr "Gantikan dalam Fail-fail"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Cari: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Ganti: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Gantikan Semua (TIADA BUAT ASAL)"
@@ -6923,7 +6996,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Penapis:"
@@ -7188,7 +7261,8 @@ msgid "Generating Lightmaps"
msgstr "Menjana Peta Cahaya"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Menjana untuk Mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7218,6 +7292,18 @@ msgid "Saving..."
msgstr "Menyimpan..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7905,11 +7991,20 @@ msgid "New Anim"
msgstr "Anim Baru"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Cipta Animasi Baru"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Tukar Nama Animasi:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Namakan Semula Animasi"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Padam Animasi?"
@@ -7927,11 +8022,6 @@ msgid "Animation name already exists!"
msgstr "Nama animasi sudah wujud!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Namakan Semula Animasi"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Gandakan Animasi"
@@ -8028,10 +8118,12 @@ msgstr "Pilihan Kulit Bawang"
msgid "Directions"
msgstr "Arah"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Sebelum"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Masa depan"
@@ -8072,10 +8164,6 @@ msgid "Pin AnimationPlayer"
msgstr "Pin AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Cipta Animasi Baru"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nama Animasi:"
@@ -8190,7 +8278,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Tetapkan hujung animasi. Ini adalah berguna untuk sub-peralihan."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Peralihan: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8207,11 +8296,6 @@ msgid "New name:"
msgstr "Nama baru:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Pudar Masuk (s):"
@@ -9120,6 +9204,7 @@ msgstr "Buat Tulang(-tulang) Tersuai dari Nod(-nod)"
msgid "Clear Custom Bones"
msgstr "Kosongkan Tulang Tersuai"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9185,6 +9270,10 @@ msgid "Preview Canvas Scale"
msgstr "Pratonton Skala Kanvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Susun atur"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Topeng terjemahan untuk memasukkan kekunci."
@@ -9936,8 +10025,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Topeng Emission"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10166,6 +10256,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -10319,13 +10410,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10334,10 +10418,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11037,13 +11117,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Skala:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Peralihan: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11066,11 +11150,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Saiz:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11551,8 +11630,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Tukar ke %s"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11583,16 +11663,19 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Aksi"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
+#, fuzzy
+msgid "Shrink (Pixels):"
+msgstr "Piksel Pepejal"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
+#, fuzzy
+msgid "Grow (Pixels):"
+msgstr "Piksel Pepejal"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11656,6 +11739,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Padam Animasi?"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12568,8 +12656,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -14013,20 +14100,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14034,14 +14116,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14143,34 +14217,48 @@ msgid "More Info..."
msgstr "Pindah Ke..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Eksport..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Import Dok"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Pilih Direktori"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Eksport..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Projek"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Pengasas Projek"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14446,15 +14534,15 @@ msgid "Project Manager"
msgstr "Pengurus Projek "
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Mengambil maklumat cermin, sila tunggu..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Projek"
@@ -15620,8 +15708,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Keluarkan"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16481,7 +16570,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Semua Pilihan"
@@ -16655,7 +16744,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17088,7 +17177,6 @@ msgid "Use In Baked Light"
msgstr "Bake Lightmap"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17118,6 +17206,19 @@ msgstr "Tengah"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigasi Yang Boleh Dilihat"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navigasi Yang Boleh Dilihat"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17530,7 +17631,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17538,7 +17639,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17909,7 +18010,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17917,7 +18018,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18085,12 +18186,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Argumen tidak sah untuk binaan '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Nama tidak sah."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18102,12 +18205,14 @@ msgid "Var Name"
msgstr "Nama"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Kaedah tidak ditemui dalam objek: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Kaedah tidak ditemui dalam objek: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18422,6 +18527,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Potong Nod"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18430,6 +18540,16 @@ msgstr ""
msgid "Export Format"
msgstr "Warna seragam."
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Saiz:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Cipta Nod"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18468,16 +18588,6 @@ msgstr "Tab sebelumnya"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Saiz:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Cipta Nod"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18644,10 +18754,6 @@ msgid "Could not execute on device."
msgstr "Tidak dapat mencipta folder."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18724,12 +18830,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18738,25 +18844,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Isyarat"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18772,6 +18902,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Tidak dapat memulakan subproses!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18800,7 +18935,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18811,20 +18946,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Tidak dapat mengeksport fail projek"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18836,7 +18970,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18851,7 +18985,8 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Pakej tidak ditemui: %s"
#: platform/android/export/export_plugin.cpp
@@ -18860,15 +18995,13 @@ msgid "Creating APK..."
msgstr "Menyambung..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Tidak dapat memasang ke peranti: %s"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18879,7 +19012,8 @@ msgid "Adding files..."
msgstr "Tapis Fail-fail..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Tidak dapat mengeksport fail projek"
#: platform/android/export/export_plugin.cpp
@@ -19120,6 +19254,17 @@ msgstr "Potong Nod"
msgid "Custom BG Color"
msgstr "Potong Nod"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Urus Templat-templat"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Templat pelepasan tersuai tidak dijumpai."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19141,22 +19286,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Tidak dapat mencipta folder."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "(Tidak sah, jenis dijangka: %s)"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Tidak dapat membaca fail:"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Kandungan:"
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Tidak dapat membaca fail:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Versi:"
@@ -19230,15 +19388,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Tidak dapat membaca shell HTML:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Tidak dapat mencipta direktori server HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Ralat memulakan server HTTP:"
#: platform/javascript/export/export.cpp
@@ -19530,9 +19691,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Tidak dapat mengeksport fail projek"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Tidak dapat memulakan subproses!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Langkah Putaran:"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19548,18 +19728,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Tiada sub-sumber dijumpai."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Ralat semasa menyimpan fail: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Arah"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Tidak dapat memulakan subproses!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Mencipta Gambar Kecil"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Tidak dapat memasang ke peranti: %s"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Nama tidak sah."
#: platform/osx/export/export.cpp
msgid ""
@@ -19569,7 +19805,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19610,6 +19846,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projek"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19917,6 +20162,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Tidak dapat membuang fail sementara:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19963,6 +20213,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Tampal Animasi"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Nama kumpulan tidak sah."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Argumen tidak sah untuk binaan '%s'"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nama tidak sah."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Nama kumpulan tidak sah."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Tidak dapat membuang fail sementara:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19984,6 +20294,23 @@ msgid "Invalid product version:"
msgstr "Nama kumpulan tidak sah."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Nama kumpulan tidak sah."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Tetingkap Baru"
@@ -20000,6 +20327,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20120,7 +20451,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Contoh"
@@ -20171,7 +20503,7 @@ msgstr "Zum Masuk"
msgid "Custom Viewport"
msgstr "Tunjukkan Viewport"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20885,34 +21217,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Edit Sambungan:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Tampal Animasi"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Pilih Adegan Utama"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Lanjutan"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Aktifkan"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Aktifkan"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20937,22 +21291,26 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Tengah Bawah"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Perjalanan"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Langkah Putaran:"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Pemalar"
@@ -22076,6 +22434,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Trek Transformasi 3D"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22099,12 +22464,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22953,6 +23312,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Kosongkan Transformasi"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24151,6 +24515,11 @@ msgstr "Folder:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Pilihan Sahaja"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Aktifkan"
@@ -24548,16 +24917,17 @@ msgstr "Laluan Fokus"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24713,6 +25083,16 @@ msgid "3D Physics"
msgstr "Bingkai Fizik %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigasi Yang Boleh Dilihat"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigasi Yang Boleh Dilihat"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26120,7 +26500,7 @@ msgstr "Peralihan: "
msgid "Refraction"
msgstr "Versi:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26201,8 +26581,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Skala:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Versi:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -26218,10 +26604,15 @@ msgid "Source Group Name"
msgstr "Nama Skrip:"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Kandungan:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26230,11 +26621,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Buka Terkini"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26247,6 +26643,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Muatkan Lalai"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26263,9 +26664,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Grid Offset:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26668,6 +27078,11 @@ msgid "Scenario"
msgstr "Adegan"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigasi Yang Boleh Dilihat"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26685,6 +27100,26 @@ msgstr "Linear Kiri"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Lalai"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Lalai"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Menguji"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Edit Sambungan:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index 1bfa99213c..542d5987ca 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -222,9 +222,10 @@ msgid "Data"
msgstr "Data"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Nettverk"
@@ -331,7 +332,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ikke nok bytes til å dekode, eller ugyldig format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Ugyldig input %i (ikke bestått) i utrykket"
#: core/math/expression.cpp
@@ -375,6 +377,16 @@ msgstr "Melding Kø"
msgid "Max Size (KB)"
msgstr "Maks Størrelse (KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Flytt Modus"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Slett Input"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -400,6 +412,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Kommando"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fysikk"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -456,6 +473,10 @@ msgid "Pressure"
msgstr "Trykk"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relativ"
@@ -568,7 +589,8 @@ msgstr "Beskrivelse"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Kjør"
@@ -657,6 +679,11 @@ msgid "Main Run Args"
msgstr "Hovedkjøringsargumenter"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Scene-Sti:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Søk I Filetternavn"
@@ -664,18 +691,15 @@ msgstr "Søk I Filetternavn"
msgid "Script Templates Search Path"
msgstr "Skriptmaler Søkesti"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Versjonskontroll"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+#, fuzzy
+msgid "Version Control Autoload On Startup"
msgstr "Automatisk Lasting Ved Oppstart"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Navn På Programvareutvidelse"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Versjonskontroll"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -785,7 +809,8 @@ msgid "Quality"
msgstr "Kvalitet"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filter"
@@ -1063,6 +1088,7 @@ msgstr "Høy Kvalitet"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Fri"
@@ -1079,7 +1105,7 @@ msgstr "Speil"
msgid "Time:"
msgstr "Tid:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Verdi:"
@@ -1347,10 +1373,75 @@ msgid "Remove this track."
msgstr "Fjern dette sporet."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Tid (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Posisjon"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Rotasjon Steg:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Type:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Håndter Eksportmaler"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Advarsel:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Sett Handle"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Sett Handle"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Legg til Element"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Omstart (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Fade Inn (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animasjoner"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Veksl Aktivering Av Spor"
@@ -1566,7 +1657,8 @@ msgid "Add Method Track Key"
msgstr "Legg til metode-spornøkkel"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metode ikke funnet i objekt: "
#: editor/animation_track_editor.cpp
@@ -2113,14 +2205,15 @@ msgstr "Favoritter:"
msgid "Recent:"
msgstr "Nylige:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Søk:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Treff:"
@@ -2182,8 +2275,8 @@ msgstr "Søk Erstatningsressurs:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2191,8 +2284,8 @@ msgid "Open"
msgstr "Åpne"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Eiere Av:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2510,7 +2603,7 @@ msgid "Bus Options"
msgstr "Bus valg"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliser"
@@ -2562,8 +2655,9 @@ msgstr "Åpne Audio Bus oppsett"
msgid "There is no '%s' file."
msgstr "Det finnes ingen «%s»-fil"
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Utforming"
#: editor/editor_audio_buses.cpp
@@ -2777,6 +2871,25 @@ msgid "Choose"
msgstr "Velg"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopier Node-bane"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Vellykket Installering av Pakke!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Feilet:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Lagrer Fil:"
@@ -2789,6 +2902,31 @@ msgid "Packing"
msgstr "Pakking"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Lagre som"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Kunne ikke opprette mappe."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Kunne ikke opprette mappe."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Kan ikke åpne fil for skriving:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Lagre som"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2913,11 +3051,33 @@ msgstr "Tilpasset feilsøkingsmal ble ikke funnet."
msgid "Custom release template not found."
msgstr "Fant ikke tilpasset utgivelsesmal."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Håndter Eksportmaler"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Fil eksisterer ikke."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Malfil ble ikke funnet:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Håndter Eksportmaler"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Fyll"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -3099,9 +3259,9 @@ msgid "Import"
msgstr "Importer"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Eksporter"
@@ -4291,15 +4451,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scene"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Scene-Sti:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4429,6 +4580,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Versjonskontroll"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Gi nytt navn"
@@ -4457,6 +4612,10 @@ msgstr "Vis/skjul distraksjonsfri modus."
msgid "Add a new scene."
msgstr "Legg til ny scene."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scene"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Gå til forrige åpne scene."
@@ -5145,11 +5304,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Størrelse: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Størrelse:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Side: "
#: editor/editor_properties_array_dict.cpp
@@ -5255,6 +5417,11 @@ msgstr ""
"Ingen kjørbar eksport-preset funnet for denne plattformen.\n"
"Vennligst legg til en kjørbar preset i eksportmenyen."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Prosjekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Skriv logikken din i _run() metoden."
@@ -5536,7 +5703,9 @@ msgid "Draw Spaces"
msgstr "Ring"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigasjon"
@@ -5562,6 +5731,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Slett Valgte"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6119,10 +6297,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Prosjekthåndterer"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6925,14 +7105,6 @@ msgid "Replace in Files"
msgstr "Erstatt Alle"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Finn: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Erstatt: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Erstatt Alle"
@@ -7071,7 +7243,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Lim inn Noder"
@@ -7337,7 +7509,8 @@ msgid "Generating Lightmaps"
msgstr "Genererer lyskart"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Genererer for Maske: "
#: editor/import/resource_importer_scene.cpp
@@ -7366,6 +7539,18 @@ msgid "Saving..."
msgstr "Lagrer..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8093,11 +8278,20 @@ msgid "New Anim"
msgstr "Ny Anim"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Lag Ny Animasjon"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Endre Animasjonsnavn:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Endre navn på Animasjon"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Fjern Animasjon?"
@@ -8115,11 +8309,6 @@ msgid "Animation name already exists!"
msgstr "Animasjonsnavnet finnes allerede!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Endre navn på Animasjon"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Dupliser Animasjon"
@@ -8222,10 +8411,12 @@ msgstr "Løk-lag"
msgid "Directions"
msgstr "Retninger"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Fortid"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Fremtid"
@@ -8267,10 +8458,6 @@ msgid "Pin AnimationPlayer"
msgstr "Lim inn Animasjon"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Lag Ny Animasjon"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Animasjonsnavn:"
@@ -8391,7 +8578,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Overgang: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8409,11 +8597,6 @@ msgid "New name:"
msgstr "Nytt navn:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade Inn (s):"
@@ -9378,6 +9561,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "Fjern Ben"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9447,6 +9631,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Utforming"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10232,8 +10420,9 @@ msgid "Volume"
msgstr "Volum"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Synlige kollisjons-former"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10476,6 +10665,7 @@ msgid "Points"
msgstr "Poeng"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Rediger Poly"
@@ -10642,13 +10832,6 @@ msgid "Instance:"
msgstr "Instans:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Type:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Åpne i Redigeringsverktøy"
@@ -10657,11 +10840,6 @@ msgstr "Åpne i Redigeringsverktøy"
msgid "Load Resource"
msgstr "Last Ressurs"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "Ressurs"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11393,12 +11571,16 @@ msgstr "Roter"
msgid "Translate"
msgstr "Oversett"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Skalerer: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Oversetter: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11423,11 +11605,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Størrelse:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11929,7 +12106,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "Konverter til store versaler"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11963,15 +12140,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Applikasjon"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -12042,6 +12220,11 @@ msgstr "Animasjon"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Filter animations"
+msgstr "Lim inn Noder"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Speed:"
msgstr "Hastighet (FPS):"
@@ -12992,8 +13175,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Region"
@@ -14514,21 +14696,16 @@ msgid "Runnable"
msgstr "Kjørbar"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Slett forhåndsinnstillingen «%s»?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
+msgid "Delete preset '%s'?"
+msgstr "Slett forhåndsinnstillingen «%s»?"
#: editor/project_export.cpp
#, fuzzy
@@ -14536,14 +14713,6 @@ msgid "Exporting All"
msgstr "Eksporter"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export Path"
msgstr "Eksporter Prosjekt"
@@ -14647,20 +14816,28 @@ msgid "More Info..."
msgstr "Flytt Til..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Eksporter"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Eksporter Prosjekt"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Eksportmodus?"
+#, fuzzy
+msgid "Export All"
+msgstr "Eksporter"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "Velg en tom mappe."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Eksporter"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14668,8 +14845,9 @@ msgid "ZIP File"
msgstr "ZIP-fil"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Eksporter Prosjekt"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
@@ -14677,6 +14855,11 @@ msgstr ""
#: editor/project_export.cpp
#, fuzzy
+msgid "Project Export"
+msgstr "Prosjektgrunnleggere"
+
+#: editor/project_export.cpp
+#, fuzzy
msgid "Manage Export Templates"
msgstr "Håndter Eksportmaler"
@@ -14980,15 +15163,15 @@ msgid "Project Manager"
msgstr "Prosjekthåndterer"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr "Sist endret"
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Henter fillager, vennligst vent..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr "Sist endret"
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Eksporter Prosjekt"
@@ -16205,7 +16388,7 @@ msgstr ""
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Remote "
+msgid "Remote %s:"
msgstr "Fjern-funksjon "
#: editor/script_editor_debugger.cpp
@@ -17094,7 +17277,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Rediger Poly"
@@ -17272,8 +17455,9 @@ msgid "Disabled GDNative Singleton"
msgstr "Deaktiver Oppdateringsspinner"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
+#, fuzzy
+msgid "Libraries:"
+msgstr "Bibliotek"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -17716,7 +17900,6 @@ msgid "Use In Baked Light"
msgstr "Lys"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17746,6 +17929,19 @@ msgstr "I midten"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigasjon"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navigasjon Modus"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
msgid "Next Plane"
@@ -18171,7 +18367,7 @@ msgstr ""
"Fiks noden din vær så snill."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18179,7 +18375,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18581,7 +18777,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Tilførseltype ikke itererbar: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18589,7 +18786,8 @@ msgid "Iterator became invalid"
msgstr "Iterator ble ugyldig"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterator ble ugyldig: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18760,11 +18958,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Ugyldig argument av type: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Ugyldige argumenter: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18777,12 +18977,14 @@ msgid "Var Name"
msgstr "Navn"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metode ikke funnet i objekt: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metode ikke funnet i objekt: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -19109,6 +19311,11 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
+msgid "Custom Build"
+msgstr "Bruk Tilpasset Brukerkatalog"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid "Use Custom Build"
msgstr "Bruk Tilpasset Brukerkatalog"
@@ -19117,6 +19324,16 @@ msgstr "Bruk Tilpasset Brukerkatalog"
msgid "Export Format"
msgstr "Eksporter Prosjekt"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Størrelse:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Mål FPS"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -19158,16 +19375,6 @@ msgstr "Forrige fane"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Størrelse:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Mål FPS"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19336,10 +19543,6 @@ msgid "Could not execute on device."
msgstr "Kunne ikke opprette mappe."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19417,12 +19620,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19431,25 +19634,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signal"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19469,6 +19696,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Kunne ikke opprette mappe."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Kunne ikke starta subprosess!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19499,7 +19731,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19510,19 +19742,18 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "Klarte ikke eksportere prosjektfiler til gradle-prosjekt\n"
#: platform/android/export/export_plugin.cpp
@@ -19536,7 +19767,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19552,7 +19783,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animasjonsverktøy"
#: platform/android/export/export_plugin.cpp
@@ -19562,15 +19793,12 @@ msgstr "Lager konturer..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "Kunne ikke opprette mappe."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19582,7 +19810,7 @@ msgstr "Legger til %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Kunne ikke opprette mappe."
#: platform/android/export/export_plugin.cpp
@@ -19825,6 +20053,17 @@ msgstr "Klipp ut Noder"
msgid "Custom BG Color"
msgstr "Klipp ut Noder"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Håndter Eksportmaler"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Fant ikke tilpasset utgivelsesmal."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19848,25 +20087,34 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr "Kunne ikke opprette mappe."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr "Håndter Eksportmaler"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "Kunne ikke opprette mappe."
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Sett Handle"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Kunne ikke opprette mappe."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Nummereringer:"
@@ -19942,17 +20190,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Kunne ikke opprette mappe."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Kunne ikke opprette mappe."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Feil ved lagring av TextFile:"
#: platform/javascript/export/export.cpp
@@ -20251,9 +20499,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Kunne ikke opprette mappe."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Kunne ikke starta subprosess!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokalisering"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20269,21 +20536,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Ikke funnet!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Feil ved lagring av filen: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Retninger"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Kunne ikke starta subprosess!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Lager Thumbnail"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Kunne ikke opprette mappe."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Håndter Eksportmaler"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20291,7 +20613,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20333,6 +20655,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Prosjekt"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Klarte ikke eksportere prosjektfiler til gradle-prosjekt\n"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Navn er ikke en gyldig identifikator:"
@@ -20649,6 +20981,11 @@ msgid "Debug Algorithm"
msgstr "Feilsøkingsprogram"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Kan ikke fjerne:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20696,6 +21033,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Tilfeldig Rotasjon:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Kunne ikke opprette mappe."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Kunne ikke opprette mappe."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Må ha en gyldig filutvidelse."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Kunne ikke opprette mappe."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Kunne ikke opprette mappe."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Navn er ikke en gyldig identifikator:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Ugyldig navn."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Må ha en gyldig filutvidelse."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Kan ikke fjerne:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20717,6 +21118,23 @@ msgid "Invalid product version:"
msgstr "Prosjektnavn:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Må ha en gyldig filutvidelse."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nytt vindu"
@@ -20733,6 +21151,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20858,7 +21280,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Instans"
@@ -20909,7 +21332,7 @@ msgstr "Forstørr"
msgid "Custom Viewport"
msgstr "Vis hjelpere"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21641,11 +22064,42 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Tilkoblingsfeil"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Fyll"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Velg en HovedScene"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Avansert"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Aktiver"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21663,15 +22117,6 @@ msgstr "Vend horisontalt"
msgid "Max Speed"
msgstr "Hastighet (FPS):"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Aktiver"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21695,22 +22140,26 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Plasser Utvalg I Midten"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Reise"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Roterer %s grader."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstant"
@@ -22865,6 +23314,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Lag Poly"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22888,12 +23344,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23754,6 +24204,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Nullstill Transformasjon"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24975,6 +25430,11 @@ msgstr "Mappe:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Kun Valgte"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Aktiver"
@@ -25378,16 +25838,17 @@ msgstr "Eksporter Prosjekt"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25549,6 +26010,16 @@ msgid "3D Physics"
msgstr "Fysikk"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigasjon"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigasjon"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26967,7 +27438,7 @@ msgstr "Overgang: "
msgid "Refraction"
msgstr "Nummereringer:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -27049,7 +27520,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Skalerer: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Rediger Variabel:"
#: scene/resources/navigation_mesh.cpp
@@ -27066,10 +27542,15 @@ msgid "Source Group Name"
msgstr "Kilde"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Innhold:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -27078,11 +27559,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Region"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -27095,6 +27581,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Last Standard"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -27111,9 +27602,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Avstand:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27523,6 +28023,11 @@ msgid "Scenario"
msgstr "Scene"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigasjon"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27540,6 +28045,26 @@ msgstr "Venstrelineær"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Standard"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Forhåndsvis"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Tester"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Tilkoblingsfeil"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index 08117fa9d9..aaa0f38a1d 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -280,9 +280,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Netwerk Profiler"
@@ -397,7 +398,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Niet genoeg bytes voor het decoderen van bytes, of ongeldig formaat."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Ongeldige invoer %i (niet doorgegeven) in expressie"
#: core/math/expression.cpp
@@ -444,6 +446,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Verplaatsingsmodus"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Invoer verwijderen"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -472,6 +484,11 @@ msgstr ""
msgid "Command"
msgstr "Gemeenschap"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Physics Frame %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -530,6 +547,10 @@ msgid "Pressure"
msgstr "Voorinstellingen"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Relatief kleven"
@@ -645,7 +666,8 @@ msgstr "Beschrijving"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Uitvoeren"
@@ -736,6 +758,11 @@ msgid "Main Run Args"
msgstr "Startscène argumenten:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Scènepad:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -743,19 +770,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Versiebeheer"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Versiebeheersysteem"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Pluginnaam:"
+msgid "Version Control Plugin Name"
+msgstr "Versiebeheer"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -875,7 +898,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filters:"
@@ -1158,6 +1182,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Vrij"
@@ -1174,7 +1199,7 @@ msgstr "Spiegel"
msgid "Time:"
msgstr "Tijd:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Waarde:"
@@ -1424,10 +1449,75 @@ msgid "Remove this track."
msgstr "Verwijder deze track."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Tijd (en): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Tabbladpositie"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Rotatie Stap:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Schaal:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Type:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Ongeldige export template:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "In-uit vloeien"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Stel Handgreep In"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Stel Handgreep In"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Radio Item"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Herstarten (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Fade-In (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animaties:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Track in-/uit schakelen"
@@ -1640,7 +1730,8 @@ msgid "Add Method Track Key"
msgstr "Voeg Methode Track sleutel toe"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Methode niet gevonden in object: "
#: editor/animation_track_editor.cpp
@@ -2179,14 +2270,15 @@ msgstr "Favorieten:"
msgid "Recent:"
msgstr "Onlangs:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Zoeken:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Overeenkomsten:"
@@ -2246,8 +2338,8 @@ msgstr "Bronvervanging zoeken:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2255,8 +2347,8 @@ msgid "Open"
msgstr "Openen"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Eigenaren van:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2562,7 +2654,7 @@ msgid "Bus Options"
msgstr "Audiobusopties"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliceren"
@@ -2614,8 +2706,9 @@ msgstr "Audiobusindeling openen"
msgid "There is no '%s' file."
msgstr "Het '%s' bestand bestaat niet."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Indeling"
#: editor/editor_audio_buses.cpp
@@ -2818,6 +2911,25 @@ msgid "Choose"
msgstr "Kies"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Knooppad kopiëren"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pakket succesvol geïnstalleerd!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Mislukt:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Bestand Opslaan:"
@@ -2830,6 +2942,31 @@ msgid "Packing"
msgstr "Inpakken"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Opslaan Als"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Map kon niet gemaakt worden."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Kon bestand niet schrijven:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Kan bestand niet openen om te schrijven:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Opslaan Als"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2949,11 +3086,33 @@ msgstr "Aangepast debug pakket niet gevonden."
msgid "Custom release template not found."
msgstr "Aangepast release pakket niet gevonden."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Sjablonen beheren"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Het gegeven exportpad bestaat niet:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Template bestand niet gevonden:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Ongeldige export template:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Vulling"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Bij 32-bit export mag de ingebouwde PCK niet groter zijn dan 4 GiB."
@@ -3131,9 +3290,9 @@ msgid "Import"
msgstr "Importeren"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exporteren"
@@ -4299,15 +4458,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scène"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Scènepad:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4436,6 +4586,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Versiebeheer"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Naam wijzigen"
@@ -4464,6 +4618,10 @@ msgstr "Afleidingsvrijemodus omschakelen."
msgid "Add a new scene."
msgstr "Nieuwe scène toevoegen."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scène"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ga naar de eerder geopende scène."
@@ -5142,11 +5300,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Geselecteerde knoop is geen Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Grootte: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Pagina: "
#: editor/editor_properties_array_dict.cpp
@@ -5246,6 +5408,11 @@ msgstr ""
"Geen uitvoerbare exporteer preset gevonden voor dit platform.\n"
"Voeg een uitvoerbare preset toe in het exportmenu."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Project"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Schrijf je logica in de _run() methode."
@@ -5529,7 +5696,9 @@ msgid "Draw Spaces"
msgstr "Teken Aanroepingen"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navigatie"
@@ -5555,6 +5724,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap-selectie vullen"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6127,10 +6305,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Projectbeheer"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6918,14 +7098,6 @@ msgid "Replace in Files"
msgstr "Alles vervangen"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Zoeken: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Vervangen: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Alles vervangen"
@@ -7055,7 +7227,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filters:"
@@ -7323,7 +7495,8 @@ msgid "Generating Lightmaps"
msgstr "Bouw Lightmappen"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Bouw voor Mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7352,6 +7525,18 @@ msgid "Saving..."
msgstr "Opslaan..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8041,11 +8226,20 @@ msgid "New Anim"
msgstr "Nieuwe Anim"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Nieuwe Animatie Opstellen"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Verander Animatie Naam:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Animatie Hernoemen"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animatie wissen?"
@@ -8063,11 +8257,6 @@ msgid "Animation name already exists!"
msgstr "Animatienaam bestaat al!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Animatie Hernoemen"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Dupliceer Animatie"
@@ -8165,10 +8354,12 @@ msgstr "Onion Skinning Opties"
msgid "Directions"
msgstr "Richtingen"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Verleden"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Toekomst"
@@ -8209,10 +8400,6 @@ msgid "Pin AnimationPlayer"
msgstr "Animatiespeler vastzetten"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Nieuwe Animatie Opstellen"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Animatienaam:"
@@ -8328,7 +8515,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Stel eindanimatie in. Dit is handig voor sub-transities."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Overgang: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8345,11 +8533,6 @@ msgid "New name:"
msgstr "Nieuwe naam:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Schaal:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade-In (s):"
@@ -9270,6 +9453,7 @@ msgstr "Stel bot(ten) op uit knoop/knopen"
msgid "Clear Custom Bones"
msgstr "Aangepaste Botten Wissen"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9337,6 +9521,10 @@ msgid "Preview Canvas Scale"
msgstr "Voorbeeld Canvas Schaal"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Indeling"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Translatiemasker voor sleutelinvoer."
@@ -10119,7 +10307,8 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Emissiebron: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10355,6 +10544,7 @@ msgid "Points"
msgstr "Punten"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polygonen"
@@ -10512,13 +10702,6 @@ msgid "Instance:"
msgstr "Instantie:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Type:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Openen in Editor"
@@ -10527,10 +10710,6 @@ msgstr "Openen in Editor"
msgid "Load Resource"
msgstr "Bron laden"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Bronnen-voorlader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
msgid "Flip Portals"
@@ -11253,12 +11432,16 @@ msgstr "Rotatiemodus"
msgid "Translate"
msgstr "Verplaats:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Schaling: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Transitie: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11283,12 +11466,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Grootte: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "Objecten Getekend"
@@ -11788,7 +11965,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Ongeldige geometrie, kan niet worden vervangen door Mesh."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Converteren naar Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11820,15 +11998,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Simplificatie: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Krimpen (Pixels): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Vergroot (Pixels): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11892,6 +12073,11 @@ msgid "New Animation"
msgstr "Nieuwe animatie"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filter methoden"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Snelheid:"
@@ -12837,8 +13023,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Selecteer de vorige shape, subtegel of Tegel."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Gebied"
@@ -14379,40 +14564,22 @@ msgid "Runnable"
msgstr "Uitvoerbaar"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Verwijder voorinstelling '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Exporteren van project voor platform '%s' is mislukt.\n"
-"Exportsjablonen zijn mogelijk niet aanwezig of ongeldig."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Exporteren van project voor platform '%s' is mislukt.\n"
-"Dit probleem wordt mogelijk veroorzaakt door een foutieve instelling in de "
-"vooraf ingestelde exportinstellingen of uw eigen exportinstellingen."
+msgid "Delete preset '%s'?"
+msgstr "Verwijder voorinstelling '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Exporteer alles"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Het gegeven exportpad bestaat niet:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Exportsjablonen voor dit platform zijn niet aanwezig of corrupt:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Export Pad"
@@ -14523,19 +14690,27 @@ msgid "More Info..."
msgstr "Verplaats Naar..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Exporteer PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Project Exporteren"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Exporteermodus?"
+msgid "Export All"
+msgstr "Exporteer alles"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Kies alstublieft een lege map."
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Export All..."
msgstr "Exporteer alles"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14543,7 +14718,8 @@ msgid "ZIP File"
msgstr "Zip-bestand"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godot Game Pack"
#: editor/project_export.cpp
@@ -14551,6 +14727,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Vermiste Exportsjablonen voor dit platform:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projectoprichters"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Beheer Export Templates"
@@ -14870,14 +15051,14 @@ msgid "Project Manager"
msgstr "Projectbeheer"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Aan het laden, even wachten a.u.b..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Laatst bewerkt"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Aan het laden, even wachten a.u.b..."
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Project Exporteren"
@@ -16087,7 +16268,8 @@ msgid "Attach Node Script"
msgstr "Verbind knoopscript"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Remote "
#: editor/script_editor_debugger.cpp
@@ -16972,7 +17154,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Polygonen"
@@ -17150,7 +17332,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Schakel GDNative Singleton uit"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Bibliotheken: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17597,7 +17780,6 @@ msgid "Use In Baked Light"
msgstr "Bak Lichtmappen"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17627,6 +17809,19 @@ msgstr "Center"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navigatie"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Navigatiemodus"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Volgend Blad"
@@ -18044,7 +18239,8 @@ msgstr ""
"zijn werkgeheugen! Repareer de knoop."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Knoop gaf een ongeldige sequentie uitvoer: "
#: modules/visual_script/visual_script.cpp
@@ -18054,7 +18250,8 @@ msgstr ""
"een bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Stapeloverloop met stapeldiepte: "
#: modules/visual_script/visual_script.cpp
@@ -18431,7 +18628,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Invoer type is niet iterabel: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18439,7 +18637,8 @@ msgid "Iterator became invalid"
msgstr "Iterator werd ongeldig"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterator werd ongeldig: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18613,11 +18812,13 @@ msgid "Operator"
msgstr "Overlap operator."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Ongeldig argument van type: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Ongeldige argumenten: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18630,11 +18831,13 @@ msgid "Var Name"
msgstr "Naam"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet niet gevonden in script: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet niet gevonden in script: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18964,6 +19167,11 @@ msgid "The package must have at least one '.' separator."
msgstr "De pakketnaam moet ten minste een '.' bevatten."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Knopen knippen"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18972,6 +19180,16 @@ msgstr ""
msgid "Export Format"
msgstr "Export Pad"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Omlijningsgrootte:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Doel"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -19015,16 +19233,6 @@ msgstr "Inspecteer vorige instantie"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Omlijningsgrootte:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Doel"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19194,10 +19402,6 @@ msgid "Could not execute on device."
msgstr "Map kon niet gemaakt worden."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Het hulpmiddel 'apksigner' kon niet gevonden worden."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19278,7 +19482,7 @@ msgstr "\"Use Custom Build\" moet geactiveerd zijn om plugins te gebruiken."
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR\" "
@@ -19286,7 +19490,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR\" "
"staat."
@@ -19298,26 +19502,50 @@ msgstr "\"Export AAB\" is alleen geldig als \"Use Custom Build\" aan staat."
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "\"Export AAB\" is alleen geldig als \"Use Custom Build\" aan staat."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "\"Export AAB\" is alleen geldig als \"Use Custom Build\" aan staat."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signaal"
+
+#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19337,6 +19565,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Kon template niet openen voor export:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Kon het subproces niet opstarten!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19368,7 +19601,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Bestandsnaam niet toegestaan! Android APK vereist een *.apk extensie."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19380,10 +19613,9 @@ msgstr ""
"Installeer alstublieft opnieuw vanuit het 'Project' menu."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Android buildversie onverenigbaar:\n"
@@ -19393,12 +19625,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr "Kan project.godot niet bewerken in projectpad."
#: platform/android/export/export_plugin.cpp
@@ -19411,8 +19643,9 @@ msgid "Building Android Project (gradle)"
msgstr "Bouwen van Android Project (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Bouwen van Androidproject mislukt, bekijk de foutmelding in de uitvoer.\n"
@@ -19432,7 +19665,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animatie niet gevonden: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19442,15 +19675,12 @@ msgstr "Contouren aan het creëeren..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "Kon template niet openen voor export:"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19462,7 +19692,7 @@ msgstr "%s aan het toevoegen..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Kon bestand niet schrijven:"
#: platform/android/export/export_plugin.cpp
@@ -19704,6 +19934,17 @@ msgstr "Knopen knippen"
msgid "Custom BG Color"
msgstr "Knopen knippen"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Sjablonen beheren"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Aangepast release pakket niet gevonden."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19727,23 +19968,35 @@ msgstr ""
"Voer de geëxporteerde HTML uit in de standaard browser van het systeem."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Kon template niet openen voor export:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Ongeldige export template:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Kon bestand niet schrijven:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Stel Marge In"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Kon bestand niet schrijven:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Afzondering:"
@@ -19819,17 +20072,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Kon de custom HTML shell niet lezen:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Map kon niet gemaakt worden."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Fout bij het opslaan van de scène."
#: platform/javascript/export/export.cpp
@@ -20130,9 +20383,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Kon bestand niet schrijven:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Kon het subproces niet opstarten!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokalisatie"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20148,21 +20420,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Niet gevonden!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Fout bij het opslaan van bestand: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Richtingen"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Kon het subproces niet opstarten!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Thumbnail Aan Het Maken"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Kon template niet openen voor export:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Ongeldige export template:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20170,7 +20497,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20212,6 +20539,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Project"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Kan project.godot niet bewerken in projectpad."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Ongeldige identifier:"
@@ -20531,6 +20868,11 @@ msgid "Debug Algorithm"
msgstr "Debugger"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Kan het tijdelijke bestand niet verwijderen:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20578,6 +20920,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Willekeurige Rotatie:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Kon template niet openen voor export:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Kon template niet openen voor export:"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Ongeldige extentie."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Kon template niet openen voor export:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Kon template niet openen voor export:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Ongeldige identifier:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Ongeldige naam."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Ongeldige extentie."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Kan het tijdelijke bestand niet verwijderen:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20599,6 +21005,23 @@ msgid "Invalid product version:"
msgstr "Ongeldig product GUID."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Ongeldige extentie."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nieuw Venster"
@@ -20615,6 +21038,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20742,7 +21169,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Selecteerafstand:"
@@ -20793,7 +21221,7 @@ msgstr "Inzoomen"
msgid "Custom Viewport"
msgstr "1 beeldvenster"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21556,11 +21984,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Verbinding bewerken:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Binding"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Selecteerafstand:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Selecteerafstand:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Geavanceerd"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Inschakelen"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21578,16 +22038,6 @@ msgstr "Horizontaal omdraaien"
msgid "Max Speed"
msgstr "Snelheid:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Selecteerafstand:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Inschakelen"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -21614,24 +22064,26 @@ msgstr ""
"bron in de geschikte eigenschap in of teken een polygoon."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance moet een (klein)kind zijn van een Navigation2D-"
-"knoop om navigatiegegevens door te geven."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Center onder"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Verplaats"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Roteren %s graden."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Constante"
@@ -22833,6 +23285,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformatie Afgebroken."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22858,14 +23317,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "De NavigationAgent2D kan alleen worden gebruikt als een Node2D Node."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance moet een (klein)kind zijn van een Navigation-knoop om "
-"navigatiegevens door te geven."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23747,6 +24198,11 @@ msgstr ""
"Verander in plaats daarvan de grootte van de onderliggende botsingsvormen."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Houd Globale Transformatie"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -25003,6 +25459,11 @@ msgstr "Map:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Alleen selectie"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Inschakelen"
@@ -25409,18 +25870,6 @@ msgid "Viewport Path"
msgstr "Export Pad"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Dit beeldvenster is niet ingesteld als renderdoelwit. Als de inhoud op het "
-"scherm getoond moet worden, moet je het een kind van een Control knoop "
-"maken, zodat het een grootte kan ontvangen. Anders, maak er een RenderTarget "
-"van en wijs zijn interne textuur toe aan een knoop om te tonen."
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25429,6 +25878,15 @@ msgstr ""
"De grootte van een Viewport moet groter zijn dan 0 om iets weer te geven."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25587,6 +26045,16 @@ msgid "3D Physics"
msgstr "Physics Frame %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navigatie"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navigatie"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -27014,7 +27482,7 @@ msgstr "Overgang: "
msgid "Refraction"
msgstr "Afzondering:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -27099,7 +27567,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Schaling: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Zet variabele type"
#: scene/resources/navigation_mesh.cpp
@@ -27117,10 +27590,15 @@ msgid "Source Group Name"
msgstr "Bron"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Startscène argumenten:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -27130,11 +27608,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Gebied"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Vanuit scène samenvoegen"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -27148,6 +27631,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Laad standaard"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Selecteerafstand:"
@@ -27165,9 +27653,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "AABB Genereren"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Afstand:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27580,6 +28078,11 @@ msgid "Scenario"
msgstr "Scène"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navigatie"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27597,6 +28100,26 @@ msgstr "Links Lineair"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Standaard"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Voorbeeld bijwerken"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testen"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Verbinding bewerken:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/or.po b/editor/translations/or.po
deleted file mode 100644
index e1a949e5af..0000000000
--- a/editor/translations/or.po
+++ /dev/null
@@ -1,25650 +0,0 @@
-# Odia translation of the Godot Engine editor
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
-# This file is distributed under the same license as the Godot source code.
-# Pro Neon <proneon267@gmail.com>, 2019.
-msgid ""
-msgstr ""
-"Project-Id-Version: Godot Engine editor\n"
-"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2019-08-11 10:23+0000\n"
-"Last-Translator: Pro Neon <proneon267@gmail.com>\n"
-"Language-Team: Odia <https://hosted.weblate.org/projects/godot-engine/godot/"
-"or/>\n"
-"Language: or\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.8-dev\n"
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Tablet Driver"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Clipboard"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Current Screen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Exit Code"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "V-Sync Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "V-Sync Via Compositor"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Delta Smoothing"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Keep Screen On"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Min Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Max Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Screen Orientation"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Window"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Borderless"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Per Pixel Transparency Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Fullscreen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Maximized"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Minimized"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
-#: scene/gui/graph_node.cpp
-msgid "Resizable"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
-#: scene/gui/control.cpp scene/gui/line_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Position"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
-#: main/main.cpp modules/gridmap/grid_map.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
-#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-msgid "Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Endian Swap"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Editor Hint"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Print Error Messages"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Iterations Per Second"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Target FPS"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Time Scale"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Physics Jitter Fix"
-msgstr ""
-
-#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Error"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error String"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error Line"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Result"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
-msgid "Memory"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp
-#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#: servers/visual_server.cpp
-msgid "Limits"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Command Queue"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Multithreading Queue Size (KB)"
-msgstr ""
-
-#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Function"
-msgstr ""
-
-#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Data"
-msgstr ""
-
-#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-msgid "Network"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Remote FS"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Size"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Read Ahead"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Blocking Mode Enabled"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Connection"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Read Chunk Size"
-msgstr ""
-
-#: core/io/marshalls.cpp
-msgid "Object ID"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-msgid "Allow Object Decoding"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Refuse New Network Connections"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Network Peer"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-msgid "Root Node"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Refuse New Connections"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Transfer Mode"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Encode Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Input Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Output Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Stream Peer"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Big Endian"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Data Array"
-msgstr ""
-
-#: core/io/stream_peer_ssl.cpp
-msgid "Blocking Handshake"
-msgstr ""
-
-#: core/io/udp_server.cpp
-msgid "Max Pending Connections"
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "convert() କୁ ଅବୈଧ ପ୍ରକାର ଯୁକ୍ତି, ବ୍ୟବହାର କର TYPE_* ସ୍ଥିରାଙ୍କ |"
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-msgid "Expected a string of length 1 (a character)."
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/mono/glue/gd_glue.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "self can't be used because instance is null (not passed)"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid index of type %s for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid named index '%s' for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid arguments to construct '%s'"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "On call to '%s':"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Seed"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-msgid "State"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Message Queue"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Max Size (KB)"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: servers/audio_server.cpp
-msgid "Device"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Alt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Shift"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Control"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Meta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Command"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
-#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Pressed"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Physical Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Unicode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Echo"
-msgstr ""
-
-#: core/os/input_event.cpp scene/gui/base_button.cpp
-msgid "Button Mask"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-msgid "Global Position"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Factor"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Button Index"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Doubleclick"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Tilt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pressure"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Relative"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
-#: scene/animation/animation_player.cpp scene/resources/environment.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: scene/3d/sprite_3d.cpp
-msgid "Axis"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Axis Value"
-msgstr ""
-
-#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-msgid "Index"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/touch_screen_button.cpp
-msgid "Action"
-msgstr ""
-
-#: core/os/input_event.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Strength"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Delta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Channel"
-msgstr ""
-
-#: core/os/input_event.cpp main/main.cpp
-msgid "Message"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pitch"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-msgid "Velocity"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Instrument"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Number"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Value"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Application"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-msgid "Config"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Project Settings Override"
-msgstr ""
-
-#: core/project_settings.cpp core/resource.cpp
-#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
-#: editor/editor_help_search.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_profiler.cpp editor/plugins/tile_set_editor_plugin.cpp
-#: editor/project_manager.cpp editor/settings_config_dialog.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/area_2d.cpp scene/3d/area.cpp
-#: scene/3d/skeleton.cpp scene/main/node.cpp scene/resources/mesh_library.cpp
-#: scene/resources/skin.cpp
-msgid "Name"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_help.cpp
-#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Description"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
-msgid "Run"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/run_settings_dialog.cpp main/main.cpp
-msgid "Main Scene"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stdout"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stderr"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Hidden Project Data Directory"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Custom User Dir"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Custom User Dir Name"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
-#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
-#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Width"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Height"
-msgstr ""
-
-#: core/project_settings.cpp editor/animation_track_editor.cpp
-#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
-msgid "Audio"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Default Bus Layout"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp
-#: editor/editor_file_system.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/script_create_dialog.cpp
-#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
-msgid "Editor"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Main Run Args"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Search In File Extensions"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr ""
-
-#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
-#: scene/3d/collision_object.cpp scene/gui/control.cpp
-msgid "Input"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Accept"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Select"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Cancel"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Next"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Prev"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Left"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Right"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Home"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI End"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
-#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/main/scene_tree.cpp scene/main/viewport.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#: servers/physics/space_sw.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Physics"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp main/main.cpp
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-#: scene/3d/physics_body.cpp scene/resources/world.cpp
-#: servers/physics/space_sw.cpp servers/physics_server.cpp
-msgid "3D"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Smooth Trimesh Collision"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
-#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Rendering"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/3d/baked_lightmap.cpp
-#: scene/main/scene_tree.cpp scene/resources/environment.cpp
-#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Quality"
-msgstr ""
-
-#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Filters"
-msgstr ""
-
-#: core/project_settings.cpp scene/main/viewport.cpp
-msgid "Sharpen Intensity"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/project_export.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp scene/3d/room_manager.cpp
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-#: servers/visual_server.cpp
-msgid "Debug"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-msgid "Settings"
-msgstr ""
-
-#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Profiler"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Max Functions"
-msgstr ""
-
-#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-msgid "Compression"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Formats"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zstd"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Long Distance Matching"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Compression Level"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Window Log Size"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zlib"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Gzip"
-msgstr ""
-
-#: core/project_settings.cpp platform/android/export/export.cpp
-msgid "Android"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Modules"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "TCP"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Connect Timeout Seconds"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Packet Peer Stream"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Max Buffer (Power of 2)"
-msgstr ""
-
-#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
-msgid "SSL"
-msgstr ""
-
-#: core/register_core_types.cpp main/main.cpp
-msgid "Certificates"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_resource_picker.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource"
-msgstr ""
-
-#: core/resource.cpp
-msgid "Local To Scene"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/project_manager.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Path"
-msgstr ""
-
-#: core/script_language.cpp
-msgid "Source Code"
-msgstr ""
-
-#: core/translation.cpp editor/project_settings_editor.cpp
-msgid "Locale"
-msgstr ""
-
-#: core/translation.cpp
-msgid "Test"
-msgstr ""
-
-#: core/translation.cpp scene/resources/font.cpp
-msgid "Fallback"
-msgstr ""
-
-#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
-msgid "B"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "KiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "MiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "GiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "TiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "PiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "EiB"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
-msgid "Buffers"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp main/main.cpp
-#: scene/2d/physics_body_2d.cpp scene/resources/world_2d.cpp
-#: servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/visual_server.cpp
-msgid "2D"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Snapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Use GPU Pixel Snap"
-msgstr ""
-
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Immediate Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Lightmapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Use Bicubic Sampling"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Elements"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Lights"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Reflections"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Lights Per Object"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Subsurface Scattering"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/node_2d.cpp scene/2d/parallax_layer.cpp scene/2d/polygon_2d.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp
-#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp
-#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-msgid "Scale"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Follow Surface"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Weight Samples"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Voxel Cone Tracing"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
-msgid "High Quality"
-msgstr ""
-
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Free"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Balanced"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Mirror"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
-msgid "Time:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Value:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Insert Key Here"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Duplicate Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Delete Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Add Bezier Point"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Move Bezier Points"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Delete Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Frame"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#: scene/resources/particles_material.cpp servers/visual_server.cpp
-msgid "Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: platform/osx/export/export.cpp
-msgid "Location"
-msgstr ""
-
-#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-msgid "Rotation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
-msgid "Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Arg Count"
-msgstr ""
-
-#: editor/animation_track_editor.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Args"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
-#: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Type"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "In Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Out Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Stream"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "End Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/sprite.cpp scene/3d/cpu_particles.cpp scene/3d/sprite_3d.cpp
-#: scene/animation/animation_blend_tree.cpp
-#: scene/resources/particles_material.cpp
-msgid "Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Easing"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Length"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation Loop"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Property Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "3D Transform Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Call Method Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier Curve Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (frames)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (seconds)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Looping"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Track Path"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle this track on/off."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Update Mode (How this property is set)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
-msgid "Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove this track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle Track Enabled"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Continuous"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Discrete"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Trigger"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp
-msgid "Capture"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Nearest"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp
-msgid "Linear"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Cubic"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clamp Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Wrap Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add RESET Value(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Update Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Loop Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove Anim Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editors"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-msgid "Confirm Insert Track"
-msgstr ""
-
-#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
-#: editor/animation_track_editor.cpp
-msgid "Create NEW track for %s and insert key?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create %d NEW tracks and insert keys?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "node '%s'"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "property '%s'"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Create & Insert"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Track & Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Rearrange Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"Audio tracks can only point to nodes of type:\n"
-"-AudioStreamPlayer\n"
-"-AudioStreamPlayer2D\n"
-"-AudioStreamPlayer3D"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Not possible to add a new track without a root"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Bezier Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track is not of type Spatial, can't insert key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Transform Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a method key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Method Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Move Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp scene/2d/node_2d.cpp
-#: scene/3d/spatial.cpp scene/main/canvas_layer.cpp
-#: servers/camera/camera_feed.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_help.cpp
-msgid "Methods"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Clipboard is empty!"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Paste Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Scale Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This option does not work for Bezier editing, as it's only a single track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Add RESET Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This animation belongs to an imported scene, so changes to imported tracks "
-"will not be saved.\n"
-"\n"
-"To enable the ability to add custom tracks, navigate to the scene's import "
-"settings and set\n"
-"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom "
-"Tracks\", then re-import.\n"
-"Alternatively, use an import preset that imports animations to separate "
-"files."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Warning: Editing imported animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select an AnimationPlayer node to create and edit animations."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Only show tracks from nodes selected in tree."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Group tracks by node or display them as plain list."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Snap:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation step value."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Seconds"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp main/main.cpp
-#: scene/resources/texture.cpp
-msgid "FPS"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_resource_picker.cpp editor/import/resource_importer_wav.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation properties."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Copy Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale From Cursor"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Transposed"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Next Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Previous Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Apply Reset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Pick the node that will be animated:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Use Bezier Curves"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create RESET Track(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim. Optimizer"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Linear Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Angular Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max Optimizable Angle:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Optimize"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove invalid keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove unresolved and empty tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-up all animations"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Ratio:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select Tracks to Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_log.cpp
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select All/None"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Add Audio Track Clip"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip End Offset"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Resize Array"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value Type"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Go to Line"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line Number:"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "%d replaced."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d match."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d matches."
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Match Case"
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Whole Words"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace All"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Selection Only"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-msgid "Standard"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Toggle Scripts Panel"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom In"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Out"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Reset Zoom"
-msgstr ""
-
-#: editor/code_editor.cpp modules/gdscript/gdscript.cpp
-msgid "Warnings"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line and column numbers."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method in target node must be specified."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method name must be a valid identifier."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Target method not found. Specify a valid method or attach a script to the "
-"target node."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Node:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Script:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "From Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Scene does not contain any script."
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
-#: editor/groups_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-msgid "Add"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp
-msgid "Remove"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Add Extra Call Argument:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Extra Call Arguments:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Receiver Method:"
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Advanced"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Deferred"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/resources/texture.cpp
-msgid "Oneshot"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnects the signal after its first emission."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Cannot connect signal"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.cpp editor/groups_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect '%s' to '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect all from signal: '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Disconnect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect a Signal to a Method"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit Connection:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
-msgid "Signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Filter signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from this signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect All"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Go to Method"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Change %s Type"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/project_settings_editor.cpp
-msgid "Change"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Create New %s"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "No results for \"%s\"."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/property_selector.cpp
-msgid "No description available for %s."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp
-msgid "Favorites:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-msgid "Recent:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Matches:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Description:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Scene '%s' is currently being edited.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Resource '%s' is in use.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Broken"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependency Editor"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement Resource:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Open"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Remove the selected files from the project? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"The files being removed are required by other resources in order for them to "
-"work.\n"
-"Remove them anyway? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Cannot remove:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Error loading:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Load failed due to missing dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_node.cpp
-msgid "Open Anyway"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Which action should be taken?"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Errors loading!"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Show Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Orphan Resource Explorer"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
-msgid "Delete"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owns"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Resources Without Explicit Ownership:"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Key"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Value"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Thanks from the Godot community!"
-msgstr ""
-
-#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp
-msgid "Click to copy."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Godot Engine contributors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Project Founders"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Lead Developer"
-msgstr ""
-
-#. TRANSLATORS: This refers to a job title.
-#: editor/editor_about.cpp
-msgctxt "Job Title"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Developers"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Authors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Platinum Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Mini Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "License"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Third-party Licenses"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid ""
-"Godot Engine relies on a number of third-party free and open source "
-"libraries, all compatible with the terms of its MIT license. The following "
-"is an exhaustive list of all such third-party components with their "
-"respective copyright statements and license terms."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "All Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Licenses"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "%s (already exists)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - No files conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Uncompressing Assets"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "The following files failed extraction from asset \"%s\":"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "(and %s more files)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset \"%s\" installed successfully!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Success!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp editor/editor_node.cpp
-msgid "Install"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset Installer"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Speakers"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Rename Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Change Audio Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Bypass Effects"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Select Audio Bus Send"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Drag & drop to rearrange."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bypass"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bus Options"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Master bus can't be deleted!"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Duplicate Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save Audio Bus Layout As..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Location for New Layout..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Open Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "There is no '%s' file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Invalid file, not an audio bus layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Error saving file: %s"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add a new Audio Bus to this layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Load"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load an existing Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save As"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save this Bus Layout to a file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/import_dock.cpp
-msgid "Load Default"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load the default Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Create a new Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Invalid name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Cannot begin with a digit."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Valid characters:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing engine class name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing built-in type name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing global constant name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Keyword cannot be used as an autoload name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp
-#: modules/gdscript/gdscript.cpp platform/android/export/export_plugin.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/3d/reflection_probe.cpp scene/main/canvas_layer.cpp
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Enable"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Can't add autoload:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. File does not exist."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. Not in resource path (res://)."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Path:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Node Name:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Global Variable"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating Scene"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Storing local changes..."
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating scene..."
-msgstr ""
-
-#: editor/editor_data.cpp editor/editor_resource_picker.cpp
-msgid "[empty]"
-msgstr ""
-
-#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "[unsaved]"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Please select a base directory first."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose a Directory"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Create Folder"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp
-msgid "Name:"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp
-msgid "Could not create folder."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Storing File:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No export template found at the expected path:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Packing"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
-"Etc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' texture compression for GLES3. Enable "
-"'Import Etc 2' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for GLES2. Enable "
-"'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. "
-"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom Template"
-msgstr ""
-
-#: editor/editor_export.cpp editor/project_export.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Release"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Binary Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "64 Bits"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Embed PCK"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "Texture Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "BPTC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "S3TC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC2"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No BPTC Fallbacks"
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom debug template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom release template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Convert Text Resources To Binary On Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "3D Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Script Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Asset Library"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Scene Tree Editing"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Node Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "FileSystem Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to view and edit 3D scenes."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to edit scripts using the integrated script editor."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Provides built-in access to the Asset Library."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to work with signals and groups of the node selected in the Scene "
-"dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to browse the local file system via a dedicated dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to configure import settings for individual assets. Requires the "
-"FileSystem dock to function."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(current)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(none)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove currently selected profile, '%s'? Cannot be undone."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile with this name already exists."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enable Contextual Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Properties:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Main Features:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Nodes and Classes:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "File '%s' format is invalid, import aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Profile '%s' already exists. Remove it first before importing, import "
-"aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Error saving profile to path: '%s'."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Reset to Default"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Current Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Available Profiles:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Make Current"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/editor_node.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Import"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Configure Selected Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Extra Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create or import a profile to edit available classes and properties."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "New profile name:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Godot Feature Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Profile(s)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Export Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Manage Editor Feature Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Default Feature Profile"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select Current Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "File exists, overwrite?"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select This Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Copy Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Open in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-msgid "Show in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "New Folder..."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/find_in_files.cpp
-msgid "Refresh"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Recognized"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Files (*)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open File(s)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File or Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/editor_resource_picker.cpp editor/import_defaults_editor.cpp
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "Save"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Save a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Access"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-msgid "Display Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/csg/csg_shape.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/light_2d.cpp scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/light.cpp scene/3d/physics_body.cpp
-#: scene/gui/control.cpp scene/gui/file_dialog.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Dir"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Show Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Disable Overwrite Warning"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Back"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Forward"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Favorite"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_resource_picker.cpp
-#: scene/gui/base_button.cpp
-msgid "Toggle Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Focus Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Down"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to previous folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to next folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Go to parent folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Refresh files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "(Un)favorite current folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Toggle the visibility of hidden files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a list."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Directories & Files:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
-#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp
-msgid "Preview:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "File:"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "ScanSources"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid ""
-"There are multiple importers for different types pointing to file %s, import "
-"aborted"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "(Re)Importing Assets"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "Reimport Missing Imported Files"
-msgstr ""
-
-#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Top"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Class:"
-msgstr ""
-
-#: editor/editor_help.cpp editor/scene_tree_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Inherits:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Inherited by:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Properties"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "overrides %s:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "default:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Theme Properties"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/gradient.cpp
-msgid "Colors"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constants"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Fonts"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Icons"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Styles"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Enumerations"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Property Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "(value)"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this property. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Method Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this method. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript_editor.cpp
-msgid "Text Editor"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Help"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Sort Functions Alphabetically"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Help"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Case Sensitive"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Show Hierarchy"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Display All"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Classes Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Methods Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Signals Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Constants Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Member Type"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Class"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Method"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Signal"
-msgstr ""
-
-#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Constant"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Property"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
-msgid "Property:"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-msgid "Label"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Read Only"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-msgid "Checkable"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Draw Red"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Keying"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid ""
-"Pinning a value forces it to be saved even if it's equal to the default."
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Set %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Set Multiple:"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Unpinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Paste Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property Path"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Output:"
-msgstr ""
-
-#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Copy Selection"
-msgstr ""
-
-#: editor/editor_log.cpp editor/editor_network_profiler.cpp
-#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/property_editor.cpp editor/scene_tree_dock.cpp
-#: editor/script_editor_debugger.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Clear"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Clear Output"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: editor/editor_profiler.cpp
-msgid "Stop"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
-#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
-msgid "Start"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "%s/s"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Down"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Up"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RSET"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RSET"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "New Window"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Unnamed Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Spins when the editor window redraws.\n"
-"Update Continuously is enabled, which can increase power usage. Click to "
-"disable it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Spins when the editor window redraws."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Imported resources can't be saved."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Error saving resource!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource can't be saved because it does not belong to the edited scene. "
-"Make it unique first."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save Resource As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't open file for writing:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Requested file format unknown:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while saving."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while parsing '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unexpected end of file '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Missing '%s' or its dependencies."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while loading '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Saving Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Analyzing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Creating Thumbnail"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a tree root."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene can't be saved because there is a cyclic instancing inclusion.\n"
-"Please resolve it and then attempt to save again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
-"be satisfied."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not save one or more scenes!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save All Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp editor/scene_tree_dock.cpp
-msgid "Can't overwrite scene that is still open!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load MeshLibrary for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving MeshLibrary!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load TileSet for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving TileSet!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"An error occurred while trying to save the editor layout.\n"
-"Make sure the editor's user data path is writable."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Default editor layout overridden.\n"
-"To restore the Default layout to its base settings, use the Delete Layout "
-"option and delete the Default layout."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Layout name not found!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restored the Default layout to its base settings."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was imported, so it's not editable.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was instanced or inherited.\n"
-"Changes to it won't be kept when saving the current scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource was imported, so it's not editable. Change its settings in the "
-"import panel and then re-import."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene was imported, so changes to it won't be kept.\n"
-"Instancing it or inheriting will allow making changes to it.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This is a remote object, so changes to it won't be kept.\n"
-"Please read the documentation relevant to debugging to better understand "
-"this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "There is no defined scene to run."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save scene before running..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not start subprocess!"
-msgstr ""
-
-#: editor/editor_node.cpp editor/filesystem_dock.cpp
-msgid "Open Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Base Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Script..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Reload"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Close"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before closing?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%s no longer exists! Please specify a new save location."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has no root node, but %d modified external resource(s) "
-"were saved anyway."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"A root node is required to save the scene. You can add a root node using the "
-"Scene tree dock."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene As..."
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "This operation can't be done without a scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Mesh Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a root node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Tile Set"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a selected node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Current scene not saved. Open anyway?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't undo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to undo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't redo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to redo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Redo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't reload a scene that was never saved."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Saved Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has unsaved changes.\n"
-"Reload the saved scene anyway? This action cannot be undone."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Run Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Yes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Exit the editor?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before quitting?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before opening Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This option is deprecated. Situations where refresh must be forced are now "
-"considered a bug. Please report."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pick a Main Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reopen Closed Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s'. This might be due to a code "
-"error in that script.\n"
-"Disabling the addon at '%s' to prevent further errors."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Scene '%s' was automatically imported, so it can't be modified.\n"
-"To make changes to it, a new inherited scene can be created."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to "
-"open the scene, then save it inside the project path."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene '%s' has broken dependencies:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Clear Recent Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"No main scene has ever been defined, select one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' does not exist, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' is not a scene file, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Delete Layout"
-msgstr ""
-
-#: editor/editor_node.cpp editor/import_dock.cpp
-#: editor/script_create_dialog.cpp
-msgid "Default"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-msgid "Show in FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play This Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Close Other Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tabs to the Right"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close All Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Switch Scene Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files or folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to write to file '%s', file in use, locked or lacking permissions."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#: servers/arvr/arvr_interface.cpp
-msgid "Interface"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Scene Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Always Show Close Button"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Resize If Many Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Minimum Width"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Output"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Clear Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Open Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Close Output On Stop"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save On Focus Loss"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Save Each Scene On Quit"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Quit Confirmation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Show Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Continuously"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Only"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Localize Settings"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restore Scenes On Load"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Show Thumbnail On Hover"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Property Name Style"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Float Step"
-msgstr ""
-
-#: editor/editor_node.cpp scene/gui/tree.cpp
-msgid "Disable Folding"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Auto Unfold Foreign Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector2 Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector Types Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Resources In Current Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Resources To Open In New Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Color Picker Mode"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Username"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Public Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Private Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Dock Position"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_plugin.cpp
-msgid "Distraction Free Mode"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle distraction-free mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Add a new scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to previously opened scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Text"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Next tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Previous tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Filter Files..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Operations with scene files."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Open Recent"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Convert To..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "MeshLibrary..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "TileSet..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Undo"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Redo"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Miscellaneous project or scene-wide tools."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-#: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp
-msgid "Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Project Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Set Up Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Shut Down Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install Android Build Template..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open User Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tools"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Orphan Resource Explorer..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Current Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit to Project List"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Deploy with Remote Debug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy will make the executable "
-"attempt to connect to this computer's IP so the running project can be "
-"debugged.\n"
-"This option is intended to be used for remote debugging (typically with a "
-"mobile device).\n"
-"You don't need to enable it to use the GDScript debugger locally."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Small Deploy with Network Filesystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy for Android will only "
-"export an executable without the project data.\n"
-"The filesystem will be provided from the project by the editor over the "
-"network.\n"
-"On Android, deploying will use the USB cable for faster performance. This "
-"option speeds up testing for projects with large assets."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Collision Shapes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, collision shapes and raycast nodes (for 2D and "
-"3D) will be visible in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Navigation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, navigation meshes and polygons will be visible "
-"in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Force Shader Fallbacks"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, shaders will be used in their fallback form "
-"(either visible via an ubershader or hidden) during all the run time.\n"
-"This is useful for verifying the look and performance of fallbacks, which "
-"are normally displayed briefly.\n"
-"Asynchronous shader compilation must be enabled in the project settings for "
-"this option to make a difference."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Scene Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any changes made to the scene in the editor "
-"will be replicated in the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Script Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any script that is saved will be reloaded in "
-"the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Take Screenshot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle Fullscreen"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data/Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Editor Features..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Export Templates..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Online Documentation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Questions & Answers"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Report a Bug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Suggest a Feature"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Send Docs Feedback"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "Community"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "About Godot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Support Godot Development"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause the scene execution for debugging."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Stop the scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the edited scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play custom scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Custom Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changing the video driver requires restarting the editor."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_settings_editor.cpp
-#: editor/settings_config_dialog.cpp
-msgid "Save & Restart"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update All Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Hide Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/fileserver/editor_file_server.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Expand Bottom Panel"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Don't Save"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Android build template is missing, please install relevant templates."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Templates"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install from file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select android sources file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This will set up your project for custom Android builds by installing the "
-"source template to \"res://android/build\".\n"
-"You can then apply modifications and build your own custom APK on export "
-"(adding modules, changing the AndroidManifest.xml, etc.).\n"
-"Note that in order to make custom builds instead of using pre-built APKs, "
-"the \"Use Custom Build\" option should be enabled in the Android export "
-"preset."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The Android build template is already installed in this project and it won't "
-"be overwritten.\n"
-"Remove the \"res://android/build\" directory manually before attempting this "
-"operation again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Import Templates From ZIP File"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Template Package"
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Merge With Existing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Apply MeshInstance Transforms"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open & Run a Script"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Reload"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Resave"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load Errors"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Select"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select Current"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 2D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 3D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Script Editor"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Open Asset Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the next Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the previous Editor"
-msgstr ""
-
-#: editor/editor_node.h
-msgid "Warning!"
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "No sub-resources found."
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "Open a list of sub-resources."
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Creating Mesh Previews"
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Thumbnail..."
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Main Script:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Edit Plugin"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Update"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Version"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Author"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Measure:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Average Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Physics Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Inclusive"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Self"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid ""
-"Inclusive: Includes time from other functions called by this function.\n"
-"Use this to spot bottlenecks.\n"
-"\n"
-"Self: Only count the time spent in the function itself, not in other "
-"functions called by that function.\n"
-"Use this to find individual functions to optimize."
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame #:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Calls"
-msgstr ""
-
-#: editor/editor_profiler.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Debugger"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame History Size"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame Max Functions"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Edit Text:"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/script_create_dialog.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On"
-msgstr ""
-
-#: editor/editor_properties.cpp modules/gridmap/grid_map.cpp
-#: scene/2d/collision_object_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Layer"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Bit %d, value %d"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
-msgid "Assign..."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Invalid RID"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on resources saved as a file.\n"
-"Resource needs to belong to a scene."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on this resource because it's not set as "
-"local to scene.\n"
-"Please switch on the 'local to scene' property on it (and all resources "
-"containing it up to a node)."
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid ""
-"The selected resource (%s) does not match any type expected for this "
-"property (%s)."
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Quick Load"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Convert to %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/plugins/theme_editor_plugin.cpp
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Base Type"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Edited Resource"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
-#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-msgid "Editable"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp
-msgid "Extend Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Script Owner"
-msgstr ""
-
-#: editor/editor_run_native.cpp
-msgid ""
-"No runnable export preset found for this platform.\n"
-"Please add a runnable preset in the Export menu or define an existing preset "
-"as runnable."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Write your logic in the _run() method."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "There is an edited scene already."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't instance script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the 'tool' keyword?"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't run script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the '_run' method?"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor Language"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Antialiased"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Hinting"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Bold"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Dim Editor On Dialog Popup"
-msgstr ""
-
-#: editor/editor_settings.cpp main/main.cpp
-msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Separate Distraction Mode"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Automatically Open Screenshots"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Max Array Dictionary Items Per Page"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
-#: scene/register_scene_types.cpp
-msgid "Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/import_dock.cpp
-msgid "Preset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Icon And Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Accent Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/environment.cpp
-msgid "Contrast"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Relationship Line Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Highlight Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Border Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Graph Node Headers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Additional Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Script Button"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Directories"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autoscan Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Compress Binary Resources"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Safe Save On Backup Then Rename"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "File Dialog"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Thumbnail Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Docks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scene Tree"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Start Create Dialog Fully Expanded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Always Show Folders"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Property Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Refresh Interval"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Subresource Hue Tint"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Color Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/3d/label_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Syntax Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight All Occurrences"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Highlight Type Safe Lines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Auto Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Convert Indent On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Spaces"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
-msgid "Navigation"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Smooth Scrolling"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "V Scroll Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Minimap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Appearance"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Show Line Numbers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Numbers Zero Padded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Bookmark Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Breakpoint Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Info Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Folding"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Word Wrap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Line Length Guidelines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Soft Column"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Hard Column"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Script List"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Members Overview"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Files"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Trim Trailing Whitespace On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autosave Interval Secs"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Restore Scripts On Load"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload Scripts On External Change"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Create Signal Callbacks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sort Members Outline Alphabetically"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Cursor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll Past End Of File"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Block Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Right Click Moves Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
-#: modules/gdscript/gdscript_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Idle Parse Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Brace Complete"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Complete Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Callhint Tooltip Offset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Complete File Paths"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-msgid "Add Type Hints"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Single Quotes"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Help Index"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Source Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Title Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Grid Map"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Preview Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Secondary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Selection Box Color"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "3D Gizmos"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Gizmo Colors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Instanced"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/physics_body.cpp
-msgid "Joint"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/collision_shape.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/occluder.cpp scene/3d/spring_arm.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Shape"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Steps"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Max"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Min"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Bias"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XY Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid YZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default FOV"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Near"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Far"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert Y Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert X Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Style"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate Numpad"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate 3 Button Mouse"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-msgid "Warped Mouse Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Feel"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Translation Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Base Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Activation Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Speed Zoom Link"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Guides Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Smart Snapping Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 1"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 2"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone IK Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Viewport Border Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Constrain Editor View"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Simple Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll To Pan"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Poly Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Point Grab Radius"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Previous Outline"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-msgid "Autorename Animation Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Bezier Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Reset Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Past Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Future Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Visual Editors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Window Placement"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/control.cpp
-msgid "Rect"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Rect Custom Position"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
-msgid "Screen"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Save Before Running"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Host"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor SSL Certificates"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "HTTP Proxy"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Host"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sorting Order"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Symbol Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Control Flow Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Engine Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "User Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Comment Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "String Color"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Existing Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Safe Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Selection Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Brace Mismatch Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Current Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Word Highlighted Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Function Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Member Variable Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Mark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Bookmark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Executing Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Code Folding Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Border Color"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hold %s to round to integers. Hold Shift for more precise changes."
-msgstr ""
-
-#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-msgid "Flat"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hide Slider"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Select Node(s) to Import"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp editor/project_manager.cpp
-msgid "Browse"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Scene Path:"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Import From Node:"
-msgstr ""
-
-#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
-#: editor/editor_vcs_interface.cpp
-msgid "%s Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "There are no mirrors available."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Retrieving the mirror list..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Starting the download..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error requesting URL:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connecting to the mirror..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't resolve the requested address."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't connect to the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No response from the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request ended up in a redirect loop."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request failed:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download complete; extracting templates..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cannot remove temporary file:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Templates installation failed.\n"
-"The problematic templates archives can be found at '%s'."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error getting the list of mirrors."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Best available mirror"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"No download links found for this version. Direct download is only available "
-"for official releases."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Disconnected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Resolving"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Resolve"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connecting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Connect"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Requesting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Downloading"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connection Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "SSL Handshake Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't open the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside the export templates file: %s."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No version.txt found inside the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error creating path for extracting templates:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Extracting Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Importing:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Remove templates for the version '%s'?"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uncompressing Android Build Sources"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export Template Manager"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Current Version:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are missing. Download them or install from a file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are installed and ready to be used."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open Folder"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing installed templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download from:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open in Web Browser"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Copy Mirror URL"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download and Install"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Download and install templates for the current version from the best "
-"possible mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Official export templates aren't available for development builds."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install from File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install templates from a local file."
-msgstr ""
-
-#: editor/export_template_manager.cpp editor/find_in_files.cpp
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cancel the download of the templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Other Installed Versions:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall Template"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Select Template File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Godot Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"The templates will continue to download.\n"
-"You may experience a short editor freeze when they finish."
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-msgid "File Server"
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Password"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Status: Import of file failed. Please fix file and reimport manually."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Importing has been disabled for this file, so it can't be opened for editing."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move/rename resources root."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move a folder into itself."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error moving:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error duplicating:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Unable to update dependencies:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
-msgid "No name provided."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Provided name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "A file or folder with this name already exists."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"This file extension is not recognized by the editor.\n"
-"If you want to rename it anyway, use your operating system's file manager.\n"
-"After renaming to an unknown extension, the file won't be shown in the "
-"editor anymore."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"The following files or folders conflict with items in the target location "
-"'%s':\n"
-"\n"
-"%s\n"
-"\n"
-"Do you wish to overwrite them?"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Inherited Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Set As Main Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Open Scenes"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Instance"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Add to Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Remove from Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Edit Dependencies..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "View Owners..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move To..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Scene..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "New Script..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Resource..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Expand All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Collapse All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Last Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by First Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Rename..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Focus the search box"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Previous Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Next Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Re-Scan Filesystem"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Toggle Split Mode"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Search files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Scanning Files,\n"
-"Please Wait..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/project_manager.cpp editor/rename_dialog.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Rename"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Overwrite"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Create Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Find in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find:"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/rename_dialog.cpp
-msgid "Replace:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Folder:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Filters:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid ""
-"Include the files with the following extensions. Add or remove them in "
-"ProjectSettings."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Replace in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace All (NO UNDO)"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Searching..."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d match in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d files."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Add to Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Remove from Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group name already exists."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Invalid group name."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Rename Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Delete Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/node_dock.cpp
-msgid "Groups"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes Not in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Empty groups will be automatically removed."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group Editor"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Manage Groups"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Collada"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Use Ambient"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-msgid "Create From"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Threshold"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-msgid "Compress"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-msgid "Delimiter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "ColorCorrect"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "No BPTC If RGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
-msgid "Flags"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
-#: scene/resources/texture.cpp
-msgid "Repeat"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Filter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Mipmaps"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Anisotropic"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "sRGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "Slices"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Horizontal"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Vertical"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Generate Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Scale Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Offset Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-#: editor/import/resource_importer_scene.cpp
-msgid "Octahedral Compression"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Optimize Mesh Flags"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Single Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#: scene/3d/physics_joint.cpp
-msgid "Nodes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Type"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Name"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Scale"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Custom Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-msgid "Storage"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Legacy Names"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep On Reimport"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Meshes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Ensure Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Light Baking"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Lightmap Texel Size"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Named Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "External Files"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Store In Subdir"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Filter Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep Custom Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Optimizer"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/camera_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/navigation_polygon.cpp scene/2d/ray_cast_2d.cpp scene/2d/sprite.cpp
-#: scene/2d/y_sort.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/interpolated_camera.cpp
-#: scene/3d/light.cpp scene/3d/navigation_mesh_instance.cpp
-#: scene/3d/physics_joint.cpp scene/3d/ray_cast.cpp scene/3d/skeleton.cpp
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Enabled"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Linear Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angular Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angle"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Remove Unused Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Clips"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/particles.cpp scene/resources/environment.cpp
-msgid "Amount"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Importing Scene..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating Lightmaps"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Running Custom Script..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Couldn't load post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Invalid/broken script for post-import (check console):"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Error running post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Did you return a Node-derived object in the `post_import()` method?"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Saving..."
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D Pixel"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
-msgid "Lossy Quality"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "HDR Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "BPTC LDR"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
-#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
-msgid "Normal Map"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Process"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Fix Alpha Border"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Premult Alpha"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Hdr As Srgb"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Invert Color"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Normal Map Invert Y"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Size Limit"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "SVG"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid ""
-"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
-"texture will not display correctly on PC."
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Atlas File"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Import Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Crop To Region"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Trim Alpha Border From Region"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-msgid "Force"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "8 Bit"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Mono"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate Hz"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Trim"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Normalize"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Mode"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Begin"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop End"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Select Importer"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Importer:"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Reset to Defaults"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Keep File (No Import)"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "%d Files"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Set as Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Clear Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Reimport"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"You have pending changes that haven't been applied yet. Click Reimport to "
-"apply changes made to the import options.\n"
-"Selecting another resource in the FileSystem dock without clicking Reimport "
-"first will discard changes made in the Import dock."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Import As:"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Save Scenes, Re-Import, and Restart"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Changing the type of an imported file requires editor restart."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"WARNING: Assets exist that use this resource, they may stop loading properly."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"Select a resource file in the filesystem or in the inspector to adjust "
-"import settings."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Property Name Style"
-msgstr ""
-
-#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
-msgid "Raw"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Capitalized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localization not available for current language."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Paste Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Extra resource options."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Edit Resource from Clipboard"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Resource Built-In"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Open documentation for this object."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp
-msgid "Open Documentation"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Filter properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Manage object properties."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
-#: editor/multi_node_edit.cpp
-msgid "MultiNode Set"
-msgstr ""
-
-#: editor/node_dock.cpp
-msgid "Select a single node to edit its signals and groups."
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Edit a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Create a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Plugin Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Subfolder:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Author:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Version:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp
-msgid "Language:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Script Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Activate now?"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid ""
-"Edit points.\n"
-"LMB: Move Point\n"
-"RMB: Erase Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Erase points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Insert Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon (Remove Point)"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Remove Polygon And Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Add %s"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Load..."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Move Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "This type of node can't be used. Only root nodes are allowed."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Animation Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Remove BlendSpace1D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Move BlendSpace1D Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"AnimationTree is inactive.\n"
-"Activate to enable playback, check node warnings if activation fails."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Set the blending position within the space"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Select and move points, create points with RMB."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
-msgid "Enable snap and show grid."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Open Editor"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Open Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Triangle already exists."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "BlendSpace2D does not belong to an AnimationTree node."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "No triangles exist, so no blending can take place."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Toggle Auto Triangles"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create triangles by connecting points."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Erase points and triangles."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Generate blend triangles automatically (instead of manually)"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Parameter Changed:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Output node can't be added to the blend tree."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Add Node to BlendTree"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Node Moved"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Unable to connect, port may be in use or connection may be invalid."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Connected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Disconnected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Set Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Toggle Filter On/Off"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Change Filter"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "No animation player set, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Player path set is invalid, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid ""
-"Animation player has no valid root node path, so unable to retrieve track "
-"names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Anim Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Audio Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Functions"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Renamed"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node..."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Edit Filtered Tracks:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Enable Filtering"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Toggle Autoplay"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Anim"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Animation?"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Remove Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Invalid animation name!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation name already exists!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Next Changed"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Blend Time"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "No animation resource on clipboard!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pasted Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from current pos. (A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Stop animation playback. (S)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from start. (Shift+D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from current pos. (D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation position (in seconds)."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Scale animation playback globally for the node."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "New"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste As Reference"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Transitions..."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Open in Inspector"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Enable Onion Skinning"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Onion Skinning Options"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Directions"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Past"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Future"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/3d/collision_polygon.cpp scene/main/scene_tree.cpp
-#: scene/resources/material.cpp scene/resources/primitive_meshes.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Depth"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "1 step"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "2 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "3 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Differences Only"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Force White Modulate"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Include Gizmos (3D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pin AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-msgid "Error!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Times:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Next (Auto Queue):"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Cross-Animation Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Move Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition exists!"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Add Transition"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Immediate"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/animation/animation_blend_tree.cpp
-msgid "Sync"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "At End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Travel"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Start and end nodes are needed for a sub-transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "No playback resource set at path: %s."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set Start Node (Autoplay)"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"Select and move nodes.\n"
-"RMB to add new nodes.\n"
-"Shift+LMB to create connections."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Create new nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Connect nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Remove selected node or transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Toggle autoplay this animation on start, restart or seek to zero."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set the end animation. This is useful for sub-transitions."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Play Mode:"
-msgstr ""
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "New name:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade In (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade Out (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader.cpp
-msgid "Blend"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Auto Restart:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Random Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Start!"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Amount:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 0:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 1:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "X-Fade Time (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Clear Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Set Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Delete Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is valid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is invalid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "OneShot Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Mix Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend2 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend3 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend4 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeScale Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeSeek Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Transition Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Import Animations..."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Node Filters"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Filters..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
-msgid "Use Threads"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Contents:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "View Files"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connection error, please try again."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect to host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response from host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve hostname:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, return code:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Cannot save response to:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Write error."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, too many redirects"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Redirect loop."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, timeout"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Timeout."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Bad download hash, assuming file has been tampered with."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Expected:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Got:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed SHA-256 hash check"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Asset Download Error:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading (%s / %s)..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Resolving..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Error making request"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Idle"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Install..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Retry"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download Error"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Available URLs"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download for this asset is already in progress!"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Least Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Loading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "First"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Previous"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Next"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Last"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "All"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search templates, projects, and demos"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search assets (excluding templates, projects, and demos)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Import..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Plugins..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Sort:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Category:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Site:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Support"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Official"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Testing"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed to get repository configuration."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Assets ZIP File"
-msgstr ""
-
-#: editor/plugins/audio_stream_editor_plugin.cpp
-msgid "Audio Preview Play/Pause"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Can't determine a save path for lightmap images.\n"
-"Save your scene and try again."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"No meshes to bake. Make sure they contain an UV2 channel and that the 'Use "
-"In Baked Light' and 'Generate Lightmap' flags are on."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed creating lightmap images, make sure path is writable."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed determining lightmap size. Maximum lightmap size too small?"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Some mesh is invalid. Make sure the UV2 channel values are contained within "
-"the [0.0,1.0] square region."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Godot editor was built without ray tracing support, lightmaps can't be baked."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Bake Lightmaps"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "LightMap Bake"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Select lightmap bake file:"
-msgstr ""
-
-#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/resources/mesh_library.cpp
-msgid "Preview"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Configure Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Primary Line Every:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "steps"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal and Vertical Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate CanvasItem \"%s\" to %d degrees"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Node2D \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Resize Control \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Locked"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Grouped"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Children of containers have their anchors and margins values overridden by "
-"their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Presets for the anchors and margins values of a Control node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"When active, moving Control nodes changes their anchors instead of their "
-"margins."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Top"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Bottom"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Left Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Top Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Right Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Bottom Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "VCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "HCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Full Rect"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Keep Ratio"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Anchors only"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors and Margins"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"Overrides the running project's camera with the editor viewport camera."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"No project instance running. Run the project from the editor to use this "
-"feature."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Paste Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Warning: Children of a container get their position and size determined only "
-"by their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Reset"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/item_list.cpp
-#: scene/gui/tree.cpp
-msgid "Select Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Drag: Rotate selected node around pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Move selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Scale selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "V: Set selected node's pivot position."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "RMB: Add node at position clicked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Move Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Shift: Scale proportionally."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Show a list of all objects at the position clicked\n"
-"(same as Alt+RMB in select mode)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Click to change object's rotation pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Ruler Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle smart snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Smart Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle grid snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Grid Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Rotation Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Scale Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap Relative"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Pixel Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Smart Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Configure Snap..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Parent"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Sides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Other Nodes"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock the selected object in place (can't be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock the selected object (can be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Makes sure the object's children are not selectable."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Restores the object's children's ability to be selected."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Skeleton Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Custom Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show When Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Hide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Helpers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Rulers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Origin"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Viewport"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Group And Lock Icons"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Frame Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Preview Canvas Scale"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Translation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert keys (based on mask)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Auto insert keys when objects are translated, rotated or scaled (based on "
-"mask).\n"
-"Keys are only added to existing tracks, no new tracks will be created.\n"
-"Keys must be inserted manually for the first time."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Auto Insert Key"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation Key and Pose Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key (Existing Tracks)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Copy Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Add Node Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Instance Scene Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Multiply grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Divide grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 3.125%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 6.25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 12.5%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 50%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 100%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 200%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 400%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 800%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 1600%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Adding %s..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Cannot instantiate multiple nodes without root."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Create Node"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Error instancing scene from %s"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Default Type"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Drag & drop + Shift : Add node as sibling\n"
-"Drag & drop + Alt : Change node type"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Create Polygon3D"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly (Remove Point)"
-msgstr ""
-
-#: editor/plugins/collision_shape_2d_editor_plugin.cpp
-msgid "Set Handle"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Load Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Restart"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Clear Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-msgid "Particles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generated Point Count:"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Solid Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Directed Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Capture from Pixel"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Colors"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-msgid "CPUParticles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 0"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 1"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease In"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease Out"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Smoothstep"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Curve Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Add Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Left Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Toggle Curve Linear Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Hold Shift to edit tangents individually"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right click to add point"
-msgstr ""
-
-#: editor/plugins/gi_probe_editor_plugin.cpp
-msgid "Bake GI Probe"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Gradient Edited"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap Gradient Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Toggle Grid Snap"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
-#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
-#: scene/gui/label.cpp scene/gui/line_edit.cpp scene/gui/link_button.cpp
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Text"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp main/main.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/gui/button.cpp scene/gui/item_list.cpp
-msgid "Icon"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "ID"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separator"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item %d"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Items"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item List Editor"
-msgstr ""
-
-#: editor/plugins/light_occluder_2d_editor_plugin.cpp
-msgid "Create Occluder Polygon"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh is empty!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a Trimesh collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Static Trimesh Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "This doesn't work on scene root!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create a single convex collision shape for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a single convex collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create multiple convex collision shapes for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create any collision shapes."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Shapes"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Navigation Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Contained Mesh is not of type ArrayMesh."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "No mesh to debug."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has no UV in layer %d."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "MeshInstance lacks a Mesh!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has not surface to create outlines from!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Could not create outline!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_mesh.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/mesh_library.cpp
-#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a StaticBody and assigns a polygon-based collision shape to it "
-"automatically.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a single convex collision shape.\n"
-"This is the fastest (but least accurate) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a simplified convex collision shape.\n"
-"This is similar to single collision shape, but can result in a simpler "
-"geometry in some cases, at the cost of accuracy."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Collision Siblings"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is a performance middle-ground between a single convex collision and a "
-"polygon-based collision."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh..."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a static outline mesh. The outline mesh will have its normals "
-"flipped automatically.\n"
-"This can be used instead of the SpatialMaterial Grow property when using "
-"that property isn't possible."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV1"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV2"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Unwrap UV2 for Lightmap/AO"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Outline Size:"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Channel Debug"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid ""
-"Update from existing scene?:\n"
-"%s"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "MeshLibrary"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Ignore Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Apply Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply without Transforms"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply with Transforms"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No surface source specified."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no geometry)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no faces)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate Surface"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate MultiMesh"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "X-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Y-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Z-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh Up Axis:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Rotation:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Tilt:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Scale:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate"
-msgstr ""
-
-#: editor/plugins/navigation_polygon_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Convert to CPUParticles"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generating Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generate Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Can only set point into a ParticlesMaterial process material"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Convert to CPUParticles2D"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generation Time (sec):"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry's faces don't contain any area."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry doesn't contain any faces."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain face geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp scene/gui/video_player.cpp
-msgid "Volume"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generating AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate Visibility AABB"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Point from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Out-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove In-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point to Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Split Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Point in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move In-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Out-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Select Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Shift+Drag: Select Control Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Click: Add Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Left Click: Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Right Click: Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Select Control Points (Shift+Drag)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point (in empty space)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Close Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/theme_editor_preview.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp
-#: main/main.cpp servers/visual_server.cpp
-msgid "Options"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Angles"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Lengths"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Curve Point #"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Point Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve In Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Out Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Path"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Path Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Out-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove In-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/physical_bone_plugin.cpp
-msgid "Move Joint"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"No texture in this polygon.\n"
-"Set a texture to be able to edit UV."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Polygon 2D has internal vertices, so it can no longer be edited in the "
-"viewport."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon & UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Invalid Polygon (need 3 different vertices)"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Add Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint Bone Weights"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Open Polygon 2D UV editor."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Polygon 2D UV Editor"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/line_2d.cpp scene/3d/cpu_particles.cpp scene/3d/portal.cpp
-#: scene/3d/room.cpp scene/resources/convex_polygon_shape.cpp
-#: scene/resources/convex_polygon_shape_2d.cpp
-msgid "Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "Polygons"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/3d/skeleton.cpp
-msgid "Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Command: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift: Move All"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Command: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Ctrl: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Ctrl: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Rotate Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Scale Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create a custom polygon. Enables custom polygon rendering."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Remove a custom polygon. If none remain, custom polygon rendering is "
-"disabled."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Unpaint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Radius:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy Polygon to UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy UV to Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Clear UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Settings"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Enable Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Grid"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Configure Grid:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones to Polygon"
-msgstr ""
-
-#: editor/plugins/ray_cast_2d_editor_plugin.cpp
-msgid "Set cast_to"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ERROR: Couldn't load resource!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Add Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Rename Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Resource clipboard is empty!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Instance:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Open in Editor"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Load Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portals"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Room Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portal"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Occluder Set Transform"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Center Node"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Path to AnimationPlayer is invalid"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Files"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close and save changes?"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error writing TextFile:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Could not load file at:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving file!"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error importing theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Importing"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "New Text File..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save File As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Can't obtain the script for running."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script failed reloading, check console for errors."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script is not in tool mode, will not be able to run."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"To run this script, it must inherit EditorScript and be set to tool mode."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "%s Class Reference"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter scripts"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter methods"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp scene/2d/y_sort.cpp
-msgid "Sort"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Up"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Down"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Next Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Previous Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reopen Closed Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Soft Reload Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Copy Script Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reload Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Search"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Break"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Continue"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Keep Debugger Open"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Debug with External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Online Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Godot online documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search the reference documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to previous edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to next edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Discard"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Results"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Dominant Script On Scene Change"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "External"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Use External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature Enabled"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Highlight Current Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature History Size"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Current Script Background Color"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Group Help Pages"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Sort Scripts By"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "List Script Names As"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Flags"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Scripts"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Connections to method:"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Source"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp platform/uwp/export/export.cpp
-#: scene/3d/interpolated_camera.cpp scene/animation/skeleton_ik.cpp
-msgid "Target"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid ""
-"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "[Ignore]"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Only resources from filesystem can be dropped."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't drop nodes because script '%s' is not used in this scene."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Lookup Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Convert Case"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-#: scene/3d/label_3d.cpp scene/gui/label.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Uppercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Lowercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Capitalize"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Syntax Highlighter"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Go To"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Cut"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Delete Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Left"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Right"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Comment"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold/Unfold Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Unfold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Complete Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Evaluate Selection"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Trim Trailing Whitespace"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Spaces"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Tabs"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Find in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Replace in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Contextual Help"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Line..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Toggle Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Breakpoint"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp
-msgid ""
-"This shader has been modified on on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp
-msgid "Shader"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "This skeleton has no bones, create some children Bone2D nodes."
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Set Rest Pose to Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Create Rest Pose from Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Skeleton2D"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Reset to Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Overwrite Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical bones"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-#: modules/gltf/gltf_node.cpp modules/gltf/gltf_skin.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/mesh_instance.cpp
-msgid "Skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_ik_editor_plugin.cpp
-msgid "Play IK"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
-msgid "Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Perspective"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [auto]"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [portals active]"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Aborted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "X-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Y-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Z-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp
-msgid "None"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/2d/path_2d.cpp
-msgid "Rotate"
-msgstr ""
-
-#. TRANSLATORS: This refers to the movement that changes the position of an object.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotating %s degrees."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Keying is disabled (no key inserted)."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Animation Key Inserted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pitch:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Yaw:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Objects Drawn:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Material Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Shader Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Surface Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Draw Calls:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Vertices:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "FPS: %d (%s ms)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Transform with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Rotation with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "No parent to instance a child at."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "This operation requires a single selected node."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Auto Orthogonal Enabled"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock View Rotation"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Normal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Wireframe"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Overdraw"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Unshaded"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Environment"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Information"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View FPS"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Half Resolution"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/main/viewport.cpp
-msgid "Audio Listener"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Enable Doppler"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Cinematic Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "(Not in GLES2)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Forward"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Backwards"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Speed Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Slow Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Camera Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Rotation Locked"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"To zoom further, change the camera's clipping planes (View -> Settings...)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Note: The FPS value displayed is the editor's framerate.\n"
-"It cannot be used as a reliable indication of in-game performance."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Convert Rooms"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "XForm Dialog"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Click to toggle between visibility states.\n"
-"\n"
-"Open eye: Gizmo is visible.\n"
-"Closed eye: Gizmo is hidden.\n"
-"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Nodes to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Use Local Space"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Use Snap"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Converts rooms for portal culling."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View 180"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Switch Perspective/Orthogonal View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Insert Animation Key"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Selection"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Freelook"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Decrease Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Increase Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Reset Field of View to Default"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Object to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Dialog..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "1 Viewport"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "4 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Grid"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Portal Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Occlusion Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Settings..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate Snap:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Snap (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Snap (%):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Viewport Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Perspective FOV (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Near:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Far:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Change"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale (ratio):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Type"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pre"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Post"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Size"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Opacity"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Show Viewport Rotation Gizmo"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unnamed Gizmo"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Mesh2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Polygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "CollisionPolygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "LightOccluder2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite is empty!"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Can't convert a sprite using animation frames to mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't replace by mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create collision polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create light occluder."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Update Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Settings:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "No Frames Selected"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add %d Frame(s)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Unable to load images"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "ERROR: Couldn't load frame resource!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Resource clipboard is empty or not a texture!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Paste Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Empty"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation FPS"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "(empty)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animations:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "New Animation"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Speed:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: modules/gltf/gltf_animation.cpp modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp scene/2d/path_2d.cpp
-#: scene/3d/path.cpp scene/resources/animation.cpp scene/resources/material.cpp
-msgid "Loop"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animation Frames:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add a Texture from File"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frames from a Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Horizontal:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Vertical:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Offset:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select/Clear All Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Create Frames from Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "SpriteFrames"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Region Rect"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Margin"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Snap Mode:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Pixel Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Grid Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Auto Slice"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Step:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "TextureRegion"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Styleboxes"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} color(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No colors found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} constant(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No constants found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} font(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No fonts found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} icon(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No icons found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} stylebox(es)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No styleboxes found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} currently selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Nothing was selected for the import."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing items {n}/{n}"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Updating the editor"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Finalizing"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select by data type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Caution: Adding icon data may considerably increase the size of your Theme "
-"resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Collapse types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Expand types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items with item data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Import Items tab has some items selected. Selection will be lost upon "
-"closing this window.\n"
-"Close anyway?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Select a theme type from the list to edit its items.\n"
-"You can add a custom type or import a type with its items from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Color Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Constant Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Font Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Icon Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All StyleBox Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"This theme type is empty.\n"
-"Add more items to it manually or by importing from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, not a Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, same as the edited Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Edit Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add StyleBox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Items:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Class Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Custom Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Old Name:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Editor Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select Another Theme Resource:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme Resource"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Another Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter the list of types or create a new custom type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Available Node-based types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Type name is empty!"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Are you sure you want to create an empty type?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Confirm Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Cancel Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Unpin this StyleBox as a main style."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Pin this StyleBox as a main style. Editing its properties will update the "
-"same properties in all other StyleBoxes of this type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Variation Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show Default"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show default type items alongside items that have been overridden."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override all default type items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select the variation base type from a list of available types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"A type associated with a built-in class cannot be marked as a variation of "
-"another type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Items..."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add, remove, organize and import Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select UI Scene:"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid ""
-"Toggle the control picker, allowing to visually select control types for "
-"edit."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Toggle Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp
-msgid "Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Check Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Named Separator"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Submenu"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Many"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled LineEdit"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 3"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Editable Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subtree"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has,Many,Options"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid path, the PackedScene resource was probably moved or removed."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid PackedScene resource, must have a Control node at its root."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid file, not a PackedScene resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Reload the scene to reflect its most actual state."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Fix Invalid Tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cut Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Line Draw"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Disable Autotile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Enable Priority"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Filter tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Give a TileSet resource to this TileMap to use its tiles."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Command+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Ctrl+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Left"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Right"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Horizontally"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Vertically"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Clear Transform"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Tile Map"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Palette Min Width"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Palette Item H Separation"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Names"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Ids"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Sort Tiles By Name"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill Preview"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editor Side"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Display Grid"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Axis Color"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Texture(s) to TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected Texture from TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Single Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Autotile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Atlas"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Next Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the next shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Previous Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the previous shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
-msgid "Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/soft_body.cpp scene/main/scene_tree.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp
-msgid "Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/area_2d.cpp
-#: scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/node_2d.cpp
-msgid "Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Region Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Collision Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Priority Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/item_list.cpp
-msgid "Icon Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Z Index Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Copy bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Erase bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new rectangle."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Rectangle"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete Selected Shape"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Keep polygon inside region Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Enable snap and show grid (configurable via the Inspector)."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Display Tile Names (Hold Alt Key)"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Add or select a texture on the left panel to edit the tiles bound to it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected texture? This will remove all tiles which use it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "You haven't selected a texture to remove."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene? This will overwrite all current tiles."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "%s file(s) were not added because was already on the list."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Drag handles to edit Rect.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete selected Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select current edited sub-tile.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"LMB: Set bit on.\n"
-"RMB: Set bit off.\n"
-"Shift+LMB: Set wildcard bit.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its priority.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its z index.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Icon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Clear Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "This property can't be changed."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Snap Options"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/parallax_background.cpp scene/2d/parallax_layer.cpp
-#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
-#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-msgid "Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
-#: scene/gui/range.cpp scene/resources/animation.cpp
-#: scene/resources/visual_shader_nodes.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Step"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
-#: scene/2d/multimesh_instance_2d.cpp scene/2d/particles_2d.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tex Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
-msgid "Material"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-msgid "Modulate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotile Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Size"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Spacing"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occluder Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Transform"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way Margin"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Navigation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tileset Script"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "TileSet"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No VCS plugins are available."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid ""
-"Remote settings are empty. VCS features that use the network may not work."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No commit message was provided."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Staged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstaged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Date:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Subtitle:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s branch?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s remote?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Apply"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control System"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Initialize"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Login"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH public key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH private key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Passphrase"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Detect new changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Discard all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Stage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Message"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit List"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit list size"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branches"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branch Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remotes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote URL"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Fetch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Pull"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Force Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Modified"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Renamed"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Deleted"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Typechange"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unmerged"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "View:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Split"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unified"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(GLES3 only)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Output"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sampler"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set expression"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Resize VisualShader node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Uniform Name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Input Default Port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node to Visual Shader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Node(s) Moved"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Duplicate Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Input Type Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "UniformRef Name Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vertex"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Fragment"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/light.cpp
-msgid "Light"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Show resulted shader code."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Create Shader Node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Grayscale function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sepia function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Burn operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Darken operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Difference operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Dodge operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "HardLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Lighten operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Overlay operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Screen operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "SoftLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the %s comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Equal (==)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than (>)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than or Equal (>=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided scalars are equal, greater or "
-"less."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between NaN and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than (<)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than or Equal (<=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Not Equal (!=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated scalar if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF (or NaN) and a "
-"scalar parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Input parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the absolute value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Constrains a value to lie between two further values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in radians to degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-e Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Computes the fractional part of the argument."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the greater of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the lesser of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the opposite value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in degrees to radians."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest even integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Extracts the sign of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the truncated value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds scalar to scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts scalar from scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the cubic texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Cubic texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup with triplanar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Calculate the outer product of a pair of vectors.\n"
-"\n"
-"OuterProduct treats the first parameter 'c' as a column vector (matrix with "
-"one column) and the second parameter 'r' as a row vector (matrix with one "
-"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix "
-"whose number of rows is the number of components in 'c' and whose number of "
-"columns is the number of components in 'r'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes transform from four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes transform to four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the determinant of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the inverse of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the transpose of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies transform by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes vector from three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes vector to three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the cross product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the distance between two points."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the dot product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the same direction as a reference vector. "
-"The function has three vector parameters : N, the vector to orient, I, the "
-"incident vector, and Nref, the reference vector. If the dot product of I and "
-"Nref is smaller than zero the return value is N. Otherwise -N is returned."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the length of a vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors using scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the normalize product of vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the direction of reflection ( a : incident "
-"vector, b : normal vector )."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the vector that points in the direction of refraction."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( vector(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds vector to vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts vector from vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, with custom amount of input and "
-"output ports. This is a direct injection of code into the vertex/fragment/"
-"light function, do not use it to write the function declarations inside."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns falloff based on the dot product of surface normal and view "
-"direction of camera (pass associated inputs to it)."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, which is placed on top of the "
-"resulted shader. You can place various function definitions inside and call "
-"it later in the Expressions. You can also declare varyings, uniforms and "
-"constants."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "A reference to an existing uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Scalar derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Vector derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "VisualShader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Edit Visual Property:"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Mode Changed"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Runnable"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Exporting All"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Path"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Presets"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_settings_editor.cpp
-msgid "Add..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"If checked, the preset will be available for use in one-click deploy.\n"
-"Only one preset per platform may be marked as runnable."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export all resources in the project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected scenes (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected resources (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources to export:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to export non-resource files/folders\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to exclude files/folders from project\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Features"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Custom (comma-separated):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Feature List:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Script"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Compiled Bytecode (Faster Loading)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Encrypted (Provide Key Below)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Encryption Key (256-bits as hexadecimal):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Note: Encryption key needs to be stored in the binary,\n"
-"you need to build the export templates from source."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "More Info..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_manager.cpp
-msgid "ZIP File"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Manage Export Templates"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export With Debug"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The path specified doesn't exist."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file (it's not in ZIP format)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose an empty folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose a \"project.godot\" or \".zip\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "This directory already contains a Godot project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Game Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Imported Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "There is already a folder in this path with the specified name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "It would be a good idea to name your project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project path (changed anything?)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file, not in ZIP format."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The following files failed extraction from package:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Package installed successfully!"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Rename Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Existing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install Project:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Name:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Installation Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 3.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Not supported by your GPU drivers."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Higher visual quality\n"
-"All features available\n"
-"Incompatible with older hardware\n"
-"Not recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 2.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Lower visual quality\n"
-"Some features not available\n"
-"Works on most hardware\n"
-"Recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer can be changed later, but scenes may need to be adjusted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Missing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error: Project is missing on the filesystem."
-msgstr ""
-
-#: editor/project_manager.cpp editor/scene_tree_dock.cpp
-msgid "Local"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Local Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Asset Library Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't open project at '%s'."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to open more than one project?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file does not specify the version of Godot "
-"through which it was created.\n"
-"\n"
-"%s\n"
-"\n"
-"If you proceed with opening it, it will be converted to Godot's current "
-"configuration file format.\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file was generated by an older engine "
-"version, and needs to be converted for this version:\n"
-"\n"
-"%s\n"
-"\n"
-"Do you want to convert it?\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The project settings were created by a newer engine version, whose settings "
-"are not compatible with this version."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: no main scene defined.\n"
-"Please edit the project and set the main scene in the Project Settings under "
-"the \"Application\" category."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: Assets need to be imported.\n"
-"Please edit the project to trigger the initial import."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to run %d projects at once?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove %d projects from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove this project from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Remove all missing projects from the list?\n"
-"The project folders' contents won't be modified."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Language changed.\n"
-"The interface will update after restarting the editor or project manager."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Are you sure to scan %s folders for existing Godot projects?\n"
-"This could take a while."
-msgstr ""
-
-#. TRANSLATORS: This refers to the application where users manage their Godot projects.
-#: editor/project_manager.cpp
-msgctxt "Application"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Edit Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Run Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Select a Folder to Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Missing"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "About"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Restart Now"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove All"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Also delete project contents (no undo!)"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't run project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"You currently don't have any projects.\n"
-"Would you like to explore official example projects in the Asset Library?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Filter projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"This field filters projects by name and last path component.\n"
-"To filter projects by name and full path, the query must contain at least "
-"one `/` character."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Physical Key"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Key "
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Axis"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "An action with the name '%s' already exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Rename Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Action deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "All Devices"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid " (Physical)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Press a Key..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 1"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 2"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Axis Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Global Property"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Select a setting item first!"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "No property '%s' exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Delete Item"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Error saving settings."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Settings saved OK."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Moved Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override for Feature"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add %d Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Translation"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Path(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Remap(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Resource Remap Language"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap Option"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter Mode"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Project Settings (project.godot)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "General"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override For..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "The editor must be restarted for changes to take effect."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Input Map"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Action:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp
-msgid "Deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Device:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Localization"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Resources:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps by Locale:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show All Locales"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show Selected Locales Only"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Filter mode:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "AutoLoad"
-msgstr ""
-
-#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Plugins"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Import Defaults"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Zero"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing In-Out"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing Out-In"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "File..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Dir..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Assign"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Select Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Pick a Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Property"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Method"
-msgstr ""
-
-#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Batch Rename"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Prefix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Suffix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Use Regular Expressions"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Advanced Options"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Substitute"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node's parent name, if available"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node type"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Current scene name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Root node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Sequential integer counter.\n"
-"Compare counter options."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Per-level Counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "If set, the counter restarts for each group of child nodes."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Initial value for the counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Amount by which counter is incremented for each node"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Padding"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Minimum number of digits for the counter.\n"
-"Missing digits are padded with leading zeros."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Post-Process"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Style"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Keep"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "PascalCase to snake_case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "snake_case to PascalCase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Lowercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Uppercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Reset"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Regular Expression Error:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "At character %s"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent Node"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Reparent Location (Select new Parent):"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Keep Global Transform"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Run Mode:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp
-msgid "Current Scene"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Main Scene Arguments:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Scene Run Settings"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "No parent to instance the scenes at."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error loading scene from %s"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one "
-"of its nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Scene(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Replace with Branch Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Child Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't paste root node into the same scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Paste Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on the tree root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Node In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Nodes In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Node must belong to the edited scene to become root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instantiated scenes can't become root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make node as Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes and any children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete the root node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\" and its children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires having a scene open in the editor."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires selecting only one node, but you have "
-"selected %d nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the root node branch as an instanced scene.\n"
-"To create an editable copy of the current scene, duplicate it using the "
-"FileSystem dock context menu\n"
-"or create an inherited scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the branch of an already instanced scene.\n"
-"To create a variation of a scene, you can make an inherited scene based on "
-"the instanced scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is a child of an already instantiated scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is part of an inherited scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Save New Scene As..."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Disabling \"editable_instance\" will cause all properties of the node to be "
-"reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
-"cause all properties of the node to be reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Local"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Another node already uses this unique name in the scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Enable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Disable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "New Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Create Root Node:"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "2D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "3D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "User Interface"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Other Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes from a foreign scene!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes the current scene inherits from!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on instanced scenes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Cut Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remove Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change type of node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Couldn't save new scene. Likely dependencies (instances) couldn't be "
-"satisfied."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error saving scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error duplicating scene to save it."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Sub-Resources"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Access as Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Editable Children"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Load As Placeholder"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot attach a script: there are no languages registered.\n"
-"This is probably because this editor was built with all language modules "
-"disabled."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add Child Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Expand/Collapse All"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change Type"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Reparent to New Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Merge From Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Save Branch as Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Copy Node Path"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete (No Confirm)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Instance a scene file as a Node. Creates an inherited scene if no root node "
-"exists."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach a new or existing script to the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach the script from the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remote"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"If selected, the Remote scene tree dock will cause the project to stutter "
-"every time it updates.\n"
-"Switch back to the Local scene tree dock to improve performance."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance? (No Undo!)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Show Scene Tree Root Selection"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Derive Script Globals By Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Use Favorites Root Selection"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Unlock Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Button Group"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "(Connecting From)"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node configuration warning:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"This node can be accessed from within anywhere in the scene by preceding it "
-"with the '%s' prefix in a node path.\n"
-"Click to disable this."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s) and %s group(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is in %s group(s).\n"
-"Click to show groups dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Open Script:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is locked.\n"
-"Click to unlock it."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Children are not selectable.\n"
-"Click to make selectable."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visibility"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"AnimationPlayer is pinned.\n"
-"Click to unpin."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Invalid node name, the following characters are not allowed:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Rename Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Scene Tree (Nodes):"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node Configuration Warning!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Select a Node"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Filename is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is not local."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid base path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "A directory with the same name exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File does not exist."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid extension."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Wrong extension chosen."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading template '%s'"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error - Could not create script in filesystem."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading script from %s"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Overrides"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "N/A"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script / Choose Location"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File exists, it will be reused."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid class name."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid inherited parent name or path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script path/name is valid."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Allowed: a-z, A-Z, 0-9, _ and ."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in script (into scene file)."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will create a new script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will load an existing script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script file already exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Note: Built-in scripts have some limitations and can't be edited using an "
-"external editor."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Warning: Having the script name be the same as a built-in type is usually "
-"not desired."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Class Name:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Template:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in Script:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Attach Node Script"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Bytes:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Warning:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Errors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Child process connected."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Copy Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Open C++ Source on GitHub"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Video RAM"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Skip Breakpoints"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Previous Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Next Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Frames"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Filter stack variables"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Inspect Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Network Profiler"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitor"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "List of Video Memory Usage by Resource:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Total:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export list to a CSV file"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource Path"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_effect_record.cpp
-msgid "Format"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/main/viewport.cpp
-msgid "Usage"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp servers/visual_server.cpp
-msgid "Misc"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control Type:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Live Edit Root:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Set From Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export measures as CSV"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Erase Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Restore Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Change Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Editor Settings"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Shortcuts"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Binding"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Light Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Stream Player 3D"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/gltf/gltf_node.cpp
-#: platform/osx/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Camera"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera FOV"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera Size"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Visibility Notifier"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Reflection Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "GI Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Baked Indirect Light"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Sphere Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Box Shape Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body A"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body B"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Overlap"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Room Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-msgid "Portal Margin"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Arrow"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Portal Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Occluder"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Polygon Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Hole Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Hole"
-msgstr ""
-
-#: main/main.cpp
-msgid "Godot Physics"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "Use BVH"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "BVH Collision Margin"
-msgstr ""
-
-#: main/main.cpp
-msgid "Crash Handler"
-msgstr ""
-
-#: main/main.cpp
-msgid "Multithreaded Server"
-msgstr ""
-
-#: main/main.cpp
-msgid "RID Pool Prealloc"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debugger stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Chars Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Messages Per Frame"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Errors Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Warnings Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Flush stdout On Print"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Log Path"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Log Files"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver Name"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fallback To GLES2"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
-
-#: main/main.cpp
-msgid "DPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allow hiDPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Per Pixel Transparency"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allowed"
-msgstr ""
-
-#: main/main.cpp
-msgid "Intended Usage"
-msgstr ""
-
-#: main/main.cpp
-msgid "Framebuffer Allocation"
-msgstr ""
-
-#: main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Energy Saving"
-msgstr ""
-
-#: main/main.cpp
-msgid "Threads"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-msgid "Thread Model"
-msgstr ""
-
-#: main/main.cpp
-msgid "Thread Safe BVH"
-msgstr ""
-
-#: main/main.cpp
-msgid "Handheld"
-msgstr ""
-
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Orientation"
-msgstr ""
-
-#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
-#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-msgid "Common"
-msgstr ""
-
-#: main/main.cpp
-msgid "Physics FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Force FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Pause Aware Picking"
-msgstr ""
-
-#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
-#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
-#: scene/main/viewport.cpp scene/register_scene_types.cpp
-msgid "GUI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
-
-#: main/main.cpp
-msgid "stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Print FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Verbose stdout"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-msgid "Physics Interpolation"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Warnings"
-msgstr ""
-
-#: main/main.cpp
-msgid "Frame Delay Msec"
-msgstr ""
-
-#: main/main.cpp
-msgid "Low Processor Mode"
-msgstr ""
-
-#: main/main.cpp
-msgid "Delta Sync After Draw"
-msgstr ""
-
-#: main/main.cpp
-msgid "iOS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Hide Home Indicator"
-msgstr ""
-
-#: main/main.cpp
-msgid "Input Devices"
-msgstr ""
-
-#: main/main.cpp
-msgid "Pointing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Touch Delay"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "GLES3"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Shaders"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debug Shader Fallbacks"
-msgstr ""
-
-#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
-#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
-#: scene/resources/world.cpp
-msgid "Environment"
-msgstr ""
-
-#: main/main.cpp
-msgid "Default Clear Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "Boot Splash"
-msgstr ""
-
-#: main/main.cpp
-msgid "Show Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fullsize"
-msgstr ""
-
-#: main/main.cpp scene/resources/dynamic_font.cpp
-msgid "Use Filter"
-msgstr ""
-
-#: main/main.cpp scene/resources/style_box.cpp
-msgid "BG Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "macOS Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Windows Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Buffering"
-msgstr ""
-
-#: main/main.cpp
-msgid "Agile Event Flushing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Touch From Mouse"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Mouse From Touch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Mouse Cursor"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image Hotspot"
-msgstr ""
-
-#: main/main.cpp
-msgid "Tooltip Position Offset"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Debugger Agent"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait For Debugger"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait Timeout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Runtime"
-msgstr ""
-
-#: main/main.cpp
-msgid "Unhandled Exception Policy"
-msgstr ""
-
-#: main/main.cpp
-msgid "Main Loop Type"
-msgstr ""
-
-#: main/main.cpp scene/gui/texture_progress.cpp
-#: scene/gui/viewport_container.cpp
-msgid "Stretch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Aspect"
-msgstr ""
-
-#: main/main.cpp
-msgid "Shrink"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Auto Accept Quit"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Quit On Go Back"
-msgstr ""
-
-#: main/main.cpp scene/main/viewport.cpp
-msgid "Snap Controls To Pixels"
-msgstr ""
-
-#: main/main.cpp
-msgid "Dynamic Fonts"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Oversampling"
-msgstr ""
-
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-msgid "Active Soft World"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "CSG"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Height"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Operation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Calculate Tangents"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Use Collision"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-msgid "Collision Layer"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
-#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
-#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-msgid "Collision Mask"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Invert Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
-#: scene/3d/navigation_obstacle.cpp scene/3d/vehicle_body.cpp
-#: scene/animation/root_motion_view.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/circle_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/sphere_shape.cpp
-msgid "Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Radial Segments"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Rings"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Smooth Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Cone"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Ring Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
-#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-msgid "Polygon"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Degrees"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Node"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval Type"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Simplify Angle"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Rotation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Local"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Continuous U"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path U Distance"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Joined"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Compression Mode"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Transfer Channel"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Channel Count"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Always Ordered"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Server Relay"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Verify"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Hostname"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Use DTLS"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FBX"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Use FBX"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Config File"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Load Once"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Symbol Prefix"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Reloadable"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select the dynamic library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select dependencies of the library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Remove current entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Double click to create a new entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform:"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dynamic Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Add an architecture entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "GDNativeLibrary"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Enabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Disabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Class Name"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Script Class"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Icon Path"
-msgstr ""
-
-#: modules/gdnative/register_types.cpp
-msgid "GDNative"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript.cpp
-msgid "GDScript"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Function Definition Color"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Node Path Color"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
-msgid "Max Call Stack"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Treat Warnings As Errors"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Exclude Addons"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Autocomplete Setters And Getters"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Step argument is zero!"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not a script with an instance"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a script"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a resource file"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (missing @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (can't load script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (invalid script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary (invalid subclasses)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Object can't provide a length."
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Language Server"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Enable Smart Resolve"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Show Native Symbols In Editor"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Use Thread"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Mesh GLTF2"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export GLTF..."
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Normalized"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Min"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Max"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Buffer"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Length"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Stride"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Indices"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "FOV Size"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Zfar"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Znear"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/animation/root_motion_view.cpp scene/gui/color_picker.cpp
-#: scene/gui/color_rect.cpp scene/gui/rich_text_effect.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp
-msgid "Color"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
-#: scene/resources/environment.cpp
-msgid "Intensity"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-msgid "Range"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Inner Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Outer Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Blend Weights"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Instance Materials"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-msgid "Parent"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Xform"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
-msgid "Skin"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-msgid "Translation"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Children"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Roots"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
-msgid "Unique Names"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp
-msgid "Godot Bone Node"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Skin Root"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joints Original"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Inverse Binds"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Non Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Bone I"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Name"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Godot Skin"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Img"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Gloss Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Specular Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Spec Gloss Img"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Json"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Major Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Minor Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "GLB Data"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Use Named Skin Binds"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Buffer Views"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Accessors"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Scene Name"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Root Nodes"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-msgid "Textures"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
-msgid "Images"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Cameras"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-msgid "Lights"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Unique Animation Names"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeletons"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeleton To Node"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Animations"
-msgstr ""
-
-#: modules/gltf/gltf_texture.cpp
-msgid "Src Image"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Mesh Library"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Physics Material"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-msgid "Use In Baked Light"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
-msgid "Cell"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Octant Size"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center X"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Y"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Z"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/resources/material.cpp
-msgid "Mask"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Plane:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Floor:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Delete Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paste Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paint"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Snap View"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Disabled"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Above"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Below"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit X Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Y Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Z Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Clear Rotation"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Paste Selects"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clear Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Settings"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Filter meshes"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Begin Bake"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Preparing data structures"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Generate buffers"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Direct lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Indirect lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Post processing"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Plotting lightmaps"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "CPU Lightmapper"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Low Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Medium Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "High Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Ultra Quality Ray Count"
-msgstr ""
-
-#: modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-msgid "Loop Offset"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Eye Height"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "IOD"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display Width"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display To Lens"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Oversample"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K1"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K2"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Class name can't be a reserved keyword"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Build Solution"
-msgstr ""
-
-#: modules/mono/editor/csharp_project.cpp
-msgid "Auto Update Project"
-msgstr ""
-
-#: modules/mono/mono_gd/gd_mono_utils.cpp
-msgid "End of inner exception stack trace"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-#: scene/3d/navigation_mesh_instance.cpp
-msgid "A NavigationMesh resource must be set or created for this node to work."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Bake NavMesh"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Seamless"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "As Normal Map"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Bump Strength"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise Offset"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Octaves"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Period"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Persistence"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Lacunarity"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Subject"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Names"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Strings"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Multicast If"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Local Port"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover IPv6"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Description URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Control URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Our Addr"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Status"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"A node yielded without working memory, please read the docs on how to yield "
-"properly!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Node yielded, but did not return a function state in the first working "
-"memory."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Return value must be assigned to first element of node working memory! Fix "
-"your node please."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Found sequence bit but not the node in the stack, report bug!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Visual Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Signal Arguments"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Default Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Override an existing built-in function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Variables:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new variable."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new signal."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name is not a valid identifier:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name already in use by another func/var/signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete input port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't copy the function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Duplicate VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Preload Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s) From Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid ""
-"Can't drop properties because script '%s' is not used in this scene.\n"
-"Drop holding 'Shift' to just copy the signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Getter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Setter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Move Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Disconnect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Data"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Script already has function '%s'"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Input Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Resize Comment"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function with a function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function of nodes from nodes of multiple functions."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select at least one node with sequence port."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Try to only have one sequence input in selection."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Tool:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Members:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Nodes..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "function_name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select or create a function to edit its graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete Selected"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Find Node Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Copy Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Cut Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Refresh Graph"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Member"
-msgstr ""
-
-#: modules/visual_script/visual_script_expression.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Enabled"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "if (cond) is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "while (cond):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "for (elem) in (input):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "in order:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Steps"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "'input' is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Type Cast"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Is %s?"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Node Path"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Use Default Args"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Validate"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "RPC Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Subtract %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Multiply %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Divide %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Mod %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftLeft %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftRight %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitAnd %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitOr %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitXor %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Set Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Assign Op"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Get %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base object is not a Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Path does not lead to Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name '%s' in node %s."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Emit %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Compose Array"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Operator"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "a if cond, else b"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Var Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Preload"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Global Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Class Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Math Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Engine Singleton"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "CustomNode"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Custom node has no _step() method, can't process graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ""
-"Invalid return value from _step(), must be integer (seq out), or string "
-"(error)."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "SubCall"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
-msgid "Title"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Construct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Action %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Deconstruct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search VisualScript"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Yield"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Wait"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Physics Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "%s sec(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-msgid "Wait Time"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitNodeSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitInstanceSignal"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.cpp
-msgid "Write Mode"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "WebRTC"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "Max Channel In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Verify SSL"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Trusted SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Client"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Server"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Bind IP"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Private Key"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
-msgid "SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "CA Chain"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Handshake Timeout"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Session Mode"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Required Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Optional Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Requested Reference Space Types"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Reference Space Type"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Visibility State"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Bounds Geometry"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "XR Standard Mapping"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Android SDK Path"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore Pass"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Force System User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Shutdown ADB On Exit"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Launcher Icons"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Main 192 X 192"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Foreground 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Background 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package name is missing."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package segments must be of non-zero length."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' is not allowed in Android application package names."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A digit cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The package must have at least one '.' separator."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Use Custom Build"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Export Format"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-msgid "Architectures"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Keystore"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Debug Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "One Click Deploy"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Clear Previous Install"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Package"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Unique Name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signed"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Classify As Game"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Retain Data On Uninstall"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exclude From Recents"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Graphics"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "OpenGL Debug"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Features"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking Frequency"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Passthrough"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Immersive Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Small"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Normal"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Large"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Xlarge"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "User Data Backup"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Allow"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Command Line"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Extra Args"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Salt"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Public Key"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Custom Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Select device from the list"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Uninstalling..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Installing to device, please wait..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not install to device: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on device..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not execute on device."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build template not installed in the project. Install it from the "
-"Project menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Debug Keystore, Debug User AND Debug Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Release Keystore, Release User AND Release Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release keystore incorrectly configured in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A valid Android SDK path is required in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid Android SDK path in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'platform-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK platform-tools' adb command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Please check in the Android SDK directory specified in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'build-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK build-tools' apksigner command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid public key for APK expansion."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid package name:"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
-"project setting (changed in Godot 3.2.2).\n"
-"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
-"Note that the singleton was also renamed from \"GodotPayments\" to "
-"\"GodotGooglePlayBilling\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Use Custom Build\" must be enabled to use the plugins."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
-"or \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing debug %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing release %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not find keystore, unable to export."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' returned with error #%d"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Verifying %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' verification of %s failed."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting for Android"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android App Bundle requires the *.aab extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion not compatible with Android App Bundle."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android APK requires the *.apk extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Trying to build from a custom built template, but no version info for it "
-"exists. Please reinstall from the 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
-"Please reinstall Android build template from 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not write expansion package file!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Building Android Project (gradle)"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Building of Android project failed, check output for the error.\n"
-"Alternatively visit docs.godotengine.org for Android build documentation."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Moving output"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to copy and rename export file, check gradle project directory for "
-"outputs."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Creating APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
-"Please build a template with all required libraries, or uncheck the missing "
-"architectures in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adding files..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Aligning APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not unzip temporary unaligned APK."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier is missing."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "The character '%s' is not allowed in Identifier."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Landscape Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2436 X 1125"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2208 X 1242"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1024 X 768"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 2048 X 1536"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Portrait Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 960"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 1136"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 750 X 1334"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1125 X 2436"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 768 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1536 X 2048"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1242 X 2208"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Targeted Device Family"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Info"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Signature"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Short Version"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Copyright"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Capabilities"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Access Wi-Fi"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Push Notifications"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "User Data"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From Files App"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From iTunes Sharing"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Privacy"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Camera Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Microphone Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Photolibrary Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 120 X 120"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 180 X 180"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 76 X 76"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 152 X 152"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 167 X 167"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store 1024 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 40 X 40"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 80 X 80"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Launch Screen Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Image Scale Mode"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @2x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @3x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID not specified - cannot configure the project."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Invalid Identifier:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Stop HTTP Server"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run in Browser"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run exported HTML in the system's default browser."
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Variant"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Type"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "VRAM Texture Compression"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Desktop"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Mobile"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTML"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Icon"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Custom HTML Shell"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Head Include"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Canvas Resize Policy"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Focus Canvas On Start"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Experimental Virtual Keyboard"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Progressive Web App"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Offline Page"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 144 X 144"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 180 X 180"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 512 X 512"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Web"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Host"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Port"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Use SSL"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "SSL Key"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't get filesystem access."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get Info.plist hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no exe name."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no bundle id."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, can't load."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create \"%s\" subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to extract thin binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid binary format."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Already signed!"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to process nested resources."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get CodeResources hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-msgid "Invalid entitlements file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid executable file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't resize signature load command."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create fat binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown bundle type."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown object type."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Category"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "High Res"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Location Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendar Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Desktop Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Documents Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Downloads Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Removable Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Codesign"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Identity"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Timestamp"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Hardened Runtime"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Replace Existing Signature"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Entitlements"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Custom File"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow JIT Code Execution"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Unsigned Executable Memory"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Dyld Environment Variables"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Disable Library Validation"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Audio Input"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendars"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Events"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Debugging"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Sandbox"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Server"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Client"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device USB"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device Bluetooth"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Downloads"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Pictures"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Music"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Movies"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Custom Options"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Name"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Password"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Team ID"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"You can check progress manually by opening a Terminal and running the "
-"following command:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Run the following command to staple the notarization ticket to the exported "
-"application (optional):"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "No identity found."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Creating app bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Relative symlinks are not supported on this OS, the exported project might "
-"be broken!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
-"template archive."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making PKG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Ad-hoc signed applications require the 'Disable Library Validation' "
-"entitlement to load dynamic libraries."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making ZIP"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Notarization requires the app to be archived first, select the DMG or ZIP "
-"export format instead."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Sending archive for notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Invalid bundle identifier:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
-"signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Xcode command line tools are not installed, using built-in "
-"\"codesign\". Code signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Code signing is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Hardened runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID name not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID password not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is disabled. The exported project will be blocked by "
-"Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Code signing is disabled. The exported project will not run on Macs with "
-"enabled Gatekeeper and Apple Silicon powered Macs."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Hardened Runtime is not compatible with ad-hoc signature, and will be "
-"disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is not supported from this OS. The exported project "
-"will be blocked by Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Microphone access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Camera access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Location information access is enabled, but usage description is "
-"not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Address book access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Calendar access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Photo library access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "macOS"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Force Builtin Codesign"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Architecture"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Short Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Product GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Signing"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Algorithm"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Major"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Minor"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Build"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Revision"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Store Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 44 X 44 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 71 X 71 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 150 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 310 X 310 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Wide 310 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Splash Screen"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Tiles"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 150 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Wide 310 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 310 X 310"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package short name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package unique name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package publisher display name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid product GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid publisher GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid background color."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid Store Logo image dimensions (should be 50x50)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 44x44 logo image dimensions (should be 44x44)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 71x71 logo image dimensions (should be 71x71)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 150x150 logo image dimensions (should be 150x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 310x310 logo image dimensions (should be 310x310)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid splash screen image dimensions (should be 620x300)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "UWP"
-msgstr ""
-
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Signtool"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Identity Type"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Timestamp Server URL"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Digest Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Modify Resources"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Company Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Description"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Trademarks"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid ""
-"The rcedit tool must be configured in the Editor Settings (Export > Windows "
-"> Rcedit) to change the icon or app information data."
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid icon path:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid file version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid product version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Windows"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Rcedit"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Osslsigncode"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Wine"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/texture.cpp
-msgid "Frames"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite to display frames."
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Speed Scale"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
-#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Playing"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Centered"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip H"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip V"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitoring"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitorable"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Physics Overrides"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Space Override"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Point"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Distance Scale"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Vec"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Gravity"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Linear Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Angular Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Audio Bus"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Override"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
-#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-msgid "Volume dB"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Pitch Scale"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Autoplay"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Stream Paused"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
-msgid "Max Distance"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
-msgid "Attenuation"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Bus"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-msgid "Area Mask"
-msgstr ""
-
-#: scene/2d/back_buffer_copy.cpp
-msgid "Copy Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Anchor Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Rotating"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
-#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
-msgid "Current"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-msgid "Zoom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
-msgid "Custom Viewport"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
-msgid "Process Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Limit"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Left"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Right"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp
-msgid "Bottom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothed"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin H Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin V Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothing"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "H"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "V"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Screen"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Limits"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Drag Margin"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Blend Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Light Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Animation"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim H Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim V Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim Loop"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-msgid "Visibility"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
-#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-msgid "Visible"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Self Modulate"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show Behind Parent"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show On Top"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Light Mask"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Use Parent Material"
-msgstr ""
-
-#: scene/2d/canvas_modulate.cpp
-msgid ""
-"Only one visible CanvasModulate is allowed per scene (or set of instanced "
-"scenes). The first created one will work, while the rest will be ignored."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
-"define its shape."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid "Pickable"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid ""
-"CollisionPolygon2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "An empty CollisionPolygon2D has no effect on collision."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid ""
-"The One Way Collision property will be ignored when the parent is an Area2D."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Build Mode"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
-#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Disabled"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision Margin"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"CollisionShape2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"A shape must be provided for CollisionShape2D to function. Please create a "
-"shape resource for it!"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"Polygon-based shapes are not meant be used nor edited directly through the "
-"CollisionShape2D node. Please use the CollisionPolygon2D node instead."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid ""
-"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Emitting"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Lifetime"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-msgid "One Shot"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Preprocess"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Explosiveness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Lifetime Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fixed FPS"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fract Delta"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Drawing"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Local Coords"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Draw Order"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Emission Shape"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Sphere Radius"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid "Rect Extents"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Normals"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Align Y"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Direction"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Spread"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Initial Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Angular Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Orbit Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Linear Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Radial Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Tangential Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Damping"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Initial Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Hue Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Curve"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node B must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Joint is not connected to two PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be different PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node A"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node B"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/resources/environment.cpp
-msgid "Bias"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Disable Collision"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Softness"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Initial Offset"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
-msgid "Rest Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-msgid "Stiffness"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid ""
-"A texture with the shape of the light must be supplied to the \"Texture\" "
-"property."
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-msgid "Editor Only"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Texture Scale"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-msgid "Energy"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Item Cull Mask"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-msgid "Shadow"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Buffer Size"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Gradient Length"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Filter Smooth"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "Closed"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
-msgid "Cull Mode"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid ""
-"An occluder polygon must be set (or drawn) for this occluder to take effect."
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Width Curve"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Default Color"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Fill"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Gradient"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Texture Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Capping"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Joint Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Begin Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "End Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-msgid "Border"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Sharp Limit"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Round Precision"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/resources/dynamic_font.cpp
-msgid "Antialiased"
-msgstr ""
-
-#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-msgid "Multimesh"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
-#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
-#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Cell Size"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-msgid "Edge Connection Margin"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp
-msgid ""
-"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-msgid "Estimate Radius"
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp
-msgid ""
-"The NavigationObstacle2D only serves to provide collision avoidance to a "
-"Node2D object."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"A NavigationPolygon resource must be set or created for this node to work. "
-"Please set a property or draw a polygon."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Scale"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-msgid "Global Transform"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Z As Relative"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Offset"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Scale"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit Begin"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit End"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Ignore Camera Zoom"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid ""
-"ParallaxLayer node only works when set as child of a ParallaxBackground node."
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid "Mirroring"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles2D node instead. You can use the \"Convert to "
-"CPUParticles2D\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"On macOS, Particles2D rendering is much slower than CPUParticles2D due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles2D instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles2D\" toolbar option for this "
-"purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid ""
-"A material to process the particles is not assigned, so no behavior is "
-"imprinted."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"Particles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid "Visibility Rect"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid "Process Material"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
-#: scene/resources/texture.cpp
-msgid "Curve"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "PathFollow2D only works when set as a child of a Path2D node."
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Unit Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "H Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "V Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Cubic Interp"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "Lookahead"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-msgid "Layers"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Linear Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Angular Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Friction"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Bounce"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Physics Material Override"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid ""
-"Size changes to RigidBody2D (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Mass"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Inertia"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Weight"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Gravity Scale"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Custom Integrator"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Continuous CD"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contacts Reported"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contact Monitor"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Sleeping"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Can Sleep"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Damp"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Angular"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Applied Forces"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Torque"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Safe Margin"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Sync To Physics"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Moving Platform"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Apply Velocity On Leave"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-msgid "Normal"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Remainder"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Local Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider ID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider RID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Shape Index"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Metadata"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Invert"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Vertex Colors"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Internal Vertex Count"
-msgstr ""
-
-#: scene/2d/position_2d.cpp
-msgid "Gizmo Extents"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Exclude Parent"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Cast To"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Collide With"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Areas"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Bodies"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp
-msgid "Path property must point to a valid Node2D node to work."
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Remote Path"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Use Global Coordinates"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
-msgid "Rest"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "Default Length"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid ""
-"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Hframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Vframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Frame Coords"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/resources/texture.cpp
-msgid "Filter Clip"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid ""
-"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
-"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
-"KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Set"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Quadrant Size"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Custom Transform"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Half Offset"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Origin"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Y Sort"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Show Collision"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Compatibility Mode"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Centered Textures"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Cell Clip UV"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Parent"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Kinematic"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Centered"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Visible"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Passby Press"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Visibility Mode"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid ""
-"VisibilityEnabler2D works best when used with the edited scene root directly "
-"as parent."
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Pause Animations"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Freeze Bodies"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Particles"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Animated Sprites"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Process Parent"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Physics Process Parent"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Reverb Bus"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Uniformity"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRCamera must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Controller ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
-msgid "Rumble"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The controller ID must not be 0 or this controller won't be bound to an "
-"actual controller."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Anchor ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The anchor ID must not be 0 or this anchor won't be bound to an actual "
-"anchor."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-msgid "World Scale"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Model"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit Size"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Max dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Out Of Range Mode"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Emission Angle"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Degrees"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Filter Attenuation dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Filter"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Cutoff Hz"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Doppler"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Tracking"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp
-msgid "Interior"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Finding meshes and lights"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing geometry (%d/%d)"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing environment"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generating capture"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Saving lightmaps"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Done"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp
-#: scene/resources/rectangle_shape_2d.cpp
-msgid "Extents"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Tweaks"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounces"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounce Indirect Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Denoiser"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Use HDR"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Default Texels Per Unit"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Atlas"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generate"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Max Size"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky Rotation Degrees"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-msgid "Custom Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Min Light"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Propagation"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Image Path"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Light Data"
-msgstr ""
-
-#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-msgid "Bone Name"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Keep Aspect"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
-msgid "Cull Mask"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Doppler Tracking"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Projection"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "FOV"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Frustum Offset"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Near"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Far"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/shape.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Margin"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Clip To"
-msgstr ""
-
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-msgid "Ray Pickable"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid "Capture On Drag"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape or CollisionPolygon as a child to define "
-"its shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid ""
-"CollisionPolygon only serves to provide a collision shape to a "
-"CollisionObject derived node. Please only use it as a child of Area, "
-"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid "An empty CollisionPolygon has no effect on collision."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"CollisionShape only serves to provide a collision shape to a CollisionObject "
-"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
-"KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"A shape must be provided for CollisionShape to function. Please create a "
-"shape resource for it."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"Plane shapes don't work well and will be removed in future versions. Please "
-"don't use them."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"ConcavePolygonShape doesn't support RigidBody in another mode than static."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid "Nothing is visible because no mesh has been assigned."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid ""
-"CPUParticles animation requires the usage of a SpatialMaterial whose "
-"Billboard Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Box Extents"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Inner Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Height"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Axis"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Rotate Y"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Disable Z"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Flatness"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-msgid "Portals"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Portal Mode"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Include In Bound"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Allow Merging"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Autoplace Priority"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Plotting Meshes"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Finishing Plot"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"GIProbes are not supported by the GLES2 video driver.\n"
-"Use a BakedLightmap instead."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"The GIProbe Compress property has been deprecated due to known bugs and no "
-"longer has any effect.\n"
-"To remove this warning, disable the GIProbe's Compress property."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Subdiv"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Dynamic Range"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp scene/3d/light.cpp
-msgid "Normal Bias"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Pixel Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Billboard"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Shaded"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Double Sided"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "No Depth Test"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Fixed Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Alpha Cut"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/material.cpp
-msgid "Alpha Scissor Threshold"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Modulate"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-msgid "Font"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-msgid "Horizontal Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Vertical Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
-msgid "Autowrap"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Indirect Energy"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Negative"
-msgstr ""
-
-#: scene/3d/light.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Specular"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bake Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Contact"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Reverse Cull Face"
-msgstr ""
-
-#: scene/3d/light.cpp servers/visual_server.cpp
-msgid "Directional Shadow"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 1"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 2"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 3"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Blend Splits"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bias Split Scale"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Depth Range"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Omni"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Detail"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Spot"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Angle Attenuation"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Software Skinning"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Transform Normals"
-msgstr ""
-
-#: scene/3d/navigation.cpp scene/resources/curve.cpp
-msgid "Up Vector"
-msgstr ""
-
-#: scene/3d/navigation.cpp
-msgid "Cell Height"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Agent Height Offset"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Ignore Y"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid ""
-"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-msgid "NavMesh"
-msgstr ""
-
-#: scene/3d/navigation_obstacle.cpp
-msgid ""
-"The NavigationObstacle only serves to provide collision avoidance to a "
-"Spatial inheriting parent object."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "No shape is set."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "Only uniform scales are supported."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles node instead. You can use the \"Convert to "
-"CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"On macOS, Particles rendering is much slower than CPUParticles due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Particles animation requires the usage of a SpatialMaterial whose Billboard "
-"Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Visibility AABB"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Draw Passes"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Passes"
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "PathFollow only works when set as a child of a Path node."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid ""
-"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
-"parent Path's Curve resource."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "Rotation Mode"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid ""
-"Size changes to RigidBody (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Axis Lock"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Joint Constraints"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Impulse Clamp"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Swing Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Twist Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Bias"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "ERP"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Body Offset"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node B must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Joint is not connected to any PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be different PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Solver"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Exclude Nodes"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Params"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Motor"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Target Velocity"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Max Impulse"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Restitution"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Force Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Z"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "The RoomManager should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A Room should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A RoomGroup should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Portal Active"
-msgstr ""
-
-#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
-msgid "Two Way"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Linked Room"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Use Default Margin"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Group Name"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Dispatch Mode"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Grid Radius"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp
-msgid "Debug Shape"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
-msgid "Thickness"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-msgid "Update Mode"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Origin Offset"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Box Projection"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Enable Shadows"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Color"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Energy"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Contrib"
-msgstr ""
-
-#: scene/3d/remote_transform.cpp
-msgid ""
-"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
-"derived node to work."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A Room cannot have another Room as a child or grandchild."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "The RoomManager should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A RoomGroup should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid ""
-"Room convex hull contains a large number of planes.\n"
-"Consider simplifying the room bound in order to increase performance."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Use Default Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp scene/3d/room_manager.cpp
-msgid "Room Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Bound"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "Roomgroup Priority"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "The RoomManager should not be placed inside a RoomGroup."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList has not been assigned."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList node should be a Spatial (or derived from Spatial)."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal Depth Limit is set to Zero.\n"
-"Only the Room that the Camera is in will render."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "There should only be one RoomManager in the SceneTree."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Main"
-msgstr ""
-
-#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Active"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roomlist"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Mode"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Filename"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "Gameplay"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Gameplay Monitor"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Use Secondary PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Merge Meshes"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Show Margins"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Debug Sprawl"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Overlap Warning Threshold"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Preview Camera"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal Depth Limit"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Default Portal Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roaming Expansion Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"RoomList path is invalid.\n"
-"Please check the RoomList branch has been assigned in the RoomManager."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "RoomList contains no Rooms, aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Misnamed nodes detected, check output log for details. Aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal link room not found, check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal autolink failed, check output log for details.\n"
-"Check the portal is facing outwards from the source room."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Room overlap detected, cameras may work incorrectly in overlapping area.\n"
-"Check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Error calculating room bounds.\n"
-"Ensure all rooms contain geometry or manual bounds."
-msgstr ""
-
-#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-msgid "Pose"
-msgstr ""
-
-#: scene/3d/skeleton.cpp
-msgid "Bound Children"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pinned Points"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Attachments"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Point Index"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Spatial Attachment Path"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Physics Enabled"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Parent Collision Ignore"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Simulation Precision"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Total Mass"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Linear Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Areaangular Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Volume Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pressure Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Damping Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Drag Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pose Matching Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "This body will be ignored until you set a mesh."
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid ""
-"Size changes to SoftBody will be overridden by the physics engine when "
-"running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Matrix"
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Gizmo"
-msgstr ""
-
-#: scene/3d/spatial_velocity_tracker.cpp
-msgid "Track Physics Step"
-msgstr ""
-
-#: scene/3d/spring_arm.cpp
-msgid "Spring Length"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-msgid "Opacity"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Transparent"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite3D to display frames."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid ""
-"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
-"it as a child of a VehicleBody."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Per-Wheel Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Engine Force"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Brake"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "VehicleBody Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Traction"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Wheel"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Roll Influence"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Friction Slip"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Suspension"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Max Force"
-msgstr ""
-
-#: scene/3d/visibility_notifier.cpp
-msgid "AABB"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
-msgid "Geometry"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Override"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Overlay"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Cast Shadow"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Extra Cull Margin"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Baked Light"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Generate Lightmap"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Lightmap Scale"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "LOD"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
-#: scene/resources/material.cpp
-msgid "Min Distance"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Min Hysteresis"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Max Hysteresis"
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"WorldEnvironment requires its \"Environment\" property to contain an "
-"Environment to have a visible effect."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set "
-"this environment's Background Mode to Canvas (for 2D scenes)."
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Mix Mode"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadein Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadeout Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Auto Restart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Autorestart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Random Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Add Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Blend Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Seek Position"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Input Count"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Xfade Time"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Switch Mode"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Auto Advance"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Advance Condition"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Anim Apply Reset"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Assigned Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Reset On Save"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Length"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Position"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Playback Options"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Default Blend Time"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Method Call Mode"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "In node '%s', invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Nothing connected to input '%s' of node '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "No root AnimationNode for the graph is set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path to an AnimationPlayer node containing animations is not set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "The AnimationPlayer root node is not a valid node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Tree Root"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Anim Player"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Root Motion"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Track"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "This node has been deprecated. Use AnimationTree instead."
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Playback"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Master Player"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Base Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Animation Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Zero Y"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Root Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Tip Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Interpolation"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Override Tip Basis"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Use Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Target Node"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Max Iterations"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Process Mode"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Speed"
-msgstr ""
-
-#: scene/audio/audio_stream_player.cpp
-msgid "Mix Target"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Ratio"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp
-#: scene/gui/texture_rect.cpp
-msgid "Stretch Mode"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
-msgid "Alignment"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Shortcut In Tooltip"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Action Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Enabled Focus Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Keep Pressed Outside"
-msgstr ""
-
-#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
-msgid "Shortcut"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Group"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp
-msgid "Clip Text"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
-#: scene/gui/spin_box.cpp
-msgid "Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Icon Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Expand Icon"
-msgstr ""
-
-#: scene/gui/center_container.cpp
-msgid "Use Top Left"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid ""
-"Color: #%s\n"
-"LMB: Apply color\n"
-"RMB: Remove preset"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Edit Alpha"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Deferred Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Enabled"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Visible"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Pick a color from the editor window."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Switch between hexadecimal and code values."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Add current color as a preset."
-msgstr ""
-
-#: scene/gui/container.cpp
-msgid ""
-"Container by itself serves no purpose unless a script configures its "
-"children placement behavior.\n"
-"If you don't intend to add a script, use a plain Control node instead."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Overrides"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid ""
-"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
-"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Anchor"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Grow Direction"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Min Size"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pivot Offset"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Clip Content"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Hint"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Tooltip"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Focus"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Left"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Top"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Right"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Bottom"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Next"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Previous"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Mouse"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Default Cursor Shape"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pass On Modal Close Click"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Size Flags"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Stretch Ratio"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Type Variation"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Window Title"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Dialog"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Hide On OK"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Alert!"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Please Confirm..."
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Mode Overrides Title"
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Must use a valid extension."
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Right Disconnects"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Scroll Offset"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Snap Distance"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Min"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Max"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Step"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Show Zoom Label"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimap"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Enable grid minimap."
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Show Close"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/gui/option_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Comment"
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Overlay"
-msgstr ""
-
-#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp
-#: scene/gui/tree.cpp scene/main/viewport.cpp
-msgid "Timers"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
-msgid "Incremental Search Max Interval Msec"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow Reselect"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow RMB Select"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Text Lines"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Auto Height"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Same Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Icon Scale"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Icon Size"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "V Align"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Visible Characters"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Percent Visible"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Lines Skipped"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Max Lines Visible"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
-msgid "Max Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret Character"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Expand To Text Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Context Menu Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Virtual Keyboard Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Clear Button Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Shortcut Keys Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Middle Mouse Paste Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Selecting Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
-#: scene/gui/text_edit.cpp
-msgid "Deselect On Focus Loss Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Right Icon"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Placeholder"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Alpha"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Caret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink Speed"
-msgstr ""
-
-#: scene/gui/link_button.cpp
-msgid "Underline"
-msgstr ""
-
-#: scene/gui/menu_button.cpp
-msgid "Switch On Hover"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Draw Center"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Region Rect"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid "Patch Margin"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Axis Stretch"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid ""
-"The Tile and Tile Fit options for Axis Stretch properties are only effective "
-"when using the GLES3 rendering backend.\n"
-"The GLES2 backend is currently in use, so these modes will act like Stretch "
-"instead."
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Popup"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Exclusive"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid ""
-"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine, but they will hide upon "
-"running."
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Checkable Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On State Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Submenu Popup Delay"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Allow Search"
-msgstr ""
-
-#: scene/gui/progress_bar.cpp
-msgid "Percent"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Min Value"
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Max Value"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Page"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Exp Edit"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Rounded"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Greater"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Lesser"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp
-msgid "Border Color"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp scene/resources/style_box.cpp
-msgid "Border Width"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Relative Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Absolute Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Elapsed Time"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Env"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Character"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "BBCode"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Meta Underlined"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Tab Size"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Fit Content Height"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Active"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Following"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Selection Enabled"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-msgid "Override Selected Font Color"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Custom Effects"
-msgstr ""
-
-#: scene/gui/scroll_bar.cpp
-msgid "Custom Step"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid ""
-"ScrollContainer is intended to work with a single child control.\n"
-"Use a container as child (VBox, HBox, etc.), or a Control and set the custom "
-"minimum size manually."
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Follow Focus"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Horizontal Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Vertical Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Default Scroll Deadzone"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Scrollable"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Tick Count"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Ticks On Borders"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Prefix"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Suffix"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Split Offset"
-msgstr ""
-
-#: scene/gui/split_container.cpp scene/gui/tree.cpp
-msgid "Collapsed"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Dragger Visibility"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Tab Align"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Current Tab"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Tabs Visible"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "All Tabs In Front"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Drag To Rearrange Enabled"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Use Hidden Tabs For Min Size"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Tab Close Display Policy"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Scrolling Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Readonly"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Bookmark Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Breakpoint Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Fold Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Hiding Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Wrap Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Vertical"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Horizontal"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Draw"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Block Mode"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Moving By Right Click"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Idle Detect (sec)"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Undo Stack Max Size"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Hover"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Focused"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Click Mask"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-#: scene/gui/video_player.cpp
-msgid "Expand"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Under"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Over"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Mode"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/material.cpp
-msgid "Tint"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Radial Fill"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Initial Angle"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Degrees"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
-msgid "Center Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Nine Patch Stretch"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Left"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Top"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Right"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Bottom"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Custom Minimum Height"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "(Other)"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Column Titles Visible"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Folding"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Root"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Drop Mode Flags"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Audio Track"
-msgstr ""
-
-#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Paused"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Buffering Msec"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Stream Position"
-msgstr ""
-
-#: scene/gui/viewport_container.cpp
-msgid "Stretch Shrink"
-msgstr ""
-
-#: scene/main/canvas_layer.cpp
-msgid "Follow Viewport"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download File"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download Chunk Size"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Body Size Limit"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Max Redirects"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Timeout"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid ""
-"Setting node name '%s' to be unique within scene for '%s', but it's already "
-"claimed by '%s'. This node is no longer set unique."
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Num Separator"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Casing"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Editor Description"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Pause Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Physics Interpolation Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Display Folded"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Filename"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Owner"
-msgstr ""
-
-#: scene/main/node.cpp scene/main/scene_tree.cpp
-msgid "Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Custom Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Process Priority"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Time Left"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Collisions Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Navigation Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Font Oversampling"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Edited Scene Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Multiplayer Poll"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Shapes"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Shape Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Contact Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Disabled Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Max Contacts Displayed"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-msgid "Draw 2D Outlines"
-msgstr ""
-
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Reflections"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Size"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Subdiv"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "MSAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use FXAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Debanding"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "HDR"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "Use 32 BPC Depth"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Default Environment"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid ""
-"Default Environment as specified in Project Settings (Rendering -> "
-"Environment -> Default Environment) could not be loaded."
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Enable Object Picking"
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid ""
-"Very low timer wait times (< 0.05 seconds) may behave in significantly "
-"different ways depending on the rendered or physics frame rate.\n"
-"Consider using a script's process loop instead of relying on a Timer for "
-"very low wait times."
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid "Autostart"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Viewport Path"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "ARVR"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Size Override Stretch"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Own World"
-msgstr ""
-
-#: scene/main/viewport.cpp scene/resources/world_2d.cpp
-msgid "World"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "World 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Transparent BG"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Handle Input Locally"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "FXAA"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debanding"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Keep 3D Linear"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Direct To Screen"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debug Draw"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Target"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "V Flip"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Clear Mode"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Object Picking"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable Input"
-msgstr ""
-
-#: scene/main/viewport.cpp servers/visual_server.cpp
-msgid "Shadow Atlas"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 0"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 1"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 2"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 3"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Global Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Tooltip Delay (sec)"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Swap OK Cancel"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Layer Names"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Use hiDPI"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom Font"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp
-msgid "Mix Rate"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-msgid "Stereo"
-msgstr ""
-
-#: scene/resources/concave_polygon_shape_2d.cpp
-msgid "Segments"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Resolution"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Interval"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Underline Spacing"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Check V Adjust"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Shadow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Outline Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset X"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset Y"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow As Outline"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Selected"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Uneditable"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimum Spaces"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/world.cpp
-#: scene/resources/world_2d.cpp
-msgid "Space"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folded"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Fold"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Readonly"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Max Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Slider"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tick"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Updown"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scaleborder Size"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close H Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close V Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Parent Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Toggle Hidden"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Accel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Frame"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Default Frame"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Default Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Comment Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Unfocused"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Normal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Select Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Collapsed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Guide Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Drop Position Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Relationship Line Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Font Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Item Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Relationship Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Guides"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Border"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Speed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Icon Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Side Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Top Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Large"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Files Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Screen Picker"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Add Preset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Hue"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Sample"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Overbright Indicator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG Icon"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Normal Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Mono Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Top"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Bottom"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Autohide"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "More"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Minor"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Major"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Fill"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Stroke"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Activity"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Pos"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Neg"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Horizontal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Vertical"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Hinting"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Override Oversampling"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Path"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Size"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Color"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Use Mipmaps"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Extra Spacing"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Char"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Data"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Background"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/sky.cpp
-msgid "Sky"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Custom FOV"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Orientation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation Degrees"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Canvas Max Layer"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/texture.cpp
-msgid "Camera Feed ID"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Ambient Light"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Contribution"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fog"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Color"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Amount"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Begin"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth End"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Min"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Max"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Tonemap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "White"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Auto Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Min Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SS Reflections"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Steps"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade In"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade Out"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Tolerance"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Roughness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SSAO"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Radius 2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Intensity 2"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Light Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "AO Channel Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Edge Sharpness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Far Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Distance"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transition"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Near Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Glow"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Levels"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "1"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "3"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "4"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "5"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "6"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "7"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bloom"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Threshold"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Luminance Cap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Scale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bicubic Upscale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Adjustments"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Brightness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Saturation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Color Correction"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Ascent"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Distance Field"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Raw Data"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Offsets"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Width"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Depth"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Data"
-msgstr ""
-
-#: scene/resources/line_shape_2d.cpp
-msgid "D"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Next Pass"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Shadow To Opacity"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Unshaded"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Lighting"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "World Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex Force sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Do Not Receive Shadows"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Disable Ambient Light"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ensure Correct Normals"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex MSDF"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Color"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use As Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Is sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Parameters"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Diffuse Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Specular Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Depth Draw Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Line Width"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Keep Scale"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow Amount"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Alpha Scissor"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Particles Anim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "H Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "V Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Metallic"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Texture Channel"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Emission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "On UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "NormalMap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Rim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Clearcoat"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Gloss"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Anisotropy"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flowmap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ambient Occlusion"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Deep Parallax"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Min Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Max Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Tangent"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Binormal"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Subsurf Scatter"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Transmission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Refraction"
-msgstr ""
-
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
-msgid "Detail"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV Layer"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV1"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar Sharpness"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Proximity Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Distance Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Async Mode"
-msgstr ""
-
-#: scene/resources/mesh.cpp
-msgid "Lightmap Size Hint"
-msgstr ""
-
-#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
-msgid "Custom AABB"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "Mesh Transform"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "NavMesh Transform"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Color Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Transform Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Custom Data Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Instance Count"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Visible Instance Count"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Parsed Geometry Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Geometry Mode"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Group Name"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Climb"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Slope"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Merge Size"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Verts Per Poly"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Distance"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Low Hanging Obstacles"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Ledge Spans"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "OccluderShapeSphere Set Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Polygon Points"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Hole Points"
-msgstr ""
-
-#: scene/resources/packed_scene.cpp
-msgid "Bundled"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Trail"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Divisor"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Size Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Normal Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Count"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Random"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Curve"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Rough"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Absorbent"
-msgstr ""
-
-#: scene/resources/plane_shape.cpp
-msgid "Plane"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Flip Faces"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Mid Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Width"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Depth"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Top Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Bottom Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Left To Right"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Is Hemisphere"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Curve Step"
-msgstr ""
-
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Slips On Slope"
-msgstr ""
-
-#: scene/resources/segment_shape_2d.cpp
-msgid "A"
-msgstr ""
-
-#: scene/resources/shape_2d.cpp
-msgid "Custom Solver Bias"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind Count"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bone"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Radiance Size"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Panorama"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Top Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Horizon Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Ground"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Bottom Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Sun"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Latitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Longitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Min"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Max"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Content Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Expand Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Skew"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Radius"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Detail"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Anti Aliasing"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow Begin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow End"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Load Path"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base Texture"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Image Size"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Side"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Front"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Back"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Storage Mode"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Lossy Storage Quality"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "From"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "To"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Current Frame"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Pause"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Which Feed"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Camera Is Active"
-msgstr ""
-
-#: scene/resources/theme.cpp
-msgid "Default Font"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Output Port For Preview"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Depth Draw"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Cull"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Diffuse"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Async"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Modes"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Input Name"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Uniform Name"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid ""
-"The sampler port is connected but not used. Consider changing the source to "
-"'SamplerPort'."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for preview."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for shader."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Texture Type"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Cube Map"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Default Value Enabled"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Default Value"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Color Default"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid comparison function for that type."
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Fallback Environment"
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Scenario"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Direct Space State"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity Vector"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Linear Damp"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Angular Damp"
-msgstr ""
-
-#: scene/resources/world_2d.cpp
-msgid "Canvas"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Primary"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Initialized"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "AR"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Anchor Detection Enabled"
-msgstr ""
-
-#: servers/arvr_server.cpp
-msgid "Primary Interface"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Audio Stream"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Random Pitch"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_capture.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#: servers/audio/effects/audio_stream_generator.cpp
-msgid "Buffer Length"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice Count"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Dry"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Wet"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Delay (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Rate Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Depth (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Level dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_panner.cpp
-msgid "Pan"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Attack (µs)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Release (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Mix"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Sidechain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 1"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 2"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Feedback"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Low-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Pre Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Keep Hf Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Drive"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Post Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Resonance"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Ceiling dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Threshold dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip Ratio"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Min Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Max Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Oversampling"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "FFT Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Predelay"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Msec"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Room Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "High-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "Tap Back Pos"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Pan Pullout"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Time Pullout (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Surround"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Enable Audio Input"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Output Latency"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Threshold dB"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Time"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Video Delay Compensation (ms)"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Bus Count"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Capture Device"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Global Rate Scale"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Feed"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Is Active"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Linear"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Angular"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Time Before Sleep"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "BP Hash Table Size"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Large Object Surface Threshold In Cells"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Mass"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Inertia"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Angular Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Linear Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Gravity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Linear Velocity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Exclude"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Shape RID"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Bodies"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Areas"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion Remainder"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Point"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Normal"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Depth"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Safe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Unsafe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Physics Engine"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Center Of Mass"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Principal Inertia Axes"
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Varying may not be assigned in the '%s' function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'vertex' function may not be reassigned in "
-"'fragment' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'fragment' function may not be reassigned in "
-"'vertex' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to uniform."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Constants cannot be modified."
-msgstr ""
-
-#: servers/visual/visual_server_scene.cpp
-msgid "Spatial Partitioning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Render Loop Enabled"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "VRAM Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import BPTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import S3TC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import PVRTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Lossless Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force PNG"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "WebP Compression Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Time Rollover Secs"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Cubemap Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 0 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 1 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 2 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 3 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shadows"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Filter Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Texture Array Reflections"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "High Quality GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Irradiance Max Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Vertex Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Lambert Over Burley"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Blinn Over GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Mesh Storage"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Split Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Physical Light Attenuation"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Depth Prepass"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable For Vendors"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Anisotropic Filter Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Nearest Mipmap Filter"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Software Skinning Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Ninepatch Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "OpenGL"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Send Null"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Orphan Buffers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching In Editor"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Single Rect Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Item Commands"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Colored Vertex Format Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Scissor Area Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Items"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batch Buffer Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Item Reordering Lookahead"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flash Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Diagnose Frame"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "GLES2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Compatibility"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable Half Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Enable High Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Precision"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract Amount"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Simple PVS"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "PVS Logging"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Signals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Remove Danglers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flip Imported Portals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Occlusion Culling"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Spheres"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Polygons"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Compilation Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Simultaneous Compiles"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Log Active Async Compiles Count"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Cache Size (MB)"
-msgstr ""
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index d995f44d36..3e4664c317 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -60,14 +60,16 @@
# Mateusz Zdrzałek <matjozohd@gmail.com>, 2022.
# Konrad <kobe-interactive@protonmail.com>, 2022.
# Pixel Zone - Godot Engine Tutorials <karoltomaszewskimusic@gmail.com>, 2022.
+# DK0492 <doriankaczmarek28@gmail.com>, 2022.
+# Dawid Skubij <davidsd@tlen.pl>, 2022.
+# kingofsponges <q.patex.q@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-15 20:00+0000\n"
-"Last-Translator: Pixel Zone - Godot Engine Tutorials "
-"<karoltomaszewskimusic@gmail.com>\n"
+"PO-Revision-Date: 2022-08-04 06:38+0000\n"
+"Last-Translator: kingofsponges <q.patex.q@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
"Language: pl\n"
@@ -76,7 +78,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -260,15 +262,16 @@ msgid "Data"
msgstr "Dane"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Sieć"
#: core/io/file_access_network.cpp
msgid "Remote FS"
-msgstr "Zdalny System Plików"
+msgstr "Zdalny System Plików"
#: core/io/file_access_network.cpp
msgid "Page Size"
@@ -336,7 +339,7 @@ msgstr "Członek transmisji"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Big endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
@@ -366,8 +369,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Niewystarczająca ilość bajtów dla bajtów dekodujących lub zły format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Niewłaściwe dane %i (nie przekazane) w wyrażeniu"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Niewłaściwe dane %d (nie przekazane) w wyrażeniu"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -397,7 +400,7 @@ msgstr "Przy wywołaniu \"%s\":"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr "Nasiono"
+msgstr "Ziarno"
#: core/math/random_number_generator.cpp
msgid "State"
@@ -411,6 +414,14 @@ msgstr "Kolejka komunikatów"
msgid "Max Size (KB)"
msgstr "Maks. rozmiar (KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Tryb myszki"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Użyj skumulowanego wejścia"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -436,6 +447,10 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "Fizyczny"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -484,11 +499,15 @@ msgstr "Pochylenie"
#: core/os/input_event.cpp
msgid "Pressure"
-msgstr "Ciśnienie"
+msgstr "Nacisk"
+
+#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "Odwrócone pióro"
#: core/os/input_event.cpp
msgid "Relative"
-msgstr "Relatywny"
+msgstr "Względny"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
@@ -590,7 +609,8 @@ msgstr "Opis"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Uruchom"
@@ -622,9 +642,8 @@ msgstr "Własna nazwa katalogu użytkownika"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Pokaż wszystko"
+msgstr "Wyświetlanie"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
@@ -638,23 +657,20 @@ msgstr "Szerokość"
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Światło"
+msgstr "Wysokość"
#: core/project_settings.cpp
msgid "Always On Top"
msgstr "Zawsze na wierzchu"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Rozciągnij po lewej"
+msgstr "Szerokość testowa"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Testowanie"
+msgstr "Wysokość testowa"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -677,6 +693,10 @@ msgid "Main Run Args"
msgstr "Główne argumenty włączania"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Nazywanie scen"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Wyszukiwanie w rozszerzeniach plików"
@@ -684,24 +704,18 @@ msgstr "Wyszukiwanie w rozszerzeniach plików"
msgid "Script Templates Search Path"
msgstr "Ścieżka wyszukiwania szablonów skryptów"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Kontrola wersji"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "Automatyczne ładowanie podczas uruchamiania"
+msgid "Version Control Autoload On Startup"
+msgstr "Automatyczne ładowanie kontroli wersji podczas uruchamiania"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nazwa wtyczki"
+msgid "Version Control Plugin Name"
+msgstr "Nazwa wtyczki kontroli wersji"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "Input"
+msgstr "Wejście"
#: core/project_settings.cpp
msgid "UI Accept"
@@ -803,7 +817,8 @@ msgid "Quality"
msgstr "Jakość"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filtry"
@@ -1071,6 +1086,7 @@ msgstr "Wysoka jakość"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Maksymalny rozmiar bufora mieszania kształtów (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Wolne"
@@ -1087,7 +1103,7 @@ msgstr "Odbij"
msgid "Time:"
msgstr "Czas:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Wartość:"
@@ -1179,7 +1195,7 @@ msgstr "Ilośc:"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argumenty"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1203,7 +1219,7 @@ msgstr "Ustaw uchwyt"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "Strumień"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1337,10 +1353,75 @@ msgid "Remove this track."
msgstr "Usuń tę ścieżkę."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Czas (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Pozycja"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Krok obrotu:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Typ:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Szablon eksportu nieprawidłowy:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Łagodne wejście-wyjście"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Ustaw uchwyt"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Ustaw uchwyt"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Członek transmisji"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Restart(y):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Zanikanie w (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animacje:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Przełącz aktywność ścieżki"
@@ -1552,7 +1633,8 @@ msgid "Add Method Track Key"
msgstr "Dodaj klucz ścieżki metody"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metoda nie znaleziona w obiekcie: "
#: editor/animation_track_editor.cpp
@@ -2085,14 +2167,15 @@ msgstr "Ulubione:"
msgid "Recent:"
msgstr "Ostatnie:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Szukaj:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Pasujące:"
@@ -2152,8 +2235,8 @@ msgstr "Szukaj zastępczego zasobu:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2161,8 +2244,8 @@ msgid "Open"
msgstr "Otwórz"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Właściciele:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Właściciele: %s (Suma: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2464,7 +2547,7 @@ msgid "Bus Options"
msgstr "Opcje magistrali"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikuj"
@@ -2516,8 +2599,9 @@ msgstr "Otwórz układ magistrali audio"
msgid "There is no '%s' file."
msgstr "Nie ma pliku \"%s\"."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Układ"
#: editor/editor_audio_buses.cpp
@@ -2720,6 +2804,25 @@ msgid "Choose"
msgstr "Wybierz"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Eksportowanie projektu dla platformy:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Skopiuj ścieżkę węzła"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pakiet zainstalowano poprawnie!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Nie powiodło się:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Zapisywanie pliku:"
@@ -2732,6 +2835,29 @@ msgid "Packing"
msgstr "Pakowanie"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "Zapisz plik PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "Nie można utworzyć pliku \"%s\"."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Nie udało się eksportować plików projektu"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Nie można otworzyć pliku do zapisu:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Zapisz jako"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2854,11 +2980,33 @@ msgstr "Nie znaleziono własnego szablonu debugowania."
msgid "Custom release template not found."
msgstr "Nie znaleziono własnego szablonu wydania."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Zarządzaj szablonami"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Podana ścieżka eksportu nie istnieje:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Nie znaleziono pliku szablonu:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Szablon eksportu nieprawidłowy:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Wyrównanie"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "W eksportach 32-bitowych dołączony PCK nie może być większy niż 4 GiB."
@@ -3029,9 +3177,9 @@ msgid "Import"
msgstr "Zaimportuj"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Eksportuj"
@@ -4192,15 +4340,6 @@ msgstr ""
"Nie można zapisać do pliku '%s', plik jest w użyciu, zablokowany lub nie ma "
"wystarczających uprawnień."
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scena"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Ścieżka sceny:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4332,6 +4471,10 @@ msgid "Default Color Picker Mode"
msgstr "Domyślny tryb pipety"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Kontrola wersji"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Użytkownik"
@@ -4359,6 +4502,10 @@ msgstr "Tryb bez rozproszeń."
msgid "Add a new scene."
msgstr "Dodaj nową scenę."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Wróć do poprzednio otwartej sceny."
@@ -5042,11 +5189,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Wybrany węzeł to nie Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Rozmiar: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Rozmiar:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Strona: "
#: editor/editor_properties_array_dict.cpp
@@ -5147,6 +5297,11 @@ msgstr ""
"Dodaj uruchamialny profil w menu eksportu lub zdefiniuj istniejący profil "
"jako uruchamialny."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Wpisz swoją logikę w metodzie _run()."
@@ -5343,7 +5498,7 @@ msgstr "Miniatura..."
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "Doki"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5431,7 +5586,9 @@ msgid "Draw Spaces"
msgstr "Wywołania rysowania:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Nawigacja"
@@ -5457,6 +5614,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Wybór GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Wygląd"
@@ -6030,10 +6196,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Menedżer projektów"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6805,14 +6973,6 @@ msgid "Replace in Files"
msgstr "Zastąp w plikach"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Znajdź: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Zastąp: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Zastąp wszystkie (NIE MOŻNA COFNĄĆ)"
@@ -6941,7 +7101,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtry:"
@@ -6960,7 +7120,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -7209,7 +7369,8 @@ msgid "Generating Lightmaps"
msgstr "Generowanie Lightmapy"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Generowanie dla siatki: "
#: editor/import/resource_importer_scene.cpp
@@ -7239,6 +7400,18 @@ msgid "Saving..."
msgstr "Zapisywanie..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7265,7 +7438,7 @@ msgstr ""
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "Mapa normalnych"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7929,11 +8102,20 @@ msgid "New Anim"
msgstr "Nowa animacja"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Utwórz nową animację"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Zmień nazwę animacji:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Zmień nazwę animacji"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Usunąć animację?"
@@ -7951,11 +8133,6 @@ msgid "Animation name already exists!"
msgstr "Nazwa animacji już istnieje!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Zmień nazwę animacji"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplikuj animację"
@@ -8053,10 +8230,12 @@ msgstr "Opcje trybu warstw cebuli"
msgid "Directions"
msgstr "Kierunki"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Poprzedni"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Przyszłe"
@@ -8097,10 +8276,6 @@ msgid "Pin AnimationPlayer"
msgstr "Przypnij AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Utwórz nową animację"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nazwa animacji:"
@@ -8216,7 +8391,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Ustaw koniec animacji. To jest przydatne dla podprzejść."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Przejście: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8233,11 +8409,6 @@ msgid "New name:"
msgstr "Nowa nazwa:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Zanikanie w (s):"
@@ -9152,6 +9323,7 @@ msgstr "Utwórz własne kości z węzłów"
msgid "Clear Custom Bones"
msgstr "Wyczyść własne kości"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9218,6 +9390,10 @@ msgid "Preview Canvas Scale"
msgstr "Podejrzyj skalę płótna"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Układ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Maska przesunięcia dla wstawiania kluczy."
@@ -9672,7 +9848,7 @@ msgstr "Utwórz obrys"
#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
#: scene/resources/texture.cpp
msgid "Mesh"
-msgstr "Siatka"
+msgstr "Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
@@ -9993,7 +10169,8 @@ msgid "Volume"
msgstr "Głośność"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Źródła emisji: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10227,6 +10404,7 @@ msgid "Points"
msgstr "Punkty"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Wielokąt"
@@ -10382,13 +10560,6 @@ msgid "Instance:"
msgstr "Instancja:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Typ:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Otwórz w edytorze"
@@ -10397,10 +10568,6 @@ msgstr "Otwórz w edytorze"
msgid "Load Resource"
msgstr "Wczytaj zasób"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Wstępny ładowacz zasobów"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Odbij portale"
@@ -11101,12 +11268,16 @@ msgstr "Obróć"
msgid "Translate"
msgstr "Przesuń"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Skalowanie: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Przesuwanie: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11130,11 +11301,6 @@ msgid "Yaw:"
msgstr "Odchylenie:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Rozmiar:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Narysowane obiekty:"
@@ -11622,7 +11788,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Nieprawidłowa geometria, nie można zastąpić przez siatkę."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Zamień na Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11654,15 +11821,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Uproszczenie: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Zmniejsz (piksele): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Zwiększ (piksele): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11726,6 +11896,11 @@ msgid "New Animation"
msgstr "Nowa animacja"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filtruj metody"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Szybkość:"
@@ -12617,8 +12792,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Wybierz poprzedni kształt, podkafelek lub Kafelek."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Obszar"
@@ -14129,40 +14303,22 @@ msgid "Runnable"
msgstr "Uruchamiany"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Usunąć profil \"%s\"?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Nie udało się wyeksportować projektu dla platformy \"%s\".\n"
-"Brak szablonów eksportu lub są nieprawidłowe."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Nie udało się wyeksportować projektu dla platformy \"%s\".\n"
-"Może to być przez problem z konfiguracją w profilu eksportu lub twoich "
-"ustawieniach eksportu."
+msgid "Delete preset '%s'?"
+msgstr "Usunąć profil \"%s\"?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Eksportowanie wszystkiego"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Podana ścieżka eksportu nie istnieje:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Brakuje szablonów eksportu dla tej platformy lub są uszkodzone:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Ścieżka eksportu"
@@ -14271,19 +14427,27 @@ msgid "More Info..."
msgstr "Przenieś do..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Eksport PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Wyeksportuj projekt"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Tryb eksportu?"
+msgid "Export All"
+msgstr "Eksportuj wszystko"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Proszę wybrać pusty folder."
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Export All..."
msgstr "Eksportuj wszystko"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14291,7 +14455,8 @@ msgid "ZIP File"
msgstr "Plik ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godotowa paczka gry"
#: editor/project_export.cpp
@@ -14299,6 +14464,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Brakuje eksportu szablonów dla tej platformy:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Założyciele projektu"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Zarządzaj szablonami eksportu"
@@ -14615,14 +14785,14 @@ msgid "Project Manager"
msgstr "Menedżer projektów"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Wczytywanie, proszę czekać..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Data modyfikacji"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Wczytywanie, proszę czekać..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Edytuj projekt"
@@ -15840,7 +16010,8 @@ msgid "Attach Node Script"
msgstr "Dołącz skrypt dla węzła"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Zdalny "
#: editor/script_editor_debugger.cpp
@@ -16723,7 +16894,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Wielokąt"
@@ -16901,7 +17072,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Wyłączony singleton GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Biblioteki: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16925,9 +17097,8 @@ msgstr "GDNative"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "Skrypt"
+msgstr "GDScript"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
@@ -17347,7 +17518,6 @@ msgid "Use In Baked Light"
msgstr "Stwórz Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17377,6 +17547,19 @@ msgstr "Wyśrodkowane"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Nawigacja"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Tryb nawigacji"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Następna płaszczyzna"
@@ -17795,7 +17978,8 @@ msgstr ""
"roboczej! Proszę naprawić swój węzeł."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Węzeł zwrócił niewłaściwą sekwencję wyjściową: "
#: modules/visual_script/visual_script.cpp
@@ -17803,7 +17987,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Znaleziono bit sekwencji, ale nie węzeł na stosie, zgłoś błąd!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Przepełnienie stosu z głębokością stosu: "
#: modules/visual_script/visual_script.cpp
@@ -18173,7 +18358,8 @@ msgid "for (elem) in (input):"
msgstr "for (element) in (wejście):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Typ danych wejściowych nie jest iterowalny: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18181,7 +18367,8 @@ msgid "Iterator became invalid"
msgstr "Iterator stał się nieprawidłowy"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterator stał się nieprawidłowy: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18345,11 +18532,13 @@ msgid "Operator"
msgstr "Iterator"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ":nieprawidłowy argument typu: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ":nieprawidłowe argumenty: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18362,11 +18551,13 @@ msgid "Var Name"
msgstr "Nazwa"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "Nie znaleziono VariableGet w skrypcie: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "Nie znaleziono VariableSet w skrypcie: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18677,6 +18868,11 @@ msgstr "Paczka musi mieć co najmniej jedną kropkę jako separator."
#: platform/android/export/export_plugin.cpp
#, fuzzy
+msgid "Custom Build"
+msgstr "Użyj niestandardowego katalogu użytkownika"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid "Use Custom Build"
msgstr "Użyj niestandardowego katalogu użytkownika"
@@ -18685,6 +18881,16 @@ msgstr "Użyj niestandardowego katalogu użytkownika"
msgid "Export Format"
msgstr "Ścieżka eksportu"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Rozmiar zarysu:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Docelowa liczba klatek na sekundę (FPS)"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18728,16 +18934,6 @@ msgstr "Sprawdź poprzednią instancję"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Rozmiar zarysu:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Docelowa liczba klatek na sekundę (FPS)"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18901,10 +19097,6 @@ msgid "Could not execute on device."
msgstr "Nie udało się uruchomić na urządzeniu."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Nie udało się znaleźć narzędzia \"apksigner\"."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18990,15 +19182,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins."
msgstr "\"Use Custom Build\" musi być włączone, by używać wtyczek."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" jest poprawne tylko, gdy \"Xr Mode\" jest \"Oculus Mobile "
"VrApi\" lub \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "\"Passthrough\" jest poprawne tylko, gdy \"Xr Mode\" jest \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
@@ -19007,30 +19201,58 @@ msgstr ""
"\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Zmiana \"Min Sdk\" jest poprawna tylko, gdy \"Use Custom Build\" jest "
"włączone."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Zmiana \"Target Sdk\" jest poprawna tylko, gdy \"Use Custom Build\" jest "
"włączone."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr "Wersja \"Target Sdk\" musi być większa lub równa wersji \"Min Sdk\"."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "DMG podpisywania kodu"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"\"apksigner\" nie został znaleziony.\n"
"Sprawdź, czy komenda jest dostępna w folderze narzędzi SDK Androida.\n"
@@ -19049,6 +19271,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Nie udało się znaleźć keystore, nie można eksportować."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Nie można było uruchomić podprocesu!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "\"apksigner\" zwrócił błąd #%d"
@@ -19078,8 +19305,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Nieprawidłowa nazwa pliku! APK Androida wymaga rozszerzenia *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Nieobsługiwany format eksportu!\n"
+msgid "Unsupported export format!"
+msgstr "Nieobsługiwany format eksportu!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19090,10 +19317,9 @@ msgstr ""
"informacja o wersji. Zainstaluj ponownie z menu \"Projekt\"."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Niezgodna wersja buildu Androida:\n"
@@ -19102,15 +19328,16 @@ msgstr ""
"Zainstaluj ponownie szablon z menu \"Projekt\"."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Nie udało się nadpisać plików \"res://android/build/res/*.xml\" nazwą "
"projektu"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "Nie udało się eksportować plików projektu do projektu gradle\n"
+msgid "Could not export project files to gradle project."
+msgstr "Nie udało się eksportować plików projektu do projektu gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19121,8 +19348,9 @@ msgid "Building Android Project (gradle)"
msgstr "Budowanie projektu Androida (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Budowanie projektu Androida się nie powiodło, sprawdź wyjście błędu.\n"
@@ -19142,7 +19370,8 @@ msgstr ""
"projektu gradle po informacje."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Pakiet nie znaleziony: %s"
#: platform/android/export/export_plugin.cpp
@@ -19150,17 +19379,16 @@ msgid "Creating APK..."
msgstr "Tworzenie APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Nie udało się znaleźć szablonu APK do eksportu:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19173,7 +19401,8 @@ msgid "Adding files..."
msgstr "Dodawanie plików..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Nie udało się eksportować plików projektu"
#: platform/android/export/export_plugin.cpp
@@ -19416,6 +19645,17 @@ msgstr "NiestandardowyWęzeł"
msgid "Custom BG Color"
msgstr "NiestandardowyWęzeł"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Zarządzaj szablonami"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Nie znaleziono własnego szablonu wydania."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Team ID nie podany - nie można skonfigurować projektu."
@@ -19437,22 +19677,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Uruchom wyeksportowany dokument HTML w domyślnej przeglądarce."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Nie można otworzyć szablonu dla eksportu:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Szablon eksportu nieprawidłowy:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Nie można zapisać pliku:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Ustaw margines"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Nie udało się odczytać pliku:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Separacja:"
@@ -19527,15 +19780,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Nie udało się odczytać powłoki HTML:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Nie udało się utworzyć folderu serwera HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Błąd uruchamiania serwera HTTP:"
#: platform/javascript/export/export.cpp
@@ -19828,9 +20084,29 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Nie udało się eksportować plików projektu"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Nie można było uruchomić podprocesu!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokalizacja"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
"Uwaga: Proces poświadczania trwa zazwyczaj mniej niż godzinę. Gdy proces "
"zostanie zakończony, otrzymasz wiadomość e-mail."
@@ -19852,18 +20128,82 @@ msgstr ""
"eksportowanej aplikacji (opcjonalnie):"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Timestamping nie jest kompatybilny z podpisem ad-hoc i będzie wyłączony!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Hardened Runtime nie jest kompatybilny z podpisem ad-hoc i zostanie "
+"wyłączony!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Nie znaleziono tożsamości."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Błąd zapisywania pliku: %s"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Relatywne linki symboliczne nie są obsługiwane na tym systemie operacyjnym, "
+"wyeksportowany projekt może być uszkodzony!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Kierunki"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Nie można było uruchomić podprocesu!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Tworzenie pakietu aplikacji"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Nie udało się znaleźć szablonu aplikacji do eksportu:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Szablon eksportu nieprawidłowy:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19872,8 +20212,9 @@ msgstr ""
"wyeksportowany projekt może być uszkodzony!"
#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
"Nie znaleziono żądanego szablonu pliku binarnego '%s'. Być może brakuje go w "
@@ -19920,6 +20261,15 @@ msgid "Sending archive for notarization"
msgstr "Przesyłanie archiwum w celu poświadczenia"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Nie udało się otworzyć pliku do odczytu ze ścieżki \"%s\"."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Nieprawidłowy identyfikator paczki:"
@@ -20268,6 +20618,11 @@ msgid "Debug Algorithm"
msgstr "Debugger"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nie można usunąć pliku tymczasowego:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20315,6 +20670,76 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Obrót losowy:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Nie udało się znaleźć keystore, nie można eksportować."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Nie udało się znaleźć keystore, nie można eksportować."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"Narzędzie rcedit musi być skonfigurowane w Ustawieniach edytora (Eksport > "
+"Windows > Rcedit), aby zmienić ikonę lub dane informacji o aplikacji."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Niepoprawny plik wykonywalny."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Nie udało się znaleźć keystore, nie można eksportować."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Nie udało się znaleźć keystore, nie można eksportować."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Niepoprawny identyfikator:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Niewłaściwa nazwa."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"Narzędzie rcedit musi być skonfigurowane w Ustawieniach edytora (Eksport > "
+"Windows > Rcedit), aby zmienić ikonę lub dane informacji o aplikacji."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Niepoprawny plik wykonywalny."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nie można usunąć pliku tymczasowego:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20335,6 +20760,23 @@ msgid "Invalid product version:"
msgstr "Nieprawidłowa wersja produktu:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Niepoprawny plik wykonywalny."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nowe okno"
@@ -20351,6 +20793,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20478,7 +20924,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Wybierz odległość:"
@@ -20529,7 +20976,7 @@ msgstr "Przybliż"
msgid "Custom Viewport"
msgstr "1 widok"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20806,26 +21253,23 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-#, fuzzy
msgid "One Shot"
-msgstr "Jednorazowy Węzeł"
+msgstr "Wyemituj raz"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Preprocess"
-msgstr "Przetwarzanie końcowe"
+msgstr "Przetwarzanie wstępne"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Explosiveness"
-msgstr ""
+msgstr "Wybuchowość"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Randomness"
-msgstr "Losowy restart (s):"
+msgstr "Losowość"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21299,11 +21743,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Edytuj połączenie:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Wiązanie"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Wybierz odległość:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Wybierz odległość:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Zaawansowane"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Włącz"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21321,16 +21797,6 @@ msgstr "Odbij poziomo"
msgid "Max Speed"
msgstr "Szybkość:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Wybierz odległość:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Włącz"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -21359,24 +21825,26 @@ msgstr ""
"zadziałał."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance musi być dzieckiem lub wnukiem węzła Navigation2D. "
-"Udostępnia on potrzebne dane nawigacyjne."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Wyśrodkowane na dole"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Przejdź"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Obracanie o %s stopni."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Stała globalna"
@@ -21490,9 +21958,8 @@ msgstr ""
"\"Particles Animation\"."
#: scene/2d/particles_2d.cpp
-#, fuzzy
msgid "Visibility Rect"
-msgstr "Tryb priorytetów"
+msgstr "Prostokąt widoczności"
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
msgid "Process Material"
@@ -22591,6 +23058,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformacja Zaniechana."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22616,14 +23090,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent może być stosowane wyłącznie pod węzłem przestrzennym."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance musi być dzieckiem lub wnukiem węzła typu Navigation. "
-"Udostępnia on tylko dane nawigacyjne."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23160,9 +23626,8 @@ msgid "A RoomGroup should not be a child or grandchild of a Portal."
msgstr "RoomGroup nie powinien być potomkiem Portalu."
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Active"
-msgstr " [portale aktywne]"
+msgstr "Portal Aktywny"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
@@ -23529,6 +23994,11 @@ msgstr ""
"Zamiast tego, zmień rozmiary kształtów kolizji w węzłach podrzędnych."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Zachowaj globalną transformację"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24445,7 +24915,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Karetka"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
@@ -24787,6 +25257,11 @@ msgstr "Folder:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Tylko zaznaczenie"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Włącz"
@@ -25123,9 +25598,8 @@ msgid "Draw 2D Outlines"
msgstr "Utwórz obrys"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "Kierunki"
+msgstr "Odbicia"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -25198,18 +25672,6 @@ msgstr "Ścieżka eksportu"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Ten Viewport nie jest ustawiony jako Render Target. Jeśli chcesz wyświetlić "
-"jego zawartość na ekranie dodaj go jako dziecko węzła typu Control, aby "
-"otrzymał jakiś rozmiar. W przeciwnym wypadku ustawi opcję RenderTarget i "
-"przyporządkuj jego teksturę dla któregoś węzła."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -25217,6 +25679,15 @@ msgstr ""
"cokolwiek renderować."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25375,6 +25846,16 @@ msgid "3D Physics"
msgstr "Fizyka"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Nawigacja"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Nawigacja"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26298,7 +26779,7 @@ msgstr "Warunek"
#: scene/resources/environment.cpp
msgid "Fog"
-msgstr ""
+msgstr "Mgła"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26480,9 +26961,8 @@ msgstr ""
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
-#, fuzzy
msgid "2"
-msgstr "2D"
+msgstr "2"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
@@ -26805,7 +27285,7 @@ msgstr "Przejście: "
msgid "Refraction"
msgstr "Separacja:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26890,7 +27370,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Skalowanie: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Ustaw typ zmiennej"
#: scene/resources/navigation_mesh.cpp
@@ -26908,10 +27393,15 @@ msgid "Source Group Name"
msgstr "Źródło"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Argumenty głównej sceny:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26921,11 +27411,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Obszar"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Połącz ze sceny"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26939,6 +27434,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Pokaż domyślne"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Wybierz odległość:"
@@ -26956,9 +27456,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Generowanie AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Przesunięcie:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27374,6 +27884,11 @@ msgid "Scenario"
msgstr "Scena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Nawigacja"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27391,6 +27906,26 @@ msgstr "Lewe liniowe"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Domyślny"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Domyślny podgląd"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testowanie"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Edytuj połączenie:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -27970,9 +28505,8 @@ msgid "Ninepatch Mode"
msgstr "Sposób interpolacji"
#: servers/visual_server.cpp
-#, fuzzy
msgid "OpenGL"
-msgstr "Otwórz"
+msgstr "OpenGL"
#: servers/visual_server.cpp
msgid "Batching Send Null"
@@ -28045,11 +28579,11 @@ msgstr "Wklej klatkę"
#: servers/visual_server.cpp
msgid "GLES2"
-msgstr ""
+msgstr "GLES2"
#: servers/visual_server.cpp
msgid "Compatibility"
-msgstr ""
+msgstr "Kompatybilność"
#: servers/visual_server.cpp
msgid "Disable Half Float"
@@ -28061,9 +28595,8 @@ msgid "Enable High Float"
msgstr "Włącz priorytety"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Precision"
-msgstr "Wyrażenie"
+msgstr "Precyzja"
#: servers/visual_server.cpp
msgid "UV Contract"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index 29256da025..4c073f8542 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -217,9 +217,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Slit th' Node"
@@ -333,7 +334,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nah enough bytes fer decodin' bytes, or ye got th' wrong ship."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Shiver me timbers! Ye input %i (not passed) in ye expression!"
#: core/math/expression.cpp
@@ -377,6 +379,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Slit th' Node"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -402,6 +413,11 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Paste yer Node"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -454,6 +470,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -565,7 +585,8 @@ msgstr "Yar, Blow th' Selected Down!"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -653,24 +674,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -779,7 +799,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Paste yer Node"
@@ -1052,6 +1073,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "O'en"
@@ -1068,7 +1090,7 @@ msgstr "See'in Double"
msgid "Time:"
msgstr "Sundial:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Grub:"
@@ -1329,10 +1351,70 @@ msgid "Remove this track."
msgstr "Discharge ye' Signal"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
+msgstr "Sundial:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Discharge ye' Signal"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Slit th' Node"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Yer index property name be thrown overboard!"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Slit th' Node"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Yer functions:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1546,7 +1628,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr "VariableGet be in davy jones locker! Not in th' script: "
#: editor/animation_track_editor.cpp
@@ -2083,14 +2165,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2146,8 +2229,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2155,7 +2238,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2451,7 +2534,7 @@ msgid "Bus Options"
msgstr "Yar, Blow th' Selected Down!"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2504,8 +2587,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2711,6 +2794,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Forge yer Node!"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2726,6 +2826,27 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Paste yer Node"
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2832,8 +2953,27 @@ msgstr "Yer fancy debug package be nowhere."
msgid "Custom release template not found."
msgstr "Yer fancy release package be nowhere."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Discharge ye' Variable"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Yer index property name be thrown overboard!"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -3015,9 +3155,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4126,14 +4266,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4253,6 +4385,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Rename Function"
@@ -4281,6 +4417,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4929,11 +5069,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5030,6 +5172,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Yer functions:"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5294,7 +5441,9 @@ msgid "Draw Spaces"
msgstr "Call"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Ye be fixin' Signal:"
@@ -5321,6 +5470,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5855,10 +6013,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6622,14 +6782,6 @@ msgid "Replace in Files"
msgstr "Find ye Node Type"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6762,7 +6914,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Paste yer Node"
@@ -7018,7 +7170,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -7046,6 +7198,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7740,11 +7904,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7763,11 +7936,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7865,10 +8033,12 @@ msgstr ""
msgid "Directions"
msgstr "Yer functions:"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7909,10 +8079,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8028,8 +8194,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Add Function"
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
@@ -8046,11 +8213,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8965,6 +9127,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9029,6 +9192,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9783,8 +9950,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Swap yer Expression"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10022,6 +10190,7 @@ msgid "Points"
msgstr "Discharge ye' Signal"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Ye be fixin' Signal:"
@@ -10178,13 +10347,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10193,10 +10355,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10919,13 +11077,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Slit th' Node"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Add Function"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10949,11 +11111,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11442,8 +11599,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Discharge ye' Function"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11476,15 +11634,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Add Function"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11551,6 +11710,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Paste yer Node"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12466,8 +12630,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13956,20 +14119,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13977,14 +14135,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14085,34 +14235,47 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Edit"
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Rename Function"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
msgstr ""
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Edit"
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Rename Function"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Yer functions:"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14389,11 +14552,11 @@ msgid "Project Manager"
msgstr "Yer functions:"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15593,7 +15756,7 @@ msgstr ""
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Remote "
+msgid "Remote %s:"
msgstr "Discharge ye' Signal"
#: editor/script_editor_debugger.cpp
@@ -16446,7 +16609,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Ye be fixin' Signal:"
@@ -16618,7 +16781,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17040,7 +17203,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17070,6 +17232,19 @@ msgstr "Slit th' Node"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Ye be fixin' Signal:"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Ye be fixin' Signal:"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17488,7 +17663,8 @@ msgstr ""
"workin' memry'! Swab the decks!"
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Blow the man down! Yer node's booty got ye n' a evil sequence output: "
#: modules/visual_script/visual_script.cpp
@@ -17498,7 +17674,8 @@ msgstr ""
"Captain!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Avast! Yer stack has burst! Her depth be: "
#: modules/visual_script/visual_script.cpp
@@ -17901,7 +18078,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Yar! Yer input aint iterable: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17909,7 +18087,8 @@ msgid "Iterator became invalid"
msgstr "Yer Iterator be no good"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Yer Iterator be no good: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18071,11 +18250,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Evil argument of th' type: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Evil arguments: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18088,11 +18269,13 @@ msgid "Var Name"
msgstr "Change"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet be in davy jones locker! Not in th' script: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet be in davy jones locker! Not in th' script: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18400,6 +18583,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Slit th' Node"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18408,6 +18596,16 @@ msgstr ""
msgid "Export Format"
msgstr "Change yer Anim Transform"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Edit"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Slit th' Node"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18447,16 +18645,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Edit"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Slit th' Node"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18613,10 +18801,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18694,12 +18878,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18708,25 +18892,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Yer signals:"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18742,6 +18950,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18770,7 +18982,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18781,19 +18993,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18806,7 +19016,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18821,7 +19031,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18829,15 +19039,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18848,8 +19055,9 @@ msgid "Adding files..."
msgstr "Find ye Node Type"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files."
+msgstr "Slit th' Node"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19087,6 +19295,17 @@ msgstr "Slit th' Node"
msgid "Custom BG Color"
msgstr "Slit th' Node"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Discharge ye' Variable"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Yer fancy release package be nowhere."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19109,24 +19328,34 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr "Yer index property name be thrown overboard!"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Slit th' Node"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Rename Variable"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Slit th' Node"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Yer functions:"
@@ -19201,16 +19430,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "Slit th' Node"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
+#, fuzzy
+msgid "Error starting HTTP server: %d."
+msgstr "Error loading yer Calligraphy Pen."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19497,9 +19728,27 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Slit th' Node"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Ye be fixin' Signal:"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19515,18 +19764,72 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Error loading yer Calligraphy Pen."
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Yer functions:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Yer index property name be thrown overboard!"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19534,7 +19837,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19576,6 +19879,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Yer functions:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Yer name's got no valid identifier:"
@@ -19887,6 +20199,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19933,6 +20249,65 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Slit th' Node"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Yer Calligraphy be wrongly sized."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Yer name's got no valid identifier:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Yer Calligraphy be wrongly sized."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Yer Calligraphy be wrongly sized."
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19954,6 +20329,23 @@ msgid "Invalid product version:"
msgstr "Yer product GUID be evil."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Yer Calligraphy be wrongly sized."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19969,6 +20361,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20083,7 +20479,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -20130,7 +20527,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20827,34 +21224,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Slit th' Node"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Slit th' Node"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Edit"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Paste yer Node"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Paste yer Node"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Paste yer Node"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20878,13 +21297,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Slit th' Node"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20892,7 +21314,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Rename Variable"
@@ -21983,6 +22405,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Slit th' Node"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -22004,12 +22433,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22840,6 +23263,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Change yer Anim Transform"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23985,6 +24413,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Slit th' Node"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Paste yer Node"
@@ -24367,16 +24800,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24526,6 +24960,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Ye be fixin' Signal:"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Ye be fixin' Signal:"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25894,7 +26338,7 @@ msgstr "Add Function"
msgid "Refraction"
msgstr "Yer functions:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25972,7 +26416,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Slit th' Node"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Edit yer Variable:"
#: scene/resources/navigation_mesh.cpp
@@ -25988,7 +26437,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26000,11 +26453,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Yer functions:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26017,6 +26475,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Change"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26033,9 +26496,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Discharge ye' Variable"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26429,6 +26901,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Ye be fixin' Signal:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26445,6 +26922,26 @@ msgstr "Yar, Blow th' Selected Down!"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "th' Base Type:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "th' Base Type:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "th' Base Type:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Slit th' Node"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/pt.po b/editor/translations/pt.po
index f1b5615da4..f284e0ece8 100644
--- a/editor/translations/pt.po
+++ b/editor/translations/pt.po
@@ -16,19 +16,23 @@
# ssantos <ssantos@web.de>, 2018, 2019, 2020, 2021.
# Gonçalo Dinis Guerreiro João <goncalojoao205@gmail.com>, 2019.
# Manuela Silva <mmsrs@sky.com>, 2020.
-# Murilo Gama <murilovsky2030@gmail.com>, 2020.
+# Murilo Gama <murilovsky2030@gmail.com>, 2020, 2022.
# Ricardo Subtil <ricasubtil@gmail.com>, 2020.
# André Silva <andre.olivais@gmail.com>, 2021.
# Danilo Conceição Rosa <danilorosa@protonmail.com>, 2022.
# Kaycke <kaycke@ymail.com>, 2022.
# Renu <ifpilucas@gmail.com>, 2022.
+# El_ExpertPlayer <xpertnathan37@gmail.com>, 2022.
+# Esdras Caleb Oliveira Silva <acheicaleb@gmail.com>, 2022.
+# Ednaldo Pereira Confia <filat51823@storypo.com>, 2022.
+# Zé Beato Página Oficial <zebeato@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-25 15:02+0000\n"
-"Last-Translator: Kaycke <kaycke@ymail.com>\n"
+"PO-Revision-Date: 2022-07-23 03:57+0000\n"
+"Last-Translator: Zé Beato Página Oficial <zebeato@gmail.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/"
"godot/pt/>\n"
"Language: pt\n"
@@ -36,7 +40,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -60,7 +64,7 @@ msgstr "V-Sync ativado"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr "V-Sync Via Compositor"
+msgstr "V-Sync via Compositor"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
@@ -71,9 +75,8 @@ msgid "Low Processor Usage Mode"
msgstr "Modo de Baixa Utilização do Processador"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr "Modo adormecer com Baixa Utilização do Processador (µsec)"
+msgstr "Suspensão do Modo de Baixa Utilização do Processador (µsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
@@ -142,9 +145,8 @@ msgid "Size"
msgstr "Tamanho"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Endian Swap"
-msgstr "Troca endiana"
+msgstr "Troca Endian"
#: core/bind/core_bind.cpp
msgid "Editor Hint"
@@ -167,9 +169,8 @@ msgid "Time Scale"
msgstr "Escala de Tempo"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Frame de Física %"
+msgstr "Arranjar Tremores nas Fisicas"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
@@ -180,9 +181,8 @@ msgid "Error String"
msgstr "Erro String"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "Erro Ao Gravar"
+msgstr "Erro na linha"
#: core/bind/core_bind.cpp
msgid "Result"
@@ -204,14 +204,12 @@ msgid "Limits"
msgstr "Limites"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Comando: Rodar"
+msgstr "Fila de Comando"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Multithreading Queue Size (KB)"
-msgstr "Tamanho da Fila Multilinha (KB)"
+msgstr "Tamanho da Fila Multithreading (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -222,21 +220,20 @@ msgstr "Função"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Data"
-msgstr "Com Dados"
+msgstr "Dados"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr "Analisador de Rede"
+msgstr "Rede"
#: core/io/file_access_network.cpp
msgid "Remote FS"
-msgstr "SF Remoto"
+msgstr "FS Remoto"
#: core/io/file_access_network.cpp
msgid "Page Size"
@@ -244,11 +241,11 @@ msgstr "Tamanho da Página"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr "Leitura de página em frente"
+msgstr "Página Lida Adiante"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr "Modo de blocagem ativado"
+msgstr "Modo de Bloqueio Ativado"
#: core/io/http_client.cpp
msgid "Connection"
@@ -287,26 +284,24 @@ msgid "Transfer Mode"
msgstr "Modo de Transferência"
#: core/io/packet_peer.cpp
-#, fuzzy
msgid "Encode Buffer Max Size"
-msgstr "Tamanho máximo do tampão de codificação"
+msgstr "Tamanho Máximo do Amortecedor de Codificação"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
msgstr "Tamanho máximo do Buffer de entrada"
#: core/io/packet_peer.cpp
-#, fuzzy
msgid "Output Buffer Max Size"
-msgstr "Tamanho máximo do buffer de saída"
+msgstr "Tamanho Máximo do Amortecedor de OutPut"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "Fluxo de pares"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Grande Endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
@@ -314,7 +309,7 @@ msgstr "Lista de dados"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Bloquear Handshake"
#: core/io/udp_server.cpp
msgid "Max Pending Connections"
@@ -337,8 +332,8 @@ msgstr ""
"Número de \"bytes\" insuficientes para descodificar, ou o formato é inválido."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Entrada inválida %i (não passada) na expressão"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Entrada inválida %d (não passada) na expressão"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -375,12 +370,20 @@ msgstr "Estado"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Fila de Mensagens"
#: core/message_queue.cpp
msgid "Max Size (KB)"
msgstr "Tamanho Máximo (KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Modo Mouse"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Usar Entrada Acumulada"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -392,60 +395,58 @@ msgstr "Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "Shift"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Control"
-msgstr "Controle de Versões"
+msgstr "Controle"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "Comunidade"
+msgstr "Comando"
+
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (Físico)"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
-msgstr "Predefinições"
+msgstr "Pressionado"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Pequisar"
+msgstr "Código de Digitalização"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical Scancode"
-msgstr "Chave Física"
+msgstr "Código de Digitalização Físico"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "Eco"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
-msgstr "Botão"
+msgstr "Mascara de Botão"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
msgid "Global Position"
msgstr "Posição Global"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "Vetor"
+msgstr "Fator"
#: core/os/input_event.cpp
msgid "Button Index"
@@ -457,12 +458,15 @@ msgstr "Clique duplo"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "Inclinar"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "Predefinições"
+msgstr "Pressione"
+
+#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
#: core/os/input_event.cpp
msgid "Relative"
@@ -497,7 +501,7 @@ msgstr "Ação"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "Força"
#: core/os/input_event.cpp
msgid "Delta"
@@ -536,14 +540,12 @@ msgstr "Valor do Controlador"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "Ação"
+msgstr "Aplicação"
#: core/project_settings.cpp main/main.cpp
-#, fuzzy
msgid "Config"
-msgstr "Configurar Ajuste"
+msgstr "Configurações"
#: core/project_settings.cpp
msgid "Project Settings Override"
@@ -570,7 +572,8 @@ msgstr "Descrição"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Executar"
@@ -580,39 +583,36 @@ msgid "Main Scene"
msgstr "Cena Principal"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "Desativar Autotile"
+msgstr "Desativar stdout"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "Item Desativado"
+msgstr "Desativar stderr"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "Use o diretório de dados ocultos do projeto"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Usar Diretório de Usuário Personalizado"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "Nome de Diretório de Usuário Personalizado"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Mostrar Tudo"
+msgstr "Exibição"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Largura"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -620,23 +620,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Luz"
+msgstr "Altura"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Sempre no topo"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Esquerda Wide"
+msgstr "Largura de Teste"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Em teste"
+msgstr "Altura de Teste"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -659,74 +656,65 @@ msgid "Main Run Args"
msgstr "Argumentos da Execução Principal"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Nomear a Cena"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "Pesquisar em Extensões de Arquivo"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Controle de Versões"
+msgstr "Caminho de Pesquisa para Modelos de Script"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+msgid "Version Control Autoload On Startup"
+msgstr "Carregamento Automático de Controle de Versão na inicialização"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nome do Plugin"
+msgid "Version Control Plugin Name"
+msgstr "Nome do Plug-in de Controle de Versão"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "Adicionar entrada"
+msgstr "Entrada"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "Aceitar UI"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "Selecionar"
+msgstr "Selecionar IU"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
-msgstr "Cancelar"
+msgstr "Cancelar IU"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "Caminho de Foco"
+msgstr "Foco da IU em Seguida"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "Caminho de Foco"
+msgstr "Foco da IU Anterior"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Left"
-msgstr "Topo Esquerda"
+msgstr "IU Esquerda"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Right"
-msgstr "Topo Direita"
+msgstr "IU Direita"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "UI Acima"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "Para baixo"
+msgstr "IU Baixo"
#: core/project_settings.cpp
msgid "UI Page Up"
@@ -734,16 +722,15 @@ msgstr "UI Página Acima"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "UI Página Inferior"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "UI Inicio"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI End"
-msgstr "No Fim"
+msgstr "IU Final"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -764,12 +751,11 @@ msgstr "Física"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "3D"
#: core/project_settings.cpp
-#, fuzzy
msgid "Smooth Trimesh Collision"
-msgstr "Criar Irmão de Colisão Trimesh"
+msgstr "Colisão Trimesh Suave"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -791,16 +777,17 @@ msgstr "Renderizar"
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "Qualidade"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filtros"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "Intensidade da Nitidez"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -825,55 +812,52 @@ msgid "Profiler"
msgstr "Analisador"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "Criar Função"
+msgstr "Funções Máximas"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Compression"
-msgstr "Expressão"
+msgstr "Compressão"
#: core/project_settings.cpp
-#, fuzzy
msgid "Formats"
-msgstr "Formato"
+msgstr "Formatos"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "Correspondência de Longa Distância"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "Nível de Compressão"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "Tamanho da Janela de Registro"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "Módulos"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
msgid "Connect Timeout Seconds"
@@ -881,15 +865,15 @@ msgstr "Segundos de Timeout da Conexão"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "Fluxo de Pacotes de Pares"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Buffer máximo (Potência de 2)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
msgid "Certificates"
@@ -902,9 +886,8 @@ msgid "Resource"
msgstr "Recurso"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "Fechar Cena"
+msgstr "Local para Cena"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -914,22 +897,20 @@ msgid "Path"
msgstr "Caminho"
#: core/script_language.cpp
-#, fuzzy
msgid "Source Code"
-msgstr "Fonte"
+msgstr "Código Fonte"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
msgstr "Localização"
#: core/translation.cpp
-#, fuzzy
msgid "Test"
-msgstr "Em teste"
+msgstr "Testar"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "Alternativa"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -965,17 +946,17 @@ msgstr "EiB"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "Buffers"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "Tamanho do Buffer do Polígono da Tela (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "Tamanho do buffer do índice do polígono da tela (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -987,56 +968,52 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
-msgstr "Ajuste Inteligente"
+msgstr "Encaixe"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Use GPU Pixel Snap"
-msgstr "Usar Ajuste de Pixel"
+msgstr "Usar o Encaixe Pixel da GPU"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Tamanho de Buffer Imediato (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
-#, fuzzy
msgid "Lightmapping"
-msgstr "Consolidar Lightmaps"
+msgstr "Mapeamento de Luz"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Usar amostragem Bicúbica"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Máximo de Elementos Renderizáveis"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Máximo de Luzes Renderizáveis"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Max Renderable Reflections"
-msgstr "Centrar Seleção"
+msgstr "Máximo de Reflexões Renderizáveis"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Máximo de Luzes por Objeto"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Dispersão de Subsuperfície"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1052,26 +1029,26 @@ msgid "Scale"
msgstr "Escala"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Follow Surface"
-msgstr "Povoar superfície"
+msgstr "Seguir a Superfície"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "Amostras de Peso"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Rastreamento de Cone de Voxel"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "Alta Qualidade"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "Tamanho Máximo do Buffer da Blend Shape (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Livre"
@@ -1088,7 +1065,7 @@ msgstr "Espelho"
msgid "Time:"
msgstr "Tempo:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valor:"
@@ -1143,9 +1120,8 @@ msgstr "Anim Mudar Chamada"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Frame %"
+msgstr "Quadro"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1156,16 +1132,14 @@ msgstr "Tempo"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
msgstr "Localização"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Passo da rotação:"
+msgstr "Rotação"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1173,14 +1147,13 @@ msgid "Value"
msgstr "Valor"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Valor:"
+msgstr "Contagem de Argumentos"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argumentos"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1190,31 +1163,27 @@ msgid "Type"
msgstr "Tipo"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Definir Manipulador"
+msgstr "Dentro do Controle"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Definir Manipulador"
+msgstr "Fora do Controle"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "Fluxo"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento Inicial"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento Final"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1227,9 +1196,8 @@ msgid "Animation"
msgstr "Animação"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Easing In-Out"
+msgstr "Flexibilização"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1338,8 +1306,62 @@ msgid "Remove this track."
msgstr "Remover esta Pista."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Tempo (s): "
+msgid "Time (s):"
+msgstr "Tempo (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Posição:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotação:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Escala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tipo:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Inválido, tipo esperado: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Flexibilização:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "Em manuseio:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Fora de controle:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Fluxo:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Início (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Fim (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Clipe de Animação:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1423,14 +1445,12 @@ msgstr "Remover Pista de Animação"
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editors"
-msgstr "Editor"
+msgstr "Editores"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Confirm Insert Track"
-msgstr "Anim Inserir Pista & Chave"
+msgstr "Confirmar Inserir Faixa"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1556,8 +1576,8 @@ msgid "Add Method Track Key"
msgstr "Adicionar Chave da Pista Método"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Método não encontrado no objeto: "
+msgid "Method not found in object:"
+msgstr "Método não encontrado no objeto:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1577,7 +1597,7 @@ msgstr "Métodos"
#: editor/animation_track_editor.cpp
msgid "Bezier"
-msgstr ""
+msgstr "Bezier"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -2090,14 +2110,15 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recente:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Procurar:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Correspondências:"
@@ -2157,8 +2178,8 @@ msgstr "Procurar Recurso de substituição:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2166,8 +2187,8 @@ msgid "Open"
msgstr "Abrir"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Proprietários de:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Proprietários de: %s (Total: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2279,7 +2300,6 @@ msgstr "Desenvolvedor-chefe"
#. TRANSLATORS: This refers to a job title.
#: editor/editor_about.cpp
-#, fuzzy
msgctxt "Job Title"
msgid "Project Manager"
msgstr "Gestor de Projetos"
@@ -2473,7 +2493,7 @@ msgid "Bus Options"
msgstr "Opções de Barramento"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
@@ -2525,9 +2545,9 @@ msgstr "Abrir Modelo de barramento de áudio"
msgid "There is no '%s' file."
msgstr "Não existe ficheiro '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Esquema"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Esquema:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2576,9 +2596,8 @@ msgid "Create a new Bus Layout."
msgstr "Criar um novo Modelo de Barramento."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Audio Bus Layout"
-msgstr "Abrir Modelo de barramento de áudio"
+msgstr "Modelo de barramento de áudio"
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -2731,6 +2750,23 @@ msgid "Choose"
msgstr "Escolha"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Exportação do projeto para plataforma:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Concluído com erros."
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Concluído com sucesso."
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "Falhou."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Armazenar o Ficheiro:"
@@ -2743,6 +2779,31 @@ msgid "Packing"
msgstr "Empacotamento"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Guardar Como"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Não consegui criar pasta."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Incapaz de exportar ficheiros do projeto"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Incapaz de abrir o ficheiro para escrita:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Guardar Como"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2818,11 +2879,11 @@ msgstr "Formato Binário"
#: editor/editor_export.cpp
msgid "64 Bits"
-msgstr ""
+msgstr "64 Bits"
#: editor/editor_export.cpp
msgid "Embed PCK"
-msgstr ""
+msgstr "Incorporar PCK"
#: editor/editor_export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -2831,19 +2892,19 @@ msgstr "TextureRegion"
#: editor/editor_export.cpp
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
#, fuzzy
@@ -2862,9 +2923,30 @@ msgstr "Modelo de depuração personalizado não encontrado."
msgid "Custom release template not found."
msgstr "Modelo de lançamento personalizado não encontrado."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Gerir Modelos"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "O caminho de exportação não existe:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "Ficheiro Modelo não encontrado:"
+msgid "Template file not found: \"%s\"."
+msgstr "Ficheiro Modelo não encontrado"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Modelo de exportação inválido:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Preenchimento"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -2873,7 +2955,7 @@ msgstr ""
#: editor/editor_export.cpp
msgid "Convert Text Resources To Binary On Export"
-msgstr ""
+msgstr "Converter Recursos de Texto em Binário na Exportação"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -3038,9 +3120,9 @@ msgid "Import"
msgstr "Importar"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportar"
@@ -3194,7 +3276,7 @@ msgstr "Alternar Ficheiros Escondidos"
#: editor/editor_file_dialog.cpp
msgid "Disable Overwrite Warning"
-msgstr ""
+msgstr "Desativar Aviso de Sobrescrita"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -3297,7 +3379,7 @@ msgstr "A (Re)Importar Recursos"
#: editor/editor_file_system.cpp
msgid "Reimport Missing Imported Files"
-msgstr ""
+msgstr "Reimportar Arquivos Importados Ausentes"
#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
@@ -3408,7 +3490,7 @@ msgstr "Ajuda"
#: editor/editor_help.cpp
msgid "Sort Functions Alphabetically"
-msgstr ""
+msgstr "Classificar Funções em Ordem Alfabética"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -4196,14 +4278,8 @@ msgstr "%d mais Ficheiros"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Cena"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Nomear a Cena"
+"Não foi possível gravar no arquivo '%s', arquivo em uso, bloqueado ou sem "
+"permissões."
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
@@ -4223,11 +4299,11 @@ msgstr "Mostrar Grelha Sempre"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "Redimensionar se Houver Muitas Guias"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
-msgstr ""
+msgstr "Largura Mínima"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Output"
@@ -4240,15 +4316,15 @@ msgstr "Limpar Saída"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr ""
+msgstr "Sempre Abra a Saída na Reprodução"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
-msgstr ""
+msgstr "Sempre Feche a Saída na Parada"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr ""
+msgstr "Salvar ao Perder o Foco"
#: editor/editor_node.cpp editor/editor_settings.cpp
#, fuzzy
@@ -4285,7 +4361,7 @@ msgstr "Obter Nó da Cena"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "Mostrar Miniatura ao Passar o Mouse Por Cima"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
@@ -4297,7 +4373,7 @@ msgstr "Estilo de Nome da Propriedade Predefinida"
#: editor/editor_node.cpp
msgid "Default Float Step"
-msgstr ""
+msgstr "FloatStep Padrão"
#: editor/editor_node.cpp scene/gui/tree.cpp
#, fuzzy
@@ -4306,15 +4382,15 @@ msgstr "Desativar Botão"
#: editor/editor_node.cpp
msgid "Auto Unfold Foreign Scenes"
-msgstr ""
+msgstr "Desdobramento Automático de Cenas Estrangeiras"
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
-msgstr ""
+msgstr "Edição Horizontal do Vector2"
#: editor/editor_node.cpp
msgid "Horizontal Vector Types Editing"
-msgstr ""
+msgstr "Edição de Tipo de Vetor Horizontal"
#: editor/editor_node.cpp
#, fuzzy
@@ -4328,7 +4404,11 @@ msgstr "Abrir no Inspetor"
#: editor/editor_node.cpp
msgid "Default Color Picker Mode"
-msgstr ""
+msgstr "Modo Seletor de Cores Padrão"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Controle de Versões"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
@@ -4358,6 +4438,10 @@ msgstr "Alternar modo livre de distrações."
msgid "Add a new scene."
msgstr "Adicionar nova cena."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Cena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ir para cena aberta anteriormente."
@@ -4487,12 +4571,12 @@ msgid ""
"mobile device).\n"
"You don't need to enable it to use the GDScript debugger locally."
msgstr ""
-"Quando esta opção é ativada, ao usar distribuição por um clique o executável "
-"irá tentar ligar-se ao endereço IP deste computador, para que o projeto "
-"possa ser depurado.\n"
-"Esta opção foi criada para ser usada pela depuração remota (tipicamente com "
-"um aparelho móvel).\n"
-"Não é necessário ativá-la para usar o depurador de GDScript localmente."
+"Quando esta opção está habilitada, Distribuição por um clique que fará o "
+"executável tentar se conectar ao IP deste computador e então o projeto atual "
+"pode ser depurado.\n"
+"Essa opção foi pensada para ser usada em depuração remota (normalmente com "
+"dispositivos móveis).\n"
+"Você não precisa habilitá-la para usar o depurador do GDScript localmente."
#: editor/editor_node.cpp
msgid "Small Deploy with Network Filesystem"
@@ -4509,9 +4593,9 @@ msgid ""
msgstr ""
"Quando esta opção é ativada, a distribuição por um clique para Android vai "
"exportar um executável sem os dados do projeto.\n"
-"O Sistema de Ficheiros será fornecido ao Projeto pelo Editor sobre a rede.\n"
-"Em Android, a distribuição irá usar a ligação USB para melhor performance. "
-"Esta opção acelera o teste de jogos pesados."
+"O sistema de arquivos será fornecido ao projeto pelo editor sobre a rede.\n"
+"Em Android, a distribuição irá usar o cabo USB para melhor performance. Esta "
+"opção acelera o teste para projetos com assets grandes ."
#: editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -4522,8 +4606,8 @@ msgid ""
"When this option is enabled, collision shapes and raycast nodes (for 2D and "
"3D) will be visible in the running project."
msgstr ""
-"Quando esta opção está ativada, as formas de colisões e nós raycast (para 2D "
-"e 3D) serão visíveis no projeto em execução."
+"Quando esta opção está ativada, as formas de colisões e nós de raycast (para "
+"2D e 3D) serão visíveis no projeto em execução."
#: editor/editor_node.cpp
msgid "Visible Navigation"
@@ -4975,7 +5059,7 @@ msgstr "Depurador"
#: editor/editor_profiler.cpp
msgid "Profiler Frame History Size"
-msgstr ""
+msgstr "Tamanho do Histórico do Perfilador de Quadro"
#: editor/editor_profiler.cpp
#, fuzzy
@@ -5043,11 +5127,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Nó selecionado não é um Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Tamanho: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Tamanho:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Página: "
#: editor/editor_properties_array_dict.cpp
@@ -5148,6 +5235,11 @@ msgstr ""
"Adicione um executável pré-definido no menu de exportação ou defina um pré-"
"definido existente como executável."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projeto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Escreva a sua lógica no Método _run()."
@@ -5184,23 +5276,23 @@ msgstr "Mostrar Tudo"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr ""
+msgstr "Escala de Exibição Personalizada"
#: editor/editor_settings.cpp
msgid "Main Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte Principal"
#: editor/editor_settings.cpp
msgid "Code Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte do Código"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr ""
+msgstr "Fonte Suave"
#: editor/editor_settings.cpp
msgid "Font Hinting"
-msgstr ""
+msgstr "Alinhar Fonte"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5209,7 +5301,7 @@ msgstr "Cena Principal"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
-msgstr ""
+msgstr "Fonte Principal em Negrito"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5218,15 +5310,15 @@ msgstr "Adicionar Ponto Nó"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
-msgstr ""
+msgstr "Atenuar Editor na Caixa de Diálogo de Popup"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Duração do Modo de Baixo Consumo do Processador (µsec)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Duração do Modo de Baixo Consumo do Processador Fora de Foco (µsec)"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5235,11 +5327,11 @@ msgstr "Modo Livre de Distrações"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
-msgstr ""
+msgstr "Abrir Capturas de Tela Automaticamente"
#: editor/editor_settings.cpp
msgid "Max Array Dictionary Items Per Page"
-msgstr ""
+msgstr "Máximo de Itens de Dicionário de Array por Página"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5253,81 +5345,71 @@ msgstr "Predefinições"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr ""
+msgstr "Ícone e Cor da Fonte"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Color"
-msgstr "Cores"
+msgstr "Cor Base"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Accent Color"
-msgstr "Escolher cor"
+msgstr "Cor de Destaque"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
-msgstr ""
+msgstr "Contraste"
#: editor/editor_settings.cpp
msgid "Relationship Line Opacity"
-msgstr ""
+msgstr "Opacidade da Linha de Relacionamento"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Highlight Tabs"
-msgstr "A guardar lightmaps"
+msgstr "Destacar Guias"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Border Size"
-msgstr "Pixeis da Margem"
+msgstr "Tamanho da Borda"
#: editor/editor_settings.cpp
msgid "Use Graph Node Headers"
-msgstr ""
+msgstr "Usar Cabeçalhos de Nós de Gráficos"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Additional Spacing"
-msgstr "Loop da Animação"
+msgstr "Espaçamento Adicional"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Custom Theme"
-msgstr "Editor de Tema"
+msgstr "Tema Personalizado"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Script Button"
-msgstr "Roda Botão Direito"
+msgstr "Mostrar Botão de Script"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Directories"
-msgstr "Direções"
+msgstr "Diretórios"
#: editor/editor_settings.cpp
msgid "Autoscan Project Path"
-msgstr "Autoscan Caminho do Projeto"
+msgstr "Verificação Automática do Caminho do Projeto"
#: editor/editor_settings.cpp
msgid "Default Project Path"
-msgstr "Caminho do Projeto Predefinido"
+msgstr "Caminho Padrão do Projeto"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "On Save"
-msgstr "Guardar"
+msgstr "Ao Salvar"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Compress Binary Resources"
-msgstr "Copiar Recurso"
+msgstr "Comprimir Recursos Binários"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
-msgstr ""
+msgstr "Salvar com Segurança no Backup e Renomear"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5340,7 +5422,7 @@ msgstr "Tamanho da Miniatura"
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "Painéis"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5349,7 +5431,7 @@ msgstr "Obter Árvore da Cena"
#: editor/editor_settings.cpp
msgid "Start Create Dialog Fully Expanded"
-msgstr ""
+msgstr "Iniciar Diálogo de Criação Totalmente Expandido"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5363,7 +5445,7 @@ msgstr "Editor de Grupo"
#: editor/editor_settings.cpp
msgid "Auto Refresh Interval"
-msgstr ""
+msgstr "Intervalo de Atualização Automática"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5378,13 +5460,12 @@ msgstr "Editor de Tema"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Line Spacing"
-msgstr ""
+msgstr "Espaçamento de Linha"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Highlighting"
-msgstr "Iluminação direta"
+msgstr "Destaque"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
#, fuzzy
@@ -5393,15 +5474,15 @@ msgstr "Destaque de Sintaxe"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
-msgstr ""
+msgstr "Destacar Todas as Ocorrências"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight Current Line"
-msgstr ""
+msgstr "Destacar Linha Atual"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
-msgstr ""
+msgstr "Destacar Linhas com Tipo Seguro"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5426,17 +5507,19 @@ msgid "Draw Spaces"
msgstr "Desenhar Espaços"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navegação"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Smooth Scrolling"
-msgstr ""
+msgstr "Rolagem Suave"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "V Scroll Speed"
-msgstr ""
+msgstr "Velocidade de Rolagem V"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5445,15 +5528,24 @@ msgstr "Mostrar Origem"
#: editor/editor_settings.cpp
msgid "Minimap Width"
-msgstr ""
+msgstr "Largura do Minimapa"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
+msgstr "Botões extra do Mouse para Navegar no Histórico"
+
+#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Seleção de GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
msgstr ""
#: editor/editor_settings.cpp
msgid "Appearance"
-msgstr ""
+msgstr "Aparência"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Show Line Numbers"
@@ -5465,7 +5557,7 @@ msgstr "Números da Linha Preenchidos com Zeros"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
-msgstr ""
+msgstr "Mostrar Barra de Favoritos"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5474,27 +5566,27 @@ msgstr "Saltar Pontos de Paragem"
#: editor/editor_settings.cpp
msgid "Show Info Gutter"
-msgstr ""
+msgstr "Mostrar Barra de Informações"
#: editor/editor_settings.cpp
msgid "Code Folding"
-msgstr ""
+msgstr "Agrupamento de Código"
#: editor/editor_settings.cpp
msgid "Word Wrap"
-msgstr ""
+msgstr "Quebra de Palavras"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "Exibir Guias de Comprimento de Linha"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "Diretriz de Comprimento de Linha de Coluna Flexível"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "Diretriz de Comprimento de Linha de Coluna Rígida"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -5503,7 +5595,7 @@ msgstr "Editor de Script"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "Mostrar Visão Geral dos Membros"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -5517,19 +5609,19 @@ msgstr "Apagar Espaços nos Limites"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr ""
+msgstr "Segundos de Intervalo de Salvamento Automático"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "Restaurar Scripts ao Carregar"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "Auto Recarrega e Analisa de Scripts ao Salvar"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "Recarregamento Automático de Scripts em Caso de Mudança Externa"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5538,27 +5630,27 @@ msgstr "Forçar Shader de Reserva"
#: editor/editor_settings.cpp
msgid "Sort Members Outline Alphabetically"
-msgstr ""
+msgstr "Ordenar Esquema de Membros em Ordem Alfabética"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr ""
+msgstr "Cursor"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "Rolar Além do Final do Arquivo"
#: editor/editor_settings.cpp
msgid "Block Caret"
-msgstr ""
+msgstr "Cursor em Bloco"
#: editor/editor_settings.cpp
msgid "Caret Blink"
-msgstr ""
+msgstr "Cursor Piscando"
#: editor/editor_settings.cpp
msgid "Caret Blink Speed"
-msgstr ""
+msgstr "Velocidade do Piscamento do Cursor"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5573,23 +5665,23 @@ msgstr "Conclusão"
#: editor/editor_settings.cpp
msgid "Idle Parse Delay"
-msgstr ""
+msgstr "Atraso de Análise de Inatividade"
#: editor/editor_settings.cpp
msgid "Auto Brace Complete"
-msgstr ""
+msgstr "Autocompletar Parênteses"
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "Atraso no Auto Completar do Código"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
+msgstr "Mostrar Sugestão de Chamada Abaixo da Linha Atual"
#: editor/editor_settings.cpp
msgid "Callhint Tooltip Offset"
-msgstr ""
+msgstr "Deslocamento da Sugestão de Chamada"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5612,15 +5704,15 @@ msgstr "Mostrar Ajudantes"
#: editor/editor_settings.cpp
msgid "Help Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte de Ajuda"
#: editor/editor_settings.cpp
msgid "Help Source Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte de Código de Ajuda"
#: editor/editor_settings.cpp
msgid "Help Title Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte do Título da Ajuda"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
@@ -5637,11 +5729,11 @@ msgstr "Pré-visualização"
#: editor/editor_settings.cpp
msgid "Primary Grid Color"
-msgstr ""
+msgstr "Cor da Grade Primária"
#: editor/editor_settings.cpp
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "Cor da Grade Secundária"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5678,7 +5770,7 @@ msgstr "Ponto"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "Forma"
#: editor/editor_settings.cpp
msgid "Primary Grid Steps"
@@ -5690,15 +5782,15 @@ msgstr "Tamanho da Grelha"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
-msgstr ""
+msgstr "Nível Máximo de Divisão de Grade"
#: editor/editor_settings.cpp
msgid "Grid Division Level Min"
-msgstr ""
+msgstr "Nível Mínimo de Divisão de Grade"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "Viés de Nível de Divisão de Grade"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5732,7 +5824,7 @@ msgstr "Predefinição"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
+msgstr "Número de threads da CPU para Baking do Mapa de luz"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5756,11 +5848,11 @@ msgstr "Diminuir Zoom"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
-msgstr ""
+msgstr "Emular Teclado Numérico"
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "Emular Mouse de 3 Botões"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5779,7 +5871,7 @@ msgstr "Modificado"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
-msgstr ""
+msgstr "Panorama do Mouse Distorcido"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5788,11 +5880,11 @@ msgstr "Modo Navegação"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "Sensibilidade da Órbita"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
-msgstr ""
+msgstr "Inércia da Órbita"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5856,7 +5948,7 @@ msgstr "Ajuste Inteligente"
#: editor/editor_settings.cpp
msgid "Bone Width"
-msgstr ""
+msgstr "Largura do Osso"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5874,11 +5966,11 @@ msgstr "Cor dos Ossos Selecionados"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
-msgstr ""
+msgstr "Cor do Osso IK"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
-msgstr ""
+msgstr "Color do Contorno do Osso"
#: editor/editor_settings.cpp
msgid "Bone Outline Size"
@@ -5886,19 +5978,19 @@ msgstr "Tamanho do Contorno dos Ossos"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
-msgstr ""
+msgstr "Cor da borda do Viewport"
#: editor/editor_settings.cpp
msgid "Constrain Editor View"
-msgstr ""
+msgstr "Restringir a Visualização do Editor"
#: editor/editor_settings.cpp
msgid "Simple Panning"
-msgstr ""
+msgstr "Panorâmica Simples"
#: editor/editor_settings.cpp
msgid "Scroll To Pan"
-msgstr ""
+msgstr "Rolar para Arrastar"
#: editor/editor_settings.cpp
msgid "Pan Speed"
@@ -5911,7 +6003,7 @@ msgstr "Editor UV de Polígono 2D"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
-msgstr ""
+msgstr "Raio do Ponto de Captura"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
#, fuzzy
@@ -5925,7 +6017,7 @@ msgstr "Renomear Animação"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
-msgstr ""
+msgstr "Criar Faixas de Bézier Padrão"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5934,125 +6026,119 @@ msgstr "Criar Pista(s) RESET"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
-msgstr ""
+msgstr "Camadas de Cebola Cor Passada"
#: editor/editor_settings.cpp
msgid "Onion Layers Future Color"
-msgstr ""
+msgstr "Camadas de Cebola Cor Futura"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Visual Editors"
-msgstr "Editor de Grupo"
+msgstr "Editor Visual"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
-msgstr ""
+msgstr "Opacidade do Minimapa"
#: editor/editor_settings.cpp
msgid "Window Placement"
-msgstr ""
+msgstr "Posicionamento da Janela"
#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
#: scene/gui/control.cpp
-#, fuzzy
msgid "Rect"
-msgstr "Rect Completo"
+msgstr "Retângulo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Rect Custom Position"
-msgstr "Definir posição Curve Out"
+msgstr "Posição Personalizada do Retângulo"
#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
msgid "Screen"
-msgstr ""
+msgstr "Tela"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Auto Save"
-msgstr "Corte automático"
+msgstr "Salvamento Automático"
#: editor/editor_settings.cpp
msgid "Save Before Running"
-msgstr "Guardar Antes de Executar"
+msgstr "Salvar Antes de Executar"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Font Size"
-msgstr "Vista de Frente"
+msgstr "Tamanho da Fonte"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Remote Host"
-msgstr "Hospedeiro Remoto"
+msgstr "Host Remoto"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Port"
-msgstr "Remover Ponto"
+msgstr "Porta Remota"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor SSL Certificates"
-msgstr "Configurações do Editor"
+msgstr "Editor de Certificados SSL"
#: editor/editor_settings.cpp
msgid "HTTP Proxy"
-msgstr ""
+msgstr "Proxy HTTP"
#: editor/editor_settings.cpp
msgid "Host"
-msgstr ""
+msgstr "Host"
#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Port"
-msgstr ""
+msgstr "Porta"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Gestor de Projetos"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Ordem de Classificação"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
-msgstr ""
+msgstr "Cor do Símbolo"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "Cor da Palavra-Chave"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "Cor da Palavra-Chave do Fluxo de Controle"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "Mudar tipo base"
+msgstr "Cor do Tipo Base"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "Cor do Tipo de Motor"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "Cor do Tipo de Usuário"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "Cor do Comentário"
#: editor/editor_settings.cpp
msgid "String Color"
-msgstr "Cor da Cadeia"
+msgstr "Cor da String"
#: editor/editor_settings.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
@@ -6062,29 +6148,27 @@ msgstr "Cor de Fundo"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Background Color"
-msgstr "Conclusão da Cor de Fundo"
+msgstr "Cor de Preenchimento de Fundo"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Selected Color"
-msgstr "Importar Selecionado"
+msgstr "Cor de Preenchimento Selecionada"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Existing Color"
-msgstr ""
+msgstr "Cor de Preenchimento Existente"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Scroll Color"
-msgstr ""
+msgstr "Cor de Preenchimento de Rolagem"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Font Color"
-msgstr ""
+msgstr "Cor de Preenchimento de Fonte"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Color"
-msgstr "Próximo Piso"
+msgstr "Cor do Texto"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Line Number Color"
@@ -6096,86 +6180,75 @@ msgstr "Cor do Número da Linha Segura"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
-msgstr ""
+msgstr "Cor do Cursor"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Background Color"
msgstr "Cor de Fundo do Cursor"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Selected Color"
-msgstr "Apagar Selecionado"
+msgstr "Cor do Texto Selecionado"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Selection Color"
-msgstr "Apenas seleção"
+msgstr "Cor da Seleção"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Brace Mismatch Color"
-msgstr ""
+msgstr "Cor da Incompatibilidade de Fechamento de Chaves"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Current Line Color"
-msgstr "Cena Atual"
+msgstr "Cor da Linha Atual"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Color"
-msgstr ""
+msgstr "Cor da Diretriz do Comprimento da Linha"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Word Highlighted Color"
-msgstr "Destaque de Sintaxe"
+msgstr "Cor da Palavra Destacada"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "Cor do Número"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Function Color"
-msgstr "Função"
+msgstr "Cor da Função"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Member Variable Color"
-msgstr "Mudar nome da Variável"
+msgstr "Cor da Variável de Membro"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Mark Color"
-msgstr "Escolher cor"
+msgstr "Cor da Marca"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bookmark Color"
-msgstr "Marcadores"
+msgstr "Cor dos Favoritos"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Breakpoint Color"
-msgstr "Pontos de paragem"
+msgstr "Color do Breakpoint"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Executing Line Color"
-msgstr ""
+msgstr "Cor da Linha em Execução"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
-msgstr ""
+msgstr "Cor do Agrupamento de Código"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Color"
-msgstr "Resultados da Pesquisa"
+msgstr "Color dos Resultados da Pesquisa"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Border Color"
-msgstr "Resultados da Pesquisa"
+msgstr "Cor da Borda dos Resultados da Pesquisa"
#: editor/editor_spin_slider.cpp
msgid "Hold %s to round to integers. Hold Shift for more precise changes."
@@ -6184,14 +6257,12 @@ msgstr ""
"mais precisas."
#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-#, fuzzy
msgid "Flat"
-msgstr "Plano 0"
+msgstr "Flat"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "Modo Colisão"
+msgstr "Ocultar Slider"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6487,7 +6558,7 @@ msgstr ""
#: editor/fileserver/editor_file_server.cpp
msgid "File Server"
-msgstr ""
+msgstr "Servidor de Arquivos"
#: editor/fileserver/editor_file_server.cpp
#: editor/plugins/version_control_editor_plugin.cpp
@@ -6555,6 +6626,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Esta extensão de arquivo não é reconhecida pelo editor.\n"
+"Se você de qualquer maneira quiser renomeá-lo, use o gerenciador de arquivos "
+"do seu sistema operacional.\n"
+"Após renomear para uma extensão desconhecida, o arquivo não será mais "
+"exibido no editor."
#: editor/filesystem_dock.cpp
msgid ""
@@ -6781,14 +6857,6 @@ msgid "Replace in Files"
msgstr "Substituir em Ficheiros"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Localizar: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Substituir: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Substituir Tudo (DEFINITIVO)"
@@ -6863,11 +6931,11 @@ msgstr "Gerir Grupos"
#: editor/import/editor_import_collada.cpp
msgid "Collada"
-msgstr ""
+msgstr "Collada"
#: editor/import/editor_import_collada.cpp
msgid "Use Ambient"
-msgstr ""
+msgstr "Usar Ambiente"
#: editor/import/resource_importer_bitmask.cpp
#, fuzzy
@@ -6877,7 +6945,7 @@ msgstr "Criar Pasta"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Threshold"
-msgstr ""
+msgstr "Limite"
#: editor/import/resource_importer_csv_translation.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -6890,7 +6958,7 @@ msgstr "Componentes"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
-msgstr ""
+msgstr "Delimitador"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -6899,7 +6967,7 @@ msgstr "Função Cor."
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
-msgstr ""
+msgstr "Sem BPTC Se RGB"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
@@ -6907,17 +6975,17 @@ msgstr ""
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
msgid "Flags"
-msgstr ""
+msgstr "Flags"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
#: scene/resources/texture.cpp
msgid "Repeat"
-msgstr ""
+msgstr "Repetir"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Filtro"
@@ -6930,12 +6998,12 @@ msgstr "Sinais"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "Anisotropic"
-msgstr ""
+msgstr "Anisotrópico"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -6962,23 +7030,21 @@ msgid "Generate Tangents"
msgstr "Gerar Pontos"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "Modo Escalar"
+msgstr "Escalar Forma"
#: editor/import/resource_importer_obj.cpp
msgid "Offset Mesh"
-msgstr "Malha de Compensação"
+msgstr "Forma de Compensação"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "Expressão"
+msgstr "Compressão Octaédrica"
#: editor/import/resource_importer_obj.cpp
msgid "Optimize Mesh Flags"
-msgstr "Otimizar Flags da Malha"
+msgstr "Otimizar Flags da Forma"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -7022,29 +7088,24 @@ msgstr "Importar como Cenas Múltiplas + Materiais"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Nodes"
-msgstr "Nó"
+msgstr "Nós"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Type"
-msgstr "Voltar"
+msgstr "Tipo da Raiz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Name"
-msgstr "Nome do Remoto"
+msgstr "Nome da Raiz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "Escala"
+msgstr "Escala da Raiz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Custom Script"
-msgstr "CustomNode"
+msgstr "Script Personalizado"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
msgid "Storage"
@@ -7052,54 +7113,47 @@ msgstr "Armazenamento"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
-msgstr ""
+msgstr "Usar Nomes Legados"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Materials"
msgstr "Materiais"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "Reimportar"
+msgstr "Manter ao Reimportar"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Meshes"
-msgstr "Malha"
+msgstr "Malhas"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Ensure Tangents"
-msgstr "Modificar tangente da curva"
+msgstr "Assegurar Tangentes"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "Consolidar Lightmaps"
+msgstr "Baking de Luz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "Consolidar Lightmaps"
+msgstr "Tamanho do Texel do Mapa de Luz"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
-msgstr ""
+msgstr "Skins"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Use Named Skins"
-msgstr "Usar Ajuste de Escala"
+msgstr "Usar Skins com Nome"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "External Files"
-msgstr "Abrir um Ficheiro"
+msgstr "Arquivos Externos"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
-msgstr ""
+msgstr "Armazenar no Subdiretório"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7175,12 +7229,12 @@ msgid "Generating Lightmaps"
msgstr "A gerar Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "A gerar para Malha: "
+msgid "Generating for Mesh:"
+msgstr "Gerar para Forma:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
-msgstr "A executar Script Customizado..."
+msgstr "A executar Script Personalizado..."
#: editor/import/resource_importer_scene.cpp
msgid "Couldn't load post-import script:"
@@ -7203,147 +7257,152 @@ msgid "Saving..."
msgstr "A guardar..."
#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
+"%s: Textura detectada como usada como mapa normal em 3D. Ativando a "
+"compactação de textura vermelho-verde para reduzir o uso de memória (o canal "
+"azul é descartado)."
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+"%s: Textura detectada como usada em 3D. Ativando filtro, repetição, geração "
+"de mapa MIP e compressão de textura VRAM."
+
+#: editor/import/resource_importer_texture.cpp
+msgid "2D, Detect 3D"
+msgstr "2D, Detectar 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "Pixeis Sólidos"
+msgstr "Pixel 2D"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
-msgstr ""
+msgstr "Qualidade com Perdas"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "HDR Mode"
-msgstr "Modo Seleção"
+msgstr "Modo HDR"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "Mapa Normal"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "Pós-processamento"
+msgstr "Processo"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
-msgstr ""
+msgstr "Corrigir Borda Alfa"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Premult Alpha"
-msgstr "Editar Polígono"
+msgstr "Pré-multiplicar Alfa"
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
-msgstr ""
+msgstr "Hdr como Srgb"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "Vértice"
+msgstr "Inverter Cor"
#: editor/import/resource_importer_texture.cpp
msgid "Normal Map Invert Y"
-msgstr "Mapa Normal Inverter Y"
+msgstr "Inverter Y no Mapa Normal"
#: editor/import/resource_importer_texture.cpp
msgid "Size Limit"
-msgstr "Limite do Tamanho"
+msgstr "Tamanho Limite"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
-msgstr ""
+msgstr "Detectar 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "SVG"
-msgstr "HSV"
+msgstr "SVG"
#: editor/import/resource_importer_texture.cpp
msgid ""
"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
"texture will not display correctly on PC."
msgstr ""
+"Aviso, nenhuma compactação de VRAM de PC adequada ativada nas configurações "
+"do projeto. Esta textura não será exibida corretamente no PC."
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Atlas File"
-msgstr "Ficheiro Atlas"
+msgstr "Arquivo de Atlas"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Import Mode"
msgstr "Modo de Importação"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "Definir Região Tile"
+msgstr "Cortar Para Região"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
-msgstr ""
+msgstr "Aparar Borda Alfa da Região"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "Forçar Impulso"
+msgstr "Força"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
-msgstr ""
+msgstr "8 Bits"
#: editor/import/resource_importer_wav.cpp main/main.cpp
#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Mono"
-msgstr ""
+msgstr "Mono"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "Nó Mix"
+msgstr "Taxa Máxima"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "Nó Mix"
+msgstr "Taxa Máxima Hz"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "Aparar"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "Formato"
+msgstr "Normalizar"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Mode"
-msgstr "Modo Mover"
+msgstr "Modo de Loop"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Begin"
-msgstr "Modo Mover"
+msgstr "Inicio do Loop"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop End"
-msgstr "Modo Mover"
+msgstr "Fim do Loop"
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -7440,7 +7499,7 @@ msgstr "Localização"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr ""
+msgstr "Localização não disponível para o idioma atual."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -7888,11 +7947,20 @@ msgid "New Anim"
msgstr "Nova Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Criar Nova Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Mudar o Nome da Animação:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Renomear Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Apagar Animação?"
@@ -7910,11 +7978,6 @@ msgid "Animation name already exists!"
msgstr "Já existe o nome da Animação!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Renomear Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplicar Animação"
@@ -8013,10 +8076,12 @@ msgstr "Opções de Onion Skinning"
msgid "Directions"
msgstr "Direções"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Passado"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Futuro"
@@ -8057,10 +8122,6 @@ msgid "Pin AnimationPlayer"
msgstr "Pregar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Criar Nova Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nome da Animação:"
@@ -8175,7 +8236,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Definir a animação final. Útil para sub-transições."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Transição: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8192,11 +8254,6 @@ msgid "New name:"
msgstr "Novo nome:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Escala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Aparecer (s):"
@@ -8318,7 +8375,7 @@ msgstr "Filtros..."
#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
msgid "Use Threads"
-msgstr ""
+msgstr "Usar Threads"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
@@ -8550,7 +8607,7 @@ msgstr "Em teste"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "Falha ao obter a configuração do repositório."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -8607,7 +8664,7 @@ msgstr "Consolidar Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "LightMap Bake"
-msgstr ""
+msgstr "Bake de Mapa de Luz"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
@@ -9106,6 +9163,7 @@ msgstr "Fazer Osso(s) Personalizados a partis de Nó(s)"
msgid "Clear Custom Bones"
msgstr "Apagar Ossos Personalizados"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9123,7 +9181,7 @@ msgstr "Ajuste Inteligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "Esconder"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -9172,6 +9230,10 @@ msgid "Preview Canvas Scale"
msgstr "Pré-visualizar Escala do Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Esquema"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Máscara de translação para inserir chaves."
@@ -9476,11 +9538,11 @@ msgstr "Gradiente Editado"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
+msgstr "Trocar pontos de preenchimento do Gradiente de Textura 2D"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap Gradient Fill Points"
-msgstr ""
+msgstr "Trocar Pontos de Preenchimento de Gradiente"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
#, fuzzy
@@ -9504,7 +9566,7 @@ msgstr "Ícone"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -9943,7 +10005,8 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Fonte de emissão: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10175,6 +10238,7 @@ msgid "Points"
msgstr "Pontos"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polígonos"
@@ -10299,7 +10363,7 @@ msgstr "Sincronizar Ossos com Polígono"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "Definir cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -10332,13 +10396,6 @@ msgid "Instance:"
msgstr "Instância:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tipo:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Abrir no Editor"
@@ -10347,10 +10404,6 @@ msgstr "Abrir no Editor"
msgid "Load Resource"
msgstr "Carregar recurso"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Inverter Portais"
@@ -10641,11 +10694,11 @@ msgstr "Resultados da Pesquisa"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open Dominant Script On Scene Change"
-msgstr ""
+msgstr "Abrir Script Dominante na Mudança de Cena"
#: editor/plugins/script_editor_plugin.cpp
msgid "External"
-msgstr ""
+msgstr "Externo"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -10664,11 +10717,11 @@ msgstr "Selecionar Ficheiro de Modelo"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
-msgstr ""
+msgstr "Destacar Script Atual"
#: editor/plugins/script_editor_plugin.cpp
msgid "Script Temperature History Size"
-msgstr ""
+msgstr "Tamanho do Histórico de Temperatura do Script"
#: editor/plugins/script_editor_plugin.cpp
msgid "Current Script Background Color"
@@ -10691,7 +10744,7 @@ msgstr "Nome do Script:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
-msgstr ""
+msgstr "Flags de Execução"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Scripts"
@@ -11047,12 +11100,16 @@ msgstr "Rodar"
msgid "Translate"
msgstr "Translação"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "A escalar: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "A transladar: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11076,11 +11133,6 @@ msgid "Yaw:"
msgstr "Rotação:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Tamanho:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Objetos Desenhados:"
@@ -11206,7 +11258,7 @@ msgstr "Pré-visualização Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "(Not in GLES2)"
-msgstr ""
+msgstr "(Não em GLES2)"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -11507,11 +11559,11 @@ msgstr "Pós"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Size"
-msgstr ""
+msgstr "Tamanho do Gizmo do Manipulador"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Opacity"
-msgstr ""
+msgstr "Opacidade do Gizmo do Manipulador"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -11567,7 +11619,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geometria inválida, não substituível por malha."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Converter para Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11599,15 +11652,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Simplificação: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Encolher (Pixeis): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Aumentar (Pixeis): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11671,6 +11727,11 @@ msgid "New Animation"
msgstr "Nova Animação"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Métodos de filtro"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Velocidade:"
@@ -12193,41 +12254,41 @@ msgid "Add Item Type"
msgstr "Adicionar Tipo de Item"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Variation Base Type"
-msgstr "Definir tipo de variável"
+msgstr "Definir Tipo Base da Variação"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Base Type"
-msgstr "Mudar tipo base"
+msgstr "Definir Tipo Base"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
-msgstr "Mostrar Predefinição"
+msgstr "Mostrar Padrão"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Show default type items alongside items that have been overridden."
-msgstr ""
-"Mostrar itens do tipo predefinido ao lado de itens que foram sobrepostos."
+msgstr "Mostrar itens do tipo padrão ao lado de itens que foram sobrepostos."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Override All"
-msgstr "Sobrepor Tudo"
+msgstr "Substituir Tudo"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Override all default type items."
-msgstr "Sobrepõe todos os itens de tipo predefinido."
+msgstr "Substituir todos os itens de tipo padrão."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select the variation base type from a list of available types."
msgstr ""
+"Selecione o tipo de base de variação em uma lista de tipos disponíveis."
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
"A type associated with a built-in class cannot be marked as a variation of "
"another type."
msgstr ""
+"Um tipo associado a uma classe integrada não pode ser marcado como uma "
+"variação de outro tipo."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -12472,7 +12533,7 @@ msgstr "Pintar TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Palette Min Width"
-msgstr ""
+msgstr "Largura Mínima da Paleta"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -12560,8 +12621,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Selecione a forma, subtile ou Tile anterior."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Região"
@@ -14065,41 +14125,24 @@ msgid "Runnable"
msgstr "Executável"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Apagar predefinição '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr "Exporte o projeto para todas as predefinições definidas."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Falhou a exportação do projeto para a plataforma '%s'.\n"
-"O Modelo de exportação está ausente ou é inválido."
+"Todas as predefinições devem ter um caminho de exportação definido para que "
+"Exportar Tudo funcione."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Falhou a exportação do projeto para a plataforma '%s'.\n"
-"Pode ser provocado por um problema na predefinição ou configuração da "
-"exportação."
+msgid "Delete preset '%s'?"
+msgstr "Apagar predefinição '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "A Exportar Tudo"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "O caminho de exportação não existe:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Modelos de exportação para esta plataforma estão ausentes/corrompidos :"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Exportar Caminho"
@@ -14201,6 +14244,8 @@ msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
msgstr ""
+"Nota: A chave de criptografia precisa ser armazenada no binário,\n"
+"você precisa construir os modelos de exportação da fonte."
#: editor/project_export.cpp
#, fuzzy
@@ -14208,19 +14253,27 @@ msgid "More Info..."
msgstr "Mover para..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Exportar PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Exportar Projeto"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Modo Exportação?"
+msgid "Export All"
+msgstr "Exportar Tudo"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Por favor escolha uma pasta vazia."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Exportar Tudo"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14228,7 +14281,8 @@ msgid "ZIP File"
msgstr "Ficheiro ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Pacote de Jogo Godot"
#: editor/project_export.cpp
@@ -14236,6 +14290,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Não existem Modelos de exportação para esta plataforma:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Fundadores do Projeto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gerir Modelos de Exportação"
@@ -14553,14 +14612,14 @@ msgid "Project Manager"
msgstr "Gestor de Projetos"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "A carregar, espere por favor..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Última modificação"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "A carregar, espere por favor..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Editar Projeto"
@@ -15345,7 +15404,7 @@ msgstr "Tornar Local"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "Outro nó já usa esse nome exclusivo na cena."
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -15431,7 +15490,7 @@ msgstr "Sub-recursos"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "Acesso como Nome Exclusivo da Cena"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15536,7 +15595,7 @@ msgstr "Centrar Seleção"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "Derivar Globais de Script Por Nome"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -15569,6 +15628,9 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"Este nó pode ser acessado de qualquer lugar na cena, precedendo-o com o "
+"prefixo '%s' em um caminho de nó.\n"
+"Clique para desabilitar isso."
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15779,7 +15841,8 @@ msgid "Attach Node Script"
msgstr "Anexar Script de Nó"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Remoto "
#: editor/script_editor_debugger.cpp
@@ -15861,15 +15924,15 @@ msgstr "Filtrar Tiles"
#: editor/script_editor_debugger.cpp
msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
+msgstr "Mudar Automático para Árvore de Cena Remota"
#: editor/script_editor_debugger.cpp
msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
+msgstr "Intervalo de Atualização da Árvore de Cena Remota"
#: editor/script_editor_debugger.cpp
msgid "Remote Inspect Refresh Interval"
-msgstr ""
+msgstr "Intervalo de Atualização de Inspeção Remota"
#: editor/script_editor_debugger.cpp
msgid "Network Profiler"
@@ -15967,7 +16030,7 @@ msgstr "Mudar raio da luz"
#: editor/spatial_editor_gizmos.cpp
msgid "Stream Player 3D"
-msgstr ""
+msgstr "Reprodutor de Fluxo 3D"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
@@ -15977,7 +16040,7 @@ msgstr "Mudar ângulo de emissão de AudioStreamPlayer3D"
#: platform/osx/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Camera"
-msgstr ""
+msgstr "Câmera"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
@@ -15989,7 +16052,7 @@ msgstr "Mudar tamanho da Câmara"
#: editor/spatial_editor_gizmos.cpp
msgid "Visibility Notifier"
-msgstr ""
+msgstr "Notificador de Visibilidade"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Notifier AABB"
@@ -16000,23 +16063,20 @@ msgid "Change Particles AABB"
msgstr "Mudar partículas AABB"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Reflection Probe"
-msgstr "Selecionar Propriedade"
+msgstr "Sonda de Reflexão"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
msgstr "Mudar Extensões de Sonda"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "GI Probe"
-msgstr "Consolidar Sonda GI"
+msgstr "Sonda GI"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Baked Indirect Light"
-msgstr "Iluminação indireta"
+msgstr "Iluminação Indireta Pré-feita"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
@@ -16047,57 +16107,52 @@ msgid "Change Ray Shape Length"
msgstr "Mudar comprimento da forma raio"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge"
-msgstr "Modo Navegação"
+msgstr "Borda de Navegação"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge Disabled"
-msgstr "Modo Navegação"
+msgstr "Borda de Navegação Desabilitada"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid"
-msgstr "Modo Navegação"
+msgstr "Sólido de Navegação"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid Disabled"
-msgstr "Modo Navegação"
+msgstr "Sólido de Navegação Desativado"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body A"
-msgstr ""
+msgstr "Corpo de Articulação A"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body B"
-msgstr ""
+msgstr "Corpo de Articulação B"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Edge"
-msgstr ""
+msgstr "Borda da Sala"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Overlap"
-msgstr ""
+msgstr "Sobreposição de Sala"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Room Point Position"
msgstr "Definir Posição do Ponto do Room"
#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Margin"
-msgstr "Definir Margem"
+msgstr "Margem do Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Edge"
-msgstr ""
+msgstr "Borda do Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Arrow"
-msgstr ""
+msgstr "Seta do Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Portal Point Position"
@@ -16105,18 +16160,16 @@ msgstr "Definir Posição do Ponto do Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Front"
-msgstr ""
+msgstr "Portal Frente"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Portal Back"
-msgstr "Voltar"
+msgstr "Portal Atras"
#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Occluder"
-msgstr "Modo Oclusão"
+msgstr "Oclusor"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Occluder Sphere Radius"
@@ -16127,440 +16180,397 @@ msgid "Set Occluder Sphere Position"
msgstr "Definir Posição da Esfera do Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "Definir Posição do Ponto do Portal"
+msgstr "Definir a Posição do Ponto do Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Definir posição do Ponto da curva"
+msgstr "Definir a Posição do Ponto do Orifício do Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Front"
-msgstr "Criar Polígono Oclusor"
+msgstr "Frente do Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Back"
-msgstr "Criar Polígono Oclusor"
+msgstr "Parte de Trás do Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Hole"
-msgstr "Criar Polígono Oclusor"
+msgstr "Buraco Oclusor"
#: main/main.cpp
msgid "Godot Physics"
-msgstr ""
+msgstr "Física do Godot"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
msgid "Use BVH"
-msgstr ""
+msgstr "Usar BVH"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
-#, fuzzy
msgid "BVH Collision Margin"
-msgstr "Modo Colisão"
+msgstr "Margem de Colisão BVH"
#: main/main.cpp
-#, fuzzy
msgid "Crash Handler"
-msgstr "Definir Manipulador"
+msgstr "Gerenciador de Falhas"
#: main/main.cpp
-#, fuzzy
msgid "Multithreaded Server"
-msgstr "Conjunto MultiNó"
+msgstr "Servidor com Multi-Thread"
#: main/main.cpp
msgid "RID Pool Prealloc"
-msgstr ""
+msgstr "Pré-alocação de pool RID"
#: main/main.cpp
-#, fuzzy
msgid "Debugger stdout"
-msgstr "Depurador"
+msgstr "Depurador stdout"
#: main/main.cpp
msgid "Max Chars Per Second"
-msgstr ""
+msgstr "Máximo de Caracteres Por Segundo"
#: main/main.cpp
msgid "Max Messages Per Frame"
-msgstr ""
+msgstr "Máximo de Mensagens Por Quadro"
#: main/main.cpp
msgid "Max Errors Per Second"
-msgstr ""
+msgstr "Máximo de Erros Por Segundo"
#: main/main.cpp
msgid "Max Warnings Per Second"
-msgstr ""
+msgstr "Máximo de Avisos Por Segundo"
#: main/main.cpp
msgid "Flush stdout On Print"
-msgstr ""
+msgstr "Esvaziar stdout Na Impressão"
#: main/main.cpp servers/visual_server.cpp
msgid "Logging"
-msgstr ""
+msgstr "Registro de Log"
#: main/main.cpp
msgid "File Logging"
-msgstr ""
+msgstr "Log de Arquivo"
#: main/main.cpp
-#, fuzzy
msgid "Enable File Logging"
-msgstr "Ativar Filtragem"
+msgstr "Ativar Log de Arquivos"
#: main/main.cpp
-#, fuzzy
msgid "Log Path"
-msgstr "Copiar Caminho"
+msgstr "Caminho de Log"
#: main/main.cpp
msgid "Max Log Files"
-msgstr ""
+msgstr "Máximo de Arquivos de Log"
#: main/main.cpp
msgid "Driver"
-msgstr ""
+msgstr "Driver"
#: main/main.cpp
-#, fuzzy
msgid "Driver Name"
-msgstr "Nome do Script:"
+msgstr "Nome do Driver"
#: main/main.cpp
msgid "Fallback To GLES2"
-msgstr ""
+msgstr "Alternar para GLES2"
#: main/main.cpp
msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
+msgstr "Use a Solução Alternativa do Nvidia Rect Flicker"
#: main/main.cpp
msgid "DPI"
-msgstr ""
+msgstr "DPI"
#: main/main.cpp
msgid "Allow hiDPI"
-msgstr ""
+msgstr "Permitir hiDPI"
#: main/main.cpp
-#, fuzzy
msgid "V-Sync"
-msgstr "Sinc"
+msgstr "Sincronização Vertical"
#: main/main.cpp
-#, fuzzy
msgid "Use V-Sync"
-msgstr "Usar Ajuste"
+msgstr "Usar Sincronização Vertical"
#: main/main.cpp
msgid "Per Pixel Transparency"
-msgstr ""
+msgstr "Transparência Por Pixel"
#: main/main.cpp
msgid "Allowed"
-msgstr ""
+msgstr "Permitido"
#: main/main.cpp
msgid "Intended Usage"
-msgstr ""
+msgstr "Uso Pretendido"
#: main/main.cpp
-#, fuzzy
msgid "Framebuffer Allocation"
-msgstr "Seleção de Frame"
+msgstr "Alocação de Framebuffer"
#: main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Energy Saving"
-msgstr "Erro Ao Gravar"
+msgstr "Economia de Energia"
#: main/main.cpp
msgid "Threads"
-msgstr ""
+msgstr "Threads"
#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-#, fuzzy
msgid "Thread Model"
-msgstr "Alternar Modo"
+msgstr "Modelo de Thread"
#: main/main.cpp
msgid "Thread Safe BVH"
-msgstr ""
+msgstr "Thread Segura BVH"
#: main/main.cpp
msgid "Handheld"
-msgstr ""
+msgstr "Portátil"
#: main/main.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Orientation"
-msgstr "Documentação Online"
+msgstr "Orientação"
#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-#, fuzzy
msgid "Common"
-msgstr "Comunidade"
+msgstr "Comum"
#: main/main.cpp
-#, fuzzy
msgid "Physics FPS"
-msgstr "Frame de Física %"
+msgstr "Física FPS"
#: main/main.cpp
-#, fuzzy
msgid "Force FPS"
-msgstr "Forçar Impulso"
+msgstr "Forçar FPS"
#: main/main.cpp
msgid "Enable Pause Aware Picking"
-msgstr ""
+msgstr "Ativar a Seleção Consciente de Pausa"
#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
#: scene/main/viewport.cpp scene/register_scene_types.cpp
msgid "GUI"
-msgstr ""
+msgstr "Interface Gráfica"
#: main/main.cpp
msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
+msgstr "Desabilitar Soltar o Mouse na Entrada da Interface Gráfica"
#: main/main.cpp
msgid "stdout"
-msgstr ""
+msgstr "stdout"
#: main/main.cpp
msgid "Print FPS"
-msgstr ""
+msgstr "Imprimir FPS"
#: main/main.cpp
msgid "Verbose stdout"
-msgstr ""
+msgstr "stdout Verboso"
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-#, fuzzy
msgid "Physics Interpolation"
-msgstr "Modo de Interpolação"
+msgstr "Interpolação Física"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "Ativar Filtragem"
+msgstr "Ativar Avisos"
#: main/main.cpp
-#, fuzzy
msgid "Frame Delay Msec"
-msgstr "Seleção de Frame"
+msgstr "Atraso de Quadro Msec"
#: main/main.cpp
msgid "Low Processor Mode"
-msgstr ""
+msgstr "Modo de Baixo Uso do Processador"
#: main/main.cpp
msgid "Delta Sync After Draw"
-msgstr ""
+msgstr "Sincronização Delta Após Desenhar"
#: main/main.cpp
msgid "iOS"
-msgstr ""
+msgstr "iOS"
#: main/main.cpp
msgid "Hide Home Indicator"
-msgstr ""
+msgstr "Esconder Indicador de Home"
#: main/main.cpp
-#, fuzzy
msgid "Input Devices"
-msgstr "Todos os Aparelhos"
+msgstr "Dispositivos de Entrada"
#: main/main.cpp
-#, fuzzy
msgid "Pointing"
-msgstr "Ponto"
+msgstr "Pontuação"
#: main/main.cpp
msgid "Touch Delay"
-msgstr ""
+msgstr "Atraso de Toque"
#: main/main.cpp servers/visual_server.cpp
msgid "GLES3"
-msgstr ""
+msgstr "GLES3"
#: main/main.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Shaders"
-msgstr "Shader"
+msgstr "Shaders"
#: main/main.cpp
-#, fuzzy
msgid "Debug Shader Fallbacks"
-msgstr "Forçar Shader de Reserva"
+msgstr "Depurar Fallbacks do Shader"
#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
#: scene/resources/world.cpp
-#, fuzzy
msgid "Environment"
-msgstr "Ver ambiente"
+msgstr "Ambiente"
#: main/main.cpp
msgid "Default Clear Color"
-msgstr ""
+msgstr "Cor Clara Padrão"
#: main/main.cpp
msgid "Boot Splash"
-msgstr ""
+msgstr "Plano de Fundo de Inicialização"
#: main/main.cpp
-#, fuzzy
msgid "Show Image"
-msgstr "Mostrar ossos"
+msgstr "Mostrar Imagem"
#: main/main.cpp
msgid "Image"
-msgstr ""
+msgstr "Imagem"
#: main/main.cpp
msgid "Fullsize"
-msgstr ""
+msgstr "Tamanho Máximo"
#: main/main.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Use Filter"
-msgstr "Filtro:"
+msgstr "Usar Filtro"
#: main/main.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "BG Color"
-msgstr "Cores"
+msgstr "Cor de Fundo"
#: main/main.cpp
-#, fuzzy
msgid "macOS Native Icon"
-msgstr "Definir Ícone de Tile"
+msgstr "Ícone Nativo do macOS"
#: main/main.cpp
msgid "Windows Native Icon"
-msgstr ""
+msgstr "Ícone nativo do Windows"
#: main/main.cpp
msgid "Buffering"
-msgstr ""
+msgstr "Buffering"
#: main/main.cpp
msgid "Agile Event Flushing"
-msgstr ""
+msgstr "Liberação Ágil de Eventos"
#: main/main.cpp
msgid "Emulate Touch From Mouse"
-msgstr ""
+msgstr "Emular Toque do Mouse"
#: main/main.cpp
msgid "Emulate Mouse From Touch"
-msgstr ""
+msgstr "Emular o Mouse do Toque"
#: main/main.cpp
-#, fuzzy
msgid "Mouse Cursor"
-msgstr "Botão do rato"
+msgstr "Cursor do Mouse"
#: main/main.cpp
-#, fuzzy
msgid "Custom Image"
-msgstr "CustomNode"
+msgstr "Imagem Personalizada"
#: main/main.cpp
msgid "Custom Image Hotspot"
-msgstr ""
+msgstr "Imagem de Ponto de Acesso Personalizada"
#: main/main.cpp
-#, fuzzy
msgid "Tooltip Position Offset"
-msgstr "Compensação da rotação:"
+msgstr "Deslocamento de Posição da Dica"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Debugger Agent"
-msgstr "Depurador"
+msgstr "Agente Depurador"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Wait For Debugger"
-msgstr "Depurador"
+msgstr "Esperar o Depurador"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Wait Timeout"
-msgstr "Timeout de Espera"
+msgstr "Tempo Limite de Espera"
#: main/main.cpp
msgid "Runtime"
-msgstr ""
+msgstr "Execução"
#: main/main.cpp
msgid "Unhandled Exception Policy"
-msgstr ""
+msgstr "Política de Exceção não Tratada"
#: main/main.cpp
-#, fuzzy
msgid "Main Loop Type"
-msgstr "Localizar Tipo de Nó"
+msgstr "Tipo de Loop Principal"
#: main/main.cpp scene/gui/texture_progress.cpp
#: scene/gui/viewport_container.cpp
-#, fuzzy
msgid "Stretch"
-msgstr "Trazer"
+msgstr "Esticar"
#: main/main.cpp
-#, fuzzy
msgid "Aspect"
-msgstr "Inspetor"
+msgstr "Aspecto"
#: main/main.cpp
msgid "Shrink"
-msgstr ""
+msgstr "Encolher"
#: main/main.cpp scene/main/scene_tree.cpp
msgid "Auto Accept Quit"
-msgstr ""
+msgstr "Auto Aceitar Sair"
#: main/main.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Quit On Go Back"
-msgstr "Voltar"
+msgstr "Sair em Voltar"
#: main/main.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Snap Controls To Pixels"
-msgstr "Ajustar aos Lados do Nó"
+msgstr "Ajustar Controles aos Pixels"
#: main/main.cpp
msgid "Dynamic Fonts"
-msgstr ""
+msgstr "Fontes Dinâmicas"
#: main/main.cpp
msgid "Use Oversampling"
-msgstr ""
+msgstr "Usar Sobreamostragem"
#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
msgid "Active Soft World"
-msgstr ""
+msgstr "Mundo Suave Ativo"
#: modules/csg/csg_gizmos.cpp
msgid "CSG"
-msgstr ""
+msgstr "CSG"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -16579,13 +16589,12 @@ msgid "Change Torus Outer Radius"
msgstr "Mudar Raio Externo do Toro"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Operation"
-msgstr "Opções"
+msgstr "Operação"
#: modules/csg/csg_shape.cpp
msgid "Calculate Tangents"
-msgstr ""
+msgstr "Calcular Tangentes"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16643,7 +16652,7 @@ msgstr "Mostrar Guias"
#: modules/csg/csg_shape.cpp
msgid "Cone"
-msgstr ""
+msgstr "Cone"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16657,22 +16666,22 @@ msgstr "Mudar Raio Externo do Toro"
#: modules/csg/csg_shape.cpp
msgid "Ring Sides"
-msgstr ""
+msgstr "Lados do Anel"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Polígonos"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
-msgstr ""
+msgstr "Graus de Rotação"
#: modules/csg/csg_shape.cpp
msgid "Spin Sides"
-msgstr ""
+msgstr "Girar Lados"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16686,11 +16695,11 @@ msgstr "Criar vértice interno"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
-msgstr ""
+msgstr "Intervalo de Caminho"
#: modules/csg/csg_shape.cpp
msgid "Path Simplify Angle"
-msgstr ""
+msgstr "Simplifique o Ângulo do Caminho"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16739,15 +16748,15 @@ msgstr "Mostrar Grelha Sempre"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Server Relay"
-msgstr ""
+msgstr "Retransmissão do Servidor"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Verify"
-msgstr ""
+msgstr "Verificar DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Hostname"
-msgstr ""
+msgstr "Nome do Host DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
#, fuzzy
@@ -16756,11 +16765,11 @@ msgstr "Usar Ajuste"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
-msgstr ""
+msgstr "FBX"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Use FBX"
-msgstr ""
+msgstr "Usar FBX"
#: modules/gdnative/gdnative.cpp
#, fuzzy
@@ -16839,7 +16848,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Instância única GDNative desativada"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Bibliotecas: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16869,7 +16879,7 @@ msgstr "Script"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
-msgstr ""
+msgstr "Função de Definição de Cor"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#, fuzzy
@@ -16878,19 +16888,19 @@ msgstr "Copiar Caminho do Nó"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
-msgstr ""
+msgstr "Pilha Máxima de Chamadas"
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
-msgstr ""
+msgstr "Tratar Avisos como Erros"
#: modules/gdscript/gdscript.cpp
msgid "Exclude Addons"
-msgstr ""
+msgstr "Excluir Complementos"
#: modules/gdscript/gdscript.cpp
msgid "Autocomplete Setters And Getters"
-msgstr ""
+msgstr "Autocompletar Setters e Getters"
#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
@@ -16945,7 +16955,7 @@ msgstr "Mostrar Símbolos Nativos No Editor"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
-msgstr ""
+msgstr "Usar Thread"
#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
msgid "Export Mesh GLTF2"
@@ -16997,11 +17007,11 @@ msgstr "Instância"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
-msgstr ""
+msgstr "Visualização de Buffer de Índices Esparsos"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Byte Offset"
-msgstr ""
+msgstr "Deslocamento de Bytes de Índices Esparsos"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -17010,11 +17020,11 @@ msgstr "A analisar geometria..."
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Buffer View"
-msgstr ""
+msgstr "Visualização de Buffer de Valores Esparsos"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Byte Offset"
-msgstr ""
+msgstr "Deslocamento de Bytes de Valores Esparsos"
#: modules/gltf/gltf_buffer_view.cpp
#, fuzzy
@@ -17028,7 +17038,7 @@ msgstr "Tema Predefinido"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
-msgstr ""
+msgstr "Passo de Byte"
#: modules/gltf/gltf_buffer_view.cpp
#, fuzzy
@@ -17042,7 +17052,7 @@ msgstr "Tamanho:"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
-msgstr ""
+msgstr "Zfar"
#: modules/gltf/gltf_camera.cpp
#, fuzzy
@@ -17064,7 +17074,7 @@ msgstr "Cores"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
msgid "Intensity"
-msgstr ""
+msgstr "Intensidade"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
#, fuzzy
@@ -17073,11 +17083,11 @@ msgstr "Mudar"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
-msgstr ""
+msgstr "Ângulo do Cone Interno"
#: modules/gltf/gltf_light.cpp
msgid "Outer Cone Angle"
-msgstr ""
+msgstr "Ângulo do Cone Externo"
#: modules/gltf/gltf_mesh.cpp
#, fuzzy
@@ -17101,7 +17111,7 @@ msgstr "Plataforma"
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
-msgstr ""
+msgstr "Skin"
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
#, fuzzy
@@ -17120,11 +17130,11 @@ msgstr "Ponto"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
-msgstr ""
+msgstr "Raizes"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
msgid "Unique Names"
-msgstr ""
+msgstr "Nomes Únicos"
#: modules/gltf/gltf_skeleton.cpp
#, fuzzy
@@ -17143,7 +17153,7 @@ msgstr "Focar na Origem"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
-msgstr ""
+msgstr "Inverter Ligações"
#: modules/gltf/gltf_skin.cpp
#, fuzzy
@@ -17152,27 +17162,27 @@ msgstr "Mover Junta"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
-msgstr ""
+msgstr "Articulação I ao Osso I"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Name"
-msgstr ""
+msgstr "Junta I A Nomear"
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
-msgstr ""
+msgstr "Skin Godot"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Img"
-msgstr ""
+msgstr "Imagem Difusa"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Factor"
-msgstr ""
+msgstr "Fator Difuso"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Gloss Factor"
-msgstr ""
+msgstr "Fator de Brilho"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Specular Factor"
@@ -17180,11 +17190,11 @@ msgstr "Fator Especular"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Spec Gloss Img"
-msgstr ""
+msgstr "Imagem Brilhante Especular"
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr ""
+msgstr "Json"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17203,7 +17213,7 @@ msgstr "Com Dados"
#: modules/gltf/gltf_state.cpp
msgid "Use Named Skin Binds"
-msgstr ""
+msgstr "Usar Ligações de Skin Nomeadas"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17212,7 +17222,7 @@ msgstr "Vista de Trás"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
-msgstr ""
+msgstr "Assessores"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17232,11 +17242,11 @@ msgstr "Funcionalidades"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
-msgstr ""
+msgstr "Imagens"
#: modules/gltf/gltf_state.cpp
msgid "Cameras"
-msgstr ""
+msgstr "Câmeras"
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
#, fuzzy
@@ -17283,9 +17293,8 @@ msgid "Use In Baked Light"
msgstr "Consolidar Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
-msgstr ""
+msgstr "Célula"
#: modules/gridmap/grid_map.cpp
#, fuzzy
@@ -17311,7 +17320,20 @@ msgstr "Centro"
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
#: scene/resources/material.cpp
msgid "Mask"
-msgstr ""
+msgstr "Máscara"
+
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navegação"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Modo Navegação"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
@@ -17476,19 +17498,19 @@ msgstr "Consolidar Lightmaps"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Low Quality Ray Count"
-msgstr ""
+msgstr "Contagem de Raios de Baixa Qualidade"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Medium Quality Ray Count"
-msgstr ""
+msgstr "Contagem de Raios de Média Qualidade"
#: modules/lightmapper_cpu/register_types.cpp
msgid "High Quality Ray Count"
-msgstr ""
+msgstr "Contagem de Raios de Alta Qualidade"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Ultra Quality Ray Count"
-msgstr ""
+msgstr "Contagem de Raios de Ultra Qualidade"
#: modules/minimp3/audio_stream_mp3.cpp
#: modules/minimp3/resource_importer_mp3.cpp
@@ -17500,11 +17522,11 @@ msgstr "Compensação:"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Eye Height"
-msgstr ""
+msgstr "Altura do Olho"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "IOD"
-msgstr ""
+msgstr "IOD"
#: modules/mobile_vr/mobile_vr_interface.cpp
#, fuzzy
@@ -17518,15 +17540,15 @@ msgstr "Vista sem sombras"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
-msgstr ""
+msgstr "Excesso de Amostra"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "K1"
-msgstr ""
+msgstr "K1"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "K2"
-msgstr ""
+msgstr "K2"
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
@@ -17614,7 +17636,7 @@ msgstr "Feito!"
#: modules/opensimplex/noise_texture.cpp
msgid "Seamless"
-msgstr ""
+msgstr "Sem Emenda"
#: modules/opensimplex/noise_texture.cpp
#, fuzzy
@@ -17623,11 +17645,11 @@ msgstr "Escala aleatória:"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
-msgstr ""
+msgstr "Força da Colisão"
#: modules/opensimplex/noise_texture.cpp
msgid "Noise"
-msgstr ""
+msgstr "Ruido"
#: modules/opensimplex/noise_texture.cpp
#, fuzzy
@@ -17636,11 +17658,11 @@ msgstr "Compensação da grelha:"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
-msgstr ""
+msgstr "Oitavas"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Period"
-msgstr ""
+msgstr "Periodo"
#: modules/opensimplex/open_simplex_noise.cpp
#, fuzzy
@@ -17649,11 +17671,11 @@ msgstr "Perspetiva"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Lacunarity"
-msgstr ""
+msgstr "Lacunaridade"
#: modules/regex/regex.cpp
msgid "Subject"
-msgstr ""
+msgstr "Sujeito"
#: modules/regex/regex.cpp
#, fuzzy
@@ -17667,15 +17689,15 @@ msgstr "Configuração:"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
-msgstr ""
+msgstr "Descobrir se Multicast"
#: modules/upnp/upnp.cpp
msgid "Discover Local Port"
-msgstr ""
+msgstr "Descobrir Porta Local"
#: modules/upnp/upnp.cpp
msgid "Discover IPv6"
-msgstr ""
+msgstr "Descobrir IPv6"
#: modules/upnp/upnp_device.cpp
#, fuzzy
@@ -17689,7 +17711,7 @@ msgstr "Definir tipo de variável"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
-msgstr ""
+msgstr "URL de controle IGD"
#: modules/upnp/upnp_device.cpp
#, fuzzy
@@ -17698,7 +17720,7 @@ msgstr "Definir tipo de variável"
#: modules/upnp/upnp_device.cpp
msgid "IGD Our Addr"
-msgstr ""
+msgstr "IGD Nosso Endereço"
#: modules/upnp/upnp_device.cpp
#, fuzzy
@@ -17730,7 +17752,8 @@ msgstr ""
"trabalho de nós! Corrija o seu nó por favor."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "O nó retornou uma sequência de saída incorreta: "
#: modules/visual_script/visual_script.cpp
@@ -17739,7 +17762,8 @@ msgstr ""
"Foi encontrada o bit da sequência mas não o nó na pilha, denuncie o bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Pilha cheia com a profundidade da pilha: "
#: modules/visual_script/visual_script.cpp
@@ -18108,7 +18132,8 @@ msgid "for (elem) in (input):"
msgstr "para (elem) em (input):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Tipo de Input não iterável: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18116,7 +18141,8 @@ msgid "Iterator became invalid"
msgstr "O iterador tornou-se inválido"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "O iterador tornou-se inválido: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18280,11 +18306,13 @@ msgid "Operator"
msgstr "Iterador"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Argumento inválido de tipo: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Argumentos inválidos: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18297,11 +18325,13 @@ msgid "Var Name"
msgstr "Nome"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet não encontrado no script: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet não encontrado no script: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18371,7 +18401,7 @@ msgstr "SubCall"
#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
msgid "Title"
-msgstr ""
+msgstr "Titulo"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Construct %s"
@@ -18441,19 +18471,19 @@ msgstr "Modo Prioridade"
#: modules/webrtc/webrtc_data_channel.h
msgid "WebRTC"
-msgstr ""
+msgstr "WebRTC"
#: modules/webrtc/webrtc_data_channel.h
msgid "Max Channel In Buffer (KB)"
-msgstr ""
+msgstr "Buffer máximo de canal (KB)"
#: modules/websocket/websocket_client.cpp
msgid "Verify SSL"
-msgstr ""
+msgstr "Verificar SSL"
#: modules/websocket/websocket_client.cpp
msgid "Trusted SSL Certificate"
-msgstr ""
+msgstr "Certificado SSL Confiável"
#: modules/websocket/websocket_macros.h
#, fuzzy
@@ -18467,7 +18497,7 @@ msgstr "Tamanho Máximo (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max In Packets"
-msgstr ""
+msgstr "Máximo de Pacotes de Entrada"
#: modules/websocket/websocket_macros.h
#, fuzzy
@@ -18476,7 +18506,7 @@ msgstr "Tamanho Máximo (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max Out Packets"
-msgstr ""
+msgstr "Máximo de Pacotes de Saida"
#: modules/websocket/websocket_macros.h
#, fuzzy
@@ -18485,7 +18515,7 @@ msgstr "Analisador de Rede"
#: modules/websocket/websocket_server.cpp
msgid "Bind IP"
-msgstr ""
+msgstr "Associar IP"
#: modules/websocket/websocket_server.cpp
#, fuzzy
@@ -18494,7 +18524,7 @@ msgstr "Caminho da Chave Privada SSH"
#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
msgid "SSL Certificate"
-msgstr ""
+msgstr "Certificado SSL"
#: modules/websocket/websocket_server.cpp
#, fuzzy
@@ -18522,11 +18552,11 @@ msgstr "Funcionalidades Principais:"
#: modules/webxr/webxr_interface.cpp
msgid "Requested Reference Space Types"
-msgstr ""
+msgstr "Tipos de Espaço de Referência Solicitados"
#: modules/webxr/webxr_interface.cpp
msgid "Reference Space Type"
-msgstr ""
+msgstr "Tipo de Espaço de Referência"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
@@ -18545,7 +18575,7 @@ msgstr "Ajuste Inteligente"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
-msgstr ""
+msgstr "Caminho do SDK Android"
#: platform/android/export/export.cpp
#, fuzzy
@@ -18554,35 +18584,35 @@ msgstr "Depurador"
#: platform/android/export/export.cpp
msgid "Debug Keystore User"
-msgstr ""
+msgstr "Depuração do Usuário do Armazenamento de Chaves"
#: platform/android/export/export.cpp
msgid "Debug Keystore Pass"
-msgstr ""
+msgstr "Depurar Senha de Armazenamento de Chaves"
#: platform/android/export/export.cpp
msgid "Force System User"
-msgstr ""
+msgstr "Forçar Usuário do Sistema"
#: platform/android/export/export.cpp
msgid "Shutdown ADB On Exit"
-msgstr ""
+msgstr "Desligar o ADB na Saída"
#: platform/android/export/export_plugin.cpp
msgid "Launcher Icons"
-msgstr ""
+msgstr "Ícones do Inicializador"
#: platform/android/export/export_plugin.cpp
msgid "Main 192 X 192"
-msgstr ""
+msgstr "Principal 192 X 192"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Foreground 432 X 432"
-msgstr ""
+msgstr "Primeiro Plano Adaptável 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Background 432 X 432"
-msgstr ""
+msgstr "Plano de Fundo Adaptável 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -18611,14 +18641,29 @@ msgid "The package must have at least one '.' separator."
msgstr "O pacote deve ter pelo menos um separador '.'."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Usar Compilação Personalizada"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
-msgstr ""
+msgstr "Usar Compilação Personalizada"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Export Format"
msgstr "Exportar Caminho"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Tamanho do contorno:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Alvo"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18651,7 +18696,7 @@ msgstr "Senha"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
-msgstr ""
+msgstr "Implantação com Um Clique"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18660,17 +18705,7 @@ msgstr "Inspecionar instância anterior"
#: platform/android/export/export_plugin.cpp
msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Tamanho do contorno:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Alvo"
+msgstr "Código"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
@@ -18694,7 +18729,7 @@ msgstr "Nome de Classe:"
#: platform/android/export/export_plugin.cpp
msgid "Retain Data On Uninstall"
-msgstr ""
+msgstr "Reter Dados na Desinstalação"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18728,11 +18763,11 @@ msgstr "Empacotamento"
#: platform/android/export/export_plugin.cpp
msgid "Hand Tracking Frequency"
-msgstr ""
+msgstr "Frequência de Rastreamento Manual"
#: platform/android/export/export_plugin.cpp
msgid "Passthrough"
-msgstr ""
+msgstr "Atravessar"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18766,7 +18801,7 @@ msgstr "Interface do Utilizador"
#: platform/android/export/export_plugin.cpp
msgid "Allow"
-msgstr ""
+msgstr "Permitir"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
@@ -18785,7 +18820,7 @@ msgstr "Expressão"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
-msgstr ""
+msgstr "Sal"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18835,10 +18870,6 @@ msgid "Could not execute on device."
msgstr "Incapaz de executar no dispositivo."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Incapaz de localizar a ferramenta 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18920,21 +18951,28 @@ msgid ""
"Note that the singleton was also renamed from \"GodotPayments\" to "
"\"GodotGooglePlayBilling\"."
msgstr ""
+"Módulo \"GodotPaymentV3\" inválido incluído na configuração do projeto "
+"\"android/modules\" (alterado no Godot 3.2.2).\n"
+"Substitua-o pelo plug-in primário \"GodotGooglePlayBilling\".\n"
+"Observe que o singleton também foi renomeado de \"GodotPayments\" para "
+"\"GodotGooglePlayBilling\"."
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
msgstr "\"Use Custom Build\" têm de estar ativa para usar os plugins."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile "
"VrApi\" ou \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "\"Passthrough\" só é válido quando \"Modo Xr\" é \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
@@ -18942,34 +18980,59 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
msgstr "\"Exportar AAB\" só é válido quando \"Use Custom Build\" está ativa."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Mudança de \"Min Sdk\" só é válida quando \"Use Custom Build\" está ativa."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Mudança de \"Target Sdk\" só é válida quando \"Use Custom Build\" está ativa."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"Versão de \"Target Sdk\" tem de ser maior ou igual à versão de \"Min Sdk\"."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Sinal"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"'apksigner' não foi encontrado.\n"
-"Verifique se o comando está disponível na diretoria Android SDK build-"
-"tools.\n"
-"O % resultante não está assinado."
+"'apksigner' não foi encontrado. Verifique se o comando está disponível no "
+"diretório do Android SDK build-tools. O %s resultante não está assinado."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -18984,6 +19047,10 @@ msgid "Could not find keystore, unable to export."
msgstr "Incapaz de encontrar keystore e exportar."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "Não foi possível iniciar o executável apksigner."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' devolvido com erro #%d"
@@ -19013,8 +19080,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Nome de ficheiro inválido! APK Android exige a extensão *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Formato de exportação não suportado!\n"
+msgid "Unsupported export format!"
+msgstr "Formato de exportação não suportado!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19026,26 +19093,24 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Incompatibilidade da versão Android:\n"
-" Modelo instalado: %s\n"
-" Versão Godot: %s\n"
-"Reinstale o modelo de compilação Android no menu 'Projeto'."
+"Incompatibilidade de versão de compilação do Android: Modelo instalado: %s, "
+"versão Godot: %s. Por favor, reinstale o modelo de compilação do Android no "
+"menu 'Projeto'."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Incapaz de sobrescrever ficheiros res://android/build/res/*.xml com o nome "
"do projeto"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "Incapaz de exportar ficheiros do projeto para projeto gradle\n"
+msgid "Could not export project files to gradle project."
+msgstr "Incapaz de exportar ficheiros do projeto para projeto gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19057,12 +19122,12 @@ msgstr "A compilar Projeto Android (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"Falhou a compilação do projeto Android, verifique o erro na saída.\n"
-"Em alternativa visite docs.godotengine.org para a documentação sobre "
-"compilação Android."
+"Falhou a compilação do projeto Android, verifique o erro na saída. Em "
+"alternativa visite docs.godotengine.org para a documentação sobre compilação "
+"Android."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -19077,7 +19142,8 @@ msgstr ""
"projeto gradle por resultados."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Pacote não encontrado: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19085,31 +19151,26 @@ msgid "Creating APK..."
msgstr "A criar APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"Incapaz de encontrar modelo APK para exportar:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Incapaz de encontrar modelo APK para exportar: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
"Bibliotecas em falta no modelo de exportação para as arquiteturas "
-"selecionadas: %s.\n"
-"Construa um modelo com todas as bibliotecas necessárias, ou desmarque as "
-"arquiteturas em falta na predefinição de exportação."
+"selecionadas: %s. Construa um modelo com todas as bibliotecas necessárias, "
+"ou desmarque as arquiteturas em falta no preset de exportação."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "A adicionar ficheiros..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Incapaz de exportar ficheiros do projeto"
#: platform/android/export/export_plugin.cpp
@@ -19130,67 +19191,67 @@ msgstr "O carácter \"%s\" não é permitido no Identificador."
#: platform/iphone/export/export.cpp
msgid "Landscape Launch Screens"
-msgstr ""
+msgstr "Telas de Inicialização de Paisagem"
#: platform/iphone/export/export.cpp
msgid "iPhone 2436 X 1125"
-msgstr ""
+msgstr "iPhone 2436 X 1125"
#: platform/iphone/export/export.cpp
msgid "iPhone 2208 X 1242"
-msgstr ""
+msgstr "iPhone 2208 X 1242"
#: platform/iphone/export/export.cpp
msgid "iPad 1024 X 768"
-msgstr ""
+msgstr "iPad 1024 X 768"
#: platform/iphone/export/export.cpp
msgid "iPad 2048 X 1536"
-msgstr ""
+msgstr "iPad 2048 X 1536"
#: platform/iphone/export/export.cpp
msgid "Portrait Launch Screens"
-msgstr ""
+msgstr "Telas de Lançamento de Retrato"
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 960"
-msgstr ""
+msgstr "iPhone 640 X 960"
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 1136"
-msgstr ""
+msgstr "iPhone 640 X 1136"
#: platform/iphone/export/export.cpp
msgid "iPhone 750 X 1334"
-msgstr ""
+msgstr "iPhone 750 X 1334"
#: platform/iphone/export/export.cpp
msgid "iPhone 1125 X 2436"
-msgstr ""
+msgstr "iPhone 1125 X 2436"
#: platform/iphone/export/export.cpp
msgid "iPad 768 X 1024"
-msgstr ""
+msgstr "iPad 768 X 1024"
#: platform/iphone/export/export.cpp
msgid "iPad 1536 X 2048"
-msgstr ""
+msgstr "iPad 1536 X 2048"
#: platform/iphone/export/export.cpp
msgid "iPhone 1242 X 2208"
-msgstr ""
+msgstr "iPhone 1242 X 2208"
#: platform/iphone/export/export.cpp
msgid "App Store Team ID"
-msgstr ""
+msgstr "ID da Equipe na App Store"
#: platform/iphone/export/export.cpp
msgid "Provisioning Profile UUID Debug"
-msgstr ""
+msgstr "Depuração de UUID do Perfil de Provisionamento"
#: platform/iphone/export/export.cpp
msgid "Code Sign Identity Debug"
-msgstr ""
+msgstr "Depuração de Identidade de Sinal de Código"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19199,11 +19260,11 @@ msgstr "Exportar com Depuração"
#: platform/iphone/export/export.cpp
msgid "Provisioning Profile UUID Release"
-msgstr ""
+msgstr "Liberação de UUID do Perfil de Provisionamento"
#: platform/iphone/export/export.cpp
msgid "Code Sign Identity Release"
-msgstr ""
+msgstr "Liberação de Identidade de Sinal de Código"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19212,11 +19273,11 @@ msgstr "Modo exportação:"
#: platform/iphone/export/export.cpp
msgid "Targeted Device Family"
-msgstr ""
+msgstr "Família de Dispositivos Visados"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Info"
-msgstr ""
+msgstr "Informações"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -19260,11 +19321,11 @@ msgstr "Interface do Utilizador"
#: platform/iphone/export/export.cpp
msgid "Accessible From Files App"
-msgstr ""
+msgstr "Acessível a partir do Aplicativo de Arquivos"
#: platform/iphone/export/export.cpp
msgid "Accessible From iTunes Sharing"
-msgstr ""
+msgstr "Acessível a partir do Compartilhamento do iTunes"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -19288,43 +19349,43 @@ msgstr "Descrições da Propriedade"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
-msgstr ""
+msgstr "iPhone 120 X 120"
#: platform/iphone/export/export.cpp
msgid "iPhone 180 X 180"
-msgstr ""
+msgstr "iPhone 180 X 180"
#: platform/iphone/export/export.cpp
msgid "iPad 76 X 76"
-msgstr ""
+msgstr "iPad 76 X 76"
#: platform/iphone/export/export.cpp
msgid "iPad 152 X 152"
-msgstr ""
+msgstr "iPad 152 X 152"
#: platform/iphone/export/export.cpp
msgid "iPad 167 X 167"
-msgstr ""
+msgstr "iPad 167 X 167"
#: platform/iphone/export/export.cpp
msgid "App Store 1024 X 1024"
-msgstr ""
+msgstr "App Store 1024 X 1024"
#: platform/iphone/export/export.cpp
msgid "Spotlight 40 X 40"
-msgstr ""
+msgstr "Destaque 40 X 40"
#: platform/iphone/export/export.cpp
msgid "Spotlight 80 X 80"
-msgstr ""
+msgstr "Destaque 80 X 80"
#: platform/iphone/export/export.cpp
msgid "Storyboard"
-msgstr ""
+msgstr "Storyboard"
#: platform/iphone/export/export.cpp
msgid "Use Launch Screen Storyboard"
-msgstr ""
+msgstr "Use o Storyboard da Tela de Inicialização"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19351,6 +19412,17 @@ msgstr "CustomNode"
msgid "Custom BG Color"
msgstr "CustomNode"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Gerir Modelos"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Modelo de lançamento personalizado não encontrado."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19373,22 +19445,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Executar HTML exportado no navegador predefinido do sistema."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Incapaz de abrir modelo para exportação:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Modelo de exportação inválido:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Incapaz de escrever ficheiro:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Definir Margem"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Incapaz de ler ficheiro:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr "PWA"
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Separação:"
@@ -19405,15 +19490,15 @@ msgstr "Expressão"
#: platform/javascript/export/export.cpp
msgid "For Desktop"
-msgstr ""
+msgstr "Para Desktop"
#: platform/javascript/export/export.cpp
msgid "For Mobile"
-msgstr ""
+msgstr "Para Mobile"
#: platform/javascript/export/export.cpp
msgid "HTML"
-msgstr ""
+msgstr "HTML"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19427,15 +19512,15 @@ msgstr "CustomNode"
#: platform/javascript/export/export.cpp
msgid "Head Include"
-msgstr ""
+msgstr "Incluir Cabeçalho"
#: platform/javascript/export/export.cpp
msgid "Canvas Resize Policy"
-msgstr ""
+msgstr "Política de Redimensionamento da Tela"
#: platform/javascript/export/export.cpp
msgid "Focus Canvas On Start"
-msgstr ""
+msgstr "Focar Tela ao Iniciar"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19444,47 +19529,50 @@ msgstr "Filtrar sinais"
#: platform/javascript/export/export.cpp
msgid "Progressive Web App"
-msgstr ""
+msgstr "Aplicativo da Web Progressivo"
#: platform/javascript/export/export.cpp
msgid "Offline Page"
-msgstr ""
+msgstr "Pagina Offline"
#: platform/javascript/export/export.cpp
msgid "Icon 144 X 144"
-msgstr ""
+msgstr "Ícone 144 X 144"
#: platform/javascript/export/export.cpp
msgid "Icon 180 X 180"
-msgstr ""
+msgstr "Ícone 180 X 180"
#: platform/javascript/export/export.cpp
msgid "Icon 512 X 512"
-msgstr ""
+msgstr "Ícone 512 X 512"
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Incapaz de ler shell HTML:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Incapaz de criar diretoria do servidor HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Erro ao iniciar servidor HTTP:"
#: platform/javascript/export/export.cpp
msgid "Web"
-msgstr ""
+msgstr "Web"
#: platform/javascript/export/export.cpp
msgid "HTTP Host"
-msgstr ""
+msgstr "Host HTTP"
#: platform/javascript/export/export.cpp
msgid "HTTP Port"
-msgstr ""
+msgstr "Porta HTTP"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19493,15 +19581,15 @@ msgstr "Usar Ajuste"
#: platform/javascript/export/export.cpp
msgid "SSL Key"
-msgstr ""
+msgstr "Chave SSL"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Não é possível obter acesso ao sistema de arquivos."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Falha ao obter o hash de Info.plist."
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -19510,7 +19598,7 @@ msgstr "Nome do projeto inválido."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Info.plist inválido, sem ID de pacote."
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -19524,7 +19612,7 @@ msgstr "Não consegui criar pasta."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Falha ao extrair o binário fino."
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -19533,7 +19621,7 @@ msgstr "Caminho base inválido."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Já assinado!"
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -19542,7 +19630,7 @@ msgstr "Falha ao carregar recurso."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "Falha ao criar a subpasta _CodeSignature."
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -19561,19 +19649,19 @@ msgstr "Extensão inválida."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Não é possível redimensionar o comando de carregamento de assinatura."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Falha ao criar binário gordo."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Tipo de pacote desconhecido."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Tipo de objeto desconhecido."
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19582,7 +19670,7 @@ msgstr "Categoria:"
#: platform/osx/export/export.cpp
msgid "High Res"
-msgstr ""
+msgstr "Alta resolução"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19591,7 +19679,7 @@ msgstr "Descrição"
#: platform/osx/export/export.cpp
msgid "Address Book Usage Description"
-msgstr ""
+msgstr "Descrição de Uso do Catálogo de Endereços"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19615,15 +19703,15 @@ msgstr "Descrições do Método"
#: platform/osx/export/export.cpp
msgid "Downloads Folder Usage Description"
-msgstr ""
+msgstr "Descrição do Uso da Pasta de Downloads"
#: platform/osx/export/export.cpp
msgid "Network Volumes Usage Description"
-msgstr ""
+msgstr "Descrição do Uso de Volumes de Rede"
#: platform/osx/export/export.cpp
msgid "Removable Volumes Usage Description"
-msgstr ""
+msgstr "Descrição de Uso de Volumes Removíveis"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
@@ -19643,7 +19731,7 @@ msgstr "Tempo"
#: platform/osx/export/export.cpp
msgid "Hardened Runtime"
-msgstr ""
+msgstr "Tempo de Execução Reforçado"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19772,9 +19860,27 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Incapaz de exportar ficheiros do projeto"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "Não foi possível iniciar o executável xcrun."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Localização"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19790,20 +19896,75 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Ícones não encontrados."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Erro ao guardar ficheiro: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direções"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "Não foi possível iniciar o executável hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "A criar miniatura"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Incapaz de encontrar modelo app para exportar:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Modelo de exportação inválido:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19811,7 +19972,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19852,6 +20013,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projeto"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Não foi possível abrir o arquivo para ler do caminho \"%s\"."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Identificador de pacote inválido:"
@@ -20172,6 +20342,11 @@ msgid "Debug Algorithm"
msgstr "Depurador"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Incapaz de remover ficheiro temporário:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20218,6 +20393,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Rotação aleatória:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Incapaz de encontrar keystore e exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Incapaz de encontrar keystore e exportar."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Extensão inválida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Incapaz de encontrar keystore e exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Incapaz de encontrar keystore e exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Identificador Inválido:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nome inválido."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Extensão inválida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Incapaz de remover ficheiro temporário:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20236,6 +20475,23 @@ msgid "Invalid product version:"
msgstr "Versão de produto inválida:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Extensão inválida."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nova Janela"
@@ -20252,6 +20508,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20379,7 +20639,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Distância de escolha:"
@@ -20430,7 +20691,7 @@ msgstr "Aumentar Zoom"
msgid "Custom Viewport"
msgstr "1 Viewport"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21193,11 +21454,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Editar Conexão:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Ligação"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Distância de escolha:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Distância de escolha:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Avançado"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Ativar"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21215,16 +21508,6 @@ msgstr "Inverter na Horizontal"
msgid "Max Speed"
msgstr "Velocidade:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Distância de escolha:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Ativar"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -21253,23 +21536,25 @@ msgstr ""
"funcionar. Defina a propriedade ou desenhe o polígono."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance tem de ser filho ou neto de um nó Navigation2D. "
-"Apenas fornece dados de navegação."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centro Fundo"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Viagem"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Graus de Rotação"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Constante Global"
@@ -22473,6 +22758,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Normais da Transformação"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22498,14 +22790,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "O NavigationAgent pode ser apenas usado dentro de um nó espacial."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance tem de ser filho ou neto de um nó Navigation. Apenas "
-"fornece dados de navegação."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23408,6 +23692,11 @@ msgstr ""
"Em vez disso, mude o tamanho das formas de colisão filhas."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Manter Transformação Global"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24663,6 +24952,11 @@ msgstr "Pasta:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Apenas seleção"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Ativar"
@@ -25075,18 +25369,6 @@ msgstr "Exportar Caminho"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Este viewport não está definida como alvo de Renderização. Se pretende "
-"apresentar o seu conteúdo diretamente no ecrã, torne-a um filho de um "
-"Control de modo a que obtenha um tamanho. Caso contrário, torne-a um "
-"RenderTarget e atribua a sua textura interna a outro nó para visualizar."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -25094,6 +25376,15 @@ msgstr ""
"dimensões para renderizar."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25252,6 +25543,16 @@ msgid "3D Physics"
msgstr "Física"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navegação"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navegação"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26677,7 +26978,7 @@ msgstr "Transmissão"
msgid "Refraction"
msgstr "Separação:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26762,7 +27063,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "A escalar: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Definir tipo de variável"
#: scene/resources/navigation_mesh.cpp
@@ -26780,10 +27086,15 @@ msgid "Source Group Name"
msgstr "Fonte"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Argumentos da Cena Principal:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26793,11 +27104,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Região"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Mesclar a partir da Cena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26811,6 +27127,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Mostrar Predefinição"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Distância de escolha:"
@@ -26828,9 +27149,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "A gerar AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Compensação:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27244,6 +27575,11 @@ msgid "Scenario"
msgstr "Cena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navegação"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27261,6 +27597,26 @@ msgstr "Linear Esquerda"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Predefinição"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Pré-visualização Predefinida"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Em teste"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Editar Conexão:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index bc9bce4ea2..84a5ac45c3 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -127,9 +127,9 @@
# Mário Victor Ribeiro Silva <mariovictorrs@gmail.com>, 2021.
# jak3z <jose_renato06@outlook.com>, 2021.
# Henrique Darko <henridark00@gmail.com>, 2021.
-# Cearaj <pmoraisleal@gmail.com>, 2021.
+# Cearaj <pmoraisleal@gmail.com>, 2021, 2022.
# Alefy San <alefyferreiradeoliveira@outlook.com>, 2021.
-# Joel Gomes da Silva <joelgomes1994@hotmail.com>, 2021.
+# Joel Gomes da Silva <joelgomes1994@hotmail.com>, 2021, 2022.
# Orangotango De tanga <luizinho0045@gmail.com>, 2021.
# Felipe SiFa <felipe@logus.digital>, 2022.
# Gabriel Gian <gabrielgian@live.com>, 2022.
@@ -139,13 +139,18 @@
# Daniel Abrante <danielabrante@protonmail.com>, 2022.
# blue wemes <bluewemes@gmail.com>, 2022.
# José Miranda Neto <dodimi95@gmail.com>, 2022.
+# lucas rossy brasil coelho <lucasrossy270@gmail.com>, 2022.
+# Kaycke <kaycke@ymail.com>, 2022.
+# Ednaldo Pereira Confia <filat51823@storypo.com>, 2022.
+# Mauricio <mauricio.fidalgo1@gmail.com>, 2022.
+# Felipe Kinoshita <kinofhek@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2022-05-15 09:38+0000\n"
-"Last-Translator: José Miranda Neto <dodimi95@gmail.com>\n"
+"PO-Revision-Date: 2022-08-04 06:38+0000\n"
+"Last-Translator: Felipe Kinoshita <kinofhek@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -153,7 +158,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -337,9 +342,10 @@ msgid "Data"
msgstr "Dados"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Rede"
@@ -357,7 +363,7 @@ msgstr "Página lida adiante"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr "Modo de bloqueio ativado"
+msgstr "Modo de Bloqueio Ativado"
#: core/io/http_client.cpp
msgid "Connection"
@@ -443,8 +449,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Entrada inválida %i (não passada) na expressão"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Entrada inválida %d (não passada) na expressão"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -487,6 +493,14 @@ msgstr "Fila de Mensagens"
msgid "Max Size (KB)"
msgstr "Tamanho Máximo (KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Modo do cursor"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Usar entrada acumulada"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -512,6 +526,10 @@ msgstr "Meta"
msgid "Command"
msgstr "Comando"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "Físico"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -563,6 +581,10 @@ msgid "Pressure"
msgstr "Pressão"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "Caneta Invertida (\"Borracha\")"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relativo"
@@ -666,7 +688,8 @@ msgstr "Descrição"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Rodar"
@@ -698,15 +721,14 @@ msgstr "Nome do Diretório de Usuário Personalizado"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Exibir Tudo"
+msgstr "Exibição"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Largura"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -714,23 +736,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Luz"
+msgstr "Altura"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Sempre no topo"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Largura Esquerda"
+msgstr "Largura de teste"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Testando"
+msgstr "Altura de teste"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -753,6 +772,10 @@ msgid "Main Run Args"
msgstr "Argumentos de Execução Principais"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Nomeação de Cena"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Pesquisar em Extensões de Arquivo"
@@ -760,18 +783,13 @@ msgstr "Pesquisar em Extensões de Arquivo"
msgid "Script Templates Search Path"
msgstr "Caminho de Pesquisa de Modelos de Script"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Controle de Versão"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "Carregamento Automático na Inicialização"
+msgid "Version Control Autoload On Startup"
+msgstr "Carregamento Automático do Controle de Versão na Inicialização"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Nome do Plugin"
+msgid "Version Control Plugin Name"
+msgstr "Nome do plugin de controle de Versão"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -878,7 +896,8 @@ msgid "Quality"
msgstr "Qualidade"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Filtros"
@@ -1007,7 +1026,7 @@ msgstr "Teste"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "Fallback"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -1069,20 +1088,18 @@ msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
msgstr "Encaixe inteligente"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Use GPU Pixel Snap"
-msgstr "Usar Encaixe de Pixel"
+msgstr "Usar Encaixe de Pixels da GPU"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Tamanho imediato do Buffer (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
@@ -1092,28 +1109,27 @@ msgstr "Mapeamento de luz"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Usar amostragem bicúbica"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Máximo de elementos renderizáveis"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Máximo de luzes renderizáveis"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Max Renderable Reflections"
-msgstr "Seleção Central"
+msgstr "Máximo de Reflexões Renderizáveis"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Máximo de luzes por objeto"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Dispersão Subsuperficial"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1134,11 +1150,11 @@ msgstr "Seguir Superfície"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "Amostras de Peso"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Rastreamento de Cone Voxel"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
@@ -1148,6 +1164,7 @@ msgstr "Alta qualidade"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Tamanho máximo do buffer da forma de mistura (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratuito"
@@ -1164,7 +1181,7 @@ msgstr "Espelhar"
msgid "Time:"
msgstr "Tempo:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valor:"
@@ -1219,9 +1236,8 @@ msgstr "Alterar Chamada da Animação"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Frame %"
+msgstr "Quadro"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1232,7 +1248,6 @@ msgstr "Tempo"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
msgstr "Localização"
@@ -1248,14 +1263,13 @@ msgid "Value"
msgstr "Valor"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Quantidade"
+msgstr "Quantia de argumentos"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argumentos"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1265,31 +1279,27 @@ msgid "Type"
msgstr "Tipo"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Definir Manipulador"
+msgstr "Manipulador de Entrada"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Definir Manipulador"
+msgstr "Manipulador de Saída"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "Fluxo"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Deslocamento da Grade:"
+msgstr "Deslocamento Inicial"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Deslocamento H"
+msgstr "Deslocamento Final"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1302,9 +1312,8 @@ msgid "Animation"
msgstr "Animação"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Facilitar Entrada-Saída"
+msgstr "Suavização"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1413,8 +1422,62 @@ msgid "Remove this track."
msgstr "Remover esta faixa."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Tempo (s): "
+msgid "Time (s):"
+msgstr "Tempo (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Posição:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotação:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Escala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tipo:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Inválido, tipo esperado: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Suavizar:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "Manipulador de Entrada:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Manipulador de Saída:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Transmissão:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Início (s):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Final (is):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Animações:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1502,9 +1565,8 @@ msgid "Editors"
msgstr "Editores"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Confirm Insert Track"
-msgstr "Inserir Trilha e Chave na Anim"
+msgstr "Confirmar Inserção de Trilha"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1630,8 +1692,8 @@ msgid "Add Method Track Key"
msgstr "Adicionar Chave de Trilha de Método"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Método não encontrado no objeto: "
+msgid "Method not found in object:"
+msgstr "Método não encontrado no objeto:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1651,7 +1713,7 @@ msgstr "Métodos"
#: editor/animation_track_editor.cpp
msgid "Bezier"
-msgstr ""
+msgstr "Bézier"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -2045,7 +2107,7 @@ msgstr ""
#: editor/connections_dialog.cpp scene/resources/texture.cpp
msgid "Oneshot"
-msgstr "Oneshot"
+msgstr "Só Uma Vez"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
@@ -2164,14 +2226,15 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recente:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Pesquisar:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Correspondências:"
@@ -2231,8 +2294,8 @@ msgstr "Buscar Recurso para Substituição:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2240,8 +2303,8 @@ msgid "Open"
msgstr "Abrir"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Donos De:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Proprietários de: %s (Total: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2355,7 +2418,7 @@ msgstr "Desenvolvedor-chefe"
#: editor/editor_about.cpp
msgctxt "Job Title"
msgid "Project Manager"
-msgstr "Gerenciador de Projeto"
+msgstr "Gestor de Projeto"
#: editor/editor_about.cpp
msgid "Developers"
@@ -2545,7 +2608,7 @@ msgid "Bus Options"
msgstr "Opções do canal"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
@@ -2597,9 +2660,9 @@ msgstr "Abrir Layout de Canais de Áudio"
msgid "There is no '%s' file."
msgstr "Não existe o arquivo '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Layout:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2648,9 +2711,8 @@ msgid "Create a new Bus Layout."
msgstr "Criar um novo Layout de Canais."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Audio Bus Layout"
-msgstr "Abrir Layout de Canais de Áudio"
+msgstr "Layout de Canais de Áudio"
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -2802,6 +2864,23 @@ msgid "Choose"
msgstr "Escolher"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Exportação do projeto para plataforma:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Concluído com erros."
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Concluído com sucesso."
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "Falhou."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Armazenando Arquivo:"
@@ -2814,6 +2893,26 @@ msgid "Packing"
msgstr "Empacotando"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "Salvar PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "Não foi possível criar arquivo \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "Falha ao exportar arquivos do projeto."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Não é possível abrir arquivo para leitura a partir do caminho \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr "Salvar ZIP"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2889,37 +2988,35 @@ msgstr "Formato Binário"
#: editor/editor_export.cpp
msgid "64 Bits"
-msgstr ""
+msgstr "64 Bits"
#: editor/editor_export.cpp
msgid "Embed PCK"
-msgstr ""
+msgstr "PCK Incorporado"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Texture Format"
-msgstr "Região da Textura"
+msgstr "Formato da Textura"
#: editor/editor_export.cpp
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
-#, fuzzy
msgid "No BPTC Fallbacks"
-msgstr "Forçar Fallbacks do Shader"
+msgstr "Sem Fallbacks para imagens BPTC"
#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -2931,11 +3028,28 @@ msgstr "Modelo customizado de depuração não encontrado."
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
msgid "Custom release template not found."
-msgstr "Template customizado de release não encontrado."
+msgstr "Modelo customizado de lançamento não encontrado."
+
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr "Preparar Modelo"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "O caminho de exportação informado não existe."
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "Arquivo de modelo não encontrado:"
+msgid "Template file not found: \"%s\"."
+msgstr "Arquivo de modelo não encontrado: \"%s\"."
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "Falha ao copiar o modelo de exportação."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "Incorporação de PCK"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -2943,7 +3057,7 @@ msgstr "Em exportações de 32 bits, o PCK embutido não pode ser maior que 4GB.
#: editor/editor_export.cpp
msgid "Convert Text Resources To Binary On Export"
-msgstr ""
+msgstr "Converter Recursos de Texto para Binário na Exportação"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -3109,9 +3223,9 @@ msgid "Import"
msgstr "Importar"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportação"
@@ -3150,9 +3264,8 @@ msgid "Manage Editor Feature Profiles"
msgstr "Gerenciar perfis de recurso do editor"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Default Feature Profile"
-msgstr "Perfil de funcionalidade do Godot"
+msgstr "Perfil de funcionalidade Padrão"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -3264,7 +3377,7 @@ msgstr "Mostrar Arquivos Ocultos"
#: editor/editor_file_dialog.cpp
msgid "Disable Overwrite Warning"
-msgstr ""
+msgstr "Desativar Aviso de Substituição"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -3367,7 +3480,7 @@ msgstr "(Re)Importando Assets"
#: editor/editor_file_system.cpp
msgid "Reimport Missing Imported Files"
-msgstr ""
+msgstr "Reimportar Arquivos Importados Ausentes"
#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
@@ -3382,7 +3495,7 @@ msgstr "Classe:"
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Inherits:"
-msgstr "Herda de:"
+msgstr "Herda:"
#: editor/editor_help.cpp
msgid "Inherited by:"
@@ -3478,7 +3591,7 @@ msgstr "Ajuda"
#: editor/editor_help.cpp
msgid "Sort Functions Alphabetically"
-msgstr ""
+msgstr "Classificar Funções em Ordem Alfabética"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -3558,9 +3671,8 @@ msgid "Property:"
msgstr "Propriedade:"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Label"
-msgstr "Valor"
+msgstr "Rótulo"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -3944,18 +4056,16 @@ msgid "Quick Open Script..."
msgstr "Abrir Script Rapidamente..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save & Reload"
-msgstr "Salvar e Reiniciar"
+msgstr "Salvar & Recarregar"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to '%s' before reloading?"
-msgstr "Salvar alterações em '%s' antes de fechar?"
+msgstr "Salvar alterações em '%s' antes de recarregar?"
#: editor/editor_node.cpp
msgid "Save & Close"
-msgstr "Salvar e Fechar"
+msgstr "Salvar & Fechar"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
@@ -4070,9 +4180,8 @@ msgid "Open Project Manager?"
msgstr "Abrir Gerenciador de Projetos?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to the following scene(s) before reloading?"
-msgstr "Salvar alterações na(s) seguinte(s) cena(s) antes de sair?"
+msgstr "Salvar alterações na(s) seguinte(s) cena(s) antes de recarregar?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -4265,14 +4374,8 @@ msgstr "%d mais arquivo(s)"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Cena"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Nomeação de Cena"
+"Não foi possível gravar no arquivo '%s', arquivo em uso, bloqueado ou sem "
+"permissões."
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
@@ -4284,53 +4387,48 @@ msgid "Scene Tabs"
msgstr "Abas de Cena"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Always Show Close Button"
-msgstr "Sempre Mostrar Grade"
+msgstr "Sempre Exibir o Botão de Fechar"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "Redimensionar se Houver Muitas Guias"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
-msgstr ""
+msgstr "Largura Mínima"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Output"
msgstr "Saída"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Clear Output On Play"
-msgstr "Limpar Saída"
+msgstr "Sempre limpar saída ao jogar"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr ""
+msgstr "Sempre abrir a saída ao jogar"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
-msgstr ""
+msgstr "Sempre fechar a saída ao parar"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr ""
+msgstr "Salvar em caso de perda de foco"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Save Each Scene On Quit"
-msgstr "Salvar Ramo como Cena"
+msgstr "Salvar cada cena ao sair"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Quit Confirmation"
-msgstr "Visualizar Informações"
+msgstr "Confirmação de saída"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Show Update Spinner"
-msgstr "Ocultar Spinner de Atualização"
+msgstr "Mostrar Spinner de Atualização"
#: editor/editor_node.cpp
msgid "Update Continuously"
@@ -4350,51 +4448,51 @@ msgstr "Restaurar Cenas ao Carregar"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "Mostrar miniatura ao passar o mouse"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
msgstr "Inspetor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Default Property Name Style"
-msgstr "Caminho Padrão do Projeto"
+msgstr "Estilo de Nome de Propriedade Padrão"
#: editor/editor_node.cpp
msgid "Default Float Step"
-msgstr ""
+msgstr "Passo de ponto flutuante padrão"
#: editor/editor_node.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Disable Folding"
-msgstr "Botão Desativado"
+msgstr "Desativar Dobragem"
#: editor/editor_node.cpp
msgid "Auto Unfold Foreign Scenes"
-msgstr ""
+msgstr "Desdobrar cenas estrangeiras automaticamente"
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
-msgstr ""
+msgstr "Edição Horizontal do Vector2"
#: editor/editor_node.cpp
msgid "Horizontal Vector Types Editing"
-msgstr ""
+msgstr "Edição Horizontal de Tipos de Vetor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Resources In Current Inspector"
-msgstr "Abrir no inspetor"
+msgstr "Abrir Recursos no Inspetor Atual"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Resources To Open In New Inspector"
-msgstr "Abrir no inspetor"
+msgstr "Recursos para abrir em Novo Inspetor"
#: editor/editor_node.cpp
msgid "Default Color Picker Mode"
-msgstr ""
+msgstr "Modo de Seletor de Cores Padrão"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Controle de Versão"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
@@ -4424,6 +4522,10 @@ msgstr "Alternar modo sem-distrações."
msgid "Add a new scene."
msgstr "Adicionar nova cena."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Cena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ir para cena aberta anteriormente."
@@ -4542,7 +4644,7 @@ msgstr "Sair para a Lista de Projetos"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr "Distribuir com Depuragem Remota"
+msgstr "Implantar com Depuração Remota"
#: editor/editor_node.cpp
msgid ""
@@ -4997,7 +5099,7 @@ msgstr "Tempo Médio (ms)"
#: editor/editor_profiler.cpp
msgid "Frame %"
-msgstr "Frame %"
+msgstr "Quadro %"
#: editor/editor_profiler.cpp
msgid "Physics Frame %"
@@ -5042,12 +5144,11 @@ msgstr "Depurador"
#: editor/editor_profiler.cpp
msgid "Profiler Frame History Size"
-msgstr ""
+msgstr "Tamanho de histórico disponível no \"Profiler\""
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Profiler Frame Max Functions"
-msgstr "Renomear Função"
+msgstr "Máximo de funções por quadro no \"Profiler\""
#: editor/editor_properties.cpp
msgid "Edit Text:"
@@ -5111,12 +5212,14 @@ msgid "Selected node is not a Viewport!"
msgstr "O nó selecionado não é uma Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Tamanho: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Tamanho:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Página: "
+msgid "Page:"
+msgstr "Página:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5178,20 +5281,17 @@ msgstr "Novo %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Base Type"
-msgstr "Mudar Tipo Base"
+msgstr "Tipo Base"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Edited Resource"
-msgstr "Adicionar Recurso"
+msgstr "Recurso Editado"
#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-#, fuzzy
msgid "Editable"
-msgstr "Item Editável"
+msgstr "Editável"
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "New Script"
@@ -5216,6 +5316,10 @@ msgstr ""
"Adicione uma predefinição executável no menu Exportar ou defina uma "
"predefinição existente como executável."
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr "Executar Projeto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Escreva sua lógica no método _run()."
@@ -5241,73 +5345,68 @@ msgid "Did you forget the '_run' method?"
msgstr "Você esqueceu o método '_run'?"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor Language"
-msgstr "Layout do Editor"
+msgstr "Linguagem do Editor"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Display Scale"
-msgstr "Exibir Tudo"
+msgstr "Escala de Exibição"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr ""
+msgstr "Escala de Exibição Customizada"
#: editor/editor_settings.cpp
msgid "Main Font Size"
-msgstr ""
+msgstr "Tamanho de Fonte Principal"
#: editor/editor_settings.cpp
msgid "Code Font Size"
-msgstr ""
+msgstr "Tamanho de Fonte (Tipo) no Código"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr ""
+msgstr "Fonte Com Serrilhado Suavizado"
#: editor/editor_settings.cpp
msgid "Font Hinting"
-msgstr ""
+msgstr "Suavização de Fonte"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Main Font"
-msgstr "Cena Principal"
+msgstr "Fonte Principal"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
-msgstr ""
+msgstr "Fonte Principal (Negrito)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Code Font"
-msgstr "Adicionar Ponto de Nó"
+msgstr "Fonte para Código"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
-msgstr ""
+msgstr "Escurecer o Editor ao Abir Janela Popup"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Tempo de Espera em Modo de Hibernação (µseg)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Tempo de Espera em Modo de Hibernação Quando Fora de Foco (µseg)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Separate Distraction Mode"
-msgstr "Modo Sem Distrações"
+msgstr "Modo \"Sem Distrações\" Desacoplado"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
-msgstr ""
+msgstr "Abrir Capturas de Tela Automaticamente"
#: editor/editor_settings.cpp
msgid "Max Array Dictionary Items Per Page"
-msgstr ""
+msgstr "Máximo de Itens em Arrays Dicionários Por Página"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5321,59 +5420,51 @@ msgstr "Predefinição"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr ""
+msgstr "Cor da Fonte e do Ícone"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Color"
-msgstr "Cores"
+msgstr "Cor Base"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Accent Color"
-msgstr "Escolher Cor"
+msgstr "Cor de Destaque"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
-msgstr ""
+msgstr "Contraste"
#: editor/editor_settings.cpp
msgid "Relationship Line Opacity"
-msgstr ""
+msgstr "Opacidade da Linha de Relacionamento"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Highlight Tabs"
-msgstr "Salvando mapas de luz"
+msgstr "Abas de Destaque"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Border Size"
-msgstr "Pixels de Borda"
+msgstr "Tamanho da Borda"
#: editor/editor_settings.cpp
msgid "Use Graph Node Headers"
-msgstr ""
+msgstr "Utilizar Cabeçalhos de Nós para Gráficos"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Additional Spacing"
-msgstr "Loop da Animação"
+msgstr "Espaçamento Adicional"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Custom Theme"
-msgstr "Tema do Editor"
+msgstr "Tema Personalizado"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Script Button"
-msgstr "Botão direito da roda"
+msgstr "Botão de Exibir Script"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Directories"
-msgstr "Direções"
+msgstr "Diretórios"
#: editor/editor_settings.cpp
msgid "Autoscan Project Path"
@@ -5384,23 +5475,20 @@ msgid "Default Project Path"
msgstr "Caminho Padrão do Projeto"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "On Save"
-msgstr "Salvar"
+msgstr "Ao Salvar"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Compress Binary Resources"
-msgstr "Copiar Recurso"
+msgstr "Comprimir Recursos Binários"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
-msgstr ""
+msgstr "Salvar de Forma Segura Como Backup e Então Renomear"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "File Dialog"
-msgstr "Diálogo XForm"
+msgstr "Janela de Arquivo"
#: editor/editor_settings.cpp
msgid "Thumbnail Size"
@@ -5408,82 +5496,73 @@ msgstr "Tamanho da Miniatura"
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "Docks"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tree"
-msgstr "Edição da Árvore de Cena"
+msgstr "Árvore de Cena"
#: editor/editor_settings.cpp
msgid "Start Create Dialog Fully Expanded"
-msgstr ""
+msgstr "Iniciar Dialogo de Criação Expandido por Completo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Always Show Folders"
-msgstr "Sempre Mostrar Grade"
+msgstr "Sempre Exibir Pastas"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Property Editor"
-msgstr "Editor de Grupos"
+msgstr "Editor de Propriedades"
#: editor/editor_settings.cpp
msgid "Auto Refresh Interval"
-msgstr ""
+msgstr "Intervalo de Atualização Automática"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "Sub-Recursos"
+msgstr "Tom de Coloração para Sub-Recursos"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Color Theme"
-msgstr "Tema do Editor"
+msgstr "Tema de Cores"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Line Spacing"
-msgstr ""
+msgstr "Espaçamento de Linha"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Highlighting"
-msgstr "Iluminação direta"
+msgstr "Destacando"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Syntax Highlighting"
-msgstr "Realce de sintaxe"
+msgstr "Destaque de Sintaxe"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
-msgstr ""
+msgstr "Destaque de Todas as Ocorrências"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight Current Line"
-msgstr ""
+msgstr "Destaque da Linha Atual"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
-msgstr ""
+msgstr "Destaque de Linhas de Tipo Seguro"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Indent"
-msgstr "Recuar Esquerda"
+msgstr "Indentar"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
msgstr "Auto Recuar"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "Converter recuo para espaços"
+msgstr "Converter Indentação Ao Salvar"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Draw Tabs"
@@ -5494,145 +5573,147 @@ msgid "Draw Spaces"
msgstr "Desenhar Espaços"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Navegação"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Smooth Scrolling"
-msgstr ""
+msgstr "Rolagem Suave"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "V Scroll Speed"
-msgstr ""
+msgstr "Velocidade de Rolagem Vertical"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Minimap"
-msgstr "Mostrar Origem"
+msgstr "Exibir Mini-Mapa"
#: editor/editor_settings.cpp
msgid "Minimap Width"
-msgstr ""
+msgstr "Largura do Mini-Mapa"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
+msgstr "Botões Extra do Mouse Navegam o Histórico"
+
+#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr "Seleção Arrasta e Solta"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
msgstr ""
#: editor/editor_settings.cpp
msgid "Appearance"
-msgstr ""
+msgstr "Aparência"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Show Line Numbers"
msgstr "Mostrar Números de Linha"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Numbers Zero Padded"
-msgstr "Número da Linha:"
+msgstr "Número das Linha Tem Espaçamento Com Zeros"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
-msgstr ""
+msgstr "Exibir Espaçamento de Bookmark"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Breakpoint Gutter"
-msgstr "Pular Breakpoints"
+msgstr "Exibir Espaçamento de Pontos de Quebra"
#: editor/editor_settings.cpp
msgid "Show Info Gutter"
-msgstr ""
+msgstr "Exibir Espaçamento de Informações"
#: editor/editor_settings.cpp
msgid "Code Folding"
-msgstr ""
+msgstr "Dobramento de Código (Folding)"
#: editor/editor_settings.cpp
msgid "Word Wrap"
-msgstr ""
+msgstr "Quebra de Linhas"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "Exibir Guia de Tamanho de Linhas"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "Tamanho de Linha Guia em Coluna Suave"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "Tamanho de Linha Guia em Coluna Rígida"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script List"
-msgstr "Editor de Script"
+msgstr "Lista de Scripts"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "Exibir Visão Geral de Membros"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Files"
-msgstr "Arquivo"
+msgstr "Arquivos"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Trim Trailing Whitespace On Save"
-msgstr "Apagar Espaços em Branco"
+msgstr "Aparar Espaços em Branco de Fim de Linha ao Salvar"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr ""
+msgstr "Intervalo de Salvamento Automático em Segundos"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "Restaurar Scripts ao Carregar"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "Ao Salvar Recarregar e Reinterpretar Scripts Automaticamente"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "Recarregar Scripts Automaticamente em Alterações Externas"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Create Signal Callbacks"
-msgstr "Forçar Fallbacks do Shader"
+msgstr "Criar Sinal de Callback"
#: editor/editor_settings.cpp
msgid "Sort Members Outline Alphabetically"
-msgstr ""
+msgstr "Ordenar Prévia de Membros Automaticamente"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr ""
+msgstr "Cursor"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "Rolar Além do Fim do Arquivo"
#: editor/editor_settings.cpp
msgid "Block Caret"
-msgstr ""
+msgstr "Bloco Cursor"
#: editor/editor_settings.cpp
msgid "Caret Blink"
-msgstr ""
+msgstr "Piscar Cursor"
#: editor/editor_settings.cpp
msgid "Caret Blink Speed"
-msgstr ""
+msgstr "Velocidade de Piscar do Cursor"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Right Click Moves Caret"
-msgstr "Clique com o botão direito para adicionar o ponto"
+msgstr "Botão Direito Move o Cursor"
#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
#: modules/gdscript/gdscript_editor.cpp
@@ -5642,54 +5723,51 @@ msgstr "Conclusão"
#: editor/editor_settings.cpp
msgid "Idle Parse Delay"
-msgstr ""
+msgstr "Atraso Ocioso Para Interpretação"
#: editor/editor_settings.cpp
msgid "Auto Brace Complete"
-msgstr ""
+msgstr "Fechar Chaves Automaticamente"
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "Atraso de Sugestão de Código"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
+msgstr "Pôr Dica de Sugestão de Chamada na Linha Abaixo da Atual"
#: editor/editor_settings.cpp
msgid "Callhint Tooltip Offset"
-msgstr ""
+msgstr "Espaçamento de Dica de Sugestão de Chamada"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Complete File Paths"
-msgstr "Copiar Caminho do Nó"
+msgstr "Concluir Caminhos de Arquivo"
#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Add Type Hints"
-msgstr "Adicionar Modelo"
+msgstr "Adicionar Dicas de Tipo"
#: editor/editor_settings.cpp
msgid "Use Single Quotes"
msgstr "Usar Aspas Simples"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Help Index"
-msgstr "Mostrar auxiliadores"
+msgstr "Exibir Índice de Ajuda"
#: editor/editor_settings.cpp
msgid "Help Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte de Ajuda"
#: editor/editor_settings.cpp
msgid "Help Source Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte de Ajuda Principal"
#: editor/editor_settings.cpp
msgid "Help Title Font Size"
-msgstr ""
+msgstr "Tamanho da Fonte de Ajuda para Títulos"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
@@ -5700,45 +5778,39 @@ msgid "Pick Distance"
msgstr "Escolha a Distância"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Preview Size"
-msgstr "Visualização"
+msgstr "Tamanho da Prévia"
#: editor/editor_settings.cpp
msgid "Primary Grid Color"
-msgstr ""
+msgstr "Cor Primária da Grade"
#: editor/editor_settings.cpp
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "Cor Secundária da Grade"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Selection Box Color"
-msgstr "Selecionar Apenas"
+msgstr "Cor da Caixa de Seleção"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "3D Gizmos"
-msgstr "Gizmos"
+msgstr "Gizmos 3D"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Gizmo Colors"
-msgstr "Cores de Emissão"
+msgstr "Cores do Gismo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Instanced"
-msgstr "Instância"
+msgstr "Instanciado"
#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint"
-msgstr "Ponto"
+msgstr "Junção"
#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
@@ -5747,12 +5819,11 @@ msgstr "Ponto"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "Form"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Primary Grid Steps"
-msgstr "Passo de grade:"
+msgstr "Passadas para Grade Primária"
#: editor/editor_settings.cpp
msgid "Grid Size"
@@ -5760,183 +5831,155 @@ msgstr "Tamanho da Grade"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
-msgstr ""
+msgstr "Nível Máximo de Divisão de Grade"
#: editor/editor_settings.cpp
msgid "Grid Division Level Min"
-msgstr ""
+msgstr "Nível Mínimo de Divisão da Grade"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "Tendência do Nível de Divisão da Grade"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XZ Plane"
-msgstr "Pintura GridMap"
+msgstr "Grade do Plano XZ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XY Plane"
-msgstr "Pintura GridMap"
+msgstr "Grade do Plano XY"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid YZ Plane"
-msgstr "Pintura GridMap"
+msgstr "Grade do Plano YZ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default FOV"
-msgstr "Padrão"
+msgstr "Campo de Visão (FOV) Padrão"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Near"
-msgstr "Tema Padrão"
+msgstr "Z Padrão Próximo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Far"
-msgstr "Padrão"
+msgstr "Z Padrão Longe"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
+msgstr "Número de Threads de CPU para o Bake do Mapa de Luz"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Scheme"
-msgstr "Modo Navegação"
+msgstr "Esquema de Navegação"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert Y Axis"
-msgstr "Eduitar Eixo Y"
+msgstr "Inverter Eixo Y"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert X Axis"
-msgstr "Editar Eixo X"
+msgstr "Inverter Eixo X"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Style"
-msgstr "Reduzir"
+msgstr "Estilo de Zoom"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
-msgstr ""
+msgstr "Simular o Numpad"
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "Simular o Botão 3 Do Mouse"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Orbit Modifier"
-msgstr "Ordenar por Primeiro Modificado"
+msgstr "Modificador de Órbita"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Modifier"
-msgstr "Modo Panorâmico"
+msgstr "Modificador de Panorâmica"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Modifier"
-msgstr "Modificado"
+msgstr "Modificador de Zoom"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
-msgstr ""
+msgstr "Panorização Distorcida pelo Mouse"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Feel"
-msgstr "Modo Navegação"
+msgstr "Sensação de Navegação"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "Sensitividade de Órbita"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
-msgstr ""
+msgstr "Inercia de Órbita"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Translation Inertia"
-msgstr "Traduções"
+msgstr "Inércia de Translação"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Inertia"
-msgstr "Ampliar"
+msgstr "Inércia de Zoom"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook"
-msgstr "Visão Livre em Cima"
+msgstr "Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Navigation Scheme"
-msgstr "Criar Malha de Navegação"
+msgstr "Esquema de Navegação de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Sensitivity"
-msgstr "Visão Livre na Esquerda"
+msgstr "Sensibilidade de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Inertia"
-msgstr "Visão Livre na Esquerda"
+msgstr "Inercia de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Base Speed"
-msgstr "Modificador de velocidade da Visão Livre"
+msgstr "Velocidade Base de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Activation Modifier"
-msgstr "Modificador de velocidade lenta da Visão Livre"
+msgstr "Modificador de Ativação de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Speed Zoom Link"
-msgstr "Modificador de velocidade da Visão Livre"
+msgstr "Velocidade de Ligação do Visão Livre"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Grid Color"
-msgstr "Escolher Cor"
+msgstr "Cor da Grade"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Guides Color"
-msgstr "Escolher Cor"
+msgstr "Cor Guia"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Smart Snapping Line Color"
-msgstr "Encaixe inteligente"
+msgstr "Cor da Linha de Encaixe Inteligente"
#: editor/editor_settings.cpp
msgid "Bone Width"
-msgstr ""
+msgstr "Largura do Osso"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 1"
-msgstr "Renomear Item de Cor"
+msgstr "Cor de Osso 1"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 2"
-msgstr "Renomear Item de Cor"
+msgstr "Cor de Osso 2"
#: editor/editor_settings.cpp
msgid "Bone Selected Color"
@@ -5944,11 +5987,11 @@ msgstr "Cor Selecionada do Osso"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
-msgstr ""
+msgstr "Cor de Osso IK (cinemática inversa)"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
-msgstr ""
+msgstr "Cor de Contorno do Osso"
#: editor/editor_settings.cpp
msgid "Bone Outline Size"
@@ -5956,103 +5999,93 @@ msgstr "Tamanho do Contorno do Osso"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
-msgstr ""
+msgstr "Cor da Borda de Viewport"
#: editor/editor_settings.cpp
msgid "Constrain Editor View"
-msgstr ""
+msgstr "Restringir Visão do Editor"
#: editor/editor_settings.cpp
msgid "Simple Panning"
-msgstr ""
+msgstr "Panoramização Simples"
#: editor/editor_settings.cpp
msgid "Scroll To Pan"
-msgstr ""
+msgstr "Rolar para Panoramizar"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Speed"
-msgstr "Velocidade:"
+msgstr "Velocidade da Panoramização"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Poly Editor"
-msgstr "Editor UV de Polígonos 2D"
+msgstr "Editor de Polígonos"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
-msgstr ""
+msgstr "Raio de Agarro ao Ponto"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Show Previous Outline"
-msgstr "Plano Anterior"
+msgstr "Exibir Prévia Anterior"
#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Autorename Animation Tracks"
-msgstr "Renomear Animação"
+msgstr "Renomear Automaticamente Faixa de Animação"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
-msgstr ""
+msgstr "Criar Faixa de Bezier por Padrão"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Create Reset Tracks"
-msgstr "Criar RESET Track(s)"
+msgstr "Criar Faixa RESET Por Padrão"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
-msgstr ""
+msgstr "Cor da Camada de Cebola Anterior"
#: editor/editor_settings.cpp
msgid "Onion Layers Future Color"
-msgstr ""
+msgstr "Cor da Camada de Cebola Posterior"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Visual Editors"
-msgstr "Editor de Grupos"
+msgstr "Editores Visuais"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
-msgstr ""
+msgstr "Opacidade do Mini-Mapa"
#: editor/editor_settings.cpp
msgid "Window Placement"
-msgstr ""
+msgstr "Colocação da Janela"
#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
#: scene/gui/control.cpp
-#, fuzzy
msgid "Rect"
-msgstr "Rect Completo"
+msgstr "Retângulo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Rect Custom Position"
-msgstr "Definir Posição de Saída da Curva"
+msgstr "Posição Personalizada Do Retângulo"
#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
msgid "Screen"
-msgstr ""
+msgstr "Tela"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Auto Save"
-msgstr "Auto Fatiar"
+msgstr "Salvar Automaticamente"
#: editor/editor_settings.cpp
msgid "Save Before Running"
msgstr "Salvar Antes de Executar"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Font Size"
-msgstr "Visão Frontal"
+msgstr "Tamanho da Fonte"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
@@ -6061,65 +6094,64 @@ msgstr "Hospedeiro Remoto"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Port"
-msgstr "Remover Ponto"
+msgstr "Porta Remota"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor SSL Certificates"
-msgstr "Configurações do Editor"
+msgstr "Certificados SSL do Editor"
#: editor/editor_settings.cpp
msgid "HTTP Proxy"
-msgstr ""
+msgstr "Proxy HTTP"
#: editor/editor_settings.cpp
msgid "Host"
-msgstr ""
+msgstr "Hospedeiro"
#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Port"
-msgstr ""
+msgstr "Porta"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Gerenciador de Projetos"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Ordem de Classificação"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
-msgstr ""
+msgstr "Cor do Simbolo"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "Cor de Palavra Chave"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "Core de Palavra Chave de Controle de Fluxo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "Mudar Tipo Base"
+msgstr "Cor de Tipo Base"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "Cor de Tipo da Engine"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "Cor de Tipo Do Usuário"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "Cor de Comentário"
#: editor/editor_settings.cpp
msgid "String Color"
@@ -6136,26 +6168,24 @@ msgid "Completion Background Color"
msgstr "Cor de Fundo de Acabamento"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Selected Color"
-msgstr "Importar Selecionado"
+msgstr "Cor de Sugestão Selecionada"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Existing Color"
-msgstr ""
+msgstr "Cor de Sugestão Existente"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Scroll Color"
-msgstr ""
+msgstr "Cor da Barra de Rolagem de Sugestão"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Font Color"
-msgstr ""
+msgstr "Cor da Fonte de Sugestão"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Color"
-msgstr "Próximo Chão"
+msgstr "Cor do Texto"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Line Number Color"
@@ -6167,86 +6197,75 @@ msgstr "Cor do Número da Linha Segura"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
-msgstr ""
+msgstr "Cor do Cursor"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Background Color"
msgstr "Cor de Fundo de Acentuação"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Selected Color"
-msgstr "Excluir Selecionados"
+msgstr "Cor do Texto Selecionado"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Selection Color"
-msgstr "Selecionar Apenas"
+msgstr "Cor da Seleção"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Brace Mismatch Color"
-msgstr ""
+msgstr "Cor de Chave Incompatível"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Current Line Color"
-msgstr "Cena Atual"
+msgstr "Cor da Linha Atual"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Color"
-msgstr ""
+msgstr "Cor do Tamanho de Linha Guia"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Word Highlighted Color"
-msgstr "Realce de sintaxe"
+msgstr "Cor da Palavra em Destaque"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "Cor de Número"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Function Color"
-msgstr "Funções"
+msgstr "Cor de Função"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Member Variable Color"
-msgstr "Renomear Variável"
+msgstr "Cor de Variável Membro"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Mark Color"
-msgstr "Escolher Cor"
+msgstr "Cor de Marcação"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bookmark Color"
-msgstr "Marcadores"
+msgstr "Cor de Bookmark"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Breakpoint Color"
-msgstr "Breakpoints"
+msgstr "Cor de Ponto de Quebra"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Executing Line Color"
-msgstr ""
+msgstr "Cor da Linha em Execução"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
-msgstr ""
+msgstr "Cor da Dobradiça de Código"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Color"
-msgstr "Pesquisar resultados"
+msgstr "Cor do Resultado de Pesquisa"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Border Color"
-msgstr "Pesquisar resultados"
+msgstr "Cor da Borda do Resultado de Pesquisa"
#: editor/editor_spin_slider.cpp
msgid "Hold %s to round to integers. Hold Shift for more precise changes."
@@ -6255,14 +6274,12 @@ msgstr ""
"mais precisas."
#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-#, fuzzy
msgid "Flat"
-msgstr "Plano 0"
+msgstr "Raso"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "Modo Colisão"
+msgstr "Esconder Rolagem"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6562,7 +6579,7 @@ msgstr ""
#: editor/fileserver/editor_file_server.cpp
msgid "File Server"
-msgstr ""
+msgstr "Servidor de Arquivos"
#: editor/fileserver/editor_file_server.cpp
#: editor/plugins/version_control_editor_plugin.cpp
@@ -6630,6 +6647,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Esta extensão de arquivo não é reconhecida pelo editor.\n"
+"Se ainda assim você deseja renomear, utilize o explorador de arquivos do seu "
+"sistema operacional.\n"
+"Após renomear para uma extensão desconhecida, este arquivo não será mais "
+"exibida pelo editor."
#: editor/filesystem_dock.cpp
msgid ""
@@ -6856,14 +6878,6 @@ msgid "Replace in Files"
msgstr "Substituir em Arquivos"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Encontrar: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Substituir: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Substituir tudo (SEM DESFAZER)"
@@ -6938,43 +6952,40 @@ msgstr "Gerenciar Grupos"
#: editor/import/editor_import_collada.cpp
msgid "Collada"
-msgstr ""
+msgstr "Collada"
#: editor/import/editor_import_collada.cpp
msgid "Use Ambient"
-msgstr ""
+msgstr "Utilizar Ambient"
#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
msgid "Create From"
-msgstr "Criar Pasta"
+msgstr "Criar à Partir de"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Threshold"
-msgstr ""
+msgstr "Limite"
#: editor/import/resource_importer_csv_translation.cpp
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_scene.cpp
#: editor/import/resource_importer_texture.cpp
#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Compress"
-msgstr "Componentes"
+msgstr "Comprimir"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
-msgstr ""
+msgstr "Delimitador"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
-msgstr "Correção de Cor"
+msgstr "Corrigir as Cores"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
-msgstr ""
+msgstr "Não utilizar BPTC se for RGB"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
@@ -6982,40 +6993,38 @@ msgstr ""
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
msgid "Flags"
-msgstr ""
+msgstr "Sinalizadores"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
#: scene/resources/texture.cpp
msgid "Repeat"
-msgstr ""
+msgstr "Repetir"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Filtro"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Mipmaps"
-msgstr "Sinais"
+msgstr "Mipmaps"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "Anisotropic"
-msgstr ""
+msgstr "Anisotrópico"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "Slices"
-msgstr "Auto Fatiar"
+msgstr "Fatias"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
@@ -7032,14 +7041,12 @@ msgid "Vertical"
msgstr "Vertical"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "Gerar Pontos"
+msgstr "Gerar Tangentes"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "Modo de Escalonamento"
+msgstr "Redimensionar Malha"
#: editor/import/resource_importer_obj.cpp
msgid "Offset Mesh"
@@ -7047,14 +7054,12 @@ msgstr "Malha de Deslocamento"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "Expressão"
+msgstr "Compressão Octaedral"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "Sinalizadores de Tamanho"
+msgstr "Otimizar Sinalizadores da Malha"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -7102,24 +7107,20 @@ msgid "Nodes"
msgstr "Nós"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Type"
-msgstr "Retornar"
+msgstr "Tipo da Raiz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Name"
-msgstr "Nome Remoto"
+msgstr "Nome da Raiz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "Escala"
+msgstr "Escala da Raiz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Custom Script"
-msgstr "Recortar Nós"
+msgstr "Script Personalizado"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
msgid "Storage"
@@ -7127,69 +7128,59 @@ msgstr "Armazenamento"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
-msgstr ""
+msgstr "Utilizar Nomes Legados"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Materials"
msgstr "Materiais"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "Reimportar"
+msgstr "Manter ao Reimportar"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Meshes"
-msgstr "Malha"
+msgstr "Malhas"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Ensure Tangents"
-msgstr "Modificar Tangente da Curva"
+msgstr "Garantir Tangentes"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "Faça mapas de luz"
+msgstr "Bake de Mapa de Luz"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "Faça mapas de luz"
+msgstr "Tamanho do Texel no Mapa de Luz"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
-msgstr ""
+msgstr "Peles"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Use Named Skins"
-msgstr "Usar Encaixe Escalar"
+msgstr "Utilizar Peles com Nome"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "External Files"
-msgstr "Abrir um Arquivo"
+msgstr "Arquivos Externos"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
-msgstr ""
+msgstr "Salvar em Sub Diretório"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Filter Script"
-msgstr "Filtrar scripts"
+msgstr "Filtrar Script"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "Transformação"
+msgstr "Manter Faixas Personalizadas"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
-msgstr "Otimizar"
+msgstr "Otimizador"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
@@ -7203,9 +7194,8 @@ msgstr "Otimizar"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Enabled"
-msgstr "Habilitar"
+msgstr "Habilitado"
#: editor/import/resource_importer_scene.cpp
msgid "Max Linear Error"
@@ -7216,19 +7206,16 @@ msgid "Max Angular Error"
msgstr "Erro Angular Máximo"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "Valor"
+msgstr "Ângulo Máximo"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Remove Unused Tracks"
-msgstr "Remover Trilha da Anim"
+msgstr "Remover Faixas não Utilizadas"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
-msgstr "Clipes de Animação"
+msgstr "Clipes"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
@@ -7250,8 +7237,8 @@ msgid "Generating Lightmaps"
msgstr "Generando Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Generando para a Malha: "
+msgid "Generating for Mesh:"
+msgstr "Gerando para malha:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7278,22 +7265,37 @@ msgid "Saving..."
msgstr "Salvando..."
#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
+"%s: Foi detectado que a textura está sendo utilizada como mapa normal em 3D. "
+"Habilitando a compressão vermelho/verde para reduzir o uso de memória (o "
+"canal azul é descartado)."
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+"%s: Foi detectado que a textura está sendo utilizada em 3D. Habilitando a "
+"filtro, repetir, geração de mipmap e compressão de textura VRAM."
+
+#: editor/import/resource_importer_texture.cpp
+msgid "2D, Detect 3D"
+msgstr "2D, Detecte 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "Pixels Sólidos"
+msgstr "Pixel 2D"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
-msgstr ""
+msgstr "Com Perda de Qualidade"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "HDR Mode"
-msgstr "Modo de Seleção"
+msgstr "Modo HDR"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
@@ -7304,54 +7306,52 @@ msgstr ""
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "Mapa Normal"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "Pós-processamento"
+msgstr "Processar"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
-msgstr ""
+msgstr "Corrigir Alpha da Borda"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Premult Alpha"
-msgstr "Editar Polígono"
+msgstr ""
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
-msgstr ""
+msgstr "HDR como SRGB"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "Vértice"
+msgstr "Inverter Cor"
#: editor/import/resource_importer_texture.cpp
msgid "Normal Map Invert Y"
msgstr "Inverter Y do Mapa Normal"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Size Limit"
-msgstr "Limites"
+msgstr "Limite de Tamanho"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
-msgstr ""
+msgstr "Detectar 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "SVG"
-msgstr "HSV"
+msgstr "SVG"
#: editor/import/resource_importer_texture.cpp
msgid ""
"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
"texture will not display correctly on PC."
msgstr ""
+"Atenção, nenhuma forma adequada de Compressão VRAM para PC foi habilitada "
+"nas Configurações do Projeto. Esta textura não será exibida corretamente em "
+"PCs."
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Atlas File"
@@ -7362,64 +7362,56 @@ msgid "Import Mode"
msgstr "Modo de Importação"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "Definir a região do Mosaico"
+msgstr "Recortar para Região"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
-msgstr ""
+msgstr "Aparar Borda Alfa da Região"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "Forçar Push"
+msgstr "Forçar"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
-msgstr ""
+msgstr "8 Bits"
#: editor/import/resource_importer_wav.cpp main/main.cpp
#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Mono"
-msgstr ""
+msgstr "Mono"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "Nó Mix"
+msgstr "Frequência Máxima"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "Nó Mix"
+msgstr "Frequência Máxima Hz"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "Aparar"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "Formato"
+msgstr "Normalizar"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Mode"
-msgstr "Modo de Movimentação"
+msgstr "Modo de Loop"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Begin"
-msgstr "Modo de Movimentação"
+msgstr "Inicio do Loop"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop End"
-msgstr "Modo de Movimentação"
+msgstr "Fim do Loop"
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -7507,18 +7499,16 @@ msgid "Raw"
msgstr "Bruto"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Capitalized"
-msgstr "Capitalizar"
+msgstr "Capitalizado"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "Localizar"
+msgstr "Localizado"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr ""
+msgstr "Localização não disponível para linguagem atual."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -7968,11 +7958,20 @@ msgid "New Anim"
msgstr "Nova Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Criar Nova Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Alterar Nome da Animação:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Renomear Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Excluir Animação?"
@@ -7990,11 +7989,6 @@ msgid "Animation name already exists!"
msgstr "O nome da animação já existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Renomear Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplicar Animação"
@@ -8063,9 +8057,8 @@ msgid "New"
msgstr "Novo"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "%s Referência de Classes"
+msgstr "Colar como Referência"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -8095,10 +8088,12 @@ msgstr "Opções do Onion Skinning"
msgid "Directions"
msgstr "Direções"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Passado"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Futuro"
@@ -8139,10 +8134,6 @@ msgid "Pin AnimationPlayer"
msgstr "Fixar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Criar Nova Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nome da Animação:"
@@ -8258,8 +8249,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Definir a animação final. Isso é útil para sub-transições."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Transição: "
+msgid "Transition:"
+msgstr "Transição:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8275,11 +8266,6 @@ msgid "New name:"
msgstr "Novo nome:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Escala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "[i]Fade In[/i](s):"
@@ -8401,7 +8387,7 @@ msgstr "Filtros..."
#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
msgid "Use Threads"
-msgstr ""
+msgstr "Usar Threads"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
@@ -8564,25 +8550,21 @@ msgid "Loading..."
msgstr "Carregando..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "First"
msgstr "Primeiro"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Previous"
msgstr "Anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Next"
msgstr "Próximo"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Last"
msgstr "Último"
@@ -8633,7 +8615,7 @@ msgstr "Testando"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "Falhou em obter o repositório de configuração."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -8693,7 +8675,7 @@ msgstr "Faça mapas de luz"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "LightMap Bake"
-msgstr ""
+msgstr "Bake de Mapa de Luz"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
@@ -9193,29 +9175,27 @@ msgstr "Criar esqueleto(s) customizado do(s) nó(s)"
msgid "Clear Custom Bones"
msgstr "Limpar os ossos personalizados"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Visualizar"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show"
-msgstr "Mostrar Grade"
+msgstr "Exibir"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show When Snapping"
-msgstr "Encaixe inteligente"
+msgstr "Exibir ao Encaixar"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "Esconder"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid"
-msgstr "Alternar Modo"
+msgstr "Alternar Grade"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -9259,6 +9239,10 @@ msgid "Preview Canvas Scale"
msgstr "Pré-visualização da escala do Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Layout"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Máscara de translação para inserção de chaves."
@@ -9495,11 +9479,11 @@ msgstr "Plano 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
-msgstr "Ease In"
+msgstr "Esmaecer de Entrada"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease Out"
-msgstr "Ease Out"
+msgstr "Esmaecer de Saída"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
@@ -9563,16 +9547,15 @@ msgstr "Gradiente Editado"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
+msgstr "Trocar Pontos de Preenchimento do GradientTexture2D"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap Gradient Fill Points"
-msgstr ""
+msgstr "Trocar Pontos de Preenchimento do Degradê"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid Snap"
-msgstr "Alternar Modo"
+msgstr "Alternar Encaixe da Grade"
#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
@@ -9591,13 +9574,12 @@ msgstr "Ícone"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "Separação:"
+msgstr "Separador"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9710,7 +9692,7 @@ msgstr "Criar Contorno"
#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
#: scene/resources/texture.cpp
msgid "Mesh"
-msgstr "Malha"
+msgstr "Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
@@ -9831,7 +9813,6 @@ msgstr ""
"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "MeshLibrary"
msgstr "Biblioteca de Malhas"
@@ -9856,14 +9837,12 @@ msgid "Update from Scene"
msgstr "Atualizar a partir de Cena"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply without Transforms"
-msgstr "Aplicar transformações da MeshInstance"
+msgstr "Aplicar sem Transformações"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply with Transforms"
-msgstr "Aplicar transformações da MeshInstance"
+msgstr "Aplicar com Transformações"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
@@ -10032,8 +10011,8 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Origem da Emissão: "
+msgid "Emission Source:"
+msgstr "Fonte de emissão:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10266,6 +10245,7 @@ msgid "Points"
msgstr "Pontos"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Polígonos"
@@ -10354,7 +10334,7 @@ msgstr "Configurações da grade"
#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Snap"
-msgstr "Snap"
+msgstr "Encaixe"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -10390,7 +10370,7 @@ msgstr "Sincronizar Ossos ao Polígono"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "Definir cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -10423,13 +10403,6 @@ msgid "Instance:"
msgstr "Instância:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tipo:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Abrir no Editor"
@@ -10438,10 +10411,6 @@ msgstr "Abrir no Editor"
msgid "Load Resource"
msgstr "Carregar Recurso"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ResourcePreloader"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Inverter Horizontalmente"
@@ -10728,52 +10697,47 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
msgid "Search Results"
-msgstr "Pesquisar resultados"
+msgstr "Resultados de Pesquisa"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open Dominant Script On Scene Change"
-msgstr ""
+msgstr "Abrir Script Dominante ao Mudar de Cena"
#: editor/plugins/script_editor_plugin.cpp
msgid "External"
-msgstr ""
+msgstr "Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Use External Editor"
-msgstr "Depurar com o Editor Externo"
+msgstr "Utilizar Editor Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Exec Path"
-msgstr "Caminho de Exportação"
+msgstr "Caminho de Execução"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "Selecionar o Arquivo de Modelo"
+msgstr "Temperatura de Script Habilitado"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
-msgstr ""
+msgstr "Destacar Script Atual"
#: editor/plugins/script_editor_plugin.cpp
msgid "Script Temperature History Size"
-msgstr ""
+msgstr "Tamanho de Histórico de Temperatura de Script"
#: editor/plugins/script_editor_plugin.cpp
msgid "Current Script Background Color"
msgstr "Cor de Fundo do Script Atual"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Group Help Pages"
-msgstr "Agrupar Selecionados"
+msgstr "Agrupar Páginas de Ajuda"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Sort Scripts By"
-msgstr "Criar Script"
+msgstr "Ordenar Scripts Por"
#: editor/plugins/script_editor_plugin.cpp
msgid "List Script Names As"
@@ -10781,7 +10745,7 @@ msgstr "Listar Nomes de Script Como"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
-msgstr ""
+msgstr "Sinalizadores de Execução"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Scripts"
@@ -10865,7 +10829,7 @@ msgstr "Marcadores"
#: editor/plugins/script_text_editor.cpp
msgid "Breakpoints"
-msgstr "Breakpoints"
+msgstr "Pontos de Quebra"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
@@ -11138,13 +11102,15 @@ msgstr "Rotacionar"
msgid "Translate"
msgstr "Translação"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Escalonando: "
+msgid "Scaling:"
+msgstr "Escala:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Transladando: "
+msgid "Translating:"
+msgstr "Traduzir:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11167,11 +11133,6 @@ msgid "Yaw:"
msgstr "Guinada:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Tamanho:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Objetos Desenhados:"
@@ -11297,13 +11258,14 @@ msgstr "Pré-visualização Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "(Not in GLES2)"
-msgstr ""
+msgstr "(Não disponível em GLES2)"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr "Não disponível ao usar o renderizador GLES2."
+msgstr ""
+"Modos de Debug draw só estão disponíveis para uso com o renderizador GLES3. "
+"GLES2 não suporta esta funcionalidade."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -11598,16 +11560,15 @@ msgstr "Pós"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Size"
-msgstr ""
+msgstr "Tamanho do Gizmo Manipulador"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Opacity"
-msgstr ""
+msgstr "Opacidade do Gizmo Manipulador"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Show Viewport Rotation Gizmo"
-msgstr "Bloquear Rotação da Visão"
+msgstr "Exibir Gizmo de Rotação do Viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unnamed Gizmo"
@@ -11659,8 +11620,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geometria inválida, não é possível substituir por malha."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr "Converter para Malha2D"
+msgid "Convert to MeshInstance2D"
+msgstr "Converter para MeshInstance2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11691,16 +11652,16 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Simplificação: "
+msgid "Simplification:"
+msgstr "Simplificação:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Diminuir (Pixels): "
+msgid "Shrink (Pixels):"
+msgstr "Encolher (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Produzir (Pixels): "
+msgid "Grow (Pixels):"
+msgstr "Crescer (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11763,6 +11724,11 @@ msgid "New Animation"
msgstr "Nova animação"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filtrar métodos"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Velocidade:"
@@ -12060,9 +12026,8 @@ msgstr ""
"Fechar mesmo assim?"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "Remover Telha"
+msgstr "Remover Tipo"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -12106,14 +12071,12 @@ msgstr ""
"Adicione mais itens manualmente ou importe de outro tema."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "Adicionar Tipo de Item"
+msgstr "Adicionar Tipo de Tema"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "Remover remoto"
+msgstr "Remover Tipo de Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12228,9 +12191,8 @@ msgid "Select Another Theme Resource:"
msgstr "Selecionar Outro Recurso de Tema:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Theme Resource"
-msgstr "Renomear Recurso"
+msgstr "Recurso de Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
@@ -12285,14 +12247,12 @@ msgid "Add Item Type"
msgstr "Adicionar Tipo de Item"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Variation Base Type"
-msgstr "Definir o Tipo da Variável"
+msgstr "Definir Tipo de Variação Base"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Base Type"
-msgstr "Mudar Tipo Base"
+msgstr "Definir Tipo Base"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
@@ -12314,12 +12274,15 @@ msgstr "Substituir todos os itens do modelo padrão."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select the variation base type from a list of available types."
msgstr ""
+"Selecione a variação do tipo base à partir da lista de tipos disponíveis."
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
"A type associated with a built-in class cannot be marked as a variation of "
"another type."
msgstr ""
+"Um tipo associado à uma classe padrão não pode ser marcada como variação de "
+"outro tipo."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -12557,14 +12520,13 @@ msgid "Clear Transform"
msgstr "Limpar Transformação"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Tile Map"
-msgstr "Pintar TileMap"
+msgstr "Tile Map"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Palette Min Width"
-msgstr ""
+msgstr "Largura Mínima de Paleta"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -12572,24 +12534,20 @@ msgid "Palette Item H Separation"
msgstr "Separador Nomeado"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Names"
-msgstr "Mostrar todos os Locales"
+msgstr "Mostrar Nomes dos Tiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Ids"
-msgstr "Mostrar Réguas"
+msgstr "Mostrar Ids dos Tiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Sort Tiles By Name"
-msgstr "Ordenar arquivos"
+msgstr "Ordenar Tiles por Nome"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Bucket Fill Preview"
-msgstr "Preenchimento de Balde"
+msgstr "Pré-visualização do Preenchimento de Balde"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
@@ -12598,9 +12556,8 @@ msgid "Editor Side"
msgstr "Editor"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Display Grid"
-msgstr "Exibição Overdraw"
+msgstr "Mostrar Grid"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -12652,8 +12609,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Selecione a forma, subtile ou tile anterior."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Região"
@@ -12967,14 +12923,12 @@ msgstr "Passo"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "Separação:"
+msgstr "Separação"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Selecionar"
+msgstr "Selecionar Tile"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12983,9 +12937,8 @@ msgstr "Selecionar"
#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Texture"
-msgstr "Texto"
+msgstr "Textura"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13005,9 +12958,8 @@ msgid "Modulate"
msgstr "Popular"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Alternar Modo"
+msgstr "Modo de Tiles"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13015,14 +12967,12 @@ msgid "Autotile Bitmask Mode"
msgstr "Modo Bitmask"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "Tamanho do Contorno:"
+msgstr "Tamanho do Sub Título"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "Loop da Animação"
+msgstr "Espaçamento dos Subtiles"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13030,24 +12980,20 @@ msgid "Occluder Offset"
msgstr "Criar Polígono de Oclusão"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "Modo Navegação"
+msgstr "Deslocamento da Navegação"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Deslocamento Base"
+msgstr "Deslocamento da Forma"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Transformação"
+msgstr "Transformação da Forma"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "Colisão"
+msgstr "Colisão Selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13060,19 +13006,16 @@ msgid "Selected Collision One Way Margin"
msgstr "Modo Colisão"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "Navegação Visível"
+msgstr "Navegação Selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "Selecionar"
+msgstr "Oclusão Selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Filtrar scripts"
+msgstr "Scripts do Tileset"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -13095,15 +13038,15 @@ msgstr "Nenhuma mensagem de commit foi fornecida."
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit"
-msgstr "Confirmação"
+msgstr "Commit"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Staged Changes"
-msgstr "Mudanças em fases"
+msgstr "Alterações Preparadas"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Unstaged Changes"
-msgstr "Mudanças Não Fásicas"
+msgstr "Alterações não Preparadas"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit:"
@@ -13151,7 +13094,7 @@ msgstr "Selecione o caminho da chave privada SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr "SSH Passphrase"
+msgstr "Senha SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -13167,7 +13110,7 @@ msgstr "Preparar todas as alterações"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Unstage all changes"
-msgstr "Desfaça todas as alterações"
+msgstr "Desfazer todas as alterações"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit Message"
@@ -13175,15 +13118,15 @@ msgstr "Mensagem de Commit"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit Changes"
-msgstr "Confirmar Mudanças"
+msgstr "Criar Commit"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit List"
-msgstr "Lista de compromissos"
+msgstr "Lista de Commit"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit list size"
-msgstr "Confirmar tamanho da lista"
+msgstr "Tamanho da lista de commit"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
@@ -14159,42 +14102,24 @@ msgid "Runnable"
msgstr "Executável"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Excluir definição '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr "Exportar o projeto para todos os presets definidos."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Falha ao exportar o projeto para a plataforma '%s'.\n"
-"Os modelos de exportação parecem estar ausentes ou inválidos."
+"Todos os presets devem ter um caminho de exportação para que a "
+"funcionalidade de Exportar Todos funcione."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Falha ao exportar o projeto para a plataforma '%s'.\n"
-"Isto pode ser devido a um problema de configuração nas pré-configurações de "
-"exportação ou nas configurações de exportação."
+msgid "Delete preset '%s'?"
+msgstr "Excluir definição '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Exportando tudo"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "O caminho de exportação informado não existe:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Modelos de exportação para esta plataforma não foram encontrados/estão "
-"corrompidos:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Caminho de Exportação"
@@ -14297,41 +14222,50 @@ msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
msgstr ""
+"Nota: Chaves de encriptação têm que ser salvas com o binário,\n"
+"você precisa compilar os modelos de exportação à partir do código fonte."
#: editor/project_export.cpp
-#, fuzzy
msgid "More Info..."
-msgstr "Mover Para..."
-
-#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "Exportar PCK/Zip"
+msgstr "Mais Informações..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "Exportar Projeto"
+msgid "Export PCK/Zip..."
+msgstr "Exportar PCK/Zip..."
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Modo de exportação?"
+msgid "Export Project..."
+msgstr "Exportar Projeto…"
#: editor/project_export.cpp
msgid "Export All"
msgstr "Exportar tudo"
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr "Escolha um modo de exportação:"
+
+#: editor/project_export.cpp
+msgid "Export All..."
+msgstr "Exportar tudo…"
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "Arquivo ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr "Pacote de Jogos Godot"
+msgid "Godot Project Pack"
+msgstr "Pacote do Projeto Godot"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "Modelos de exportação para esta plataforma não foram encontrados:"
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr "Exportar Projeto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gerenciar Modelos de Exportação"
@@ -14642,20 +14576,19 @@ msgstr ""
#. TRANSLATORS: This refers to the application where users manage their Godot projects.
#: editor/project_manager.cpp
-#, fuzzy
msgctxt "Application"
msgid "Project Manager"
msgstr "Gerenciador de Projetos"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Carregando, por favor aguarde."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Ultima Modificação"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Carregando, por favor aguarde."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Editar Projeto"
@@ -15049,7 +14982,7 @@ msgstr "Plugins"
#: editor/project_settings_editor.cpp
msgid "Import Defaults"
-msgstr "Importar padrões"
+msgstr "Padrões de Importação"
#: editor/property_editor.cpp
msgid "Preset..."
@@ -15442,7 +15375,7 @@ msgstr "Tornar Local"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "Outro nó já está usando este nome único na cena atual."
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -15528,7 +15461,7 @@ msgstr "Sub-Recursos"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "Acessar como Nome Único de Cena"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15633,7 +15566,7 @@ msgstr "Seleção Central"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "Obter Globais de Script por Nome"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -15666,6 +15599,9 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"Este nó pode ser acessado em qualquer lugar na cena adicionando o prefixo "
+"'%s' em um node path.\n"
+"Clique para desabilitar esta funcionalidade."
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15876,8 +15812,8 @@ msgid "Attach Node Script"
msgstr "Adicionar Script ao Nó"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Remoto "
+msgid "Remote %s:"
+msgstr "%s remoto:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15958,15 +15894,15 @@ msgstr "Filtros do tile"
#: editor/script_editor_debugger.cpp
msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
+msgstr "Mudar Automaticamente Para a Árvore de Cena Remota"
#: editor/script_editor_debugger.cpp
msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
+msgstr "Intervalo de Atualização da Árvore Remota"
#: editor/script_editor_debugger.cpp
msgid "Remote Inspect Refresh Interval"
-msgstr ""
+msgstr "Intervalo de Atualização da Inspeção Remota"
#: editor/script_editor_debugger.cpp
msgid "Network Profiler"
@@ -16064,7 +16000,7 @@ msgstr "Alterar Raio da Luz"
#: editor/spatial_editor_gizmos.cpp
msgid "Stream Player 3D"
-msgstr ""
+msgstr "Player de Stream 3D"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
@@ -16074,7 +16010,7 @@ msgstr "Alterar o Ângulo de Emissão do AudioStreamPlayer3D"
#: platform/osx/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Camera"
-msgstr ""
+msgstr "Câmera"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
@@ -16086,7 +16022,7 @@ msgstr "Alterar Tamanho da Câmera"
#: editor/spatial_editor_gizmos.cpp
msgid "Visibility Notifier"
-msgstr ""
+msgstr "Notificador de Visibilidade"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Notifier AABB"
@@ -16144,9 +16080,8 @@ msgid "Change Ray Shape Length"
msgstr "Alterar o Comprimento da Forma do Raio"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge"
-msgstr "Modo Navegação"
+msgstr "Bordas de Navegação"
#: editor/spatial_editor_gizmos.cpp
#, fuzzy
@@ -16154,30 +16089,28 @@ msgid "Navigation Edge Disabled"
msgstr "Modo Navegação"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid"
-msgstr "Modo Navegação"
+msgstr "Navegação Sólida"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid Disabled"
-msgstr "Modo Navegação"
+msgstr "Navegação Sólida Desabilitada"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body A"
-msgstr ""
+msgstr "Corpo de Encaixe A"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body B"
-msgstr ""
+msgstr "Corpo de Encaixe B"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Edge"
-msgstr ""
+msgstr "Canto da Sala"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Overlap"
-msgstr ""
+msgstr "Intercessão de Quarto"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Room Point Position"
@@ -16190,11 +16123,11 @@ msgstr "Definir Margem"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Edge"
-msgstr ""
+msgstr "Canto do Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Arrow"
-msgstr ""
+msgstr "Seta do Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Portal Point Position"
@@ -16202,7 +16135,7 @@ msgstr "Definir Posição Do Ponto Do Portal"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Front"
-msgstr ""
+msgstr "Frente do Portal"
#: editor/spatial_editor_gizmos.cpp
#, fuzzy
@@ -16250,12 +16183,12 @@ msgstr "Criar Polígono de Oclusão"
#: main/main.cpp
msgid "Godot Physics"
-msgstr ""
+msgstr "Godot Physics"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
msgid "Use BVH"
-msgstr ""
+msgstr "Usar BVH"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
@@ -16278,37 +16211,36 @@ msgid "RID Pool Prealloc"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Debugger stdout"
-msgstr "Depurador"
+msgstr "Depurador stdout"
#: main/main.cpp
msgid "Max Chars Per Second"
-msgstr ""
+msgstr "Máximo de Caracteres por Segundo"
#: main/main.cpp
msgid "Max Messages Per Frame"
-msgstr ""
+msgstr "Máximo de Mensagens por Quadro"
#: main/main.cpp
msgid "Max Errors Per Second"
-msgstr ""
+msgstr "Máximo de Erros por Segundo"
#: main/main.cpp
msgid "Max Warnings Per Second"
-msgstr ""
+msgstr "Máximo de Alertas Por Segundo"
#: main/main.cpp
msgid "Flush stdout On Print"
-msgstr ""
+msgstr "Limpar stdout ao Fazer Print"
#: main/main.cpp servers/visual_server.cpp
msgid "Logging"
-msgstr ""
+msgstr "Registrando Log"
#: main/main.cpp
msgid "File Logging"
-msgstr ""
+msgstr "Registrando Log de Arquivos"
#: main/main.cpp
#, fuzzy
@@ -16322,11 +16254,11 @@ msgstr "Copiar Caminho"
#: main/main.cpp
msgid "Max Log Files"
-msgstr ""
+msgstr "Máximo Log de Arquivos"
#: main/main.cpp
msgid "Driver"
-msgstr ""
+msgstr "Driver"
#: main/main.cpp
msgid "Driver Name"
@@ -16334,41 +16266,39 @@ msgstr "Nome do Driver"
#: main/main.cpp
msgid "Fallback To GLES2"
-msgstr ""
+msgstr "Utilizar GLES2 Como Fallback"
#: main/main.cpp
msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
+msgstr "Utilizar a Gambiarra \"Nvidia Rect Flicker\""
#: main/main.cpp
msgid "DPI"
-msgstr ""
+msgstr "DPI"
#: main/main.cpp
msgid "Allow hiDPI"
-msgstr ""
+msgstr "Permitir hiDPI"
#: main/main.cpp
-#, fuzzy
msgid "V-Sync"
-msgstr "Sincronizar"
+msgstr "Sincronização Vertical (V-Sync)"
#: main/main.cpp
-#, fuzzy
msgid "Use V-Sync"
-msgstr "Use Encaixar"
+msgstr "Usar Sincronização Vertical (V-Sync)"
#: main/main.cpp
msgid "Per Pixel Transparency"
-msgstr ""
+msgstr "Transparência por Pixel"
#: main/main.cpp
msgid "Allowed"
-msgstr ""
+msgstr "Permitido"
#: main/main.cpp
msgid "Intended Usage"
-msgstr ""
+msgstr "Intenção de Uso"
#: main/main.cpp
#, fuzzy
@@ -16376,13 +16306,12 @@ msgid "Framebuffer Allocation"
msgstr "Seleção de Frame"
#: main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Energy Saving"
-msgstr "Erro ao salvar"
+msgstr "Economia de Energia"
#: main/main.cpp
msgid "Threads"
-msgstr ""
+msgstr "Threads"
#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
#, fuzzy
@@ -16395,19 +16324,17 @@ msgstr ""
#: main/main.cpp
msgid "Handheld"
-msgstr ""
+msgstr "Portátil (Handheld)"
#: main/main.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Orientation"
-msgstr "Documentação Online"
+msgstr "Orientação"
#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-#, fuzzy
msgid "Common"
-msgstr "Comunidade"
+msgstr "Comum"
#: main/main.cpp
#, fuzzy
@@ -16415,35 +16342,34 @@ msgid "Physics FPS"
msgstr "Frame de Física %"
#: main/main.cpp
-#, fuzzy
msgid "Force FPS"
-msgstr "Forçar Push"
+msgstr "Forçar FPS"
#: main/main.cpp
msgid "Enable Pause Aware Picking"
-msgstr ""
+msgstr "Habilitar Escolha que é Ciente à Pausas"
#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
#: scene/main/viewport.cpp scene/register_scene_types.cpp
msgid "GUI"
-msgstr ""
+msgstr "GUI (Interface Gráfica de Usuário)"
#: main/main.cpp
msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
+msgstr "Desabilitar Mouse quando GUI Input estiver Desabilitad"
#: main/main.cpp
msgid "stdout"
-msgstr ""
+msgstr "stdout"
#: main/main.cpp
msgid "Print FPS"
-msgstr ""
+msgstr "Mostrar FPS"
#: main/main.cpp
msgid "Verbose stdout"
-msgstr ""
+msgstr "stdout Verboso"
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
#, fuzzy
@@ -16451,9 +16377,8 @@ msgid "Physics Interpolation"
msgstr "Modo de Interpolação"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "Habilitar Filtragem"
+msgstr "Habilitar Avisos"
#: main/main.cpp
#, fuzzy
@@ -16462,19 +16387,19 @@ msgstr "Seleção de Frame"
#: main/main.cpp
msgid "Low Processor Mode"
-msgstr ""
+msgstr "Modo Processamento Baixo"
#: main/main.cpp
msgid "Delta Sync After Draw"
-msgstr ""
+msgstr "Sincronizar Delta Após o Draw"
#: main/main.cpp
msgid "iOS"
-msgstr ""
+msgstr "iOS"
#: main/main.cpp
msgid "Hide Home Indicator"
-msgstr ""
+msgstr "Esconder Indicador de Home"
#: main/main.cpp
#, fuzzy
@@ -16488,16 +16413,15 @@ msgstr "Ponto"
#: main/main.cpp
msgid "Touch Delay"
-msgstr ""
+msgstr "Atraso de Touch"
#: main/main.cpp servers/visual_server.cpp
msgid "GLES3"
-msgstr ""
+msgstr "GLES3"
#: main/main.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Shaders"
-msgstr "Shader"
+msgstr "Shaders"
#: main/main.cpp
#, fuzzy
@@ -16507,30 +16431,28 @@ msgstr "Forçar Fallbacks do Shader"
#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
#: scene/resources/world.cpp
-#, fuzzy
msgid "Environment"
-msgstr "Visualizar Ambiente"
+msgstr "Ambiente"
#: main/main.cpp
msgid "Default Clear Color"
-msgstr ""
+msgstr "Cor de Limpeza Padrão"
#: main/main.cpp
msgid "Boot Splash"
-msgstr ""
+msgstr "Imagem de Exibição ao Iniciar"
#: main/main.cpp
-#, fuzzy
msgid "Show Image"
-msgstr "Mostrar Ossos"
+msgstr "Mostrar Imagem"
#: main/main.cpp
msgid "Image"
-msgstr ""
+msgstr "Imagem"
#: main/main.cpp
msgid "Fullsize"
-msgstr ""
+msgstr "Tamanho Inteiro"
#: main/main.cpp scene/resources/dynamic_font.cpp
msgid "Use Filter"
@@ -16542,13 +16464,12 @@ msgid "BG Color"
msgstr "Cores"
#: main/main.cpp
-#, fuzzy
msgid "macOS Native Icon"
-msgstr "Definir ícone de telha"
+msgstr "Ícone Nativo macOS"
#: main/main.cpp
msgid "Windows Native Icon"
-msgstr ""
+msgstr "Ícone Windows Nativo"
#: main/main.cpp
msgid "Buffering"
@@ -16556,29 +16477,27 @@ msgstr ""
#: main/main.cpp
msgid "Agile Event Flushing"
-msgstr ""
+msgstr "Limpeza de Eventos Agil"
#: main/main.cpp
msgid "Emulate Touch From Mouse"
-msgstr ""
+msgstr "Simular Toque à Partir do Mouse"
#: main/main.cpp
msgid "Emulate Mouse From Touch"
-msgstr ""
+msgstr "Simular Mouse à Partir do Touch"
#: main/main.cpp
-#, fuzzy
msgid "Mouse Cursor"
-msgstr "Botão do Mouse"
+msgstr "Cursor do Mouse"
#: main/main.cpp
-#, fuzzy
msgid "Custom Image"
-msgstr "Recortar Nós"
+msgstr "Imagem Personalizada"
#: main/main.cpp
msgid "Custom Image Hotspot"
-msgstr ""
+msgstr "Imagem Personalizada de Hotspot"
#: main/main.cpp
msgid "Tooltip Position Offset"
@@ -16590,9 +16509,8 @@ msgid "Debugger Agent"
msgstr "Depurador"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Wait For Debugger"
-msgstr "Depurador"
+msgstr "Esperar pelo Depurador"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Wait Timeout"
@@ -16600,11 +16518,11 @@ msgstr "Tempo Limite de Espera"
#: main/main.cpp
msgid "Runtime"
-msgstr ""
+msgstr "Tempo de Execução"
#: main/main.cpp
msgid "Unhandled Exception Policy"
-msgstr ""
+msgstr "Politica de Tratamento Exceções"
#: main/main.cpp
#, fuzzy
@@ -16613,22 +16531,20 @@ msgstr "Localizar Tipo de Nó"
#: main/main.cpp scene/gui/texture_progress.cpp
#: scene/gui/viewport_container.cpp
-#, fuzzy
msgid "Stretch"
-msgstr "Buscar"
+msgstr "Esticar"
#: main/main.cpp
-#, fuzzy
msgid "Aspect"
-msgstr "Inspetor"
+msgstr "Aspecto"
#: main/main.cpp
msgid "Shrink"
-msgstr ""
+msgstr "Encolher"
#: main/main.cpp scene/main/scene_tree.cpp
msgid "Auto Accept Quit"
-msgstr ""
+msgstr "Aceitar Sair Automaticamente"
#: main/main.cpp scene/main/scene_tree.cpp
#, fuzzy
@@ -16642,15 +16558,15 @@ msgstr "Encaixar nos Lados do Nó"
#: main/main.cpp
msgid "Dynamic Fonts"
-msgstr ""
+msgstr "Fontes Dinâmicas"
#: main/main.cpp
msgid "Use Oversampling"
-msgstr ""
+msgstr "Utilizar Oversampling"
#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
msgid "Active Soft World"
-msgstr ""
+msgstr "Ativar Mundo Macio"
#: modules/csg/csg_gizmos.cpp
msgid "CSG"
@@ -16673,35 +16589,30 @@ msgid "Change Torus Outer Radius"
msgstr "Alterar Raio Externo do Toro"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Operation"
-msgstr "Opções"
+msgstr "Operação"
#: modules/csg/csg_shape.cpp
msgid "Calculate Tangents"
-msgstr ""
+msgstr "Calcular Tangentes"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Use Collision"
-msgstr "Colisão"
+msgstr "Usar Colisão"
#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-#, fuzzy
msgid "Collision Layer"
-msgstr "Modo Colisão"
+msgstr "Camada de Colisão"
#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Mask"
-msgstr "Modo Colisão"
+msgstr "Máscara de Colisão"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Invert Faces"
-msgstr "Converter Maíusculas/Minúsculas"
+msgstr "Inverter Faces"
#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
@@ -16719,14 +16630,12 @@ msgid "Radial Segments"
msgstr "Segmentos Radiais"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Rings"
-msgstr "Avisos"
+msgstr "Anéis"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Smooth Faces"
-msgstr "Passo suave"
+msgstr "Suavizar Faces"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16735,7 +16644,7 @@ msgstr "Mostrar Guias"
#: modules/csg/csg_shape.cpp
msgid "Cone"
-msgstr ""
+msgstr "Cone"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16749,27 +16658,25 @@ msgstr "Alterar Raio Externo do Toro"
#: modules/csg/csg_shape.cpp
msgid "Ring Sides"
-msgstr ""
+msgstr "Lados de Anel"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
-msgstr "Polígonos"
+msgstr "Polígono"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
-msgstr ""
+msgstr "Graus de Rotação"
#: modules/csg/csg_shape.cpp
msgid "Spin Sides"
-msgstr ""
+msgstr "Lados de Rotação"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Node"
-msgstr "Colar Nós"
+msgstr "Caminho do Nó"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16778,11 +16685,11 @@ msgstr "Criar Vertex Interno"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
-msgstr ""
+msgstr "Intervalo de Caminho"
#: modules/csg/csg_shape.cpp
msgid "Path Simplify Angle"
-msgstr ""
+msgstr "Ângulo de Simplificação de Caminho"
#: modules/csg/csg_shape.cpp
msgid "Path Rotation"
@@ -16807,58 +16714,52 @@ msgid "Path Joined"
msgstr "Caminho Unido"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Compression Mode"
-msgstr "Modo Colisão"
+msgstr "Modo de Compressão"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Transfer Channel"
-msgstr "Alteração de Transformação"
+msgstr "Transferir Canal"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Channel Count"
-msgstr "Instância"
+msgstr "Quantidade de Canais"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Always Ordered"
-msgstr "Sempre Mostrar Grade"
+msgstr "Sempre Ordenado"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Server Relay"
-msgstr ""
+msgstr "Retransmissor de Servidor"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Verify"
-msgstr ""
+msgstr "Virificar DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Hostname"
-msgstr ""
+msgstr "Nome de Host DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Use DTLS"
-msgstr "Use Encaixar"
+msgstr "Usar DTLS"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
-msgstr ""
+msgstr "FBX"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Use FBX"
-msgstr ""
+msgstr "Utilizar FBX"
#: modules/gdnative/gdnative.cpp
msgid "Config File"
msgstr "Arquivo de Configuração"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Load Once"
-msgstr "Carregar Recurso"
+msgstr "Carregar Apenas uma Vez"
#: modules/gdnative/gdnative.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -16871,9 +16772,8 @@ msgid "Symbol Prefix"
msgstr "Prefixo do Símbolo"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Reloadable"
-msgstr "Recarregar"
+msgstr "Recarregável"
#: modules/gdnative/gdnative.cpp
#: modules/gdnative/gdnative_library_singleton_editor.cpp
@@ -16926,8 +16826,8 @@ msgid "Disabled GDNative Singleton"
msgstr "GDNative Singleton desativado"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Bibliotecas: "
+msgid "Libraries:"
+msgstr "Bibliotecas:"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
@@ -16938,9 +16838,8 @@ msgid "Script Class"
msgstr "Classe do Script"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Icon Path"
-msgstr "Habilitar"
+msgstr "Caminho para Ícone"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
@@ -16948,13 +16847,12 @@ msgstr "GDNative"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "Roteiro"
+msgstr "GDScript"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
-msgstr ""
+msgstr "Cor de Definição de Função"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#, fuzzy
@@ -16963,19 +16861,19 @@ msgstr "Copiar Caminho do Nó"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
-msgstr ""
+msgstr "Tamanho Máximo da Pilha de Chamadas de Função"
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
-msgstr ""
+msgstr "Trate Alertas como Erros"
#: modules/gdscript/gdscript.cpp
msgid "Exclude Addons"
-msgstr ""
+msgstr "Excluir Addons"
#: modules/gdscript/gdscript.cpp
msgid "Autocomplete Setters And Getters"
-msgstr ""
+msgstr "Auto Completar Setters e Getters"
#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
@@ -17026,11 +16924,11 @@ msgstr "Não foi possível resolver"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Show Native Symbols In Editor"
-msgstr ""
+msgstr "Exibir Simbolos Nativos no Editor"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
-msgstr ""
+msgstr "Utilize Thread"
#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
msgid "Export Mesh GLTF2"
@@ -17050,9 +16948,8 @@ msgid "Byte Offset"
msgstr "Deslocamento do Byte"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Component Type"
-msgstr "Componentes"
+msgstr "Tipo do Componente"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -17064,14 +16961,12 @@ msgid "Count"
msgstr "Quantidade"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Min"
-msgstr "MiB"
+msgstr "Min"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "Misturar"
+msgstr "Max"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -17113,9 +17008,8 @@ msgid "Byte Stride"
msgstr ""
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Indices"
-msgstr "Todos os dispositivos"
+msgstr "Índices"
#: modules/gltf/gltf_camera.cpp
msgid "FOV Size"
@@ -17138,19 +17032,17 @@ msgstr "Linear"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Color"
-msgstr "Cores"
+msgstr "Cor"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
msgid "Intensity"
-msgstr ""
+msgstr "Intensidade"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Range"
-msgstr "Alterar"
+msgstr "Intervalo"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
@@ -17181,35 +17073,31 @@ msgstr "Plataforma"
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
-msgstr ""
+msgstr "Skin"
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Translation"
-msgstr "Traduções"
+msgstr "Tradução"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Children"
-msgstr "Filhos Editáveis"
+msgstr "Filhos"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints"
-msgstr "Ponto"
+msgstr "Pontos"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
-msgstr ""
+msgstr "Raízes"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
msgid "Unique Names"
-msgstr ""
+msgstr "Nomes Únicos"
#: modules/gltf/gltf_skeleton.cpp
-#, fuzzy
msgid "Godot Bone Node"
-msgstr "Nó TimeSeek"
+msgstr "Nó de Osso Godot"
#: modules/gltf/gltf_skin.cpp
#, fuzzy
@@ -17217,9 +17105,8 @@ msgid "Skin Root"
msgstr "Nova Raiz de Cena"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints Original"
-msgstr "Origem do Foco"
+msgstr "Pontos Originais"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
@@ -17264,12 +17151,11 @@ msgstr ""
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr ""
+msgstr "Json"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Major Version"
-msgstr "Versão"
+msgstr "Versão Importante"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17299,28 +17185,25 @@ msgid "Scene Name"
msgstr "Nome da Cena"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Root Nodes"
-msgstr "Nome do nó raiz"
+msgstr "Nós Raízes"
#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Textures"
-msgstr "Funcionalidades"
+msgstr "Texturas"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
-msgstr ""
+msgstr "Imagens"
#: modules/gltf/gltf_state.cpp
msgid "Cameras"
-msgstr ""
+msgstr "Câmeras"
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Lights"
-msgstr "Luz"
+msgstr "Luzes"
#: modules/gltf/gltf_state.cpp
msgid "Unique Animation Names"
@@ -17331,9 +17214,8 @@ msgid "Skeletons"
msgstr "Esqueletos"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "Selecione um Nó"
+msgstr "Esqueleto Para Nó"
#: modules/gltf/gltf_state.cpp
msgid "Animations"
@@ -17359,9 +17241,8 @@ msgid "Use In Baked Light"
msgstr "Faça mapas de luz"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
-msgstr ""
+msgstr "Célula"
#: modules/gridmap/grid_map.cpp
#, fuzzy
@@ -17369,25 +17250,34 @@ msgid "Octant Size"
msgstr "Visão Frontal"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center X"
-msgstr "Centro"
+msgstr "Centro X"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Y"
-msgstr "Centro"
+msgstr "Centro Y"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Z"
-msgstr "Centro"
+msgstr "Centro Z"
#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
#: scene/resources/material.cpp
msgid "Mask"
-msgstr ""
+msgstr "Máscara"
+
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Navegação"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "Navigation Layers"
+msgstr "Camadas da Navegação"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
@@ -17689,7 +17579,7 @@ msgstr "Pronto!"
#: modules/opensimplex/noise_texture.cpp
msgid "Seamless"
-msgstr ""
+msgstr "Sem Emenda"
#: modules/opensimplex/noise_texture.cpp
msgid "As Normal Map"
@@ -17709,7 +17599,7 @@ msgstr "Deslocamento do Ruído"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
-msgstr ""
+msgstr "Oitavas"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Period"
@@ -17726,7 +17616,7 @@ msgstr ""
#: modules/regex/regex.cpp
msgid "Subject"
-msgstr ""
+msgstr "Sujeito"
#: modules/regex/regex.cpp
#, fuzzy
@@ -17802,16 +17692,16 @@ msgstr ""
"corrente do nó! Conserte seu nó, por favor."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "O nó retornou uma saída de sequência inválida: "
+msgid "Node returned an invalid sequence output:"
+msgstr "O nó retornou uma saída de sequência inválida:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Sequência encontrada mas o nó não está na pilha, reporte um bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "Sobrecarga da pilha com profundidade: "
+msgid "Stack overflow with stack depth:"
+msgstr "Sobrecarga da pilha com profundidade:"
#: modules/visual_script/visual_script.cpp
#, fuzzy
@@ -18178,19 +18068,19 @@ msgstr "Iterador"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "for (elem) in (input):"
-msgstr ""
+msgstr "para (elem) em (input):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "Tipo de entrada não iterável: "
+msgid "Input type not iterable:"
+msgstr "Tipo de entrada não iterável:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "Iterador tornou-se inválido"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "Iterador tornou-se inválido: "
+msgid "Iterator became invalid:"
+msgstr "Iterador tornou-se inválido:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18212,7 +18102,7 @@ msgstr "Switch"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
-msgstr ""
+msgstr "'input' é:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Type Cast"
@@ -18355,17 +18245,16 @@ msgstr "Redimensionar Vetor"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "Iterador"
+msgstr "Operador"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": Argumento inválido do tipo: "
+msgid "Invalid argument of type:"
+msgstr "Argumento inválido do tipo:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": Argumentos inválidos: "
+msgid "Invalid arguments:"
+msgstr "Argumentos inválidos:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18377,12 +18266,12 @@ msgid "Var Name"
msgstr "Nome"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "VariableGet não encontrada no script: "
+msgid "VariableGet not found in script:"
+msgstr "VariableGet não encontrado no script:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "VariableSet não encontrada no script: "
+msgid "VariableSet not found in script:"
+msgstr "VariableSet não encontrado no script:"
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18465,7 +18354,7 @@ msgstr "Chamadas"
#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
msgid "Title"
-msgstr ""
+msgstr "Título"
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18544,7 +18433,7 @@ msgstr "Modo Prioridade"
#: modules/webrtc/webrtc_data_channel.h
msgid "WebRTC"
-msgstr ""
+msgstr "WebRTC"
#: modules/webrtc/webrtc_data_channel.h
#, fuzzy
@@ -18715,6 +18604,11 @@ msgstr "O pacote deve ter pelo menos um separador '.'."
#: platform/android/export/export_plugin.cpp
#, fuzzy
+msgid "Custom Build"
+msgstr "Usar Diretório de Usuário Personalizado"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid "Use Custom Build"
msgstr "Usar Diretório de Usuário Personalizado"
@@ -18723,6 +18617,15 @@ msgstr "Usar Diretório de Usuário Personalizado"
msgid "Export Format"
msgstr "Caminho de Exportação"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "SDK Mínimo"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "FPS alvo"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18764,16 +18667,7 @@ msgstr "Inspecionar a Instância Anterior"
#: platform/android/export/export_plugin.cpp
msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr "SDK Mínimo"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "FPS alvo"
+msgstr "Código"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
@@ -18866,7 +18760,7 @@ msgstr "Interface de Usuário"
#: platform/android/export/export_plugin.cpp
msgid "Allow"
-msgstr ""
+msgstr "Permitir"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
@@ -18884,7 +18778,7 @@ msgstr "Expressão"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
-msgstr ""
+msgstr "Sal"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18934,10 +18828,6 @@ msgid "Could not execute on device."
msgstr "Não foi possível executar no dispositivo."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Não foi possível encontrar a ferramenta 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19030,14 +18920,16 @@ msgstr ""
"utilizar plugins."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Hand Tracking\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Passthrough\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"."
@@ -19048,37 +18940,63 @@ msgstr ""
"habilitado."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Exportar AAB\" só é válido quando \"Usar Compilação Customizada\" está "
"habilitado."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Exportar AAB\" só é válido quando \"Usar Compilação Customizada\" está "
"habilitado."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"Versão do \"Target Sdk\" precisa ser igual ou maior que a versão do \"Min "
"Sdk\"."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Sinal"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"'apksigner' não foi encontrado.\n"
-"Verifique se o comando está disponível no diretório do Android SDK build-"
-"tools.\n"
-"O %s resultante está sem assinatura."
+"'apksigner' não foi encontrado. Verifique se o comando está disponível no "
+"diretório de ferramentas de compilação do Android SDK. O %s resultante não é "
+"assinado."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -19093,6 +19011,10 @@ msgid "Could not find keystore, unable to export."
msgstr "O keystore não foi encontrado, não foi possível exportar."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "Não foi possível iniciar o executável apksigner."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' retornou com o erro #%d"
@@ -19121,8 +19043,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Nome de arquivo inválido! Android APK requer a extensão *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Formato de Exportação Não Suportado\n"
+msgid "Unsupported export format!"
+msgstr "Formato de exportação não suportado!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19135,27 +19057,24 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Diferença na versão da build do Android:\n"
-" Modelo instalado: %s\n"
-" Versão do Godot: %s\n"
-"Por favor reinstale o modelo de compilação do Android pelo menu 'Projeto'."
+"Diferença na versão da build do Android: Modelo instalado: %s, Versão do "
+"Godot: %s. Por favor reinstale o modelo de compilação do Android pelo menu "
+"'Projeto'."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Incapaz de sobrescrever os arquivos res://android/build/res/*.xml com o nome "
"do projeto"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
-"Não foi possível exportar os arquivos do projeto ao projeto do gradle\n"
+msgid "Could not export project files to gradle project."
+msgstr "Não foi possível exportar os arquivos do projeto ao projeto do gradle"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19167,12 +19086,12 @@ msgstr "Construindo Projeto Android (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"A construção do projeto Android falhou, verifique a saída para detalhes.\n"
-"Alternativamente, visite docs.godotengine.org para ver a documentação de "
-"compilação do Android."
+"A compilação do projeto Android falhou, verifique a saída para detalhes. Ou "
+"então visite docs.godotengine.org para ver a documentação de compilação do "
+"Android."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -19187,40 +19106,35 @@ msgstr ""
"diretório do projeto gradle por saídas."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr "Pacote não encontrado: '%s'"
+msgid "Package not found: \"%s\"."
+msgstr "Pacote não encontrado: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "Criando APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"Não foi possível encontrar o modelo de APK para exportar:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Não foi possível encontrar o modelo de APK para exportação: %s."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
"Faltam bibliotecas no modelo de exportação para as arquiteturas "
-"selecionadas: %s.\n"
-"Crie um modelo com todas as bibliotecas necessárias ou desmarque as "
-"arquiteturas ausentes na predefinição de exportação."
+"selecionadas: %s. Por favor, crie um modelo com todas as bibliotecas "
+"necessárias ou desmarque as arquiteturas ausentes na predefinição de "
+"exportação."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "Adicionando arquivos..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr "Não foi possível exportar os arquivos do projeto"
+msgid "Could not export project files."
+msgstr "Não foi possível exportar os arquivos do projeto."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19244,19 +19158,19 @@ msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 2436 X 1125"
-msgstr ""
+msgstr "IPhone 2436 X 1125"
#: platform/iphone/export/export.cpp
msgid "iPhone 2208 X 1242"
-msgstr ""
+msgstr "iPhone 2208 X 1242"
#: platform/iphone/export/export.cpp
msgid "iPad 1024 X 768"
-msgstr ""
+msgstr "iPad 1024 X 768"
#: platform/iphone/export/export.cpp
msgid "iPad 2048 X 1536"
-msgstr ""
+msgstr "iPad 2048 X 1536"
#: platform/iphone/export/export.cpp
msgid "Portrait Launch Screens"
@@ -19264,31 +19178,31 @@ msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 960"
-msgstr ""
+msgstr "iPhone 640 X 960"
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 1136"
-msgstr ""
+msgstr "iPhone 640 X 1136"
#: platform/iphone/export/export.cpp
msgid "iPhone 750 X 1334"
-msgstr ""
+msgstr "iPhone 750 X 1334"
#: platform/iphone/export/export.cpp
msgid "iPhone 1125 X 2436"
-msgstr ""
+msgstr "iPhone 1125 X 2436"
#: platform/iphone/export/export.cpp
msgid "iPad 768 X 1024"
-msgstr ""
+msgstr "iPad 768 X 1024"
#: platform/iphone/export/export.cpp
msgid "iPad 1536 X 2048"
-msgstr ""
+msgstr "iPad 1536 X 2048"
#: platform/iphone/export/export.cpp
msgid "iPhone 1242 X 2208"
-msgstr ""
+msgstr "iPhone 1242 X 2208"
#: platform/iphone/export/export.cpp
msgid "App Store Team ID"
@@ -19325,7 +19239,7 @@ msgstr ""
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Info"
-msgstr ""
+msgstr "Informação"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Identifier"
@@ -19395,23 +19309,23 @@ msgstr "Descrições da Propriedade"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
-msgstr ""
+msgstr "iPhone 120 X 120"
#: platform/iphone/export/export.cpp
msgid "iPhone 180 X 180"
-msgstr ""
+msgstr "iPhone 180 X 180"
#: platform/iphone/export/export.cpp
msgid "iPad 76 X 76"
-msgstr ""
+msgstr "iPad 76 X 76"
#: platform/iphone/export/export.cpp
msgid "iPad 152 X 152"
-msgstr ""
+msgstr "iPad 152 X 152"
#: platform/iphone/export/export.cpp
msgid "iPad 167 X 167"
-msgstr ""
+msgstr "iPad 167 X 167"
#: platform/iphone/export/export.cpp
msgid "App Store 1024 X 1024"
@@ -19458,6 +19372,17 @@ msgstr "Recortar Nós"
msgid "Custom BG Color"
msgstr "Recortar Nós"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Gerenciar Templates"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Template customizado de release não encontrado."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19480,20 +19405,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Rodar HTML exportado no navegador padrão do sistema."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr "Não foi possível abrir o modelo para exportar:"
+msgid "Could not open template for export: \"%s\"."
+msgstr "Não foi possível abrir o modelo para exportação: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr "Template de exportação inválido:"
+msgid "Invalid export template: \"%s\"."
+msgstr "Template de exportação inválido: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr "Não foi possível escrever o arquivo:"
+msgid "Could not write file: \"%s\"."
+msgstr "Não foi possível escrever o arquivo: \"%s\"."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Definir Margem"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not read file: \"%s\"."
+msgstr "Não foi possível ler o arquivo: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr "Não foi possível ler o arquivo:"
+msgid "PWA"
+msgstr "PWA"
#: platform/javascript/export/export.cpp
msgid "Variant"
@@ -19511,15 +19445,15 @@ msgstr "Expressão"
#: platform/javascript/export/export.cpp
msgid "For Desktop"
-msgstr ""
+msgstr "Para Desktop"
#: platform/javascript/export/export.cpp
msgid "For Mobile"
-msgstr ""
+msgstr "Para Mobile"
#: platform/javascript/export/export.cpp
msgid "HTML"
-msgstr ""
+msgstr "HTML"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19540,8 +19474,9 @@ msgid "Canvas Resize Policy"
msgstr ""
#: platform/javascript/export/export.cpp
+#, fuzzy
msgid "Focus Canvas On Start"
-msgstr ""
+msgstr "Focar Canvas ao Iniciar"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19550,11 +19485,11 @@ msgstr "Filtrar sinais"
#: platform/javascript/export/export.cpp
msgid "Progressive Web App"
-msgstr ""
+msgstr "Progressive Web App"
#: platform/javascript/export/export.cpp
msgid "Offline Page"
-msgstr ""
+msgstr "Página Offline"
#: platform/javascript/export/export.cpp
msgid "Icon 144 X 144"
@@ -19569,20 +19504,20 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr "Não foi possível ler o shell HTML:"
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "Não foi possível ler o shell HTML: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr "Não foi possível criar o diretório do servidor HTTP:"
+msgid "Could not create HTTP server directory: %s."
+msgstr "Não foi possível criar o diretório do servidor HTTP: \"%s\"."
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr "Erro ao iniciar servidor HTTP:"
+msgid "Error starting HTTP server: %d."
+msgstr "Erro ao iniciar o servidor HTTP: %d."
#: platform/javascript/export/export.cpp
msgid "Web"
-msgstr ""
+msgstr "Web"
#: platform/javascript/export/export.cpp
msgid "HTTP Host"
@@ -19599,7 +19534,7 @@ msgstr "Use Encaixar"
#: platform/javascript/export/export.cpp
msgid "SSL Key"
-msgstr ""
+msgstr "Chave SSL"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
@@ -19639,7 +19574,7 @@ msgstr "Caminho base inválido."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Já assinado!"
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -19679,7 +19614,7 @@ msgstr ""
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Tipo de objeto desconhecido."
#: platform/osx/export/export.cpp
msgid "App Category"
@@ -19687,7 +19622,7 @@ msgstr "Categoria do Aplicativo"
#: platform/osx/export/export.cpp
msgid "High Res"
-msgstr ""
+msgstr "Alta Resolução"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19767,7 +19702,7 @@ msgstr "Recortar Nós"
#: platform/osx/export/export.cpp
msgid "Allow JIT Code Execution"
-msgstr ""
+msgstr "Permitir Execução de Código JIT"
#: platform/osx/export/export.cpp
msgid "Allow Unsigned Executable Memory"
@@ -19789,7 +19724,7 @@ msgstr "Adicionar Entrada"
#: platform/osx/export/export.cpp
msgid "Address Book"
-msgstr ""
+msgstr "Contatos"
#: platform/osx/export/export.cpp
msgid "Calendars"
@@ -19831,7 +19766,7 @@ msgstr "Dispositivo"
#: platform/osx/export/export.cpp
msgid "Device Bluetooth"
-msgstr ""
+msgstr "Bluetooth do Dispositivo"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19877,9 +19812,25 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr "Não foi possível abrir o arquivo de ícone \"%s\"."
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "Não foi possível iniciar o executável xcrun."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr "Falha na notarização."
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19887,6 +19838,8 @@ msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Você pode verificar o progresso manualmente abrindo um Terminal e rodando o "
+"seguinte comando:"
#: platform/osx/export/export.cpp
msgid ""
@@ -19895,18 +19848,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+"Não foi possível iniciar o executável codesign, tenha certeza que as "
+"utilidades de linha de comando do Xcode estão instaladas."
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Ícones não encontrados."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Erro ao salvar o arquivo: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direções"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "Não foi possível iniciar o executável hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Criando Miniatura"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr "Não foi possível encontrar o aplicativo de modelo para exportar:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+"Não foi possível encontrar o aplicativo de modelo para exportar: \"%s\"."
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
+msgstr "Formato de exportação inválido."
#: platform/osx/export/export.cpp
msgid ""
@@ -19916,13 +19925,13 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Criando PKG"
#: platform/osx/export/export.cpp
msgid ""
@@ -19936,7 +19945,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Criando DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
@@ -19944,7 +19953,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Criando ZIP"
#: platform/osx/export/export.cpp
msgid ""
@@ -19957,6 +19966,16 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projeção"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+"Não foi possível abrir o arquivo para leitura a partir do caminho \"%s\"."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Identificador de pacote inválido:"
@@ -20097,16 +20116,15 @@ msgstr "Nome Curto"
#: platform/uwp/export/export.cpp
msgid "Publisher"
-msgstr ""
+msgstr "Publicadora"
#: platform/uwp/export/export.cpp
msgid "Publisher Display Name"
msgstr "Nome de Exibição da Publicadora"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Product GUID"
-msgstr "GUID de produto inválido."
+msgstr "GUID do produto"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20146,7 +20164,7 @@ msgstr "Revisão"
#: platform/uwp/export/export.cpp
msgid "Landscape"
-msgstr ""
+msgstr "Paisagem"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20155,11 +20173,11 @@ msgstr "Inverter Horizontalmente"
#: platform/uwp/export/export.cpp
msgid "Landscape Flipped"
-msgstr ""
+msgstr "Paisagem Invertido"
#: platform/uwp/export/export.cpp
msgid "Portrait Flipped"
-msgstr ""
+msgstr "Retrato Invertido"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20261,7 +20279,7 @@ msgstr "Dimensões inválidas da tela de abertura (deve ser 620x300)."
#: platform/uwp/export/export.cpp
msgid "UWP"
-msgstr ""
+msgstr "UWP"
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
@@ -20278,8 +20296,13 @@ msgid "Debug Algorithm"
msgstr "Depurador"
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Falha ao renomear arquivo temporário \"%s\"."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
msgid "Identity Type"
-msgstr ""
+msgstr "Tipo de Identidade"
#: platform/windows/export/export.cpp
msgid "Timestamp Server URL"
@@ -20319,9 +20342,71 @@ msgstr "Descrição"
#: platform/windows/export/export.cpp
msgid "Trademarks"
+msgstr "Marca Registrada (Trademarks)"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Notificações Push"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "O keystore não foi encontrado, não foi possível exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "O keystore não foi encontrado, não foi possível exportar."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Extensão inválida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "O keystore não foi encontrado, não foi possível exportar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "O keystore não foi encontrado, não foi possível exportar."
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr "Tipo de identidade inválido."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nome Inválido."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Extensão inválida."
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Falha ao remover o arquivo temporário \"%s\"."
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20340,13 +20425,30 @@ msgid "Invalid product version:"
msgstr "Versão de produto inválida:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Extensão inválida."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nova Janela"
#: platform/windows/export/export.cpp
msgid "Rcedit"
-msgstr ""
+msgstr "Rcedit"
#: platform/windows/export/export.cpp
msgid "Osslsigncode"
@@ -20356,6 +20458,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20483,7 +20589,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "Distância Máxima"
@@ -20531,7 +20638,7 @@ msgstr "Ampliar"
msgid "Custom Viewport"
msgstr "1 Viewport"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20540,7 +20647,7 @@ msgstr "Modo de Movimentação"
#: scene/2d/camera_2d.cpp
msgid "Limit"
-msgstr ""
+msgstr "Limite"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -20840,7 +20947,7 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Drawing"
-msgstr ""
+msgstr "Desenhando"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20851,7 +20958,7 @@ msgstr "Projetos Locais"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Draw Order"
-msgstr ""
+msgstr "Ordem de Desenho"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20908,7 +21015,7 @@ msgstr "Velocidade"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Angular Velocity"
-msgstr ""
+msgstr "Velocidade Angular"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20977,7 +21084,7 @@ msgstr "Dvidir Curva"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
msgid "Angle"
-msgstr ""
+msgstr "Ângulo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21103,7 +21210,7 @@ msgstr ""
#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Length"
-msgstr ""
+msgstr "Comprimento"
#: scene/2d/joints_2d.cpp
#, fuzzy
@@ -21139,7 +21246,7 @@ msgstr "Região da Textura"
#: scene/3d/light.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
msgid "Energy"
-msgstr ""
+msgstr "Energia"
#: scene/2d/light_2d.cpp
msgid "Z Min"
@@ -21217,7 +21324,7 @@ msgstr "Padrão"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
msgid "Fill"
-msgstr ""
+msgstr "Preencher"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
#, fuzzy
@@ -21279,11 +21386,42 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Margem de Ligação da Borda"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "VInculamento"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Distância do Caminho U"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr "Distância Máxima do Caminho"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Avançado"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Habilitar"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21300,15 +21438,6 @@ msgstr "Inverter Horizontalmente"
msgid "Max Speed"
msgstr "Velocidade Máxima"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr "Distância Máxima do Caminho"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Habilitar"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21333,23 +21462,25 @@ msgstr ""
"este nó funcione. Por favor defina a propriedade ou desenhe um polígono."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance deve ser filho ou neto de um nó Navigation2D. Ele "
-"apenas fornece dados de navegação."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centro Inferior"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Viagem"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Graus de Rotação"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr "Rotação Global"
@@ -21538,7 +21669,7 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Mass"
-msgstr ""
+msgstr "Massa"
#: scene/2d/physics_body_2d.cpp
msgid "Inertia"
@@ -21587,7 +21718,7 @@ msgstr "Úmido"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Angular"
-msgstr ""
+msgstr "Angular"
#: scene/2d/physics_body_2d.cpp
msgid "Applied Forces"
@@ -21700,15 +21831,15 @@ msgstr "Criar Nó Shader"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Collide With"
-msgstr ""
+msgstr "Colidir com"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Areas"
-msgstr ""
+msgstr "Áreas"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Bodies"
-msgstr ""
+msgstr "Corpos"
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -21950,15 +22081,15 @@ msgstr "Nó de Animação"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit dB"
-msgstr ""
+msgstr "Unidade dB"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit Size"
-msgstr ""
+msgstr "Tamanho da Unidade"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Max dB"
-msgstr ""
+msgstr "Max dB"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
@@ -22006,7 +22137,7 @@ msgstr "Empacotando"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
msgid "Interior"
-msgstr ""
+msgstr "Interior"
#: scene/3d/baked_lightmap.cpp
msgid "Finding meshes and lights"
@@ -22057,7 +22188,7 @@ msgstr "Usar Redutor de Ruído"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
msgid "Use HDR"
-msgstr ""
+msgstr "Usar HDR"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22156,7 +22287,7 @@ msgstr "Mais próximo"
#: scene/3d/camera.cpp
msgid "Far"
-msgstr ""
+msgstr "Longe"
#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
@@ -22408,9 +22539,8 @@ msgid "Font"
msgstr "Fontes"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Horizontal Alignment"
-msgstr "Horizontal:"
+msgstr "Alinhamento Horizontal"
#: scene/3d/label_3d.cpp
#, fuzzy
@@ -22515,6 +22645,15 @@ msgstr ""
msgid "Transform Normals"
msgstr "Normais de Transformação"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+"O nó 'Navigation' e 'Navigation.get_simple_path()' estão depreciados e serão "
+"removidos em versões futuras. Use 'NavigationServer.map_get_path()' no lugar."
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22539,14 +22678,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance deve ser filho ou neto de um nó Navigation. Ele "
-"apenas fornece dados de navegação."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -22776,15 +22907,15 @@ msgstr "Animação"
#: scene/3d/physics_body.cpp
msgid "X"
-msgstr ""
+msgstr "X"
#: scene/3d/physics_body.cpp
msgid "Y"
-msgstr ""
+msgstr "Y"
#: scene/3d/physics_body.cpp
msgid "Z"
-msgstr ""
+msgstr "Z"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23101,7 +23232,7 @@ msgstr "Depurador"
#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
msgid "Thickness"
-msgstr ""
+msgstr "Espessura"
#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
#, fuzzy
@@ -23208,7 +23339,7 @@ msgstr "Só Deve existir um RoomManager na SceneTree."
#: scene/3d/room_manager.cpp
msgid "Main"
-msgstr ""
+msgstr "Principal"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
@@ -23428,8 +23559,13 @@ msgstr ""
"Altere o tamanho em formas de colisão de crianças."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Manter Transformação Global"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
-msgstr ""
+msgstr "Matriz"
#: scene/3d/spatial.cpp
#, fuzzy
@@ -23447,7 +23583,7 @@ msgstr ""
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
msgid "Opacity"
-msgstr ""
+msgstr "Opacidade"
#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
msgid "Transparent"
@@ -23546,9 +23682,8 @@ msgid "Cast Shadow"
msgstr "Criar Nó Shader"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Extra Cull Margin"
-msgstr "Argumentos de Chamada Extras:"
+msgstr "Margem de Descarte Extra"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23570,9 +23705,8 @@ msgstr ""
#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
#: scene/resources/material.cpp
-#, fuzzy
msgid "Min Distance"
-msgstr "Escolha uma Distância:"
+msgstr "Distância Mínima"
#: scene/3d/visual_instance.cpp
msgid "Min Hysteresis"
@@ -23619,33 +23753,28 @@ msgid "Mix Mode"
msgstr "Nó Mix"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadein Time"
-msgstr "Tempo do X-Fade (s):"
+msgstr "Tempo de Esmaecer de Entrada"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadeout Time"
-msgstr "Tempo do X-Fade (s):"
+msgstr "Tempo de Esmaecer de Saída"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Auto Restart"
-msgstr "Reinício Automático:"
+msgstr "Reinício Automático"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Autorestart"
-msgstr "Reinício Automático:"
+msgstr "Reinício Automático"
#: scene/animation/animation_blend_tree.cpp
msgid "Delay"
-msgstr ""
+msgstr "Atraso"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Random Delay"
-msgstr "Inclinação aleatória:"
+msgstr "Atraso Aleatório"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -23669,9 +23798,8 @@ msgstr "Adicionar porta de entrada"
#: scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Xfade Time"
-msgstr "Tempo do X-Fade (s):"
+msgstr "Tempo do Esmaecer Cruzado"
#: scene/animation/animation_node_state_machine.cpp
#, fuzzy
@@ -23704,7 +23832,7 @@ msgstr "Adicionar Animação"
#: scene/animation/animation_player.cpp
msgid "Reset On Save"
-msgstr ""
+msgstr "Redefinir ao Salvar"
#: scene/animation/animation_player.cpp
#, fuzzy
@@ -23717,9 +23845,8 @@ msgid "Current Animation Position"
msgstr "Adicionar ponto de Animação"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Playback Options"
-msgstr "Opções da Classe:"
+msgstr "Opções de Playback"
#: scene/animation/animation_player.cpp
#, fuzzy
@@ -23762,9 +23889,8 @@ msgid "The AnimationPlayer root node is not a valid node."
msgstr "O nó raiz do AnimationPlayer não é um nó válido."
#: scene/animation/animation_tree.cpp
-#, fuzzy
msgid "Tree Root"
-msgstr "Criar nó raiz:"
+msgstr "Nó Raiz"
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -23874,7 +24000,7 @@ msgstr "Modo de Seleção"
#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
msgid "Alignment"
-msgstr ""
+msgstr "Alinhamento"
#: scene/gui/base_button.cpp
#, fuzzy
@@ -23912,11 +24038,11 @@ msgstr "Copiar Texto"
#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
#: scene/gui/spin_box.cpp
msgid "Align"
-msgstr ""
+msgstr "Alinhar"
#: scene/gui/button.cpp
msgid "Icon Align"
-msgstr ""
+msgstr "Alinhamento do Ícone"
#: scene/gui/button.cpp
#, fuzzy
@@ -24020,14 +24146,12 @@ msgid "Grow Direction"
msgstr "Direções"
#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Min Size"
-msgstr "Tamanho do Contorno:"
+msgstr "Tamanho Mínimo"
#: scene/gui/control.cpp
-#, fuzzy
msgid "Pivot Offset"
-msgstr "Deslocamento da Grade:"
+msgstr "Deslocamento do Pivô"
#: scene/gui/control.cpp
#, fuzzy
@@ -24075,7 +24199,7 @@ msgstr "Anterior"
#: scene/gui/control.cpp
msgid "Mouse"
-msgstr ""
+msgstr "Mouse"
#: scene/gui/control.cpp
msgid "Default Cursor Shape"
@@ -24101,7 +24225,7 @@ msgstr "Propriedades do Tema"
#: scene/gui/dialogs.cpp
msgid "Window Title"
-msgstr ""
+msgstr "Título da Janela"
#: scene/gui/dialogs.cpp
#, fuzzy
@@ -24135,14 +24259,12 @@ msgid "Right Disconnects"
msgstr "Desconectar"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Scroll Offset"
-msgstr "Deslocamento da Grade:"
+msgstr "Deslocamento da Rolagem"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Snap Distance"
-msgstr "Escolha uma Distância:"
+msgstr "Distância de Encaixe"
#: scene/gui/graph_edit.cpp
#, fuzzy
@@ -24167,7 +24289,7 @@ msgstr "Mostrar Ossos"
#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Mini-Mapa"
#: scene/gui/graph_edit.cpp
msgid "Enable grid minimap."
@@ -24240,9 +24362,8 @@ msgid "Fixed Column Width"
msgstr ""
#: scene/gui/item_list.cpp
-#, fuzzy
msgid "Icon Scale"
-msgstr "Escala aleatória:"
+msgstr "Escala de Ícone"
#: scene/gui/item_list.cpp
#, fuzzy
@@ -24255,9 +24376,8 @@ msgid "V Align"
msgstr "Atribuir"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Visible Characters"
-msgstr "Caracteres válidos:"
+msgstr "Caracteres Visiveis"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24281,9 +24401,8 @@ msgid "Secret"
msgstr ""
#: scene/gui/line_edit.cpp
-#, fuzzy
msgid "Secret Character"
-msgstr "Caracteres válidos:"
+msgstr "Caracteres Secretos"
#: scene/gui/line_edit.cpp
msgid "Expand To Text Length"
@@ -24340,20 +24459,19 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Circunflexo"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
-msgstr ""
+msgstr "Piscar"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Blink Speed"
-msgstr "Velocidade:"
+msgstr "Velocidade de Piscar"
#: scene/gui/link_button.cpp
msgid "Underline"
-msgstr ""
+msgstr "Sublinhado"
#: scene/gui/menu_button.cpp
#, fuzzy
@@ -24436,9 +24554,8 @@ msgid "Allow Search"
msgstr "Pesquisar"
#: scene/gui/progress_bar.cpp
-#, fuzzy
msgid "Percent"
-msgstr "Recente:"
+msgstr "Porcentagem"
#: scene/gui/range.cpp
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
@@ -24498,9 +24615,8 @@ msgid "Absolute Index"
msgstr "Auto Recuar"
#: scene/gui/rich_text_effect.cpp
-#, fuzzy
msgid "Elapsed Time"
-msgstr "Tempos de Mistura:"
+msgstr "Tempo Decorrido"
#: scene/gui/rich_text_effect.cpp
#, fuzzy
@@ -24508,9 +24624,8 @@ msgid "Env"
msgstr "Fim"
#: scene/gui/rich_text_effect.cpp
-#, fuzzy
msgid "Character"
-msgstr "Caracteres válidos:"
+msgstr "Caractere"
#: scene/gui/rich_text_label.cpp
msgid "BBCode"
@@ -24521,9 +24636,8 @@ msgid "Meta Underlined"
msgstr ""
#: scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Tab Size"
-msgstr "Tamanho:"
+msgstr "Tamanho da Tabulação"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24544,9 +24658,8 @@ msgid "Selection Enabled"
msgstr "Selecionar Apenas"
#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Override Selected Font Color"
-msgstr "Configurar Perfil Selecionado:"
+msgstr "Sobrescrever Cor da Fonte Selecionada"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24574,9 +24687,8 @@ msgid "Follow Focus"
msgstr "Popular Superfície"
#: scene/gui/scroll_container.cpp
-#, fuzzy
msgid "Horizontal Enabled"
-msgstr "Horizontal:"
+msgstr "Horizontal Habilitado"
#: scene/gui/scroll_container.cpp
#, fuzzy
@@ -24597,24 +24709,20 @@ msgid "Tick Count"
msgstr "Escolher Cor"
#: scene/gui/slider.cpp
-#, fuzzy
msgid "Ticks On Borders"
-msgstr "Renomear pasta:"
+msgstr "Pontos Nas Bordas"
#: scene/gui/spin_box.cpp
-#, fuzzy
msgid "Prefix"
-msgstr "Prefixo:"
+msgstr "Prefixo"
#: scene/gui/spin_box.cpp
-#, fuzzy
msgid "Suffix"
-msgstr "Sufixo:"
+msgstr "Sufixo"
#: scene/gui/split_container.cpp
-#, fuzzy
msgid "Split Offset"
-msgstr "Deslocamento da Grade:"
+msgstr "Deslocamento de Divisão"
#: scene/gui/split_container.cpp scene/gui/tree.cpp
#, fuzzy
@@ -24631,9 +24739,8 @@ msgid "Tab Align"
msgstr ""
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-#, fuzzy
msgid "Current Tab"
-msgstr "Atual:"
+msgstr "Aba Atual"
#: scene/gui/tab_container.cpp
#, fuzzy
@@ -24675,9 +24782,13 @@ msgid "Breakpoint Gutter"
msgstr "Pular Breakpoints"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Fold Gutter"
-msgstr "Pasta:"
+msgstr "Espaçamento de Dobra"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Selecionar Apenas"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -24690,19 +24801,16 @@ msgid "Wrap Enabled"
msgstr "Habilitar"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Scroll Vertical"
-msgstr "Vertical:"
+msgstr "Scroll Vertical"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Scroll Horizontal"
-msgstr "Horizontal:"
+msgstr "Scroll Horizontal"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw"
-msgstr "Chamadas de Desenho:"
+msgstr "Desenhar"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -24760,9 +24868,8 @@ msgid "Progress Offset"
msgstr ""
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Fill Mode"
-msgstr "Modo Panorâmico:"
+msgstr "Modo de Preenchimento"
#: scene/gui/texture_progress.cpp scene/resources/material.cpp
msgid "Tint"
@@ -24830,9 +24937,8 @@ msgid "Hide Folding"
msgstr "Botão Desativado"
#: scene/gui/tree.cpp
-#, fuzzy
msgid "Hide Root"
-msgstr "Criar nó raiz:"
+msgstr "Esconder Raiz"
#: scene/gui/tree.cpp
msgid "Drop Mode Flags"
@@ -24845,7 +24951,7 @@ msgstr "Adicionar Faixa"
#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Paused"
-msgstr ""
+msgstr "Pausado"
#: scene/gui/video_player.cpp
#, fuzzy
@@ -24930,19 +25036,16 @@ msgid "Filename"
msgstr "Renomear"
#: scene/main/node.cpp
-#, fuzzy
msgid "Owner"
-msgstr "Donos De:"
+msgstr "Dono"
#: scene/main/node.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Multiplayer"
-msgstr "Definir Múltiplos:"
+msgstr "Multijogador"
#: scene/main/node.cpp
-#, fuzzy
msgid "Custom Multiplayer"
-msgstr "Definir Múltiplos:"
+msgstr "Multijogador Personalizado"
#: scene/main/node.cpp
#, fuzzy
@@ -24975,17 +25078,16 @@ msgstr "Nova Raiz de Cena"
#: scene/main/scene_tree.cpp
msgid "Root"
-msgstr ""
+msgstr "Raiz"
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Multiplayer Poll"
-msgstr "Definir Múltiplos:"
+msgstr ""
#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
#: scene/resources/shape_2d.cpp
msgid "Shapes"
-msgstr ""
+msgstr "Formas"
#: scene/main/scene_tree.cpp
msgid "Shape Color"
@@ -25019,9 +25121,8 @@ msgid "Reflections"
msgstr "Reflexões"
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Atlas Size"
-msgstr "Tamanho do Contorno:"
+msgstr "Tamanho do Atlas"
#: scene/main/scene_tree.cpp
msgid "Atlas Subdiv"
@@ -25033,7 +25134,7 @@ msgstr ""
#: scene/main/scene_tree.cpp
msgid "Use FXAA"
-msgstr ""
+msgstr "Usar FXAA"
#: scene/main/scene_tree.cpp
msgid "Use Debanding"
@@ -25041,7 +25142,7 @@ msgstr ""
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "HDR"
-msgstr ""
+msgstr "HDR"
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "Use 32 BPC Depth"
@@ -25079,9 +25180,8 @@ msgstr ""
"Timer para tempos de espera muito baixos."
#: scene/main/timer.cpp
-#, fuzzy
msgid "Autostart"
-msgstr "Reinício Automático:"
+msgstr "Início Automático"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25090,19 +25190,6 @@ msgstr "Caminho de Exportação"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Este viewport não está definido como destino de renderização. Se você "
-"pretende que ele mostre seu conteúdo diretamente na tela, faça-o filho de um "
-"nó de Controle para que ele possa ter um tamanho. Caso contrário, defina-o "
-"como destino de renderização e atribua sua textura interna a algum nó para "
-"exibir."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -25110,10 +25197,19 @@ msgstr ""
"dimensões para renderizar algo."
#: scene/main/viewport.cpp
-msgid "ARVR"
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
+msgid "ARVR"
+msgstr "ARVR"
+
+#: scene/main/viewport.cpp
#, fuzzy
msgid "Size Override Stretch"
msgstr "Sobrescrever Item"
@@ -25124,11 +25220,11 @@ msgstr ""
#: scene/main/viewport.cpp scene/resources/world_2d.cpp
msgid "World"
-msgstr ""
+msgstr "Mundo"
#: scene/main/viewport.cpp
msgid "World 2D"
-msgstr ""
+msgstr "Mundo 2D"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25142,7 +25238,7 @@ msgstr "Alterar Valor da Entrada"
#: scene/main/viewport.cpp
msgid "FXAA"
-msgstr ""
+msgstr "FXAA"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25160,8 +25256,9 @@ msgid "Keep 3D Linear"
msgstr "Linear Esquerda"
#: scene/main/viewport.cpp
+#, fuzzy
msgid "Render Direct To Screen"
-msgstr ""
+msgstr "Renderizar Diretamente para a Tela"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25169,9 +25266,8 @@ msgid "Debug Draw"
msgstr "Depuração"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Render Target"
-msgstr "Renderizador:"
+msgstr "Alvo do Renderizador"
#: scene/main/viewport.cpp
msgid "V Flip"
@@ -25268,8 +25364,18 @@ msgid "3D Physics"
msgstr "Física"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Navegação"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Navegação"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
-msgstr ""
+msgstr "Usar hiDPI"
#: scene/register_scene_types.cpp
#, fuzzy
@@ -25289,12 +25395,11 @@ msgstr "Nó Mix"
#: scene/resources/audio_stream_sample.cpp
msgid "Stereo"
-msgstr ""
+msgstr "Stereo"
#: scene/resources/concave_polygon_shape_2d.cpp
-#, fuzzy
msgid "Segments"
-msgstr "Argumentos da Cena Principal:"
+msgstr "Segmentos"
#: scene/resources/curve.cpp
#, fuzzy
@@ -25307,7 +25412,7 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
msgid "Panel"
-msgstr ""
+msgstr "Painel"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25335,9 +25440,8 @@ msgid "Font Color Disabled"
msgstr "Corte Desabilitado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "H Separation"
-msgstr "Separação:"
+msgstr "Separação Horizontal"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25346,7 +25450,7 @@ msgstr "Loop da Animação"
#: scene/resources/default_theme/default_theme.cpp
msgid "Arrow"
-msgstr ""
+msgstr "Seta"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25425,14 +25529,12 @@ msgid "Font Outline Modulate"
msgstr "Forçar Módulo Branco"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset X"
-msgstr "Deslocamento da Grade X:"
+msgstr "Deslocamento da Sombra em X"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset Y"
-msgstr "Deslocamento da Grade Y:"
+msgstr "Deslocamento da Sombra em Y"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25490,14 +25592,12 @@ msgid "Space"
msgstr "Cena Principal"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folded"
-msgstr "Pasta:"
+msgstr "Dobrado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Fold"
-msgstr "Pasta:"
+msgstr "Dobrar"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Readonly"
@@ -25665,9 +25765,8 @@ msgid "Font Color Separator"
msgstr "Separador de Cor da Fonte"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "V Separation"
-msgstr "Separação:"
+msgstr "Separação Vertical"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25720,9 +25819,8 @@ msgid "Close Offset"
msgstr "Deslocamento do Ruído"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Port Offset"
-msgstr "Deslocamento da Grade:"
+msgstr "Deslocamento de Porta"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25832,14 +25930,12 @@ msgid "Draw Guides"
msgstr "Mostrar Guias"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Scroll Border"
-msgstr "Vertical:"
+msgstr "Borda da Barra de Rolagem"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Scroll Speed"
-msgstr "Deslocamento da Grade:"
+msgstr "Velocidade de Rolagem"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25847,9 +25943,8 @@ msgid "Icon Margin"
msgstr "Definir Margem"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Separation"
-msgstr "Separação:"
+msgstr "Separação de Linha"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25868,7 +25963,7 @@ msgstr "Item Desativado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Menu"
-msgstr ""
+msgstr "Menu"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25909,9 +26004,8 @@ msgid "Large"
msgstr "Destino"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folder"
-msgstr "Pasta:"
+msgstr "Pasta"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25949,9 +26043,8 @@ msgid "Label Width"
msgstr "Largura Esquerda"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Screen Picker"
-msgstr "Operador de tela."
+msgstr "Seletor de tela"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26004,7 +26097,7 @@ msgstr "Cena Principal"
#: scene/resources/default_theme/default_theme.cpp
msgid "Bold Italics Font"
-msgstr ""
+msgstr "Fonte Negrito Itálica"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26012,14 +26105,12 @@ msgid "Mono Font"
msgstr "Cena Principal"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table H Separation"
-msgstr "Separação:"
+msgstr "Separação Horizontal da Tabela"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table V Separation"
-msgstr "Separação:"
+msgstr "Separação Vertical da Tabela"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26048,11 +26139,11 @@ msgstr "Auto Fatiar"
#: scene/resources/default_theme/default_theme.cpp
msgid "Minus"
-msgstr ""
+msgstr "Menos"
#: scene/resources/default_theme/default_theme.cpp
msgid "More"
-msgstr ""
+msgstr "Mais"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26112,9 +26203,8 @@ msgid "Font Path"
msgstr "Habilitar"
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Outline Size"
-msgstr "Tamanho do Contorno:"
+msgstr "Tamanho do Contorno"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26127,14 +26217,12 @@ msgid "Use Mipmaps"
msgstr "Sinais"
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Extra Spacing"
-msgstr "Opções Extra:"
+msgstr "Espaçamento Extra"
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Char"
-msgstr "Caracteres válidos:"
+msgstr "Caractere"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26147,7 +26235,7 @@ msgstr ""
#: scene/resources/environment.cpp scene/resources/sky.cpp
msgid "Sky"
-msgstr ""
+msgstr "Céu"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26160,9 +26248,8 @@ msgid "Sky Orientation"
msgstr "Documentação Online"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sky Rotation"
-msgstr "Passo de Rotação:"
+msgstr "Rotação do Céu"
#: scene/resources/environment.cpp
msgid "Sky Rotation Degrees"
@@ -26191,14 +26278,12 @@ msgid "Fog"
msgstr "Névoa"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sun Color"
-msgstr "Armazenando Arquivo:"
+msgstr "Cor do Sol"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sun Amount"
-msgstr "Quantidade:"
+msgstr "Quantidade do Sol"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26262,7 +26347,7 @@ msgstr "Exportação"
#: scene/resources/environment.cpp
msgid "White"
-msgstr ""
+msgstr "Branco"
#: scene/resources/environment.cpp
msgid "Auto Exposure"
@@ -26287,14 +26372,12 @@ msgid "Max Steps"
msgstr "Passo"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Fade In"
-msgstr "[i]Fade In[/i](s):"
+msgstr "Esmaecer de Entrada"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Fade Out"
-msgstr "[i]Fade Out[/i](s):"
+msgstr "Esmaecer de Saída"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26307,12 +26390,11 @@ msgstr "Rugosidade"
#: scene/resources/environment.cpp
msgid "SSAO"
-msgstr ""
+msgstr "SSAO"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Radius 2"
-msgstr "Raio:"
+msgstr "Raio 2"
#: scene/resources/environment.cpp
msgid "Intensity 2"
@@ -26330,7 +26412,7 @@ msgstr "Depuração do Canal UV"
#: scene/resources/environment.cpp
msgid "Blur"
-msgstr ""
+msgstr "Blur"
#: scene/resources/environment.cpp
msgid "Edge Sharpness"
@@ -26341,9 +26423,8 @@ msgid "DOF Far Blur"
msgstr ""
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Distance"
-msgstr "Escolha uma Distância:"
+msgstr "Distância"
#: scene/resources/environment.cpp
msgid "Transition"
@@ -26426,18 +26507,16 @@ msgid "Brightness"
msgstr "Luz"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Saturation"
-msgstr "Separação:"
+msgstr "Separação"
#: scene/resources/environment.cpp
msgid "Color Correction"
msgstr "Correção de Cor"
#: scene/resources/font.cpp
-#, fuzzy
msgid "Ascent"
-msgstr "Recente:"
+msgstr "Subida"
#: scene/resources/font.cpp
#, fuzzy
@@ -26450,9 +26529,8 @@ msgid "Raw Data"
msgstr "Profundidade"
#: scene/resources/gradient.cpp
-#, fuzzy
msgid "Offsets"
-msgstr "Deslocamento:"
+msgstr "Deslocamentos"
#: scene/resources/height_map_shape.cpp
msgid "Map Width"
@@ -26532,7 +26610,7 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Is sRGB"
-msgstr ""
+msgstr "É sRGB"
#: scene/resources/material.cpp servers/visual_server.cpp
msgid "Parameters"
@@ -26578,9 +26656,8 @@ msgid "Grow"
msgstr "Crescer"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Grow Amount"
-msgstr "Quantidade:"
+msgstr "Quantidade de Crescimento"
#: scene/resources/material.cpp
msgid "Use Alpha Scissor"
@@ -26687,7 +26764,7 @@ msgstr "Transmissão"
msgid "Refraction"
msgstr "Refração"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr "Detalhe"
@@ -26735,7 +26812,7 @@ msgstr "Faça mapas de luz"
#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
msgid "Custom AABB"
-msgstr ""
+msgstr "AABB Personalizado"
#: scene/resources/mesh_library.cpp
#, fuzzy
@@ -26769,8 +26846,12 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Sampling"
+msgstr "Mostragem"
+
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Partition Type"
msgstr "Definir o Tipo da Variável"
#: scene/resources/navigation_mesh.cpp
@@ -26782,13 +26863,16 @@ msgid "Source Geometry Mode"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Source Group Name"
-msgstr "Origem"
+msgstr "Origem do Nome do Grupo"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
+msgid "Cells"
+msgstr "Células"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
+msgstr "Agentes"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
@@ -26800,12 +26884,17 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Região"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Fundir a partir de Cena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr ""
+msgid "Edges"
+msgstr "Arestas"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -26818,8 +26907,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Detalhe"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
-msgstr "Escolha uma Distância:"
+msgstr "Distância de Amostra"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -26835,9 +26928,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Gerando AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Deslocamento Base"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26879,9 +26982,8 @@ msgid "Color Modifier"
msgstr "Modificador de velocidade lenta da Visão Livre"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Point Texture"
-msgstr "Pontos de Emissão:"
+msgstr "Textura de Ponto"
#: scene/resources/particles_material.cpp
msgid "Normal Texture"
@@ -26898,9 +27000,8 @@ msgid "Point Count"
msgstr "Adicionar porta de entrada"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Scale Random"
-msgstr "Razão de Escala:"
+msgstr "Randomização de Escala"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -26916,9 +27017,8 @@ msgid "Absorbent"
msgstr ""
#: scene/resources/plane_shape.cpp
-#, fuzzy
msgid "Plane"
-msgstr "Plano:"
+msgstr "Plano"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -26942,9 +27042,8 @@ msgid "Subdivide Depth"
msgstr ""
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Top Radius"
-msgstr "Raio:"
+msgstr "Raio do Topo"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -26993,13 +27092,12 @@ msgid "Bone"
msgstr "Ossos"
#: scene/resources/sky.cpp
-#, fuzzy
msgid "Radiance Size"
-msgstr "Tamanho do Contorno:"
+msgstr "Tamanho da Radiância"
#: scene/resources/sky.cpp
msgid "Panorama"
-msgstr ""
+msgstr "Panorama"
#: scene/resources/sky.cpp
#, fuzzy
@@ -27007,9 +27105,8 @@ msgid "Top Color"
msgstr "Próximo Chão"
#: scene/resources/sky.cpp
-#, fuzzy
msgid "Horizon Color"
-msgstr "Armazenando Arquivo:"
+msgstr "Cor do Horizonte"
#: scene/resources/sky.cpp
#, fuzzy
@@ -27033,7 +27130,7 @@ msgstr "Substituir"
#: scene/resources/sky.cpp
msgid "Longitude"
-msgstr ""
+msgstr "Longitude"
#: scene/resources/sky.cpp
msgid "Angle Min"
@@ -27068,7 +27165,7 @@ msgstr ""
#: scene/resources/style_box.cpp
msgid "Anti Aliasing"
-msgstr ""
+msgstr "Anti Aliasing"
#: scene/resources/style_box.cpp
msgid "Grow Begin"
@@ -27118,9 +27215,8 @@ msgid "Lossy Storage Quality"
msgstr "Capturar"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "From"
-msgstr "Modo Panorâmico:"
+msgstr "À Partir de"
#: scene/resources/texture.cpp
#, fuzzy
@@ -27250,6 +27346,11 @@ msgid "Scenario"
msgstr "Cena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Navegação"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27267,6 +27368,26 @@ msgstr "Linear Esquerda"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Padrão"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Prévia Padrão"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testando"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Margem de Ligação da Borda"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -27299,9 +27420,8 @@ msgid "Audio Stream"
msgstr "Item Rádio"
#: servers/audio/audio_stream.cpp
-#, fuzzy
msgid "Random Pitch"
-msgstr "Inclinação aleatória:"
+msgstr "Timbre Aleatório"
#: servers/audio/effects/audio_effect_capture.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
@@ -27317,21 +27437,21 @@ msgstr ""
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Dry"
-msgstr ""
+msgstr "Seco"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Wet"
-msgstr ""
+msgstr "Molhado"
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "Voice"
-msgstr ""
+msgstr "Voz"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Delay (ms)"
-msgstr ""
+msgstr "Atraso (ms)"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_phaser.cpp
@@ -27346,23 +27466,22 @@ msgstr "Profundidade"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Level dB"
-msgstr ""
+msgstr "Nível dB"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_panner.cpp
-#, fuzzy
msgid "Pan"
-msgstr "Plano:"
+msgstr "Panoramizar"
#: servers/audio/effects/audio_effect_compressor.cpp
#: servers/audio/effects/audio_effect_filter.cpp
msgid "Gain"
-msgstr ""
+msgstr "Ganho"
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Attack (µs)"
-msgstr ""
+msgstr "Ataque (µs)"
#: servers/audio/effects/audio_effect_compressor.cpp
#, fuzzy
@@ -27399,7 +27518,7 @@ msgstr "Ignorar"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Pre Gain"
-msgstr ""
+msgstr "Pré Ganho"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Keep Hf Hz"
@@ -27407,7 +27526,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Drive"
-msgstr ""
+msgstr "Drive"
#: servers/audio/effects/audio_effect_distortion.cpp
#, fuzzy
@@ -27449,21 +27568,20 @@ msgstr ""
#: servers/audio/effects/audio_effect_pitch_shift.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#, fuzzy
msgid "FFT Size"
-msgstr "Tamanho:"
+msgstr "Tamanho FFT"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Predelay"
-msgstr ""
+msgstr "Pré Atraso"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Msec"
-msgstr ""
+msgstr "Msec"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Room Size"
-msgstr ""
+msgstr "Tamanho da Sala"
#: servers/audio/effects/audio_effect_reverb.cpp
#, fuzzy
@@ -27546,9 +27664,8 @@ msgid "Time Before Sleep"
msgstr ""
#: servers/physics_2d/physics_2d_server_sw.cpp
-#, fuzzy
msgid "BP Hash Table Size"
-msgstr "Tamanho:"
+msgstr "Tamanho da \"BP Hash Table\""
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "Large Object Surface Threshold In Cells"
@@ -27921,7 +28038,7 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Compatibility"
-msgstr ""
+msgstr "Compatibilidade"
#: servers/visual_server.cpp
msgid "Disable Half Float"
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index 85768585da..a78712c6ba 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -223,9 +223,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Analizator Network"
@@ -334,7 +335,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Insuficienți bytes pentru decodare bytes, sau format invalid."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Intrare invalida %i (nu a fost transmisă) in expresie"
#: core/math/expression.cpp
@@ -380,6 +382,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Mod Mutare"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Șterge Intrare(Input)"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -406,6 +418,11 @@ msgstr ""
msgid "Command"
msgstr "Comunitate"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Cadru Fizic %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -460,6 +477,10 @@ msgid "Pressure"
msgstr "Presiune"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Relativ"
@@ -571,7 +592,8 @@ msgstr "Descriere"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Execută"
@@ -660,6 +682,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Calea Scenei:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -667,19 +694,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Control versiune"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Control versiune"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Nume plugin:"
+msgid "Version Control Plugin Name"
+msgstr "Control versiune"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -795,7 +818,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtre:"
@@ -1077,6 +1101,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratis"
@@ -1093,7 +1118,7 @@ msgstr "Oglinda"
msgid "Time:"
msgstr "Timp:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Valoare:"
@@ -1343,10 +1368,74 @@ msgid "Remove this track."
msgstr "Ștergeți pista selectată."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Timp (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Poziție"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Pas Rotație:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Dimensiune:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Trebuie să utilizaţi o extensie valida."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Setează Mâner"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Setează Mâner"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Închidere curbă"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Restartare (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Estompează (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animaţii:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Comută Pista Activată"
@@ -1559,7 +1648,8 @@ msgid "Add Method Track Key"
msgstr "Inserați Pistă și Cheie"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metoda nu a fost găsită în obiect: "
#: editor/animation_track_editor.cpp
@@ -2096,14 +2186,15 @@ msgstr "Favorite:"
msgid "Recent:"
msgstr "Recent:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cautați:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Potriviri:"
@@ -2163,8 +2254,8 @@ msgstr "Cautați Înlocuitor Resursă:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2172,8 +2263,8 @@ msgid "Open"
msgstr "Deschide"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Stăpâni La:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2479,7 +2570,7 @@ msgid "Bus Options"
msgstr "Opțiuni Pistă Audio"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicat"
@@ -2531,8 +2622,9 @@ msgstr "Deschide Schema Pistei Audio"
msgid "There is no '%s' file."
msgstr "Nu este niciun '%s' în filă."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Schemă"
#: editor/editor_audio_buses.cpp
@@ -2740,6 +2832,25 @@ msgid "Choose"
msgstr "Alegeți"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Copiază Selecția"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Pachet instalat cu succes!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "A Eșuat:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Fişierul se Stochează:"
@@ -2752,6 +2863,31 @@ msgid "Packing"
msgstr "Ambalare"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Salvați Ca"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Directorul nu a putut fi creat."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Nu s-a putut porni subprocesul!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Nu pot deschide fişierul pentru scris:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Salvați Ca"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2874,11 +3010,32 @@ msgstr "Fișierul șablon de depanare personalizat nu a fost găsit."
msgid "Custom release template not found."
msgstr "Șablonul personalizat de lansare nu a fost găsit."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Gestionați șabloanele"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Fișierul nu există."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Fișierul șablon nu a fost găsit:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Nu se pot deschide șabloanele de export zip."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"La exporturile pe 32 de biți PCK-ul încorporat nu poate fi mai mare de 4 GiB."
@@ -3052,9 +3209,9 @@ msgid "Import"
msgstr "Importare"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportare"
@@ -4215,15 +4372,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scenă"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Calea Scenei:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4352,6 +4500,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Control versiune"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Redenumește"
@@ -4380,6 +4532,10 @@ msgstr "Comutează modul fără distrageri."
msgid "Add a new scene."
msgstr "Adaugă o nouă scenă."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scenă"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Mergi la o scenă deschisă anterior."
@@ -5056,11 +5212,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
+msgstr "Dimensiunea Conturului:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5161,6 +5320,11 @@ msgstr ""
"platformă.\n"
"Te rog adaugă o presetare de rulare în meniul pentru export."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Proiect"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Scrie logica programului în metoda _run()."
@@ -5437,7 +5601,9 @@ msgid "Draw Spaces"
msgstr "Apeluri"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Creează un Mesh de Navigare"
@@ -5464,6 +5630,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Toată selecția"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6017,10 +6192,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6789,14 +6966,6 @@ msgid "Replace in Files"
msgstr "Înlocuiți Tot"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Găsiți: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Înlocuiți: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Înlocuiți Tot"
@@ -6929,7 +7098,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtre:"
@@ -7195,7 +7364,8 @@ msgid "Generating Lightmaps"
msgstr "Se Genereaza Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Se Generează pentru Mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7223,6 +7393,18 @@ msgid "Saving..."
msgstr "Se Salvează..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7924,11 +8106,20 @@ msgid "New Anim"
msgstr "Anim Nouă"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Creează Animație Nouă"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Schimbă Numele Animației:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Redenumește Animația"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Ștergi Animația?"
@@ -7948,11 +8139,6 @@ msgid "Animation name already exists!"
msgstr "EROARE: Numele animației există deja!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Redenumește Animația"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplicare Animație"
@@ -8053,10 +8239,12 @@ msgstr "Onion Skinning"
msgid "Directions"
msgstr "Direcții"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Trecut"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Viitor"
@@ -8098,10 +8286,6 @@ msgid "Pin AnimationPlayer"
msgstr "Lipește Animație"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Creează Animație Nouă"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Nume Animație:"
@@ -8218,7 +8402,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Tranziție: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8235,11 +8420,6 @@ msgid "New name:"
msgstr "Nume nou:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Dimensiune:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Estompează (s):"
@@ -9199,6 +9379,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "Curăță Oasele"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9265,6 +9446,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Schemă"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10052,7 +10237,8 @@ msgid "Volume"
msgstr "Volum"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Sursă de Emisie: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10293,6 +10479,7 @@ msgid "Points"
msgstr "Deplasare punct"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Poligon->UV"
@@ -10459,13 +10646,6 @@ msgid "Instance:"
msgstr "Instanță :"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Deschidere în Editor"
@@ -10474,10 +10654,6 @@ msgstr "Deschidere în Editor"
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11210,13 +11386,17 @@ msgstr "Mod Rotație"
msgid "Translate"
msgstr "Tradu Snap:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Dimensiune:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Tradu Snap:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11239,12 +11419,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Dimensiunea Conturului:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11743,7 +11917,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Conversie în Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11778,15 +11953,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Acțiune"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11854,6 +12030,11 @@ msgid "New Animation"
msgstr "Animație"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Metode de filtrare"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12803,8 +12984,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Regiunea"
@@ -14303,20 +14483,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14325,14 +14500,6 @@ msgid "Exporting All"
msgstr "Exportare"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export Path"
msgstr "Exportă Proiectul"
@@ -14437,20 +14604,28 @@ msgid "More Info..."
msgstr "Mută În..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Exportare"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Exportă Proiectul"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Exportă Proiectul?"
+#, fuzzy
+msgid "Export All"
+msgstr "Exportare"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "Alegeţi un Director"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Exportare"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14458,14 +14633,20 @@ msgid "ZIP File"
msgstr "Fișiere ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Exportă Proiectul"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Fondatorii Proiectului"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Administrează Șabloanele de Export"
@@ -14753,15 +14934,15 @@ msgid "Project Manager"
msgstr "Manager de Proiect"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Se recuperează oglinzile, te rog așteaptă..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Exportă Proiectul"
@@ -15966,8 +16147,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Ștergeți"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16847,7 +17029,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Poligon->UV"
@@ -17023,7 +17205,7 @@ msgid "Disabled GDNative Singleton"
msgstr "Dezactivează Cercul de Actualizare"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17459,7 +17641,6 @@ msgid "Use In Baked Light"
msgstr "Procesează Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17489,6 +17670,19 @@ msgstr "Centrează Selecția"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Creează un Mesh de Navigare"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Creează un Mesh de Navigare"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Planul următor"
@@ -17905,7 +18099,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17913,7 +18107,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18297,7 +18491,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18305,7 +18499,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18474,12 +18668,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Argumente invalide pentru a construi '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Nume nevalid."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18491,12 +18687,14 @@ msgid "Var Name"
msgstr "Nume"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metoda nu a fost găsită în obiect: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metoda nu a fost găsită în obiect: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18818,6 +19016,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Creează Nod"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18826,6 +19029,16 @@ msgstr ""
msgid "Export Format"
msgstr "Exportă Proiectul"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Dimensiunea Conturului:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Suprafață Țintă:"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18864,16 +19077,6 @@ msgstr "Fila anterioară"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Dimensiunea Conturului:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Suprafață Țintă:"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19043,10 +19246,6 @@ msgid "Could not execute on device."
msgstr "Directorul nu a putut fi creat."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19123,12 +19322,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19137,25 +19336,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Semnal"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19174,6 +19397,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Nu s-a putut porni subprocesul!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19204,7 +19432,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19215,20 +19443,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Nu s-a putut porni subprocesul!"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19240,7 +19467,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19256,7 +19483,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Unelte Animație"
#: platform/android/export/export_plugin.cpp
@@ -19265,15 +19492,13 @@ msgid "Creating APK..."
msgstr "Crearea conturilor..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Nu s-a putut porni subprocesul!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19285,7 +19510,7 @@ msgstr "Se adaugă %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Nu s-a putut porni subprocesul!"
#: platform/android/export/export_plugin.cpp
@@ -19527,6 +19752,17 @@ msgstr "Creează Nod"
msgid "Custom BG Color"
msgstr "Creează Nod"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Gestionați șabloanele"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Șablonul personalizat de lansare nu a fost găsit."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19548,23 +19784,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Execută HTML-ul exportat în browserul prestabilit al sistemului."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Directorul nu a putut fi creat."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Trebuie să utilizaţi o extensie valida."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Nu s-a putut încărca fișierul la:"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Setează Mâner"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Nu s-a putut încărca fișierul la:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Enumerări:"
@@ -19640,17 +19888,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Nu s-a putut încărca fișierul la:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Directorul nu a putut fi creat."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Eroare la scrierea TextFile:"
#: platform/javascript/export/export.cpp
@@ -19948,9 +20196,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Nu s-a putut porni subprocesul!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Nu s-a putut porni subprocesul!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Creează un Mesh de Navigare"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19966,18 +20233,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Nu s-a găsit nici o sub-resursă."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Eroare la salvarea filei: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Direcții"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Nu s-a putut porni subprocesul!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Creând Thumbnail"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Nu s-a putut porni subprocesul!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Cale nevalidă."
#: platform/osx/export/export.cpp
msgid ""
@@ -19987,7 +20310,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20029,6 +20352,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proiect"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Identificator nevalid:"
@@ -20343,6 +20675,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nu pot sterge fișierul temporar:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20389,6 +20726,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Rotație aleatorie:"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Trebuie să utilizaţi o extensie valida."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Identificator nevalid:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Nume nevalid."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Trebuie să utilizaţi o extensie valida."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nu pot sterge fișierul temporar:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20410,6 +20807,23 @@ msgid "Invalid product version:"
msgstr "Nume de Proiect Nevalid."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Trebuie să utilizaţi o extensie valida."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Fereastră Nouă"
@@ -20426,6 +20840,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20548,7 +20966,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Instanță"
@@ -20599,7 +21018,7 @@ msgstr "Apropiere"
msgid "Custom Viewport"
msgstr "Arată Fereastra de Lucru"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21319,34 +21738,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Modifică Conexiunea:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Rotație aleatorie:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Alege o Scenă Principală"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Avansate"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Activați"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Activați"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21371,13 +21812,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centrează Selecția"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -21386,7 +21830,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr "Pas Rotație:"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Permanent"
@@ -22527,6 +22971,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformare uniformă."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22550,12 +23001,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23410,6 +23855,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Anim Schimbare transformare"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24619,6 +25069,11 @@ msgstr "Folderul:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Numai Selecția"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Activați"
@@ -25021,16 +25476,17 @@ msgstr "Exportă Proiectul"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25187,6 +25643,16 @@ msgid "3D Physics"
msgstr "Cadru Fizic %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Creează un Mesh de Navigare"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Creează un Mesh de Navigare"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26595,7 +27061,7 @@ msgstr "Transmisie"
msgid "Refraction"
msgstr "Enumerări:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26677,7 +27143,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Dimensiune:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Modificare tip bază:"
#: scene/resources/navigation_mesh.cpp
@@ -26695,10 +27166,15 @@ msgid "Source Group Name"
msgstr "Resursă"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Conținut:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26707,11 +27183,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Regiunea"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26724,6 +27205,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Încărcați Implicit"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26740,9 +27226,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Generare AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Compensare Grilă:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27148,6 +27644,11 @@ msgid "Scenario"
msgstr "Scenă"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Creează un Mesh de Navigare"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27165,6 +27666,26 @@ msgstr "Stânga liniară"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Implicit"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Previzualizare"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Se Testează"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Modifică Conexiunea:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index da0a31e108..1df1d87308 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -85,7 +85,7 @@
# kyanukovich <ianu0001@algonquinlive.com>, 2020.
# Ron788 <ustinov200511@gmail.com>, 2020.
# Daniel <dan.ef1999@gmail.com>, 2020.
-# NeoLan Qu <it.bulla@mail.ru>, 2020.
+# NeoLan Qu <it.bulla@mail.ru>, 2020, 2022.
# Nikita Epifanov <nikgreens@protonmail.com>, 2020.
# Cube Show <griiv.06@gmail.com>, 2020.
# Roman Tolkachyov <roman@tolkachyov.name>, 2020.
@@ -114,13 +114,18 @@
# Павел <Humani.apparatus.1960@gmail.com>, 2022.
# Deleted User <noreply+44465@weblate.org>, 2022.
# Bozhko Artyom Dmitrievich <jek_sun@mail.ru>, 2022.
+# FuzzMix <fmwolfiechad@gmail.com>, 2022.
+# Jasuse <jasusemaele@gmail.com>, 2022.
+# Vadim Mitroshkin <Vadim7540@yandex.ru>, 2022.
+# Maksim Marchukov <mar.maksim63@gmail.com>, 2022.
+# Slava Beloglazov <slavathedeveloper@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-23 21:52+0000\n"
-"Last-Translator: Bozhko Artyom Dmitrievich <jek_sun@mail.ru>\n"
+"PO-Revision-Date: 2022-07-26 01:55+0000\n"
+"Last-Translator: NeoLan Qu <it.bulla@mail.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
"Language: ru\n"
@@ -129,7 +134,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -313,9 +318,10 @@ msgid "Data"
msgstr "Данные"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Сеть"
@@ -421,8 +427,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Недостаточно байтов для декодирования байтов или неверный формат."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Некорректный ввод %i (не подходит) в выражении"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Некорректный ввод %d (не подходит) в выражении"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -466,6 +472,14 @@ msgstr "Очередь сообщений"
msgid "Max Size (KB)"
msgstr "Максимальный размер (КБ)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Режим мыши"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Использовать накопленный ввод"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -491,6 +505,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "(Физическая)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -542,6 +561,10 @@ msgid "Pressure"
msgstr "Давление"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "Перо Инвертировано"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Относительный"
@@ -645,7 +668,8 @@ msgstr "Описание"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Запустить"
@@ -728,6 +752,10 @@ msgid "Main Run Args"
msgstr "Основные аргументы запуска"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Именование сцен"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Искать в расширениях файлов"
@@ -735,18 +763,15 @@ msgstr "Искать в расширениях файлов"
msgid "Script Templates Search Path"
msgstr "Путь поиска шаблонов скриптов"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Контроль версий"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+#, fuzzy
+msgid "Version Control Autoload On Startup"
msgstr "Автозагрузка при запуске"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Название плагина"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Контроль версий"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -853,7 +878,8 @@ msgid "Quality"
msgstr "Качество"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Фильтры"
@@ -1120,6 +1146,7 @@ msgstr "Высокое качество"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Максимальный размер буфера смешивания форм (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Освободить"
@@ -1136,7 +1163,7 @@ msgstr "Отразить"
msgid "Time:"
msgstr "Время:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Значение:"
@@ -1218,9 +1245,8 @@ msgid "Value"
msgstr "Значение"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Количество"
+msgstr "Количество Аргументов"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -1252,14 +1278,12 @@ msgid "Stream"
msgstr "Поток"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Смещение поворота"
+msgstr "Начальное смещение"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Г смещение"
+msgstr "Конечное смещение"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1383,8 +1407,64 @@ msgid "Remove this track."
msgstr "Удалить эту дорожку."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Время (сек.): "
+msgid "Time (s):"
+msgstr "Время (сек.):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Позиция:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Поворот:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Масштаб:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Тип:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Неверный, ожидаемый тип: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Переход В-ИЗ:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Обработчик Ввода:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Обработчик Вывода:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Поток:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Начало (сек.):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Конец (сек.):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Клип Анимации:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1598,8 +1678,8 @@ msgid "Add Method Track Key"
msgstr "Добавить ключ дорожки для метода"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "В объекте нет такого метода: "
+msgid "Method not found in object:"
+msgstr "В объекте нет такого метода:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2133,14 +2213,15 @@ msgstr "Избранное:"
msgid "Recent:"
msgstr "Недавнее:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Поиск:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Совпадения:"
@@ -2200,8 +2281,8 @@ msgstr "Найти заменяемый ресурс:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2209,8 +2290,8 @@ msgid "Open"
msgstr "Открыть"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Владельцы:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Владельцы: %s (Всего: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2261,7 +2342,7 @@ msgstr "Исправить зависимости"
#: editor/dependency_editor.cpp
msgid "Errors loading!"
-msgstr "Ошибки загрузки!"
+msgstr "Ошибки при загрузке!"
#: editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
@@ -2511,7 +2592,7 @@ msgid "Bus Options"
msgstr "Параметры шины"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Дублировать"
@@ -2563,9 +2644,9 @@ msgstr "Открыть раскладку звуковой шины"
msgid "There is no '%s' file."
msgstr "Файла «%s» не существует."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Макет"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Макет:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2767,6 +2848,24 @@ msgid "Choose"
msgstr "Выбрать"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Экспорт проекта для платформы:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Завершено с ошибками."
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Завершено без ошибок."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Не удалось:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Сохранение файла:"
@@ -2779,20 +2878,44 @@ msgid "Packing"
msgstr "Упаковывание"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "Сохранить PCK"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Невозможно создать папку."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Не удалось экспортировать файлы проекта"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Невозможно открыть файл для записи:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Сохранить как"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
msgstr ""
-"Целевая платформа требует сжатие текстур «ETC» для GLES2. Включите «Import "
-"Etc» в Настройках проекта."
+"Целевая платформа требует сжатие текстур «ETC» для GLES2. Включите "
+"«Импортировать Etc» в Настройках Проекта."
#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC2' texture compression for GLES3. Enable "
"'Import Etc 2' in Project Settings."
msgstr ""
-"Целевая платформа требует компрессию текстур «ETC2» для GLES2. Включите "
-"«Import Etc 2» в Настройках проекта."
+"Целевая платформа требует компрессию текстур «ETC2» для GLES3. Включите "
+"«Импортировать Etc 2» в Настройках Проекта."
#: editor/editor_export.cpp
msgid ""
@@ -2802,8 +2925,8 @@ msgid ""
"Enabled'."
msgstr ""
"Целевая платформа требует сжатия текстур «ETC» для отката драйвера к GLES2.\n"
-"Включите «Import Etc» в Настройках проекта или отключите «Driver Fallback "
-"Enabled»."
+"Включите «Импортировать Etc» в Настройках проекта или отключите «Driver "
+"Fallback Enabled»."
#: editor/editor_export.cpp
msgid ""
@@ -2819,7 +2942,8 @@ msgid ""
"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings."
msgstr ""
"Целевая платформа требует компрессию текстур «ETC2» или «PVRTC» для GLES3. "
-"Включите «Import Etc 2» или «Import Pvrtc» в Настройках проекта."
+"Включите «Импортировать Etc 2» или «Импортировать Pvrtc» в Настройках "
+"Проекта."
#: editor/editor_export.cpp
msgid ""
@@ -2894,11 +3018,33 @@ msgstr "Пользовательский отладочный шаблон не
msgid "Custom release template not found."
msgstr "Пользовательский релизный шаблон не найден."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Управление шаблонами"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Данный путь экспорта не существует:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Файл шаблона не найден:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Неверный шаблон экспорта:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Отступ"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
"На 32-х битных системах встроенный PCK файл не может быть больше 4 Гбит."
@@ -3074,9 +3220,9 @@ msgid "Import"
msgstr "Импорт"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Экспорт"
@@ -4227,14 +4373,6 @@ msgstr ""
"Невозможно записать в файл «%s», файл используется, заблокирован или "
"отсутствуют разрешения."
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Сцена"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Именование сцен"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4349,6 +4487,10 @@ msgid "Default Color Picker Mode"
msgstr "Режим выбора цвета по умолчанию"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Контроль версий"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Имя пользователя"
@@ -4376,6 +4518,10 @@ msgstr "Переключить режим без отвлечения."
msgid "Add a new scene."
msgstr "Добавить новую сцену."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Сцена"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Перейти к предыдущей открытой сцене."
@@ -5061,12 +5207,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Выбранный узел не Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Размер: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Размер:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Страница: "
+msgid "Page:"
+msgstr "Страница:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5162,6 +5310,11 @@ msgstr ""
"Пожалуйста, добавьте активный пресет в меню экспорта или пометьте "
"существующий пресет как активный."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Проект"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Пишите ваш код в методе _run()."
@@ -5416,7 +5569,9 @@ msgid "Draw Spaces"
msgstr "Рисовать пробелы"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Навигация"
@@ -5441,6 +5596,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Навигация по истории дополнительными кнопками мыши"
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Выделение сетки"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Внешний вид"
@@ -5948,10 +6112,12 @@ msgstr "Хост"
msgid "Port"
msgstr "Порт"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Менеджер проектов"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Порядок сортировки"
@@ -6701,14 +6867,6 @@ msgid "Replace in Files"
msgstr "Заменить в файлах"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Найти: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Заменить: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Заменить всё (НЕЛЬЗЯ ОТМЕНИТЬ)"
@@ -6834,7 +6992,7 @@ msgstr "Повторить"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Фильтр"
@@ -7068,8 +7226,8 @@ msgid "Generating Lightmaps"
msgstr "Создание карт освещения"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Создание для полисетки: "
+msgid "Generating for Mesh:"
+msgstr "Создание для полисетки:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7096,6 +7254,23 @@ msgid "Saving..."
msgstr "Сохранение..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+"%s: Выбранная текстура используется как карта нормалей в 3D. Включено красно-"
+"зелёное сжатие текстуры для уменьшения использования памяти (синий канал "
+"отбрасывается)."
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+"%s: Текстура используется в 3D. Включена фильтрация, повторение и генерация "
+"mipmap-карт, а также VRAM сжатие текстуры."
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr "2D, Обнаружение 3D"
@@ -7766,11 +7941,20 @@ msgid "New Anim"
msgstr "Новая анимация"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Создать новую анимацию"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Изменить имя анимации:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Переименовать анимацию"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Удалить анимацию?"
@@ -7788,11 +7972,6 @@ msgid "Animation name already exists!"
msgstr "Такое название анимации уже существует!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Переименовать анимацию"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Дублировать анимацию"
@@ -7892,10 +8071,12 @@ msgstr "Параметры режима кальки"
msgid "Directions"
msgstr "Направления"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Прошлые"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Будущие"
@@ -7936,10 +8117,6 @@ msgid "Pin AnimationPlayer"
msgstr "Закрепить анимацию игрока"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Создать новую анимацию"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Название анимации:"
@@ -8055,8 +8232,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Установите конец анимации. Полезно для вспомогательных переходов."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Переход: "
+msgid "Transition:"
+msgstr "Переход:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8072,11 +8249,6 @@ msgid "New name:"
msgstr "Новое имя:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Масштаб:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Проявление (сек.):"
@@ -8981,6 +9153,7 @@ msgstr "Сделать пользовательские кость(и) от уз
msgid "Clear Custom Bones"
msgstr "Очистить пользовательские кости"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9044,6 +9217,10 @@ msgid "Preview Canvas Scale"
msgstr "Предпросмотр масштаба холста"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Макет"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Маска трансформации для вставки ключей."
@@ -9375,7 +9552,7 @@ msgstr "Иконка"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "Идентификатор"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -9810,8 +9987,8 @@ msgid "Volume"
msgstr "Объём"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Источник излучения: "
+msgid "Emission Source:"
+msgstr "Источник излучения:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10044,6 +10221,7 @@ msgid "Points"
msgstr "Точки"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Полигоны"
@@ -10200,13 +10378,6 @@ msgid "Instance:"
msgstr "Экземпляр:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Тип:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Открыть в редакторе"
@@ -10215,10 +10386,6 @@ msgstr "Открыть в редакторе"
msgid "Load Resource"
msgstr "Загрузить ресурс"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Предзагрузчик ресурсов"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Перевернуть порталы"
@@ -10913,13 +11080,15 @@ msgstr "Повернуть"
msgid "Translate"
msgstr "Сдвинуть"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Масштаб: "
+msgid "Scaling:"
+msgstr "Масштаб:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Перемещение: "
+msgid "Translating:"
+msgstr "Перемещение:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10942,11 +11111,6 @@ msgid "Yaw:"
msgstr "Рыскание:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Размер:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Отрисовано объектов:"
@@ -11435,7 +11599,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Недопустимая геометрия, не может быть заменена полисеткой."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Преобразовать в Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11468,16 +11633,16 @@ msgid "Sprite"
msgstr "Спрайт"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Упрощение: "
+msgid "Simplification:"
+msgstr "Упрощение:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Сжатие (пиксели): "
+msgid "Shrink (Pixels):"
+msgstr "Сжатие (пиксели):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Рост (пиксели): "
+msgid "Grow (Pixels):"
+msgstr "Рост (пиксели):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11540,6 +11705,11 @@ msgid "New Animation"
msgstr "Новая анимация"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Фильтр методов"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Скорость:"
@@ -12419,8 +12589,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Выберите предыдущую форму, элемент тайла или тайл."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Регион"
@@ -12710,7 +12879,6 @@ msgid "This property can't be changed."
msgstr "Это свойство не может быть изменено."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "Параметры привязки"
@@ -12739,9 +12907,8 @@ msgid "Separation"
msgstr "Разделение"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Выделение"
+msgstr "Выбранная плитка"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12770,9 +12937,8 @@ msgid "Modulate"
msgstr "Модуляция"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Режим отображения"
+msgstr "Режим плитки"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13923,40 +14089,24 @@ msgid "Runnable"
msgstr "Активный"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Удалить пресет «%s»?"
+msgid "Export the project for all the presets defined."
+msgstr "Экспортируйте проект для всех заданных предустановок."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Не удалось экспортировать проект для платформы «%s».\n"
-"Шаблоны экспорта отсутствуют или недействительны."
+"Для работы функции \"Экспортировать все\" у всех предустановок должен быть "
+"определен путь экспорта."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Не удалось экспортировать проект для платформы «%s».\n"
-"Это может быть связано с проблемой конфигурации в предустановке экспорта или "
-"настройках экспорта."
+msgid "Delete preset '%s'?"
+msgstr "Удалить пресет «%s»?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Экспорт всех"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Данный путь экспорта не существует:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Шаблоны экспорта для этой платформы отсутствуют/повреждены:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Путь экспорта"
@@ -14067,19 +14217,27 @@ msgid "More Info..."
msgstr "Подробнее..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Экспортировать PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Экспортировать проект"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Режим экспорта?"
+msgid "Export All"
+msgstr "Экспортировать всё"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Пожалуйста, выберите пустую папку."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Экспортировать всё"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14087,7 +14245,8 @@ msgid "ZIP File"
msgstr "ZIP-файл"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Пакет игры Godot"
#: editor/project_export.cpp
@@ -14095,6 +14254,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Шаблоны экспорта для этой платформы отсутствуют:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Основатели проекта"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Управление шаблонами экспорта"
@@ -14407,14 +14571,14 @@ msgid "Project Manager"
msgstr "Менеджер проектов"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Загрузка, пожалуйста, ждите..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Последнее изменение"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Загрузка, пожалуйста, ждите..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Редактировать проект"
@@ -15208,7 +15372,7 @@ msgstr "Сделать локальным"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr "Имя узла уже использовано в сцене"
+msgstr "Данное уникальное имя уже использовано у другого узла в сцене."
#: editor/scene_tree_dock.cpp
msgid "Enable Scene Unique Name"
@@ -15641,8 +15805,8 @@ msgid "Attach Node Script"
msgstr "Прикрепить скрипт"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Удаленный "
+msgid "Remote %s:"
+msgstr "Удаленный %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16458,7 +16622,7 @@ msgstr "Стороны кольца"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr "Полигон"
@@ -16618,8 +16782,9 @@ msgid "Disabled GDNative Singleton"
msgstr "Выключен GDNative синглтон"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Библиотеки: "
+#, fuzzy
+msgid "Libraries:"
+msgstr "Библиотеки:"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
@@ -16779,7 +16944,7 @@ msgstr "Просмотр буфера разреженных значений"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Byte Offset"
-msgstr ""
+msgstr "Смещение байтов разреженных значений"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Buffer"
@@ -16895,7 +17060,7 @@ msgstr "Сфокусироваться на начале координат"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
-msgstr ""
+msgstr "Инвертировать Связи"
#: modules/gltf/gltf_skin.cpp
#, fuzzy
@@ -16904,11 +17069,11 @@ msgstr "Передвинуть сустав"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
-msgstr ""
+msgstr "Узел I к Кости I"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Name"
-msgstr ""
+msgstr "Узел I К Имени"
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
@@ -16916,7 +17081,7 @@ msgstr "Скин Godot"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Img"
-msgstr ""
+msgstr "Рассеянное изображение"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Factor"
@@ -16924,7 +17089,7 @@ msgstr "Диффузный фактор"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Gloss Factor"
-msgstr ""
+msgstr "Коэфф. Глянца"
#: modules/gltf/gltf_spec_gloss.cpp
#, fuzzy
@@ -16937,7 +17102,7 @@ msgstr ""
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr ""
+msgstr "Json"
#: modules/gltf/gltf_state.cpp
msgid "Major Version"
@@ -16999,9 +17164,8 @@ msgid "Skeletons"
msgstr "Скелеты"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "Выбрать узел"
+msgstr "Скелет в узел"
#: modules/gltf/gltf_state.cpp
msgid "Animations"
@@ -17024,7 +17188,6 @@ msgid "Use In Baked Light"
msgstr "Использовать в запечённом свете"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr "Ячейка"
@@ -17053,6 +17216,19 @@ msgstr "По центру"
msgid "Mask"
msgstr "Маска"
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Навигация"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Чувствительность навигации"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Следующая поскость"
@@ -17406,7 +17582,7 @@ msgstr ""
#: modules/upnp/upnp.cpp
msgid "Discover Local Port"
-msgstr ""
+msgstr "Обнаружить локальный порт"
#: modules/upnp/upnp.cpp
msgid "Discover IPv6"
@@ -17462,8 +17638,8 @@ msgstr ""
"памяти! Исправьте узел пожалуйста."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "Узел вернул ошибочную последовательность: "
+msgid "Node returned an invalid sequence output:"
+msgstr "Узел вернул ошибочный вывод последовательности:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
@@ -17471,8 +17647,9 @@ msgstr ""
"Найдена последовательность бит, но не узел в стеке, сообщение об ошибке!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "Переполнение стека с глубиной стека: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
+msgstr "Переполнение стека с глубиной стека:"
#: modules/visual_script/visual_script.cpp
msgid "Visual Script"
@@ -17839,16 +18016,18 @@ msgid "for (elem) in (input):"
msgstr "для (элемент) в (вход):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "Входной тип не итерируемый: "
+#, fuzzy
+msgid "Input type not iterable:"
+msgstr "Входной тип не итерируемый:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "Итератор стал недействительным"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "Итератор стал недействительным: "
+#, fuzzy
+msgid "Iterator became invalid:"
+msgstr "Итератор стал недействительным:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18002,12 +18181,12 @@ msgid "Operator"
msgstr "Оператор"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": Недопустимый аргумент типа: "
+msgid "Invalid argument of type:"
+msgstr "Недопустимый аргумент типа:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": Недопустимые аргументы: "
+msgid "Invalid arguments:"
+msgstr "Недопустимые аргументы:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18018,12 +18197,13 @@ msgid "Var Name"
msgstr "Имя переменной"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "VariableGet не найден в скрипте: "
+msgid "VariableGet not found in script:"
+msgstr "VariableGet отсутствует в скрипте:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "VariableSet не найден в скрипте: "
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "VariableSet не найден в скрипте:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18160,7 +18340,7 @@ msgstr "Режим записи"
#: modules/webrtc/webrtc_data_channel.h
msgid "WebRTC"
-msgstr ""
+msgstr "WebRTC"
#: modules/webrtc/webrtc_data_channel.h
#, fuzzy
@@ -18169,43 +18349,39 @@ msgstr "Размер буфера индекса полигонов холста
#: modules/websocket/websocket_client.cpp
msgid "Verify SSL"
-msgstr ""
+msgstr "Проверить SSL"
#: modules/websocket/websocket_client.cpp
msgid "Trusted SSL Certificate"
-msgstr ""
+msgstr "Доверенный SSL-сертификат"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Client"
-msgstr "Сетевой узел"
+msgstr "Клиент WebSocket"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max In Buffer (KB)"
-msgstr "Максимальный размер (КБ)"
+msgstr "Максимальный Входной Буфер (КБ)"
#: modules/websocket/websocket_macros.h
msgid "Max In Packets"
-msgstr ""
+msgstr "Максимальные Входящие Пакеты"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max Out Buffer (KB)"
-msgstr "Максимальный размер (КБ)"
+msgstr "Максимальный Буфер Вывода (КБ)"
#: modules/websocket/websocket_macros.h
msgid "Max Out Packets"
-msgstr ""
+msgstr "Максимальный Вывод Пакетов"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Server"
-msgstr "Сетевой узел"
+msgstr "Сервер WebSocket"
#: modules/websocket/websocket_server.cpp
msgid "Bind IP"
-msgstr ""
+msgstr "Привязать IP"
#: modules/websocket/websocket_server.cpp
msgid "Private Key"
@@ -18229,14 +18405,12 @@ msgid "Session Mode"
msgstr "Режим сессии"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Required Features"
-msgstr "Необходимые функции"
+msgstr "Необходимые Компоненты"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Optional Features"
-msgstr "Дополнительные функции"
+msgstr "Дополнительные Компоненты"
#: modules/webxr/webxr_interface.cpp
msgid "Requested Reference Space Types"
@@ -18247,9 +18421,8 @@ msgid "Reference Space Type"
msgstr ""
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Visibility State"
-msgstr "Переключить видимость"
+msgstr "Видимость"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
@@ -18257,13 +18430,12 @@ msgid "Bounds Geometry"
msgstr "Повторить"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "XR Standard Mapping"
-msgstr "Интеллектуальная привязка"
+msgstr "Стандартный Маппинг XR"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
-msgstr ""
+msgstr "Путь к Android SDK"
#: platform/android/export/export.cpp
#, fuzzy
@@ -18284,23 +18456,23 @@ msgstr ""
#: platform/android/export/export.cpp
msgid "Shutdown ADB On Exit"
-msgstr ""
+msgstr "Выключение ADB при выходе"
#: platform/android/export/export_plugin.cpp
msgid "Launcher Icons"
-msgstr ""
+msgstr "Иконки Лаунчера"
#: platform/android/export/export_plugin.cpp
msgid "Main 192 X 192"
-msgstr ""
+msgstr "Основная 192 X 192"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Foreground 432 X 432"
-msgstr ""
+msgstr "Адаптивный Передний Фон 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Background 432 X 432"
-msgstr ""
+msgstr "Адаптивный Задний Фон 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -18327,24 +18499,32 @@ msgid "The package must have at least one '.' separator."
msgstr "Пакет должен иметь хотя бы один разделитель «.»."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
+msgid "Custom Build"
+msgstr "Настраиваемая Сборка"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
-msgstr "Использовать собственную директорию данных пользователя"
+msgstr "Использовать Настраиваемую Сборку"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Export Format"
-msgstr "Путь экспорта"
+msgstr "Формат Экспорта"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "Min SDK"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "Целевой SDK"
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#, fuzzy
msgid "Architectures"
-msgstr "Добавить поле архитектуры"
+msgstr "Архитектуры"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Keystore"
-msgstr "Отладочное хранилище ключей"
+msgstr "Хранилище ключей"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18368,41 +18548,27 @@ msgstr "Пароль"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
-msgstr ""
+msgstr "Развёртывание в Один Клик"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Clear Previous Install"
-msgstr "Осмотреть предыдущий экземпляр"
+msgstr "Очистить Предыдущую Установку"
#: platform/android/export/export_plugin.cpp
msgid "Code"
msgstr "Код"
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Минимальный размер"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Целевой FPS"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Package"
-msgstr "Упаковывание"
+msgstr "Пакет"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Unique Name"
-msgstr "Уникальные имена"
+msgstr "Уникальное Имя"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Signed"
-msgstr "Сигнал"
+msgstr "Подписано"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18552,10 +18718,6 @@ msgid "Could not execute on device."
msgstr "Не удалось выполнить на устройстве."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Не удалось найти инструмент «apksigner»."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18646,15 +18808,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins."
msgstr "«Use Custom Build» должен быть включен для использования плагинов."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"«Hand Tracking» действителен только тогда, когда «Xr Mode» установлен в "
"«Oculus Mobile VrApi» или «OpenXR»."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"«Passthrough» действителен только тогда, когда «Xr Mode» установлен в "
"«OpenXR»."
@@ -18666,34 +18830,60 @@ msgstr ""
"пользовательскую сборку»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Изменение «Min Sdk» действительно только если включён параметр «Использовать "
"пользовательскую сборку»."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Изменение «Target Sdk» действительно только если включён параметр "
"«Использовать пользовательскую сборку»."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr "Версия «Target Sdk» должна быть больше или равна версии «Min Sdk»."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Подпись кода DMG"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"Не удалось найти команду «apksigner».\n"
-"Пожалуйста, проверьте наличие программы в каталоге Android SDK build-tools.\n"
-"Результат %s не подписан."
+"Не удалось найти «apksigner». Пожалуйста, убедитесь в наличии команды в "
+"каталоге build-tools Android SDK. Результирующий %s не подписан."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -18708,6 +18898,10 @@ msgid "Could not find keystore, unable to export."
msgstr "Не удалось найти хранилище ключей, невозможно экспортировать."
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "Не удаётся запустить исполняемый файл apksigner."
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "«apksigner» завершился с ошибкой #%d"
@@ -18736,8 +18930,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Неверное имя файла! Android APK требует расширения *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "Неподдерживаемый формат экспорта!\n"
+msgid "Unsupported export format!"
+msgstr "Неподдерживаемый формат экспорта!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -18749,25 +18943,22 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Несоответствие версии сборки Android:\n"
-" Установлен шаблон: %s\n"
-" Версия Godot: %s\n"
-"Пожалуйста, переустановите шаблон сборки Android из меню «Проект»."
+"Несоответствие версии сборки Android: Установлен шаблон: %s, версия Godot: "
+"%s. Пожалуйста, переустановите шаблон сборки Android из меню «Проект»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Невозможно перезаписать файлы res://android/build/res/*.xml с именем проекта"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "Не удалось экспортировать файлы проекта в проект gradle\n"
+msgid "Could not export project files to gradle project."
+msgstr "Не удалось экспортировать файлы проекта в проект gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18779,12 +18970,12 @@ msgstr "Сборка проекта Android (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"Сборка проекта Android не удалась, проверьте вывод на ошибки.\n"
-"Также посетите docs.godotengine.org для получения документации по сборке "
-"Android."
+"Сборка Android проекта не удалась, проверьте вывод на ошибки. Вы также "
+"можете посетить docs.godotengine.org для получения документации по сборке "
+"для Android."
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -18799,7 +18990,8 @@ msgstr ""
"проекта gradle на наличие выходных данных."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Пакет не найден: %s"
#: platform/android/export/export_plugin.cpp
@@ -18807,30 +18999,26 @@ msgid "Creating APK..."
msgstr "Создание APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"Не удалось найти шаблон APK для экспорта:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Не удалось найти шаблон APK для экспорта: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
-"В шаблоне экспорта отсутствуют библиотеки для выбранных архитектур: %s.\n"
-"Пожалуйста, создайте шаблон со всеми необходимыми библиотеками или снимите "
-"флажки с отсутствующих архитектур в пресете экспорта."
+"В шаблоне экспорта отсутствуют библиотеки для выбранных архитектур: %s. "
+"Пожалуйста, постройте шаблон со всеми необходимыми библиотеками или снимите "
+"флажки с отсутствующих архитектур в предустановках экспорта."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "Добавление файлов..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Не удалось экспортировать файлы проекта"
#: platform/android/export/export_plugin.cpp
@@ -18936,7 +19124,7 @@ msgstr ""
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Info"
-msgstr ""
+msgstr "Информация"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Identifier"
@@ -18964,14 +19152,12 @@ msgid "Capabilities"
msgstr "Капитализировать свойства"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Access Wi-Fi"
-msgstr "Доступ"
+msgstr "Доступ к Wi-Fi"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Push Notifications"
-msgstr "Вращение пути"
+msgstr "Всплывающее уведомление"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19071,6 +19257,17 @@ msgstr "Пользовательский цвет"
msgid "Custom BG Color"
msgstr "Пользовательский цвет"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Управление шаблонами"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Пользовательский релизный шаблон не найден."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Team ID не указан - невозможно настроить проект."
@@ -19092,22 +19289,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Запустить HTML в системном браузере по умолчанию."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Не удалось открыть шаблон для экспорта:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Неверный шаблон экспорта:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Не удалось записать файл:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Задать отступ"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Не удалось прочитать файл:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Вариация оттенка"
@@ -19182,15 +19392,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Не удалось прочитать HTML-оболочку:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Не удалось создать каталог HTTP-сервера:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Ошибка запуска HTTP-сервера:"
#: platform/javascript/export/export.cpp
@@ -19482,9 +19695,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Не удалось экспортировать файлы проекта"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "Не удаётся запустить исполняемый файл xcrun."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Локализация"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
"Примечание: Процесс подтверждения обычно занимает менее часа. Когда процесс "
"завершится, вы получите электронное письмо."
@@ -19506,18 +19738,79 @@ msgstr ""
"экспортированному приложению (необязательно):"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr "Временные метки не совместимы с подписью ad-hoc и будут отключены!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Защищённая среда выполнения несовместима с подписью ad-hoc и будет отключена!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Identity не найдена."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Ошибка при сохранении файла: %s"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"Относительные символические ссылки не поддерживаются в этой ОС, "
+"экспортируемый проект может быть повреждён!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Направление"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "Не удаётся запустить исполняемый файл hdiutil."
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Создание пакета приложения"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Не удалось найти шаблон приложения для экспорта:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Неверный шаблон экспорта:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19526,8 +19819,9 @@ msgstr ""
"экспортируемый проект может быть повреждён!"
#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
"Запрошенный двоичный файл шаблона «%s» не найден. Он может отсутствовать в "
@@ -19574,6 +19868,15 @@ msgid "Sending archive for notarization"
msgstr "Отправка архива для подтверждения"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Проекция"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Не удалось открыть файл для чтения по пути \"%s\"."
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Неверный идентификатор пакета:"
@@ -19903,7 +20206,7 @@ msgstr "Сигнал"
#: platform/uwp/export/export.cpp
msgid "Debug Certificate"
-msgstr ""
+msgstr "Сертификат отладки"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -19911,6 +20214,11 @@ msgid "Debug Algorithm"
msgstr "Отладчик"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Невозможно удалить временный файл:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19956,6 +20264,76 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Всплывающее уведомление"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Не удалось найти хранилище ключей, невозможно экспортировать."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Не удалось найти хранилище ключей, невозможно экспортировать."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"Инструмент rcedit должен быть настроен в Настройках редактора (Export > "
+"Windows > Rcedit) для изменения значка или информационных данных приложения."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Недопустимый исполняемый файл."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Не удалось найти хранилище ключей, невозможно экспортировать."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Не удалось найти хранилище ключей, невозможно экспортировать."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Неверный идентификатор:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Недопустимое имя."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"Инструмент rcedit должен быть настроен в Настройках редактора (Export > "
+"Windows > Rcedit) для изменения значка или информационных данных приложения."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Недопустимый исполняемый файл."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Невозможно удалить временный файл:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19976,6 +20354,23 @@ msgid "Invalid product version:"
msgstr "Недопустимая версия продукта:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Недопустимый исполняемый файл."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr "Windows"
@@ -19991,6 +20386,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -20110,11 +20509,12 @@ msgstr "Переключить автовоспроизведение"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
msgid "Stream Paused"
-msgstr ""
+msgstr "Поток приостановлен"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "Максимальное расстояние"
@@ -20160,7 +20560,7 @@ msgstr "Приблизить"
msgid "Custom Viewport"
msgstr "1 Окно"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20731,7 +21131,7 @@ msgstr ""
#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Length"
-msgstr ""
+msgstr "Длина"
#: scene/2d/joints_2d.cpp
#, fuzzy
@@ -20901,11 +21301,43 @@ msgstr "Размер ячейки"
msgid "Edge Connection Margin"
msgstr "Пограничное соединение"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Привязка"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Расстояние пути U"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Максимальное расстояние пути"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Дополнительно"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Включить"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -20922,16 +21354,6 @@ msgstr "Перевернуть по горизонтали"
msgid "Max Speed"
msgstr "Макс скорость"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Максимальное расстояние пути"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Включить"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -20960,24 +21382,26 @@ msgstr ""
"Пожалуйста, установите свойство или нарисуйте многоугольник."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance должен быть ребёнком или внуком узла Navigation2D. "
-"Он предоставляет только навигационные данные."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Внизу посередине"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Переместится"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Градусы вращения"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr "Глобальный поворот"
@@ -21590,11 +22014,11 @@ msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
msgid "Max dB"
-msgstr ""
+msgstr "Максимальное количество дБ"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
-msgstr ""
+msgstr "Режим Вне Зоны Действия"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -21672,8 +22096,9 @@ msgid "Extents"
msgstr "Гизмо"
#: scene/3d/baked_lightmap.cpp
+#, fuzzy
msgid "Tweaks"
-msgstr ""
+msgstr "Подстройки"
#: scene/3d/baked_lightmap.cpp
msgid "Bounces"
@@ -21717,9 +22142,8 @@ msgid "Custom Sky"
msgstr "Пользовательское небо"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Sky Rotation Degrees"
-msgstr "Пользовательские градусы вращения неба"
+msgstr "Пользовательские Градусы Вращения Неба"
#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
msgid "Custom Color"
@@ -21730,9 +22154,8 @@ msgid "Custom Energy"
msgstr "Пользовательская энергия"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Min Light"
-msgstr "Отступ вправо"
+msgstr "Минимальный Свет"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#, fuzzy
@@ -21741,7 +22164,7 @@ msgstr "Навигация"
#: scene/3d/baked_lightmap.cpp
msgid "Image Path"
-msgstr ""
+msgstr "Путь к изображению"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -21749,13 +22172,12 @@ msgid "Light Data"
msgstr "С данными"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Bone Name"
-msgstr "Имя кости"
+msgstr "Имя Кости"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
-msgstr ""
+msgstr "Хранить Аспект"
#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
msgid "Cull Mask"
@@ -21767,13 +22189,12 @@ msgid "Doppler Tracking"
msgstr "Трек параметра"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Projection"
-msgstr "Проект"
+msgstr "Проекция"
#: scene/3d/camera.cpp
msgid "FOV"
-msgstr ""
+msgstr "Поле зрения"
#: scene/3d/camera.cpp
#, fuzzy
@@ -21781,13 +22202,12 @@ msgid "Frustum Offset"
msgstr "Смещение усеченного конуса"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Near"
-msgstr "Ближайшие"
+msgstr "Близко"
#: scene/3d/camera.cpp
msgid "Far"
-msgstr ""
+msgstr "Далеко"
#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
@@ -21798,18 +22218,16 @@ msgid "Margin"
msgstr "Отступ"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Clip To"
-msgstr "Обрезать сверху"
+msgstr "Обрезать До"
#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
msgid "Ray Pickable"
msgstr ""
#: scene/3d/collision_object.cpp
-#, fuzzy
msgid "Capture On Drag"
-msgstr "Захват"
+msgstr "Захват При Перетаскивании"
#: scene/3d/collision_object.cpp
msgid ""
@@ -21885,24 +22303,20 @@ msgid "Box Extents"
msgstr "Гизмо"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Radius"
-msgstr "Маска излучения"
+msgstr "Радиус Кольца"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Inner Radius"
-msgstr "Изменение внутреннего радиуса полукруга"
+msgstr "Внутренний Радиус Кольца"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Height"
-msgstr "Повернуть вправо"
+msgstr "Высота Кольца"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Ring Axis"
-msgstr "Предупреждения"
+msgstr "Ось Кольца"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
#, fuzzy
@@ -22152,6 +22566,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Преобразование нормалей"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22177,14 +22598,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent можно использовать только под узлом Spatial."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance должен быть дочерним или под-дочерним узлом "
-"Navigation. Он предоставляет только навигационные данные."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -22498,11 +22911,11 @@ msgstr ""
#: scene/3d/physics_body.cpp
msgid "Angular Spring Damping"
-msgstr ""
+msgstr "Угловое Затухание Пружины"
#: scene/3d/physics_body.cpp
msgid "Angular Equilibrium Point"
-msgstr ""
+msgstr "Угловая Точка Равновесия"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -22531,7 +22944,7 @@ msgstr "Узел А и Узел В должны быть различными о
#: scene/3d/physics_joint.cpp
msgid "Solver"
-msgstr ""
+msgstr "Разрешитель"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22545,7 +22958,7 @@ msgstr "Параметры"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit"
-msgstr ""
+msgstr "Угловой Предел"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22559,7 +22972,7 @@ msgstr "нижний регистр"
#: scene/3d/physics_joint.cpp
msgid "Motor"
-msgstr ""
+msgstr "Мотор"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22643,11 +23056,11 @@ msgstr "Межстрочный интервал"
#: scene/3d/physics_joint.cpp
msgid "Equilibrium Point"
-msgstr ""
+msgstr "Точка Равновесия"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit X"
-msgstr ""
+msgstr "X Углового Предела"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22656,7 +23069,7 @@ msgstr "Угловая скорость"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring X"
-msgstr ""
+msgstr "X Угловой Пружины"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22675,7 +23088,7 @@ msgstr "Межстрочный интервал"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Y"
-msgstr ""
+msgstr "Y Углового Предела"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22684,7 +23097,7 @@ msgstr "Угловая скорость"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Y"
-msgstr ""
+msgstr "Y Угловой Пружины"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22703,7 +23116,7 @@ msgstr "Межстрочный интервал"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Z"
-msgstr ""
+msgstr "Z Углового Предела"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22712,7 +23125,7 @@ msgstr "Угловая скорость"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Z"
-msgstr ""
+msgstr "Z Угловой Пружины"
#: scene/3d/portal.cpp
msgid "The RoomManager should not be a child or grandchild of a Portal."
@@ -22732,7 +23145,7 @@ msgstr "Портал активен"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
-msgstr ""
+msgstr "В обе Стороны"
#: scene/3d/portal.cpp
msgid "Linked Room"
@@ -22839,7 +23252,7 @@ msgstr ""
#: scene/3d/room.cpp
msgid "Bound"
-msgstr ""
+msgstr "Граница"
#: scene/3d/room_group.cpp
#, fuzzy
@@ -23094,6 +23507,11 @@ msgstr ""
"shapes)."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Глобальное преобразование"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24318,6 +24736,11 @@ msgstr "Полоса сворачивания"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Только выделенное"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Включить"
@@ -24719,19 +25142,6 @@ msgstr "Путь экспорта"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Этот viewport не установлен в качестве цели рендеринга. Если вы собираетесь "
-"использовать его для отображения содержимого прямо на экран, то сделайте её "
-"потомком Control'а, чтобы он мог получить размер. В противном случае, "
-"сделайте его целью рендеринга и назначьте его внутреннюю текстуру какому-"
-"либо узлу для отображения."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -24739,6 +25149,15 @@ msgstr ""
"измерениях, чтобы отобразить что-либо."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -24891,6 +25310,16 @@ msgid "3D Physics"
msgstr "Физика"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Навигация"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Навигация"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26248,7 +26677,7 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Anisotropy"
-msgstr ""
+msgstr "Анизотропия"
#: scene/resources/material.cpp
msgid "Flowmap"
@@ -26264,14 +26693,12 @@ msgid "Deep Parallax"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Min Layers"
-msgstr "Слой"
+msgstr "Минимальное количество слоёв"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Max Layers"
-msgstr "Слой"
+msgstr "Максимальное количество слоёв"
#: scene/resources/material.cpp
msgid "Flip Tangent"
@@ -26295,7 +26722,7 @@ msgstr "Пропускание света"
msgid "Refraction"
msgstr "Преломление"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr "Деталь"
@@ -26380,7 +26807,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Масштаб:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Задать базовый тип вариации"
#: scene/resources/navigation_mesh.cpp
@@ -26397,8 +26829,14 @@ msgid "Source Group Name"
msgstr "Название группы-источника"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
+#, fuzzy
+msgid "Cells"
+msgstr "Ячейка"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Сегменты"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
@@ -26410,12 +26848,18 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Регион"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Слияние из Сцены"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr ""
+#, fuzzy
+msgid "Edges"
+msgstr "Край"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -26428,6 +26872,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Деталь"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Расстояние образца"
@@ -26445,12 +26894,22 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Генерация AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Базовое смещение"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
-msgstr ""
+msgstr "Сферы"
#: scene/resources/occluder_shape.cpp
msgid "OccluderShapeSphere Set Spheres"
@@ -26468,11 +26927,11 @@ msgstr "Передвинуть точки"
#: scene/resources/packed_scene.cpp
msgid "Bundled"
-msgstr ""
+msgstr "Вложенный"
#: scene/resources/particles_material.cpp
msgid "Trail"
-msgstr ""
+msgstr "След"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -26495,24 +26954,20 @@ msgid "Point Texture"
msgstr "Текстура точки"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Normal Texture"
-msgstr "Обычная текстура"
+msgstr "Нормаль Текстура"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Color Texture"
-msgstr "Тема редактора"
+msgstr "Текстура Цвета"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Point Count"
-msgstr "Добавить входной порт"
+msgstr "Количество Точек"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Scale Random"
-msgstr "Случайный масштаб"
+msgstr "Случайный Масштаб"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -26582,7 +27037,7 @@ msgstr ""
#: scene/resources/segment_shape_2d.cpp
msgid "A"
-msgstr ""
+msgstr "А"
#: scene/resources/shape_2d.cpp
msgid "Custom Solver Bias"
@@ -26673,7 +27128,7 @@ msgstr ""
#: scene/resources/style_box.cpp
msgid "Anti Aliasing"
-msgstr ""
+msgstr "Сглаживание"
#: scene/resources/style_box.cpp
msgid "Grow Begin"
@@ -26845,6 +27300,11 @@ msgid "Scenario"
msgstr "Сцена"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Навигация"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26861,6 +27321,26 @@ msgstr "Левый линейный"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Шаг по умолчанию плавающих чисел"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Размер ячейки"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Тестируемые"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Пограничное соединение"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr "Холст"
@@ -26875,7 +27355,7 @@ msgstr "Инициализирован"
#: servers/arvr/arvr_interface.cpp
msgid "AR"
-msgstr ""
+msgstr "AR"
#: servers/arvr/arvr_interface.cpp
msgid "Is Anchor Detection Enabled"
@@ -27027,11 +27507,11 @@ msgstr ""
#: servers/audio/effects/audio_effect_phaser.cpp
msgid "Range Min Hz"
-msgstr ""
+msgstr "Минимальный Диапазон Hz"
#: servers/audio/effects/audio_effect_phaser.cpp
msgid "Range Max Hz"
-msgstr ""
+msgstr "Максимальный Диапазон Hz"
#: servers/audio/effects/audio_effect_pitch_shift.cpp
msgid "Oversampling"
@@ -27087,7 +27567,7 @@ msgstr "Выходная задержка"
#: servers/audio_server.cpp
msgid "Channel Disable Threshold dB"
-msgstr ""
+msgstr "Порог Отключения Канала, дБ"
#: servers/audio_server.cpp
#, fuzzy
@@ -27096,7 +27576,7 @@ msgstr "Изменить время смешивания"
#: servers/audio_server.cpp
msgid "Video Delay Compensation (ms)"
-msgstr ""
+msgstr "Компенсация Задержки Видео (мс)"
#: servers/audio_server.cpp
#, fuzzy
@@ -27280,14 +27760,12 @@ msgid "Import S3TC"
msgstr "Импорт"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC"
-msgstr "Импорт"
+msgstr "Импортировать ETC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC2"
-msgstr "Импорт"
+msgstr "Импортировать ETC2"
#: servers/visual_server.cpp
#, fuzzy
@@ -27296,7 +27774,7 @@ msgstr "Импортировать тему"
#: servers/visual_server.cpp
msgid "Lossless Compression"
-msgstr ""
+msgstr "Сжатие без потерь"
#: servers/visual_server.cpp
#, fuzzy
@@ -27305,7 +27783,7 @@ msgstr "Принудительно отправить"
#: servers/visual_server.cpp
msgid "WebP Compression Level"
-msgstr ""
+msgstr "Уровень сжатия WebP"
#: servers/visual_server.cpp
msgid "Time Rollover Secs"
@@ -27347,7 +27825,7 @@ msgstr "Центрировать выбранное"
#: servers/visual_server.cpp
msgid "High Quality GGX"
-msgstr ""
+msgstr "Высокое Качество GGX"
#: servers/visual_server.cpp
msgid "Irradiance Max Size"
@@ -27372,7 +27850,7 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Mesh Storage"
-msgstr ""
+msgstr "Хранилище Полисеток"
#: servers/visual_server.cpp
#, fuzzy
@@ -27393,7 +27871,7 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Anisotropic Filter Level"
-msgstr ""
+msgstr "Уровень анизотропной фильтрации"
#: servers/visual_server.cpp
msgid "Use Nearest Mipmap Filter"
@@ -27439,7 +27917,7 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Legacy Stream"
-msgstr ""
+msgstr "Устаревший Поток"
#: servers/visual_server.cpp
msgid "Batching"
@@ -27500,12 +27978,12 @@ msgstr "Совместимость"
#: servers/visual_server.cpp
msgid "Disable Half Float"
-msgstr ""
+msgstr "Выключить вещественные числа половинной точности"
#: servers/visual_server.cpp
#, fuzzy
msgid "Enable High Float"
-msgstr "Включить приоритет"
+msgstr "Включить вещественные числа повышенной точности"
#: servers/visual_server.cpp
msgid "Precision"
@@ -27520,13 +27998,12 @@ msgid "UV Contract Amount"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Simple PVS"
-msgstr "Использовать привязку масштабирования"
+msgstr "Использовать простой PVS"
#: servers/visual_server.cpp
msgid "PVS Logging"
-msgstr ""
+msgstr "Вести запись PVS"
#: servers/visual_server.cpp
msgid "Use Signals"
@@ -27549,25 +28026,24 @@ msgstr "Просмотр Occlusion Culling"
#: servers/visual_server.cpp
msgid "Max Active Spheres"
-msgstr ""
+msgstr "Максимальное количество активных сфер"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Active Polygons"
-msgstr "Передвинуть полигон"
+msgstr "Максимальное количество активных полигонов"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Compilation Mode"
-msgstr "Режим интерполяции"
+msgstr "Режим компиляции шейдеров"
#: servers/visual_server.cpp
msgid "Max Simultaneous Compiles"
-msgstr ""
+msgstr "Максимальное количество одновременных компиляций"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Log Active Async Compiles Count"
-msgstr ""
+msgstr "Регистрировать количество активных асинхронных компиляций"
#: servers/visual_server.cpp
msgid "Shader Cache Size (MB)"
diff --git a/editor/translations/si.po b/editor/translations/si.po
index 315d16abe7..8ce2d1d628 100644
--- a/editor/translations/si.po
+++ b/editor/translations/si.po
@@ -207,9 +207,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -318,7 +319,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "විකේතන බිටු සදහා ප්‍රමාණවත් බිටු නොමැත, හෝ වැරදි ආකෘතියක්."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "වැරදි ආදානයක් %i (යැවිය නොහැත)"
#: core/math/expression.cpp
@@ -362,6 +364,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "නිවේශන මාදිලිය"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -387,6 +398,10 @@ msgstr ""
msgid "Command"
msgstr ""
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -439,6 +454,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -544,7 +563,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -628,24 +648,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -754,7 +773,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1023,6 +1043,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "නිදහස්"
@@ -1039,7 +1060,7 @@ msgstr "කැඩපත"
msgid "Time:"
msgstr "කාලය:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "වටිනාකම:"
@@ -1292,10 +1313,70 @@ msgid "Remove this track."
msgstr "මෙම ලුහුබදින්නා ඉවත් කරන්න."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "කාලය (තත්): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "ශ්‍රිත:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "නිවේශන මාදිලිය"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "%s වර්ගය %s මූල වර්ගය සදහා වැරදි සුචියක්"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "නිවේශන මාදිලිය"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "ශ්‍රිත:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1516,7 +1597,7 @@ msgid "Add Method Track Key"
msgstr "ඇමතීම් ක්‍රමය ලුහුබදින්න"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2039,14 +2120,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2102,8 +2184,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2111,7 +2193,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2403,7 +2485,7 @@ msgid "Bus Options"
msgstr "ශ්‍රිත:"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2455,8 +2537,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2659,6 +2741,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "ශ්‍රිත:"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2671,6 +2770,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2774,8 +2893,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2947,9 +3083,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4033,14 +4169,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4159,6 +4287,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4186,6 +4318,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4817,11 +4953,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4913,6 +5051,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "මෙම ලුහුබදින්නා ඉවත් කරන්න."
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5172,7 +5315,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "නිවේශන මාදිලිය"
@@ -5198,6 +5343,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5718,10 +5871,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6445,14 +6600,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6581,7 +6728,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "නිවේශන මාදිලිය"
@@ -6832,7 +6979,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6860,6 +7007,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7531,11 +7690,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7553,11 +7721,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7654,10 +7817,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7698,10 +7863,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7814,8 +7975,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Anim සංක්රමණය වෙනස් කරන්න"
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
@@ -7832,11 +7994,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8730,6 +8887,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8793,6 +8951,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9541,7 +9703,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9771,6 +9933,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9924,13 +10087,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9939,10 +10095,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10630,13 +10782,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Anim සංක්රමණය වෙනස් කරන්න"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10659,11 +10814,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11141,7 +11291,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11173,15 +11323,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "ශ්‍රිත:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11247,6 +11398,11 @@ msgid "New Animation"
msgstr "සජීවීකරණ පුනරාවර්ථනය"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "ශ්‍රිත:"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12114,8 +12270,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "නිවේශන මාදිලිය"
@@ -13553,20 +13708,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13574,14 +13724,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13682,19 +13824,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "Anim පරිවර්තනය වෙනස් කරන්න"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13702,14 +13849,19 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "ලක්ෂණය ලුහුබදින්න"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13981,11 +14133,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15149,8 +15301,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "මෙම ලුහුබදින්නා ඉවත් කරන්න."
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15981,7 +16134,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -16146,7 +16299,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16555,7 +16708,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16584,6 +16736,19 @@ msgstr "යතුරු මකා දමන්න"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "නිවේශන මාදිලිය"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "නිවේශන මාදිලිය"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16982,7 +17147,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16990,7 +17155,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17365,7 +17530,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17373,7 +17538,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17528,12 +17693,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "'%s' ගොඩනැගීමට වැරදි තර්ක"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "'%s' ගොඩනැගීමට වැරදි තර්ක"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17544,11 +17711,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17844,6 +18011,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "යතුරු පිටපත් කරන්න"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17852,6 +18024,15 @@ msgstr ""
msgid "Export Format"
msgstr "Anim පරිවර්තනය වෙනස් කරන්න"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "යතුරු මකා දමන්න"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17888,15 +18069,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "යතුරු මකා දමන්න"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18046,10 +18218,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18126,12 +18294,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18140,25 +18308,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "යතුරු පිටපත් කරන්න"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18174,6 +18366,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18202,7 +18398,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18213,19 +18409,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18238,7 +18432,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18253,7 +18447,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18261,15 +18455,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18279,7 +18470,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18509,6 +18700,15 @@ msgstr "යතුරු පිටපත් කරන්න"
msgid "Custom BG Color"
msgstr "යතුරු පිටපත් කරන්න"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18530,19 +18730,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "%s වර්ගය %s මූල වර්ගය සදහා වැරදි සුචියක්"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "ශ්‍රිත:"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18618,15 +18828,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18898,9 +19108,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "නිවේශන මාදිලිය"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18916,18 +19143,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "ශ්‍රිත:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Anim පරිවර්තනය වෙනස් කරන්න"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -18935,7 +19215,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18976,6 +19256,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "ශ්‍රිත:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19275,6 +19564,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19315,6 +19608,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "'%s' ගොඩනැගීමට වැරදි තර්ක"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19333,6 +19681,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19348,6 +19712,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19459,7 +19827,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19505,7 +19874,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20184,35 +20553,55 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "ශ්‍රිත:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Pathfinding"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "සමතුලිතයි"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "මෙම ලුහුබදින්නා ඉවත් කරන්න."
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20235,13 +20624,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "යතුරු මකා දමන්න"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20249,7 +20641,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr ""
@@ -21312,6 +21704,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "3D රූපාන්තරණය ලුහුබදින්න"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21333,12 +21732,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22159,6 +22552,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Anim පරිවර්තනය වෙනස් කරන්න"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23273,6 +23671,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23643,16 +24045,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23797,6 +24200,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "නිවේශන මාදිලිය"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "නිවේශන මාදිලිය"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25115,7 +25528,7 @@ msgstr "Anim සංක්රමණය වෙනස් කරන්න"
msgid "Refraction"
msgstr ""
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25194,10 +25607,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "ශ්‍රිත:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -25210,7 +25628,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25222,11 +25644,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "නිවේශන මාදිලිය"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25239,6 +25666,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25255,7 +25686,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25635,6 +26074,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "නිවේශන මාදිලිය"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25651,6 +26095,26 @@ msgstr "රේඛීය"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "වටිනාකම:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "වටිනාකම:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "වටිනාකම:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "ශ්‍රිත:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index f7ec6adf89..7cba3886ba 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -230,9 +230,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Vytvoriť adresár"
@@ -346,7 +347,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nedostatok bajtov na dekódovanie, alebo chybný formát."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Nesprávny vstup(input) %i (neschválený) v požiadavke"
#: core/math/expression.cpp
@@ -391,6 +393,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Move Mode"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Zmazať Vstup"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -419,6 +431,11 @@ msgstr ""
msgid "Command"
msgstr "Komunita"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fyzická Snímka %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -476,6 +493,10 @@ msgid "Pressure"
msgstr "Preset"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Prichytiť Relatívne"
@@ -591,7 +612,8 @@ msgstr "Popis"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -680,6 +702,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Cesta Scény:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -687,19 +714,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Kontrola Verzie"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Kontrola Verzie"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Meno Pluginu:"
+msgid "Version Control Plugin Name"
+msgstr "Kontrola Verzie"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -817,7 +840,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtre:"
@@ -1098,6 +1122,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Voľný"
@@ -1114,7 +1139,7 @@ msgstr "Zrkadlový"
msgid "Time:"
msgstr "Čas:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Hodnota:"
@@ -1363,10 +1388,73 @@ msgid "Remove this track."
msgstr "Vymazať tento track."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Čas (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Pozícia Dock-u"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Krok Rotácie:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Veľkosť:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Nesprávna veľkosť písma."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Nastaviť Rukoväť"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Nastaviť Rukoväť"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Reštart (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Miznutie do (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Popis:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Zmena Tracku Povolená"
@@ -1581,7 +1669,8 @@ msgid "Add Method Track Key"
msgstr "Pridať Method Track Key"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metóda nebola nájdená v objekte: "
#: editor/animation_track_editor.cpp
@@ -2115,14 +2204,15 @@ msgstr "Obľúbené:"
msgid "Recent:"
msgstr "Nedávne:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Hľadať:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Zhody:"
@@ -2182,8 +2272,8 @@ msgstr "Hľadať Náhradný Zdroj:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2191,8 +2281,8 @@ msgid "Open"
msgstr "Otvoriť"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Majitelia:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2501,7 +2591,7 @@ msgid "Bus Options"
msgstr "Možnosti pre Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikovať"
@@ -2553,8 +2643,9 @@ msgstr "Otvoriť Audio Bus Layout"
msgid "There is no '%s' file."
msgstr "Není tu žiadny '%s' súbor."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Layout"
#: editor/editor_audio_buses.cpp
@@ -2759,6 +2850,25 @@ msgid "Choose"
msgstr "Vyberte"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Skopírovať Výber"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Balík bol úspešne nainštalovaný!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Zlihalo:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Ukladanie súboru:"
@@ -2771,6 +2881,31 @@ msgid "Packing"
msgstr "Zabalovanie"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Uložiť Ako"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Priečinok sa nepodarilo vytvoriť."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Popis:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Nie je možné otvoriť súbor pre písanie:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Uložiť Ako"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2892,11 +3027,31 @@ msgstr "Vlastná debug šablóna sa nenašla."
msgid "Custom release template not found."
msgstr "Vlastná release šablóna sa nenašla."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Spravovať Šablóny"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Súbor Šablóny sa nenašiel:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Nedá sa otvoriť export templates zip."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Pri 32-bitovom exporte nemôže byť vložená PCK väčšia ako 4 GiB."
@@ -3072,9 +3227,9 @@ msgid "Import"
msgstr "Import"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Export"
@@ -4233,15 +4388,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scéna"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Cesta Scény:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4369,6 +4515,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Kontrola Verzie"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Premenovať"
@@ -4397,6 +4547,10 @@ msgstr "Prepnúť režim bez rozptyľovania."
msgid "Add a new scene."
msgstr "Pridať novú scénu."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scéna"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Ísť do naposledy otvorenej scény."
@@ -5082,11 +5236,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Vybraný node není Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Veľkosť: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Strana: "
#: editor/editor_properties_array_dict.cpp
@@ -5187,6 +5345,11 @@ msgstr ""
"Prosím pridajte spustiteľný \"preset\" v export menu alebo definujte "
"existujúci \"preset\" ako spustiteľný."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Napíšte svoju logiku v metóde _run()."
@@ -5463,7 +5626,9 @@ msgid "Draw Spaces"
msgstr "Volania"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Signály:"
@@ -5490,6 +5655,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Všetky vybrané"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6041,10 +6215,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6826,14 +7002,6 @@ msgid "Replace in Files"
msgstr "Nahradiť Všetko"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Nájsť: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Nahradiť: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Nahradiť Všetko"
@@ -6963,7 +7131,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtre:"
@@ -7230,7 +7398,8 @@ msgid "Generating Lightmaps"
msgstr "Generovanie Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Generovanie pre Mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7258,6 +7427,18 @@ msgid "Saving..."
msgstr "Ukladám..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7946,11 +8127,20 @@ msgid "New Anim"
msgstr "Nová Animácia"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Vytvoriť Novú Animáciu"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Zmeniť Meno Animácie:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Premenovať Animáciu"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Naozaj chcete vymazať Animáciu?"
@@ -7968,11 +8158,6 @@ msgid "Animation name already exists!"
msgstr "Toto meno Animácie už existuje!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Premenovať Animáciu"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplikovať Animáciu"
@@ -8069,10 +8254,12 @@ msgstr "Onion Skinning Možnosti"
msgid "Directions"
msgstr "Smery"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Minulosť"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Budúcnosť"
@@ -8113,10 +8300,6 @@ msgid "Pin AnimationPlayer"
msgstr "Pripnúť Prehrávač Animácie"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Vytvoriť Novú Animáciu"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Meno Animácie:"
@@ -8231,7 +8414,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Nastaviť koniec animácie. Toto je užitočné pre sub-prechody."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Prechody: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8248,11 +8432,6 @@ msgid "New name:"
msgstr "Nové Meno:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Veľkosť:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Miznutie do (s):"
@@ -9178,6 +9357,7 @@ msgstr "Vytvoriť Vlastnú Kosť(i) z Node-u(ou)"
msgid "Clear Custom Bones"
msgstr "Zmazať Vlastné Kosti"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9243,6 +9423,10 @@ msgid "Preview Canvas Scale"
msgstr "Predzobraziť Veľkosť Plátna"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Layout"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Prekladová maska na vkladanie kľúčov."
@@ -10012,8 +10196,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Emisná Maska"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10253,6 +10438,7 @@ msgid "Points"
msgstr "Všetky vybrané"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Signály:"
@@ -10410,13 +10596,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10425,10 +10604,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11154,13 +11329,17 @@ msgstr "Rotačný Režim"
msgid "Translate"
msgstr "Preložiť Preloženie:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Veľkosť:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Preložiť Preloženie:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11183,12 +11362,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Veľkosť: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11683,8 +11856,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Všetky vybrané"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11717,16 +11891,19 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Všetky vybrané"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
+#, fuzzy
+msgid "Shrink (Pixels):"
+msgstr "Pevné Pixely"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
+#, fuzzy
+msgid "Grow (Pixels):"
+msgstr "Pevné Pixely"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11792,6 +11969,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filter:"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12736,8 +12918,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "Režim Interpolácie"
@@ -14249,20 +14430,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14270,14 +14446,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14380,20 +14548,28 @@ msgid "More Info..."
msgstr "Presunúť Do..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Export..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Importovať Dock"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Vyberte adresár"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Export..."
#: editor/project_export.cpp editor/project_manager.cpp
#, fuzzy
@@ -14401,14 +14577,20 @@ msgid "ZIP File"
msgstr "Súbor:"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Projekt"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Zakladatelia Projektu"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14689,15 +14871,15 @@ msgid "Project Manager"
msgstr "Manažér Projektu "
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Načítavanie zrkadiel, prosím čakajte..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Projekt"
@@ -15891,7 +16073,8 @@ msgid "Attach Node Script"
msgstr "Popis:"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Diaľkový "
#: editor/script_editor_debugger.cpp
@@ -16769,7 +16952,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Signály:"
@@ -16946,7 +17129,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17381,7 +17564,6 @@ msgid "Use In Baked Light"
msgstr "Bake Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17411,6 +17593,19 @@ msgstr "V Strede"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Signály:"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Signály:"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17827,7 +18022,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17835,7 +18030,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18225,7 +18420,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18233,7 +18428,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18400,12 +18595,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Neplatné argumenty pre vytvorenie '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Neplatný Názov."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18417,12 +18614,14 @@ msgid "Var Name"
msgstr "Meno"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metóda nebola nájdená v objekte: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metóda nebola nájdená v objekte: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18741,6 +18940,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Vložiť"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18749,6 +18953,16 @@ msgstr ""
msgid "Export Format"
msgstr "Konštanty:"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Veľkosť: "
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Vytvoriť Node"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18787,16 +19001,6 @@ msgstr "Minulá karta"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Veľkosť: "
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Vytvoriť Node"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18965,10 +19169,6 @@ msgid "Could not execute on device."
msgstr "Priečinok sa nepodarilo vytvoriť."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19046,12 +19246,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19060,25 +19260,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signál"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19097,6 +19321,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Subprocess sa nedá spustiť!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19126,7 +19355,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19137,20 +19366,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Popis:"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19163,7 +19391,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19179,7 +19407,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Balíček Obsahu:"
#: platform/android/export/export_plugin.cpp
@@ -19188,15 +19416,13 @@ msgid "Creating APK..."
msgstr "Pripájanie..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Subprocess sa nedá spustiť!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19208,7 +19434,7 @@ msgstr "Pridávanie %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Popis:"
#: platform/android/export/export_plugin.cpp
@@ -19450,6 +19676,17 @@ msgstr "Vložiť"
msgid "Custom BG Color"
msgstr "Vložiť"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Spravovať Šablóny"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Vlastná release šablóna sa nenašla."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19472,24 +19709,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Priečinok sa nepodarilo vytvoriť."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Nesprávna veľkosť písma."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "Popis:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Obsah:"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Popis:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Popis:"
@@ -19565,17 +19813,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Popis:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Priečinok sa nepodarilo vytvoriť."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Error pri ukladaní TileSet-u!"
#: platform/javascript/export/export.cpp
@@ -19872,9 +20120,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Popis:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Subprocess sa nedá spustiť!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Signály:"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19890,18 +20157,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Nenašli sa žiadne \"sub-resources\"."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Chyba uloženia súbora: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Smery"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Subprocess sa nedá spustiť!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Vytváranie Náhľadu"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Subprocess sa nedá spustiť!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Neplatný Názov."
#: platform/osx/export/export.cpp
msgid ""
@@ -19911,7 +20234,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19953,6 +20276,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Nesprávna veľkosť písma."
@@ -20266,6 +20598,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nepodarilo sa vymazať dočasné súbory:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20312,6 +20649,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Prilepiť Animáciu"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Nesprávna veľkosť písma."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Nesprávna veľkosť písma."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Neplatný Názov."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Nesprávna veľkosť písma."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nepodarilo sa vymazať dočasné súbory:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20333,6 +20730,23 @@ msgid "Invalid product version:"
msgstr "Nesprávna veľkosť písma."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Nesprávna veľkosť písma."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nové Okno"
@@ -20349,6 +20763,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20471,7 +20889,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Inštancie"
@@ -20522,7 +20941,7 @@ msgstr "Priblížiť"
msgid "Custom Viewport"
msgstr "Zobraziť Výrez"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21249,34 +21668,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Upraviť Pripojenie:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Prilepiť Animáciu"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Vyberte hlavnú scénu"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Pokročilé"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Povoliť"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Povoliť"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21301,22 +21742,26 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Od Stredu Dole"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Cestovať"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Krok Rotácie:"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konštant"
@@ -22457,6 +22902,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Vytvoriť adresár"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22480,12 +22932,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23340,6 +23786,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Preložiť Preloženie:"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24545,6 +24996,11 @@ msgstr "Priečinok:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Iba Výber"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Povoliť"
@@ -24945,16 +25401,17 @@ msgstr "Zamerať Cestu"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25111,6 +25568,16 @@ msgid "3D Physics"
msgstr "Fyzická Snímka %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Signály:"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Signály:"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26519,7 +26986,7 @@ msgstr "Prechody: "
msgid "Refraction"
msgstr "Popis:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26601,7 +27068,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Veľkosť:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Zmeniť %s Typ"
#: scene/resources/navigation_mesh.cpp
@@ -26618,10 +27090,15 @@ msgid "Source Group Name"
msgstr "Prostriedok"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Obsah:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26630,11 +27107,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Režim Interpolácie"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26647,6 +27129,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Načítať predvolené"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26663,9 +27150,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Odchýlka Mriežky:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27069,6 +27565,11 @@ msgid "Scenario"
msgstr "Scéna"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Signály:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27086,6 +27587,26 @@ msgstr "Lineárne Vľavo"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Predvolené"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Predzobraziť Vylepšenie"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Testovanie"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Upraviť Pripojenie:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index 24aa6e0739..ceb21aa750 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -11,15 +11,16 @@
# Andrej Poženel <andrej.pozenel@outlook.com>, 2019.
# Arnold Marko <arnold.marko@gmail.com>, 2019.
# Alex <alexrixhardson@gmail.com>, 2019.
-# Andrew Poženel <andrej.pozenel@outlook.com>, 2020.
+# Andrew Poženel <andrej.pozenel@outlook.com>, 2020, 2022.
# Jakob Tadej Vrtačnik <minecraftalka2@gmail.com>, 2021.
+# Andrew Poženel <andrew.pozenel@protonmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-02-01 20:54+0000\n"
-"Last-Translator: Jakob Tadej Vrtačnik <minecraftalka2@gmail.com>\n"
+"PO-Revision-Date: 2022-06-23 16:41+0000\n"
+"Last-Translator: Andrew Poženel <andrew.pozenel@protonmail.com>\n"
"Language-Team: Slovenian <https://hosted.weblate.org/projects/godot-engine/"
"godot/sl/>\n"
"Language: sl\n"
@@ -28,105 +29,97 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
"n%100==4 ? 2 : 3;\n"
-"X-Generator: Weblate 4.5-dev\n"
+"X-Generator: Weblate 4.13.1-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Tablični gonilnik"
#: core/bind/core_bind.cpp
msgid "Clipboard"
-msgstr ""
+msgstr "Odložišče"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Trenutna scena ni shranjena. Vseeno odprem?"
+msgstr "Trenutno okno"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Izhodna koda"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "Omogoči"
+msgstr "V-Sync Omogočen"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync preko sestavljalca"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Delta glajenje"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Način Premika"
+msgstr "Minimalna uporaba procesorja"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "Minimalna uporaba procesorja spanje (µsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr ""
+msgstr "Pusti prižgan zaslon"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "Zaženi Skripto"
+msgstr "Najmanjša velikost okna"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "Zaženi Skripto"
+msgstr "največja velikost okna"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "Odpri Nedavne"
+msgstr "Orientacija zaslona"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
msgid "Window"
-msgstr ""
+msgstr "Okno"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "Brezstranično"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Prozornost na slikovno piko Omogočena"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "Preklopi na Celozaslonski Način"
+msgstr "Celozaslonski Način"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Maksimirano"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "Minimirano"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Spremenljiva velikost"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "Položaj Sidranja"
+msgstr "Pozicija"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -138,62 +131,55 @@ msgstr "Položaj Sidranja"
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
msgid "Size"
-msgstr ""
+msgstr "Velikost"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Zamenjava Endian kodiranja"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Urejevalnik"
+msgstr "Namig urejevalnika"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Izpiši sporočila napak"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "Animacijski Gradnik"
+msgstr "Ponovitev na sekundo"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr ""
+msgstr "Ciljni FPS (sličic na sekundo)"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "Gradnik ČasovnoMerilo"
+msgstr "Časovna lestvica"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Fizikalni Okvir %"
+msgstr "Popravek tresenja"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "Napaka"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "Napaka pri premikanju:"
+msgstr "Nit napake"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "Napaka pri premikanju:"
+msgstr "Vrstica napake"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "Išči Pomoč"
+msgstr "Rezultat"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Spomin"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -204,129 +190,119 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Omejitve"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Povleci: Vrtenje"
+msgstr "Čakalna vrsta ukazov"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Velikost čakalne vrste za več niti (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Funkcije:"
+msgstr "Funkcija"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "Podatki"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr "Izvozi Projekt"
+msgstr "Omrežje"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Upravljalnik "
+msgstr "Oddaljen datotečni sistem"
#: core/io/file_access_network.cpp
msgid "Page Size"
-msgstr ""
+msgstr "Velikost strani"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Branje strani naprej"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Način blokiranja je omogočen"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Poveži"
+msgstr "Povezava"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Velikost prebranega kosa"
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "ID predmeta"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "Omogoči Lupljenje Čebule"
+msgstr "Dovoli dekodiranje predmetov"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Zavrni nove omrežne povezave"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Network Peer"
-msgstr "Izvozi Projekt"
+msgstr "Omrežni vrstnik"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "Preimenuj"
+msgstr "Korensko vozlišče"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "Poveži"
+msgstr "Zavrni nove povezave"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "Način Plošče"
+msgstr "Način prenosa"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Največja velikost medpomnilnika za odkodiranje"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "Največja velikost vhodnega predpomnilnika"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "Največja velikost izhodnega predpomnilnika"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "Pretočni vrstnik"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Veliki Endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Podatkovni niz"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Blokiranje tresenja rok"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Napaka Pri Povezavi"
+msgstr "Največje število čakajočih povezav"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -344,7 +320,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Ni dovolj bajtov za dekodiranje, ali pa je neveljaven format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Napačen vnos %i(ni podan) v izrazu"
#: core/math/expression.cpp
@@ -389,6 +366,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Način Premika"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Izbriši Vnos"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -417,6 +404,11 @@ msgstr ""
msgid "Command"
msgstr "Skupnost"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fizikalni Okvir %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -425,9 +417,8 @@ msgid "Pressed"
msgstr "Prednastavitev..."
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Preglej"
+msgstr "Skenirna koda"
#: core/os/input_event.cpp
msgid "Physical Scancode"
@@ -435,7 +426,7 @@ msgstr ""
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
@@ -475,6 +466,10 @@ msgid "Pressure"
msgstr "Prednastavitev..."
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Pripni Relativno"
@@ -591,7 +586,8 @@ msgstr "Opis:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Zaženi"
@@ -680,6 +676,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Pot Prizora:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -687,20 +688,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
+#: core/project_settings.cpp
#, fuzzy
-msgid "Version Control"
+msgid "Version Control Autoload On Startup"
msgstr "Različica:"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Vtičniki"
+msgid "Version Control Plugin Name"
+msgstr "Različica:"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -816,7 +812,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtri..."
@@ -896,7 +893,7 @@ msgstr ""
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
#, fuzzy
@@ -1097,6 +1094,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Prosto"
@@ -1113,7 +1111,7 @@ msgstr "Zrcali"
msgid "Time:"
msgstr "Čas:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Vrednost:"
@@ -1375,10 +1373,71 @@ msgstr "Odstrani izbrano sled."
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Time (s): "
+msgid "Time (s):"
msgstr "Čas X-Bledenja (s):"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Pozicija"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Rotacijski Korak:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Prilagodi Velikost:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Neveljavna izvozna predloga:"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Pretočni vrstnik"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Znova Zaženi (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Postopno Prikazovanje (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animacija"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1607,7 +1666,7 @@ msgstr "V Animacijo Vstavi Sled & Ključ"
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr "VariableGet ni najden v skripti: "
#: editor/animation_track_editor.cpp
@@ -2164,14 +2223,15 @@ msgstr "Priljubljene:"
msgid "Recent:"
msgstr "Nedavni:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Iskanje:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Zadetki:"
@@ -2233,8 +2293,8 @@ msgstr "Iskanje Nadomestnih Virov:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2242,8 +2302,8 @@ msgid "Open"
msgstr "Odpri"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Lastniki:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2555,7 +2615,7 @@ msgid "Bus Options"
msgstr "Možnosti Vodila"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Podvoji"
@@ -2607,9 +2667,10 @@ msgstr "Odpri Zvočno Vodilo"
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
+msgstr "Shrani Postavitev"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2822,6 +2883,25 @@ msgid "Choose"
msgstr "Izberi"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Odstrani izbrano"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Paket je Uspešno Nameščen!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Spodletelo:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Shranjevanje Datoteke:"
@@ -2834,6 +2914,31 @@ msgid "Packing"
msgstr "Pakiranje"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Shrani Kot"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Mape ni mogoče ustvariti."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Nemorem začeti podprocesa!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Datoteke ni mogoče odpreti za pisanje:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Shrani Kot"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2938,11 +3043,32 @@ msgstr "Predloge ni mogoče najti:"
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Upravljaj Izvozne Predloge"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Datoteka ne obstaja."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Predloge ni mogoče najti:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Neveljavna izvozna predloga:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -3131,9 +3257,9 @@ msgid "Import"
msgstr "Uvozi"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Izvozi"
@@ -3753,7 +3879,7 @@ msgstr ""
#: editor/editor_network_profiler.cpp editor/editor_node.cpp
#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp
msgid "Node"
-msgstr "Gradnik"
+msgstr "Vozlišče"
#: editor/editor_network_profiler.cpp
msgid "Incoming RPC"
@@ -4331,15 +4457,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Prizor"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Pot Prizora:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4468,6 +4585,11 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Različica:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Username"
msgstr "Preimenuj"
@@ -4495,6 +4617,10 @@ msgstr "Preklop način pisanja brez motenj."
msgid "Add a new scene."
msgstr "Dodaj nov Prizor."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Prizor"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Pojdi na predhodno odprti prizor."
@@ -5182,11 +5308,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5289,6 +5417,11 @@ msgstr ""
"Za to platformo ni mogoče najti obstoječih izvoznih nastavitev.\n"
"V izvoznem meniju dodajte svoje nastavitve."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Napišite svojo logiko v metodi _run() ."
@@ -5564,7 +5697,9 @@ msgid "Draw Spaces"
msgstr "Klici"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Animacijski Gradnik"
@@ -5591,6 +5726,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap Izbriši Izbor"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6139,10 +6283,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Upravljalnik Projekta"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6935,16 +7081,6 @@ msgstr "Zamenjaj Vse"
#: editor/find_in_files.cpp
#, fuzzy
-msgid "Find: "
-msgstr "Najdi"
-
-#: editor/find_in_files.cpp
-#, fuzzy
-msgid "Replace: "
-msgstr "Zamenjaj"
-
-#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Zamenjaj Vse"
@@ -7085,7 +7221,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtri..."
@@ -7104,7 +7240,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
msgid "Slices"
@@ -7349,7 +7485,8 @@ msgid "Generating Lightmaps"
msgstr "Ustvarjanje Svetlobnih Kart"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Ustvarjanje za Model: "
#: editor/import/resource_importer_scene.cpp
@@ -7377,6 +7514,18 @@ msgid "Saving..."
msgstr "Shranjevanje..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8103,11 +8252,20 @@ msgid "New Anim"
msgstr "Nova Animacija"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Ustvari Novo Animacijo"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Spremeni Ime Animacije:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Preimenuj Animacijo"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Izbrišem animacijo?"
@@ -8127,11 +8285,6 @@ msgid "Animation name already exists!"
msgstr "NAPAKA: Animacija s tem imenom že obstaja!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Preimenuj Animacijo"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Podvoji Animacijo"
@@ -8233,10 +8386,12 @@ msgstr "Lupljenje Čebule"
msgid "Directions"
msgstr "Smeri"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Preteklost"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Prihodnost"
@@ -8278,10 +8433,6 @@ msgid "Pin AnimationPlayer"
msgstr "Prilepi animacijo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Ustvari Novo Animacijo"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Ime Animacije:"
@@ -8402,7 +8553,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "Prehod"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8420,11 +8571,6 @@ msgid "New name:"
msgstr "Novo ime:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Prilagodi Velikost:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Postopno Prikazovanje (s):"
@@ -9397,6 +9543,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "Zaženi Prizor po Meri"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9462,6 +9609,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9703,7 +9854,7 @@ msgstr ""
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 1"
-msgstr ""
+msgstr "Raven 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -9931,7 +10082,7 @@ msgstr ""
#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
#: scene/resources/texture.cpp
msgid "Mesh"
-msgstr ""
+msgstr "Geometrijski objekt"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
@@ -10235,8 +10386,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Vidne Oblike Trka"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10475,6 +10627,7 @@ msgid "Points"
msgstr "Odstrani točko"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Uredi Poligon"
@@ -10639,13 +10792,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10654,10 +10800,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10843,7 +10985,7 @@ msgstr "Prejšnji zavihek"
#: editor/plugins/script_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "File"
-msgstr ""
+msgstr "Datoteka"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -11299,7 +11441,7 @@ msgstr "Zaženi"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
-msgstr ""
+msgstr "Ortogonalno"
#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
msgid "Perspective"
@@ -11402,13 +11544,17 @@ msgstr "Način Vrtenja"
msgid "Translate"
msgstr "Prestavi Zaskočenje:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Prilagodi Velikost:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Prestavi Zaskočenje:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11431,11 +11577,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11466,7 +11607,7 @@ msgstr "Lastnosti"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "FPS: %d (%s ms)"
-msgstr ""
+msgstr "FPS: %d (%s ms)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
@@ -11934,7 +12075,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "Pretvori V..."
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11968,15 +12109,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Premakni Dejanje"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -12047,6 +12189,11 @@ msgid "New Animation"
msgstr "Animacija"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Lastnosti objekta."
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12993,8 +13140,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "Način Vrtenja"
@@ -13528,7 +13674,7 @@ msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "geslo SSH"
#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -14519,20 +14665,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14541,14 +14682,6 @@ msgid "Exporting All"
msgstr "Izvozi"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export Path"
msgstr "Izvozi Projekt"
@@ -14653,21 +14786,28 @@ msgid "More Info..."
msgstr "Premakni V..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Izvozi"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Izvozi Projekt"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export mode?"
-msgstr "Izvozi Projekt"
+msgid "Export All"
+msgstr "Izvozi"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "Izberite prazno mapo."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Izvozi"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14676,14 +14816,20 @@ msgid "ZIP File"
msgstr " Datoteke"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Izvozi Projekt"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Ustanovitelji Projekta"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Upravljaj Izvozne Predloge"
@@ -14973,15 +15119,15 @@ msgid "Project Manager"
msgstr "Upravljalnik Projekta"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Pridobivanje virov, počakajte..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Izvozi Projekt"
@@ -16202,7 +16348,8 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Upravljalnik "
#: editor/script_editor_debugger.cpp
@@ -17081,7 +17228,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Uredi Poligon"
@@ -17257,7 +17404,7 @@ msgid "Disabled GDNative Singleton"
msgstr "Onemogoči Posodobitve Kolesca"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17691,7 +17838,6 @@ msgid "Use In Baked Light"
msgstr "Zapeči Svetlobne karte"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17721,6 +17867,19 @@ msgstr "Način Vrtenja"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Animacijski Gradnik"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Animacijski Gradnik"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -18143,7 +18302,8 @@ msgstr ""
"vozlišča! Prosimo popravite vozlišče."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Vozlišče je vrnilo napačno sekvenco na izhodu: "
#: modules/visual_script/visual_script.cpp
@@ -18152,7 +18312,8 @@ msgstr ""
"Sekvenčni bit je bil najden, vozlišče na skladu pa ne; prijavite napako!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Sklad prepoln z stack depth: "
#: modules/visual_script/visual_script.cpp
@@ -18528,7 +18689,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "Medtem ko"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -18543,7 +18704,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Vhodni tip ni spremenljiv: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18551,7 +18713,8 @@ msgid "Iterator became invalid"
msgstr "Iterator je bil neveljaven"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Iterator je neveljaven: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18718,11 +18881,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Neveljaven argument od tipa: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Neveljavni argumenti: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18735,11 +18900,13 @@ msgid "Var Name"
msgstr "Ime"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet ni najden v skripti: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet ni najden v skripti: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18853,7 +19020,7 @@ msgstr "Odstrani Gradnik VizualnaSkripta"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Yield"
-msgstr ""
+msgstr "Donos"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
@@ -19064,6 +19231,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Gradnik Prehod"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -19072,6 +19244,16 @@ msgstr ""
msgid "Export Format"
msgstr "Izvozi Projekt"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Zaženi Skripto"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Gradnik ČasovnoMerilo"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -19111,16 +19293,6 @@ msgstr "Prejšnji zavihek"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Zaženi Skripto"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Gradnik ČasovnoMerilo"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19290,10 +19462,6 @@ msgid "Could not execute on device."
msgstr "Mape ni mogoče ustvariti."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19371,12 +19539,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19385,25 +19553,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signali"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19422,6 +19614,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Nemorem začeti podprocesa!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19452,7 +19649,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19463,20 +19660,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Nemorem začeti podprocesa!"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19488,7 +19684,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19504,7 +19700,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animacijska Orodja"
#: platform/android/export/export_plugin.cpp
@@ -19513,15 +19709,13 @@ msgid "Creating APK..."
msgstr "Povezovanje..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Nemorem začeti podprocesa!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19533,7 +19727,7 @@ msgstr "Filtriraj datoteke..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Nemorem začeti podprocesa!"
#: platform/android/export/export_plugin.cpp
@@ -19776,6 +19970,17 @@ msgstr "Gradnik Prehod"
msgid "Custom BG Color"
msgstr "Gradnik Prehod"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Upravljaj Izvozne Predloge"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Predloge ni mogoče najti:"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19798,23 +20003,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Mape ni mogoče ustvariti."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Neveljavna izvozna predloga:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Mape ni mogoče ustvariti."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Vsebina:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Mape ni mogoče ustvariti."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Oštevilčenja:"
@@ -19890,17 +20107,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Mape ni mogoče ustvariti."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Mape ni mogoče ustvariti."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Napaka pri shranjevanju PloščnegaNiza!"
#: platform/javascript/export/export.cpp
@@ -20198,9 +20415,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Nemorem začeti podprocesa!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Nemorem začeti podprocesa!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Animacijski Gradnik"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20216,18 +20452,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Ni Zadetka!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Napaka pri shranjevanju PloščnegaNiza!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Smeri"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Nemorem začeti podprocesa!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Ustvarjanje Sličic"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Nemorem začeti podprocesa!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Neveljavna izvozna predloga:"
#: platform/osx/export/export.cpp
msgid ""
@@ -20237,7 +20529,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20279,6 +20571,15 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Ime ni pravilen identifikator:"
@@ -20595,6 +20896,11 @@ msgid "Debug Algorithm"
msgstr "Razhroščevalnik"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Ni mogoče odstraniti:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20642,6 +20948,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Prilepi animacijo"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Uporabiti moraš valjavno razširitev."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Ime ni pravilen identifikator:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Neveljavno ime."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Uporabiti moraš valjavno razširitev."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Ni mogoče odstraniti:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20663,6 +21029,23 @@ msgid "Invalid product version:"
msgstr "Neveljavno Ime Projekta."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Uporabiti moraš valjavno razširitev."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -20678,6 +21061,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20802,7 +21189,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Primer"
@@ -20852,7 +21240,7 @@ msgstr "Približaj"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21575,34 +21963,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Napaka Pri Povezavi"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Prilepi animacijo"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Izberi Glavno Sceno"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Možnosti pripenjanja"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Omogoči"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Omogoči"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21627,13 +22037,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Način Vrtenja"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -21642,7 +22055,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr "Rotacijski Korak:"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstanta"
@@ -22781,6 +23194,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Preoblikovanje Dialoga..."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22804,12 +23224,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23661,6 +24075,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Preoblikovanje"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24874,6 +25293,11 @@ msgstr "Ustvarite Mapo"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Samo Izbira"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Omogoči"
@@ -25270,16 +25694,17 @@ msgstr "Izvozi Projekt"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25435,6 +25860,16 @@ msgid "3D Physics"
msgstr "Fizikalni Okvir %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Animacijski Gradnik"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Animacijski Gradnik"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26548,7 +26983,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Bloom"
-msgstr ""
+msgstr "Učinek žarenja"
#: scene/resources/environment.cpp
msgid "HDR Threshold"
@@ -26841,7 +27276,7 @@ msgstr "Prehod"
msgid "Refraction"
msgstr "Oštevilčenja:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26923,7 +27358,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Prilagodi Velikost:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Nastavite Tip Spremenljivke"
#: scene/resources/navigation_mesh.cpp
@@ -26940,10 +27380,15 @@ msgid "Source Group Name"
msgstr "Viri"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Vsebina:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26952,11 +27397,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Način Vrtenja"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26969,6 +27419,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Naložite Prevzeto"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26985,9 +27440,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Mrežni Zamik:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27393,6 +27857,11 @@ msgid "Scenario"
msgstr "Prizor"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Animacijski Gradnik"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27410,6 +27879,26 @@ msgstr "Linearno"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Prevzeto"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Predogled"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Preskušanje"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Napaka Pri Povezavi"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/sq.po b/editor/translations/sq.po
index 303946334e..af72b686b9 100644
--- a/editor/translations/sq.po
+++ b/editor/translations/sq.po
@@ -215,9 +215,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Eksporto Projektin"
@@ -333,7 +334,8 @@ msgstr ""
"Bajte (byte) të pa mjaftueshem për çkodim të bajteve, ose format i gabuar."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Input i gabuar %i (nuk kaloi) në shprehje"
#: core/math/expression.cpp
@@ -377,6 +379,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Luaj Skenën"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -404,6 +415,11 @@ msgstr ""
msgid "Command"
msgstr "Komuniteti"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Hapi i Fizikës %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -462,6 +478,10 @@ msgid "Pressure"
msgstr "Ngarko Gabimet"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -571,7 +591,8 @@ msgstr "Përshkrimi:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -657,6 +678,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Rruga Skenës:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -664,20 +690,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
+#: core/project_settings.cpp
#, fuzzy
-msgid "Version Control"
+msgid "Version Control Autoload On Startup"
msgstr "Versioni:"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Emri i Shtojcës:"
+msgid "Version Control Plugin Name"
+msgstr "Versioni:"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -791,7 +812,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtrat:"
@@ -1066,6 +1088,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Liro"
@@ -1082,7 +1105,7 @@ msgstr "Pasqyrë"
msgid "Time:"
msgstr "Koha:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
#, fuzzy
msgid "Value:"
msgstr "Vlerë e Re:"
@@ -1331,10 +1354,70 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Koha (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Pozicioni i Dokut"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Konstantet"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Duhet të perdorësh një shtesë të lejuar."
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Fillo"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animacionet:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1544,7 +1627,8 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metoda nuk u gjet në objekt: "
#: editor/animation_track_editor.cpp
@@ -2078,14 +2162,15 @@ msgstr "Të Preferuarat:"
msgid "Recent:"
msgstr "Të fundit:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Kërko:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Përputhjet:"
@@ -2147,8 +2232,8 @@ msgstr "Kërko Resursin Zëvendësues:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2156,8 +2241,8 @@ msgid "Open"
msgstr "Hap"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Pronarët e:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2468,7 +2553,7 @@ msgid "Bus Options"
msgstr "Përshkrimi i Klasës"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dyfisho"
@@ -2520,9 +2605,10 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
+msgstr "Ruaj Faqosjen"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2734,6 +2820,25 @@ msgid "Choose"
msgstr "Zgjidh"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Animacionet:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Paketa u instalua me sukses!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Dështoi:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Duke Ruajtur Skedarin:"
@@ -2746,6 +2851,31 @@ msgid "Packing"
msgstr "Duke Paketuar"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Ruaje Si"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Nuk mund të krijoj folderin."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Nuk mund të fillojë subprocess-in!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Nuk mund të hapi skedarin për të shkruajtur:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Ruaje Si"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2868,11 +2998,32 @@ msgstr "Shablloni 'Custom debug' nuk u gjet."
msgid "Custom release template not found."
msgstr "Shablloni 'Custom release' nuk u gjet."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Menaxho Shabllonet e Eksportit"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Skedari nuk egziston."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Skedari shabllon nuk u gjet:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Nuk mund të hapi zip-in e shablloneve të eksportimit."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -3059,9 +3210,9 @@ msgid "Import"
msgstr "Importo"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Eksporto"
@@ -4246,15 +4397,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Skenë"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Rruga Skenës:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4381,6 +4523,11 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Versioni:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Username"
msgstr "Riemërto"
@@ -4408,6 +4555,10 @@ msgstr "Ndrysho metodën pa shpërqëndrime."
msgid "Add a new scene."
msgstr "Shto një skenë të re."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Skenë"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Shko në skenën e hapur më parë."
@@ -5095,11 +5246,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Nyja e zgjedhur nuk është një 'Viewport'!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Madhësia: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Faqja: "
#: editor/editor_properties_array_dict.cpp
@@ -5201,6 +5356,11 @@ msgstr ""
"Nuk u gjet eksport paraprak i saktë për këtë platformë.\n"
"Ju lutem shtoni një eksport paraprak të saktë në menu."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekti"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Shkruaj logjikën në metodën _run()."
@@ -5473,7 +5633,9 @@ msgid "Draw Spaces"
msgstr "Thërritjet"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Metoda Pa Shpërqëndrime"
@@ -5500,6 +5662,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Fshi të Selektuarat"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6037,10 +6208,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6816,14 +6989,6 @@ msgid "Replace in Files"
msgstr "Hap Skedarët"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Gjej: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Zëvendëso: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Zëvendëso të gjitha (pa kthim pas)"
@@ -6960,7 +7125,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtrat:"
@@ -7222,7 +7387,8 @@ msgid "Generating Lightmaps"
msgstr "Duke Gjeneruar Hartat e Dritës"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Duke Gjeneruar për 'Mesh'-in: "
#: editor/import/resource_importer_scene.cpp
@@ -7250,6 +7416,18 @@ msgid "Saving..."
msgstr "Duke Ruajtur..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7935,11 +8113,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7957,11 +8144,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -8058,10 +8240,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -8102,10 +8286,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8216,8 +8396,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "Animacionet:"
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
@@ -8234,11 +8415,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -9149,6 +9325,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9213,6 +9390,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9971,8 +10152,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Format e Përplasjes të Dukshme"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10202,6 +10384,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -10356,13 +10539,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10371,10 +10547,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11088,13 +11260,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Shto Animacion"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11117,12 +11292,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Madhësia: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11615,7 +11784,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "Konverto në %s"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11648,15 +11817,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Animacionet:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11722,6 +11892,11 @@ msgid "New Animation"
msgstr "Animacionin i Ri"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Nyjet filtruese"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12640,8 +12815,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -14101,20 +14275,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14122,14 +14291,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -14231,20 +14392,28 @@ msgid "More Info..."
msgstr "Lëviz në..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Eksporto"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Eksporto Projektin"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Zgjidh një Direktori"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Eksporto"
#: editor/project_export.cpp editor/project_manager.cpp
#, fuzzy
@@ -14252,14 +14421,20 @@ msgid "ZIP File"
msgstr " Skedarët"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Eksporto Projektin"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Themeluesit e Projektit"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Menaxho Shabllonet e Eksportit"
@@ -14545,15 +14720,15 @@ msgid "Project Manager"
msgstr "Menaxheri Projektit "
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Duke marrë pasqyrat, ju lutem prisni..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Eksporto Projektin"
@@ -15745,8 +15920,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Hiq"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16597,7 +16773,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Krijo një Poligon"
@@ -16769,7 +16945,7 @@ msgid "Disabled GDNative Singleton"
msgstr "Çaktivizo Rrotulluesin e Përditësimit"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17193,7 +17369,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17223,6 +17398,19 @@ msgstr "Fshi Nyjen"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Metoda Pa Shpërqëndrime"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Metoda Pa Shpërqëndrime"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17632,7 +17820,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17640,7 +17828,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18024,7 +18212,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18032,7 +18220,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18196,12 +18384,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Argumente të gabuar për të ndërtuar '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Emër i palejuar."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18213,12 +18403,14 @@ msgid "Var Name"
msgstr "Emri"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metoda nuk u gjet në objekt: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metoda nuk u gjet në objekt: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18531,6 +18723,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Dyfisho Nyjet"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18539,6 +18736,16 @@ msgstr ""
msgid "Export Format"
msgstr "Konstantet"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Madhësia: "
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Fshi Nyjen"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18577,16 +18784,6 @@ msgstr "Tabi i mëparshëm"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Madhësia: "
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Fshi Nyjen"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18755,10 +18952,6 @@ msgid "Could not execute on device."
msgstr "Nuk mund të krijoj folderin."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18835,12 +19028,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18849,25 +19042,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Sinjalet"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18886,6 +19103,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Nuk mund të fillojë subprocess-in!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18915,7 +19137,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18926,20 +19148,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Nuk mund të fillojë subprocess-in!"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18951,7 +19172,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18967,7 +19188,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Instaluesi Paketave"
#: platform/android/export/export_plugin.cpp
@@ -18976,15 +19197,13 @@ msgid "Creating APK..."
msgstr "Duke u lidhur..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "Nuk mund të fillojë subprocess-in!"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18996,7 +19215,7 @@ msgstr "Filtro Skedarët..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Nuk mund të fillojë subprocess-in!"
#: platform/android/export/export_plugin.cpp
@@ -19236,6 +19455,17 @@ msgstr "Dyfisho Nyjet"
msgid "Custom BG Color"
msgstr "Dyfisho Nyjet"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Menaxho Shabllonet e Eksportit"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Shablloni 'Custom release' nuk u gjet."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19257,23 +19487,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
+msgstr "Nuk mund të krijoj folderin."
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Duhet të perdorësh një shtesë të lejuar."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Nuk mund të krijoj folderin."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Shfaqe në 'FileSystem'"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Nuk mund të krijoj folderin."
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Enumeracionet:"
@@ -19349,17 +19591,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Nuk mund të krijoj folderin."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Nuk mund të krijoj folderin."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Gabim gjatë ruajtjes së TileSet-it!"
#: platform/javascript/export/export.cpp
@@ -19652,9 +19894,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Nuk mund të fillojë subprocess-in!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Nuk mund të fillojë subprocess-in!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Metoda Pa Shpërqëndrime"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19670,18 +19931,74 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Konstantet"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Gabim gjatë ruajtjes së TileSet-it!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Përshkrimi:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Nuk mund të fillojë subprocess-in!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Duke Krijuar Kornizat"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "Nuk mund të fillojë subprocess-in!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Rruga e pasaktë."
#: platform/osx/export/export.cpp
msgid ""
@@ -19691,7 +20008,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19732,6 +20049,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekti"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -20042,6 +20368,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nuk mund të heqësh:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20088,6 +20419,66 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Konstantet"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Duhet të perdorësh një shtesë të lejuar."
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Argumente të gabuar për të ndërtuar '%s'"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Emër i palejuar."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Duhet të perdorësh një shtesë të lejuar."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nuk mund të heqësh:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20109,6 +20500,23 @@ msgid "Invalid product version:"
msgstr "Emri i grupit i pasakt."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Duhet të perdorësh një shtesë të lejuar."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -20124,6 +20532,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20242,7 +20654,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Instanco"
@@ -20291,7 +20704,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr "Zgjidh një 'Viewport'"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20987,34 +21400,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Modifiko Lidhjen: "
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Konstantet"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Zgjidh një Skenë Kryesore"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "I Balancuar"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Lejo"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Lejo"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21038,13 +21473,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Fshi Nyjen"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -21052,7 +21490,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstantet"
@@ -22147,6 +22585,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Binari i Transformimeve 3D"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22169,12 +22614,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23001,6 +23440,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Binari i Transformimeve 3D"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24171,6 +24615,11 @@ msgstr "Folderi:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Zgjidh Këtë Folder"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Lejo"
@@ -24562,16 +25011,17 @@ msgstr "Fokuso Rrugën"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24726,6 +25176,16 @@ msgid "3D Physics"
msgstr "Hapi i Fizikës %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Metoda Pa Shpërqëndrime"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Metoda Pa Shpërqëndrime"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26102,7 +26562,7 @@ msgstr ""
msgid "Refraction"
msgstr "Enumeracionet:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26182,8 +26642,12 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Sampling"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Partition Type"
msgstr "Ndrysho Tipin e %s"
#: scene/resources/navigation_mesh.cpp
@@ -26200,7 +26664,11 @@ msgid "Source Group Name"
msgstr "Resursi"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26212,11 +26680,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Hap të Fundit"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26229,6 +26702,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Ngarko të Parazgjedhur"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26245,9 +26723,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Ndrysho Tipin e %s"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26643,6 +27130,11 @@ msgid "Scenario"
msgstr "Skenë"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Metoda Pa Shpërqëndrime"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26660,6 +27152,26 @@ msgstr "E Parazgjedhur"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "E Parazgjedhur"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "E Parazgjedhur"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "E Parazgjedhur"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Modifiko Lidhjen: "
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index 6a4fdf1f7e..4231d62c6b 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -228,9 +228,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "Мрежни Осматрач"
@@ -345,7 +346,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Недовољно бајтова за дешифровање бајтова, или неважећи формат."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Неважећи унос %i (није прошао) у изразу"
#: core/math/expression.cpp
@@ -390,6 +392,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Режим померања"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Обриши улаз"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
#, fuzzy
@@ -419,6 +431,11 @@ msgstr ""
msgid "Command"
msgstr "Заједница"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Слика физике %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -477,6 +494,10 @@ msgid "Pressure"
msgstr "Поставке"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "Залепи релативно"
@@ -594,7 +615,8 @@ msgstr "Опис"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Покрени"
@@ -687,6 +709,11 @@ msgid "Main Run Args"
msgstr "Аргументи Главне Сцене"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Пут сцене:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -694,20 +721,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Version Control"
-msgstr "Верзија:"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "VCS(Систем Контроле Верзије)"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Име Прикључка :"
+msgid "Version Control Plugin Name"
+msgstr "Верзија:"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -827,7 +849,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Филтери..."
@@ -1112,6 +1135,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Слободно"
@@ -1128,7 +1152,7 @@ msgstr "Огледало"
msgid "Time:"
msgstr "Време:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Вредност:"
@@ -1410,11 +1434,75 @@ msgstr "Обриши одабрану траку."
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Time (s): "
+msgid "Time (s):"
msgstr "X-Fade време (сек.):"
#: editor/animation_track_editor.cpp
#, fuzzy
+msgid "Position:"
+msgstr "Позиција панела"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Ротације корака:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Скала:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Тип:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Неважећи извозни нацрт:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Ублажавање У-Од"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Постави дршку"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Постави дршку"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Додај ствар"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Рестартовање (сек.):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Појављивање (сек.):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Анимације"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Toggle Track Enabled"
msgstr "„Doppler“ режим"
@@ -1656,7 +1744,7 @@ msgstr "Уметни траку и кључ"
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr "Метода није нађена у објекту:"
#: editor/animation_track_editor.cpp
@@ -2245,14 +2333,15 @@ msgstr "Омиљене:"
msgid "Recent:"
msgstr "Честе:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Тражи:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Подударање:"
@@ -2314,8 +2403,8 @@ msgstr "Потражи замену за ресурс:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2323,8 +2412,8 @@ msgid "Open"
msgstr "Отвори"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Власници:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2639,7 +2728,7 @@ msgid "Bus Options"
msgstr "Поставке баса"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Дуплирај"
@@ -2692,8 +2781,9 @@ msgstr "Отвори распоред звучног баса"
msgid "There is no '%s' file."
msgstr "Нема '%s' фајла."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Распоред"
#: editor/editor_audio_buses.cpp
@@ -2908,6 +2998,25 @@ msgid "Choose"
msgstr "Одабери"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Копирај Путању Чвора"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Пакет је инсталиран успешно!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Неуспех:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Складиштење датотеке:"
@@ -2922,6 +3031,31 @@ msgstr "Паковање"
#: editor/editor_export.cpp
#, fuzzy
+msgid "Save PCK"
+msgstr "Сачувај као"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Неуспех при прављењу директоријума."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Неуспело уписивање фајла:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Не могу отворити датотеку за писање:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Сачувај као"
+
+#: editor/editor_export.cpp
+#, fuzzy
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -3049,13 +3183,34 @@ msgstr "Шаблонска датотека није пронађена:\n"
msgid "Custom release template not found."
msgstr "Прилагођени образци објаве нису пронађени."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Управљај извозним шаблонима"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Путања не постоји."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
#, fuzzy
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
msgstr "Шаблонска датотека није пронађена:\n"
#: editor/editor_export.cpp
#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Неважећи извозни нацрт:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr " Пуњење"
+
+#: editor/editor_export.cpp
+#, fuzzy
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "На 32-битним извозима уграђени PCK не може бити већи од 4 GiB."
@@ -3249,9 +3404,9 @@ msgid "Import"
msgstr "Увоз"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Извоз"
@@ -4484,15 +4639,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Сцена"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Пут сцене:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4623,6 +4769,11 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Верзија:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Username"
msgstr "Преименуј"
@@ -4650,6 +4801,10 @@ msgstr "Укљ./Искљ. режим без сметње."
msgid "Add a new scene."
msgstr "Додај нову сцену."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Сцена"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Отвори претходну сцену."
@@ -5382,13 +5537,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Одабрани нод није Viewport!"
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
-msgid "Size: "
+msgid "Size:"
msgstr "Величина:"
#: editor/editor_properties_array_dict.cpp
#, fuzzy
-msgid "Page: "
+msgid "Page:"
msgstr "Страна:"
#: editor/editor_properties_array_dict.cpp
@@ -5498,6 +5655,11 @@ msgstr ""
"Нису пронађене поставке извоза за ову платформу.\n"
"Молим, додајте поставке у менију за извоз."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Пројекат"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Пиши логику у _run() методи."
@@ -5783,7 +5945,9 @@ msgid "Draw Spaces"
msgstr "Позиви цртања"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Направи навигациону мрежу"
@@ -5810,6 +5974,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "МапаМреже Испуни Одабрано"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6381,10 +6554,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Менаџер пројекта"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -7212,16 +7387,6 @@ msgstr "Замени све"
#: editor/find_in_files.cpp
#, fuzzy
-msgid "Find: "
-msgstr "Нађи"
-
-#: editor/find_in_files.cpp
-#, fuzzy
-msgid "Replace: "
-msgstr "Замени"
-
-#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Замени све"
@@ -7364,7 +7529,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Филтери..."
@@ -7634,7 +7799,7 @@ msgstr "Генерисање осног поравнаног граничнио
#: editor/import/resource_importer_scene.cpp
#, fuzzy
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr "Генерисање осног поравнаног граничниог оквира (AABB)"
#: editor/import/resource_importer_scene.cpp
@@ -7662,6 +7827,18 @@ msgid "Saving..."
msgstr "Чување..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8426,11 +8603,20 @@ msgid "New Anim"
msgstr "Нова анимација"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Направи нову анимацију"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Измени име анимације:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Преименуј анимацију"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Обриши анимацију?"
@@ -8450,11 +8636,6 @@ msgid "Animation name already exists!"
msgstr "Грешка: име анимације већ постоји!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Преименуј анимацију"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Дуплирај анимацију"
@@ -8557,10 +8738,12 @@ msgstr "Опције Слојевитог Обмотавања"
msgid "Directions"
msgstr "Смерови"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Прошлост"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Будућност"
@@ -8602,10 +8785,6 @@ msgid "Pin AnimationPlayer"
msgstr "Налепи анимацију"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Направи нову анимацију"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Име анимације:"
@@ -8742,7 +8921,7 @@ msgstr "Постави крај анимације. Ово је корисно
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "Прелаз:"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8761,11 +8940,6 @@ msgid "New name:"
msgstr "Ново име:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Скала:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Појављивање (сек.):"
@@ -9765,6 +9939,7 @@ msgstr "Направи Произвољне Кости од Чворова"
msgid "Clear Custom Bones"
msgstr "Обриши Кости"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9835,6 +10010,10 @@ msgid "Preview Canvas Scale"
msgstr "Преглед Величине Платна"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Распоред"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
msgid "Translation mask for inserting keys."
msgstr "Преводна маска за убацивање кључева."
@@ -10672,7 +10851,8 @@ msgid "Volume"
msgstr "Запремина"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Извор емисије: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10925,6 +11105,7 @@ msgid "Points"
msgstr "Помери тачку"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Полигон->UV"
@@ -11101,13 +11282,6 @@ msgid "Instance:"
msgstr "Инстанца:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Тип:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
#, fuzzy
msgid "Open in Editor"
@@ -11117,11 +11291,6 @@ msgstr "Отвори у Уреднику"
msgid "Load Resource"
msgstr "Учитај ресурс"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "Ресурс"
-
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
msgid "Flip Portals"
@@ -11912,12 +12081,16 @@ msgstr "Режим ротације"
msgid "Translate"
msgstr "Померај:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Скала: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "Померај: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11942,12 +12115,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Величина:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "Нацртани објекти"
@@ -12468,7 +12635,7 @@ msgstr "Неважећа геометрија, неуспеша замена с
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "Претвори у велика слова"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -12508,17 +12675,17 @@ msgstr "Налепи оквир"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Simplification: "
+msgid "Simplification:"
msgstr "Поједностављено:"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr "Умањи (Пиксели):"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr "Увећај (Пиксели):"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -12591,6 +12758,11 @@ msgstr "Анимација"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Filter animations"
+msgstr "Филтрирај методе"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Speed:"
msgstr "Брзина (FPS):"
@@ -13590,8 +13762,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Одабери претходни облик, под-плочицу, или плочицу."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "Режим ротације"
@@ -15363,29 +15534,17 @@ msgid "Runnable"
msgstr "Покретљива"
#: editor/project_export.cpp
-#, fuzzy
-msgid "Delete preset '%s'?"
-msgstr "Обриши поставку „%s“?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-#, fuzzy
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Неуспешан извоз пројекта за плазформу '%s'.\n"
-"Изгледа да недостају извозни нацрти или нису исправни."
#: editor/project_export.cpp
#, fuzzy
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Неуспешан извоз пројекта за платформу '%s'.\n"
-"Ово може бити због проблема са подешавањима у извозним поставкама или твојим "
-"извозним подешавањима."
+msgid "Delete preset '%s'?"
+msgstr "Обриши поставку „%s“?"
#: editor/project_export.cpp
#, fuzzy
@@ -15394,15 +15553,6 @@ msgstr "Извоз"
#: editor/project_export.cpp
#, fuzzy
-msgid "The given export path doesn't exist:"
-msgstr "Путања не постоји."
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Извозни шаблони за ову платформу или нису пронађени или су искварене:"
-
-#: editor/project_export.cpp
-#, fuzzy
msgid "Export Path"
msgstr "Извези пројекат"
@@ -15518,21 +15668,28 @@ msgid "More Info..."
msgstr "Помери у..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Извоз PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Извези пројекат"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export mode?"
-msgstr "Режим извоза:"
+msgid "Export All"
+msgstr "Извоз"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "Одабери празан фолдер."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Извоз"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -15542,7 +15699,7 @@ msgstr " Датотеке"
#: editor/project_export.cpp
#, fuzzy
-msgid "Godot Game Pack"
+msgid "Godot Project Pack"
msgstr "Годот Игра Паковање"
#: editor/project_export.cpp
@@ -15550,6 +15707,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Извозни шаблони за ову платформу нису пронађени:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Оснивачи пројекта"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Управљај извозним шаблонима"
@@ -15918,13 +16080,13 @@ msgstr "Менаџер пројекта"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Loading, please wait..."
-msgstr "Прихватам одредишта, молим сачекајте..."
+msgid "Last Modified"
+msgstr "Задњи Измењен"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Last Modified"
-msgstr "Задњи Измењен"
+msgid "Loading, please wait..."
+msgstr "Прихватам одредишта, молим сачекајте..."
#: editor/project_manager.cpp
#, fuzzy
@@ -17360,7 +17522,8 @@ msgid "Attach Node Script"
msgstr "Припој Чвор Скрипту"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "Удаљени уређај "
#: editor/script_editor_debugger.cpp
@@ -18301,7 +18464,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Полигон->UV"
@@ -18492,7 +18655,7 @@ msgstr "Онемогућен GDNative Singleton"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
#, fuzzy
-msgid "Libraries: "
+msgid "Libraries:"
msgstr "Библиотеке:"
#: modules/gdnative/nativescript/nativescript.cpp
@@ -18950,7 +19113,6 @@ msgid "Use In Baked Light"
msgstr "Изпеци МапеСенчења"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -18980,6 +19142,19 @@ msgstr "Средина"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Направи навигациону мрежу"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Направи навигациону мрежу"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
msgid "Next Plane"
@@ -19439,7 +19614,7 @@ msgstr ""
#: modules/visual_script/visual_script.cpp
#, fuzzy
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr "Члан вратио неважећи излаз секвенце:"
#: modules/visual_script/visual_script.cpp
@@ -19449,7 +19624,7 @@ msgstr "Пронађена секвенца битова али не члан н
#: modules/visual_script/visual_script.cpp
#, fuzzy
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr "Преоптерећење наслаге са дубином наслаге:"
#: modules/visual_script/visual_script.cpp
@@ -19859,7 +20034,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -19867,7 +20042,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -20042,12 +20217,14 @@ msgid "Operator"
msgstr "Прекриј оператор."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Неважећи аргументи ка конструкту '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Неважеће име."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -20059,12 +20236,13 @@ msgid "Var Name"
msgstr "Име"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "СкупПроменљивих није нађен у скрипти:"
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr "СкупПроменљивих није нађен у скрипти:"
#: modules/visual_script/visual_script_nodes.cpp
@@ -20400,6 +20578,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Паковање мора имати бар један '.' раздвојник."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Направи чвор"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -20408,6 +20591,16 @@ msgstr ""
msgid "Export Format"
msgstr "Извези пројекат"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Величина ивице:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Мета"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -20450,16 +20643,6 @@ msgstr "Истражи Претходну Инстанцу"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Величина ивице:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Мета"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -20629,10 +20812,6 @@ msgid "Could not execute on device."
msgstr "Неуспех при прављењу директоријума."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
"Android build template not installed in the project. Install it from the "
@@ -20726,12 +20905,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -20740,25 +20919,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Сигнали"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -20778,6 +20981,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Неуспешно отварање нацрта за извоз:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Не могу покренути подпроцес!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -20808,7 +21016,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -20823,9 +21031,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Верзија Android изградње се не подудара:\n"
@@ -20835,12 +21041,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr "Неуспешна измена project.godot-а у путањи пројекта."
#: platform/android/export/export_plugin.cpp
@@ -20856,7 +21062,7 @@ msgstr "Изградња Android Пројекта (gradle)"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Изградња Android пројекта неуспешна, провери излаз за грешке.\n"
@@ -20874,7 +21080,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Анимација није нађена: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -20884,15 +21090,12 @@ msgstr "Прављење контура..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "Неуспешно отварање нацрта за извоз:"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -20904,7 +21107,7 @@ msgstr "Додавање %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Неуспело уписивање фајла:"
#: platform/android/export/export_plugin.cpp
@@ -21148,6 +21351,17 @@ msgstr "Направи чвор"
msgid "Custom BG Color"
msgstr "Направи чвор"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Управљај извозним шаблонима"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Прилагођени образци објаве нису пронађени."
+
#: platform/iphone/export/export.cpp
#, fuzzy
msgid "App Store Team ID not specified - cannot configure the project."
@@ -21176,25 +21390,34 @@ msgstr "Покрени извезени HTML у уобичајеном прет
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr "Неуспешно отварање нацрта за извоз:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr "Неважећи извозни нацрт:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "Неуспело уписивање фајла:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Постави дршку"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Неуспело уписивање фајла:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Одвојеност:"
@@ -21270,17 +21493,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Неуспешно читаље произвољне HTML шкољке:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Неуспех при прављењу директоријума."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Грешка памћена сцена."
#: platform/javascript/export/export.cpp
@@ -21580,9 +21803,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Неуспело уписивање фајла:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Не могу покренути подпроцес!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Локализација"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -21598,21 +21840,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Није пронађено!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Грешка при чувању TileSet!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Смерови"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Не могу покренути подпроцес!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Прављење приказа"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Неуспешно отварање нацрта за извоз:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Неважећи извозни нацрт:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -21620,7 +21917,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -21662,6 +21959,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Пројекат"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Неуспешна измена project.godot-а у путањи пројекта."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Неважећи идентификатор:"
@@ -21987,6 +22294,11 @@ msgid "Debug Algorithm"
msgstr "Дебагер"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Неуспех при чувању теме:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -22034,6 +22346,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Насумична ротација:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Неуспешно отварање нацрта за извоз:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Неуспешно отварање нацрта за извоз:"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Мора се користити важећа екстензија."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Неуспешно отварање нацрта за извоз:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Неуспешно отварање нацрта за извоз:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Неважећи идентификатор:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Неважеће име."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Мора се користити важећа екстензија."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Неуспех при чувању теме:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -22055,6 +22431,23 @@ msgid "Invalid product version:"
msgstr "Неважећи GUID продукт."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Мора се користити важећа екстензија."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Нов Прозор"
@@ -22071,6 +22464,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -22199,7 +22596,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Одабери Одстојање:"
@@ -22250,7 +22648,7 @@ msgstr "Увеличај"
msgid "Custom Viewport"
msgstr "1 прозор"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -23016,11 +23414,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Повезивање не успешно"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Спојеви"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Одабери Одстојање:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Одабери Одстојање:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Поставке залепљавања"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Укључи"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -23038,16 +23468,6 @@ msgstr "Обрни Хоризонтално"
msgid "Max Speed"
msgstr "Брзина (FPS):"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Одабери Одстојање:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Укључи"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -23074,25 +23494,26 @@ msgstr ""
"радио. Молимо постави особину или нацртај многоугао."
#: scene/2d/navigation_polygon.cpp
-#, fuzzy
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"ИнстанцаНавигационогМногоугла мора бити дете или прадете Навигација2Д чвору. "
-"Само обезбеђује навигационе податке."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Средина Доле"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Путуј"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Ротација за %s степени."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Константан"
@@ -24328,6 +24749,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Трансформација прекинута."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -24352,15 +24780,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-#, fuzzy
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"НавМрежнаИнстанца мора бити дете или прадете Навигационог чвора. Само "
-"обезбећује навигационе податке."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -25243,6 +25662,11 @@ msgstr ""
"рада."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Сачувај Глобалну Трансформу"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -26524,6 +26948,11 @@ msgstr "Пресавији линију"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Само одабрано"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Укључи"
@@ -26934,24 +27363,20 @@ msgstr "Извези пројекат"
#: scene/main/viewport.cpp
#, fuzzy
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Овај viewport није постављен као мета за исцртавање. Ако намераваш да "
-"прикаже садржај директно на екран, учини га дететом Контроле да може да "
-"добави величину. У супротном, учини га МетомИсцртавања и додели његову "
-"унутрашњу текстуру неком чвору за приказ."
-
-#: scene/main/viewport.cpp
-#, fuzzy
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr "Величина Viewport-а мора бити већа од 0 да би се нешто исцртало."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -27109,6 +27534,16 @@ msgid "3D Physics"
msgstr "Слика физике %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Направи навигациону мрежу"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Направи навигациону мрежу"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -28536,7 +28971,7 @@ msgstr "Прелаз:"
msgid "Refraction"
msgstr "Одвојеност:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -28621,7 +29056,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Скала: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Постави Врсту Променљиве"
#: scene/resources/navigation_mesh.cpp
@@ -28639,10 +29079,15 @@ msgid "Source Group Name"
msgstr "Извор"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Аргументи Главне Сцене"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -28652,11 +29097,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Режим ротације"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Споји од сцене"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -28670,6 +29120,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Учитај уобичајено"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Одабери Одстојање:"
@@ -28687,9 +29142,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Генерисање осног поравнаног граничниог оквира (AABB)"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Офсет:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -29105,6 +29570,11 @@ msgid "Scenario"
msgstr "Сцена"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Направи навигациону мрежу"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -29122,6 +29592,26 @@ msgstr "Леви линеарни"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Уобичајено"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Преглед"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Тестирање"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Повезивање не успешно"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index 5aa1b98d49..b898108402 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -213,9 +213,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -325,7 +326,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Nema dovoljno bajtova za dekodiranje bajtova, ili nevažeći format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Nevažeći unos %i (nije prenesen) u izrazu"
#: core/math/expression.cpp
@@ -369,6 +371,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Napravi"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -395,6 +406,11 @@ msgstr ""
msgid "Command"
msgstr "Zajednica"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Filtriraj signale"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -447,6 +463,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -558,7 +578,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -644,24 +665,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -770,7 +790,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filtriraj signale"
@@ -1043,6 +1064,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Slobodno"
@@ -1059,7 +1081,7 @@ msgstr "Ogledalo"
msgid "Time:"
msgstr "Vreme:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Vrednost:"
@@ -1304,10 +1326,71 @@ msgid "Remove this track."
msgstr "Ukloni ovu traku."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Vreme (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Napravi"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Kontanta"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Nedozvoljen indeks tipa %s za bazu tipa %s"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Razdeli Krivu"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Napravi"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animacije:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Umogući/Onemogući Traku"
@@ -1521,7 +1604,8 @@ msgid "Add Method Track Key"
msgstr "Dodaj Ključ Metodne Trake"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metod nije nađen u objektu: "
#: editor/animation_track_editor.cpp
@@ -2053,14 +2137,15 @@ msgstr "Omiljeno:"
msgid "Recent:"
msgstr "Nedavno:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Pretraga:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Podudaranja:"
@@ -2120,8 +2205,8 @@ msgstr "Traži Resurs Zamene:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2129,8 +2214,8 @@ msgid "Open"
msgstr "Otvori"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Vlasnici Od:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2424,7 +2509,7 @@ msgid "Bus Options"
msgstr "Podešavanja Magistrale"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2476,8 +2561,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2680,6 +2765,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopiraj Označeno"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2692,6 +2794,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2795,8 +2917,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2966,9 +3105,9 @@ msgid "Import"
msgstr ""
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4045,14 +4184,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4172,6 +4303,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Animacija Preimenuj Kanal"
@@ -4200,6 +4335,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4829,11 +4968,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4928,6 +5069,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Izmjeni Selekciju Krivulje"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5187,7 +5333,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Napravi"
@@ -5213,6 +5361,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Sve sekcije"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5743,10 +5900,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6474,14 +6633,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6609,7 +6760,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filtriraj signale"
@@ -6864,7 +7015,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6892,6 +7043,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7552,11 +7715,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7574,11 +7746,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7675,10 +7842,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7719,10 +7888,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7833,7 +7998,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Tranzicija: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -7850,11 +8016,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8736,6 +8897,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8799,6 +8961,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9546,7 +9712,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9776,6 +9942,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Poligoni"
@@ -9929,13 +10096,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9944,10 +10104,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10634,13 +10790,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Razmera"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Tranzicija: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10663,11 +10823,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11143,8 +11298,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Konvertuj u CPUParticles2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11175,15 +11331,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Sve sekcije"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11247,6 +11404,11 @@ msgid "New Animation"
msgstr "Nova Animacija"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Animacija"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12121,8 +12283,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13577,20 +13738,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13598,14 +13754,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13706,19 +13854,24 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
+msgstr "Izmjeni Selekciju Krivulje"
+
+#: editor/project_export.cpp
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Choose an export mode:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13726,14 +13879,20 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Izmjeni Selekciju Krivulje"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Izmjeni Selekciju Krivulje"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14006,11 +14165,11 @@ msgid "Project Manager"
msgstr "Izmjeni Selekciju Krivulje"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15176,8 +15335,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Obriši Selekciju"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16018,7 +16178,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Poligoni"
@@ -16187,7 +16347,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16599,7 +16759,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16628,6 +16787,19 @@ msgstr "Centriraj Čvor"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Napravi"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Napravi"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17034,7 +17206,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17042,7 +17214,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17416,7 +17588,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17424,7 +17596,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17581,12 +17753,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Neispravni argumenti za konstrukciju '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Neispravni argumenti za konstrukciju '%s'"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17597,12 +17771,14 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Metod nije nađen u objektu: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Metod nije nađen u objektu: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -17902,6 +18078,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Animacija Uduplaj Ključeve"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17910,6 +18091,15 @@ msgstr ""
msgid "Export Format"
msgstr "Homogenost Boje."
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Ukloni Čvor"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17946,15 +18136,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Ukloni Čvor"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -18109,10 +18290,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18189,12 +18366,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18203,25 +18380,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Animacija Uduplaj Ključeve"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18237,6 +18438,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18265,7 +18470,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18276,19 +18481,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18301,7 +18504,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18316,7 +18519,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18324,15 +18527,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18342,7 +18542,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18578,6 +18778,15 @@ msgstr "Animacija Uduplaj Ključeve"
msgid "Custom BG Color"
msgstr "Animacija Uduplaj Ključeve"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18599,19 +18808,29 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Nedozvoljen indeks tipa %s za bazu tipa %s"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Izmeni Konekciju:"
+
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not read file: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18688,15 +18907,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18973,9 +19192,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Napravi"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18991,18 +19227,71 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Identitet nije pronađen."
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Sve sekcije"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Homogenost Boje."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19010,7 +19299,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19051,6 +19340,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Izmjeni Selekciju Krivulje"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19350,6 +19648,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19394,6 +19696,62 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Kontanta"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Neispravni argumenti za konstrukciju '%s'"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19412,6 +19770,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19427,6 +19801,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19541,7 +19919,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19588,7 +19967,7 @@ msgstr "Uveličaj"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20280,35 +20659,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Izmeni Konekciju:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
-msgstr ""
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Kontanta"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Path Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Napredno"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Avoidance Enabled"
msgstr "Filtriraj signale"
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Neighbors"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20331,13 +20731,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Centriraj Čvor"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20345,7 +20748,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Kontanta"
@@ -21431,6 +21834,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformacija homogenosti."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21452,12 +21862,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22284,6 +22688,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Animacija Promjeni Transformaciju"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23425,6 +23834,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Samo Obeleženo"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Filtriraj signale"
@@ -23801,16 +24215,17 @@ msgstr "Putanja"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23957,6 +24372,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Napravi"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Napravi"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25308,7 +25733,7 @@ msgstr "Tranzicija: "
msgid "Refraction"
msgstr "Odvajanje:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25386,8 +25811,14 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
+#, fuzzy
+msgid "Sampling"
+msgstr "Razmera"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "Odvajanje:"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -25402,7 +25833,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25414,11 +25849,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Uduplaj Selekciju"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25431,6 +25871,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25447,9 +25891,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Obriši Selekciju"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -25832,6 +26285,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Napravi"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25848,6 +26306,26 @@ msgstr "Levi Linearni"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Vrednost:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Traži Zamenu za:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Traži Zamenu za:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Izmeni Konekciju:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index 585d210a06..9fd6b9bf67 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -14,7 +14,7 @@
# Mattias Münster <mattiasmun@gmail.com>, 2019.
# Anonymous <noreply@weblate.org>, 2020.
# Joakim Lundberg <joakim@joakimlundberg.com>, 2020.
-# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2020, 2021.
+# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2020, 2021, 2022.
# Jonas Robertsson <jonas.robertsson@posteo.net>, 2020, 2021.
# André Andersson <andre.eric.andersson@gmail.com>, 2020.
# Andreas Westrell <andreas.westrell@gmail.com>, 2020.
@@ -22,16 +22,18 @@
# Shaggy <anton_christoffersson@hotmail.com>, 2020.
# Marcus Toftedahl <marcus.toftedahl@his.se>, 2020.
# Alex25820 <Alexander_sjogren@hotmail.se>, 2021.
-# Leon <joel.lundborg@gmail.com>, 2021.
+# Leon <joel.lundborg@gmail.com>, 2021, 2022.
# Kent Jofur <kent.jofur@gmail.com>, 2021.
# Alex25820 <alexs25820@gmail.com>, 2021.
+# Björn Åkesson <bjorn.akesson@gmail.com>, 2022.
+# Kenny Andersson <kenny@ordinary.se>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-12-20 18:53+0000\n"
-"Last-Translator: Alex25820 <alexs25820@gmail.com>\n"
+"PO-Revision-Date: 2022-07-23 03:57+0000\n"
+"Last-Translator: Kenny Andersson <kenny@ordinary.se>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/"
"godot/sv/>\n"
"Language: sv\n"
@@ -39,11 +41,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.10\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
+#, fuzzy
msgid "Tablet Driver"
-msgstr ""
+msgstr "Drivrutin för surfplatta"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -51,18 +54,16 @@ msgid "Clipboard"
msgstr "Klippbordet är tomt!"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Nuvarande Scen"
+msgstr "Nuvarande Skärm"
#: core/bind/core_bind.cpp
msgid "Exit Code"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "Aktivera"
+msgstr "V-Synk Aktivt"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
@@ -73,9 +74,8 @@ msgid "Delta Smoothing"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Exportera Projekt"
+msgstr "Läge för låg processoranvändning"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
@@ -86,9 +86,8 @@ msgid "Keep Screen On"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "Storlek:"
+msgstr "Minsta fönsterstorlek"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -108,11 +107,11 @@ msgstr "Nytt Fönster"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "Kantlös"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Genomskinlighet per pixel aktiverad"
#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
@@ -121,16 +120,16 @@ msgstr "Växla Fullskärm"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Maximerad"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "Minimerad"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Anpassningsbar"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -150,36 +149,32 @@ msgstr "Dockposition"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "Storlek:"
+msgstr "Storlek"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Redigera Tema"
+msgstr "Redigeringsförslag"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Skriv ut felmeddelanden"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "Interpolationsläge"
+msgstr "Upprepningar per sekund"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr ""
+msgstr "Mål FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "Skala"
+msgstr "Tidsskala"
#: core/bind/core_bind.cpp main/main.cpp
#, fuzzy
@@ -201,13 +196,12 @@ msgid "Error Line"
msgstr "Fel vid sparande"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "Sök Hjälp"
+msgstr "Resultat"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Minne"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -218,7 +212,7 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Begränsningar"
#: core/command_queue_mt.cpp
#, fuzzy
@@ -227,67 +221,63 @@ msgstr "Ctrl: Rotera"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Flertrådsköstorlek (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Funktioner"
+msgstr "Funktion"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "Data"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr "Nätverksprofilerare"
+msgstr "Nätverk"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Ta bort"
+msgstr "Fjärr FS"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "Sida: "
+msgstr "Sidstorlek"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Sida läs framåt"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Blockeringsläge Aktiverat"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Anslut"
+msgstr "Anslutning"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Läs segmentstorlek"
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "Objekt ID"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
msgid "Allow Object Decoding"
-msgstr ""
+msgstr "Tillåt objekt avkodning"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Neka nya nätverksanslutningar"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
#, fuzzy
@@ -311,36 +301,35 @@ msgstr "Transformera"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Maxstorlek för kodningsbufferten"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "Maximal storlek på inmatningsbufferten"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "Maxstorlek för utgångsbuffert"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "Strömningsenhet"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Big Endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Datamatris"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Blockering av handskakning"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Redigera Koppling:"
+msgstr "Max väntande anslutningar"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -355,11 +344,11 @@ msgstr "Förväntade en sträng av längden 1 (ett tecken)."
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Inte nog med bytes för att avkoda, eller ogiltigt format."
+msgstr "Otillräckligt antal bytes för att avkoda, eller ogiltigt format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Ogiltig indata %i (ej överförd) i uttrycket"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Ogiltig inmatning %d (ej överförd) i uttrycket"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -388,7 +377,7 @@ msgstr "I anrop till '%s':"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "Seed"
#: core/math/random_number_generator.cpp
#, fuzzy
@@ -397,11 +386,20 @@ msgstr "Status"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Meddelandekö"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "Maxstorlek (KB)"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Växla Läge"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Använd ackumulerad input"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
@@ -409,13 +407,12 @@ msgid "Device"
msgstr "Enhet"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Alt"
-msgstr "Alla"
+msgstr "Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "Shift"
#: core/os/input_event.cpp
#, fuzzy
@@ -424,13 +421,18 @@ msgstr "Versionshantering"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
#, fuzzy
msgid "Command"
msgstr "Gemenskap"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Fysik Bildruta %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -439,9 +441,8 @@ msgid "Pressed"
msgstr "Återställ Zoom"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Skanna"
+msgstr "Scancode"
#: core/os/input_event.cpp
msgid "Physical Scancode"
@@ -449,7 +450,7 @@ msgstr ""
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
@@ -466,9 +467,8 @@ msgid "Global Position"
msgstr "Konstant"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "Vektor"
+msgstr "Faktor"
#: core/os/input_event.cpp
#, fuzzy
@@ -477,21 +477,23 @@ msgstr "Automatisk Indentering"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "Dubbelklick"
#: core/os/input_event.cpp
msgid "Tilt"
msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "Återställ Zoom"
+msgstr "Tryck"
+
+#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "Invertera penna"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Relative"
-msgstr "GDNative"
+msgstr "Relativ"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
@@ -507,9 +509,8 @@ msgid "Axis"
msgstr "Axel"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "Värde"
+msgstr "Axelvärde"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
@@ -525,21 +526,19 @@ msgstr "Åtgärd"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "Styrka"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "Delta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "Ändra"
+msgstr "Kanal"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "Synkronisera Skript-ändringar"
+msgstr "Meddelande"
#: core/os/input_event.cpp
#, fuzzy
@@ -550,11 +549,11 @@ msgstr "Växla"
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
msgid "Velocity"
-msgstr ""
+msgstr "Hastighet"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "Instrument"
#: core/os/input_event.cpp
#, fuzzy
@@ -568,13 +567,13 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "Åtgärd"
+msgstr "Applikation"
#: core/project_settings.cpp main/main.cpp
+#, fuzzy
msgid "Config"
-msgstr ""
+msgstr "Konfigurera"
#: core/project_settings.cpp
#, fuzzy
@@ -602,14 +601,15 @@ msgstr "Beskrivning"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Kör"
#: core/project_settings.cpp editor/editor_node.cpp
#: editor/run_settings_dialog.cpp main/main.cpp
msgid "Main Scene"
-msgstr ""
+msgstr "Huvudscen"
#: core/project_settings.cpp
#, fuzzy
@@ -623,15 +623,15 @@ msgstr "Avaktiverad"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "Använda dold projektdatakatalog"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Använd anpassad användarkatalog"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "Anpassad användarkatalognamn"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
@@ -644,7 +644,7 @@ msgstr "Ersätt Alla"
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Bredd"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -652,13 +652,12 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Höger"
+msgstr "Höjd"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Alltid överst"
#: core/project_settings.cpp
#, fuzzy
@@ -685,47 +684,49 @@ msgstr "Ladda standard Buss-Layouten."
#: editor/editor_settings.cpp editor/script_create_dialog.cpp
#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
msgid "Editor"
-msgstr ""
+msgstr "Redigerare"
#: core/project_settings.cpp
msgid "Main Run Args"
-msgstr ""
+msgstr "Huvudkörnings arg"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Scen Filsökväg:"
#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "Sök i filändelser"
#: core/project_settings.cpp
+#, fuzzy
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Versionshantering"
+msgstr "Sökväg för skriptmallar"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Versionshantering"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Plugin Namn:"
+msgid "Version Control Plugin Name"
+msgstr "Versionshantering"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
msgid "Input"
-msgstr ""
+msgstr "Input"
#: core/project_settings.cpp
+#, fuzzy
msgid "UI Accept"
-msgstr ""
+msgstr "UI Acceptera"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "Välj"
+msgstr "Ui Välj"
#: core/project_settings.cpp
#, fuzzy
@@ -757,9 +758,8 @@ msgid "UI Up"
msgstr ""
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "Ladda ner"
+msgstr "UI Ner"
#: core/project_settings.cpp
#, fuzzy
@@ -768,11 +768,11 @@ msgstr "Sida: "
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "UI sida ner"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "UI hem"
#: core/project_settings.cpp
msgid "UI End"
@@ -828,7 +828,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Filter:"
@@ -908,7 +909,7 @@ msgstr ""
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
#, fuzzy
@@ -921,11 +922,12 @@ msgstr ""
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Max buffer (2 potenser)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
+#, fuzzy
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
#, fuzzy
@@ -941,7 +943,7 @@ msgstr "Resurs"
#: core/resource.cpp
#, fuzzy
msgid "Local To Scene"
-msgstr "Stäng Scen"
+msgstr "Lokalt till scenen"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -960,12 +962,13 @@ msgid "Locale"
msgstr ""
#: core/translation.cpp
+#, fuzzy
msgid "Test"
-msgstr ""
+msgstr "Test"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "Reserv"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -1000,18 +1003,21 @@ msgstr "EiB"
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
+#, fuzzy
msgid "Buffers"
-msgstr ""
+msgstr "Buffertar"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
+#, fuzzy
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "Buffertstorlek för canvaspolygon (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
+#, fuzzy
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "Buffertstorlek för Canvas Polygon Index (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -1022,8 +1028,9 @@ msgstr ""
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
+#, fuzzy
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1034,42 +1041,47 @@ msgstr "Alternativ"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Use GPU Pixel Snap"
-msgstr ""
+msgstr "Använd GPU pixel vidhäftning"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
+#, fuzzy
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Omedelbar buffertstorlek (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
+#, fuzzy
msgid "Lightmapping"
-msgstr ""
+msgstr "Ljusmappning"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
+#, fuzzy
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Använd bikubisk sampling"
#: drivers/gles3/rasterizer_scene_gles3.cpp
+#, fuzzy
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Max återgivningsbara element"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Max renderbara ljuskällor"
#: drivers/gles3/rasterizer_scene_gles3.cpp
+#, fuzzy
msgid "Max Renderable Reflections"
-msgstr ""
+msgstr "Max renderingsbara reflektioner"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Max antal ljuskällor per objekt"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Subsurface Scattering"
#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1093,17 +1105,21 @@ msgid "Weight Samples"
msgstr ""
#: drivers/gles3/rasterizer_scene_gles3.cpp
+#, fuzzy
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Voxel Kon Spårning"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
+#, fuzzy
msgid "High Quality"
-msgstr ""
+msgstr "Hög kvalitet"
#: drivers/gles3/rasterizer_storage_gles3.cpp
+#, fuzzy
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "Mixform Max buffertstorlek (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratis"
@@ -1120,7 +1136,7 @@ msgstr "Spegla"
msgid "Time:"
msgstr "Tid:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Värde:"
@@ -1154,7 +1170,7 @@ msgstr "Anim Ta Bort Nycklar"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "Anim Ändra Nyckelbildstid"
+msgstr "Anim Ändra Tidsnyckelns Tid"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
@@ -1212,7 +1228,7 @@ msgstr "Välj Färg"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argument"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1223,23 +1239,25 @@ msgstr "Typ"
#: editor/animation_track_editor.cpp
msgid "In Handle"
-msgstr ""
+msgstr "Handtag in"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Out Handle"
-msgstr ""
+msgstr "Handtag ut"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
+#, fuzzy
msgid "Stream"
-msgstr ""
+msgstr "Ström"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Start Offset"
-msgstr "Icon Läge"
+msgstr "Startförskjutning"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1258,7 +1276,7 @@ msgstr "Animation"
#: editor/animation_track_editor.cpp
msgid "Easing"
-msgstr ""
+msgstr "Lätta"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1367,10 +1385,73 @@ msgid "Remove this track."
msgstr "Ta bort detta spår."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Tid (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Dockposition"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Ctrl: Rotera"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Skala:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Typ:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Måste använda en giltigt filändelse."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Varning:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Handtag ut:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Ljud-Lyssnare"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Starta"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Slut (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animationer:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Växla Spår På"
@@ -1423,7 +1504,7 @@ msgstr "Duplicera Nycklar"
#: editor/animation_track_editor.cpp
msgid "Add RESET Value(s)"
-msgstr ""
+msgstr "Lägg till RESET-värde(n)"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
@@ -1505,7 +1586,7 @@ msgstr ""
#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
#: editor/animation_track_editor.cpp
msgid "property '%s'"
-msgstr "egenskapen '%s'"
+msgstr "egenskap '%s'"
#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
@@ -1584,7 +1665,8 @@ msgid "Add Method Track Key"
msgstr "Lägg till metodspårnyckel"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Metoden hittades inte i objektet: "
#: editor/animation_track_editor.cpp
@@ -1737,9 +1819,8 @@ msgid "Go to Previous Step"
msgstr "Gå till Föregående Steg"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Apply Reset"
-msgstr "Återställ Zoom"
+msgstr "Verkställ återställning"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
@@ -2122,14 +2203,15 @@ msgstr "Favoriter:"
msgid "Recent:"
msgstr "Senaste:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Sök:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Matchar:"
@@ -2189,8 +2271,8 @@ msgstr "Sök Ersättningsresurs:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2198,18 +2280,18 @@ msgid "Open"
msgstr "Öppna"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Ägare av:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Ägare av: %s (Totalt: %d)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Remove the selected files from the project? (Cannot be undone.)\n"
"Depending on your filesystem configuration, the files will either be moved "
"to the system trash or deleted permanently."
msgstr ""
-"Ta bort valda filer från projektet? (Kan ej återställas)\n"
-"Du kan hitta de borttagna filerna i systemets papperskorg."
+"Ta bort de valda filerna från projektet? (Kan ej ångras.)\n"
+"Beroende på hur ditt filsystem är konfigurerat så kommer filerna antingen "
+"flyttas till systemets papperskorg eller tas bort permanent."
#: editor/dependency_editor.cpp
msgid ""
@@ -2294,7 +2376,7 @@ msgstr "Tack från Godot-gemenskapen!"
#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp
msgid "Click to copy."
-msgstr "Klicka för att kopiera."
+msgstr "Klicka för att kopiera"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -2392,30 +2474,32 @@ msgid "Licenses"
msgstr "Licenser"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr "Fel vid öppning av paketetfil, inte i zip-format."
+msgstr "Fel vid öppning av tillgångsfilen för \"%s\" (inte i ZIP-format)."
#: editor/editor_asset_installer.cpp
msgid "%s (already exists)"
msgstr "%s (existerar redan)"
#: editor/editor_asset_installer.cpp
+#, fuzzy
msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
msgstr ""
+"Innehållet i resursen \"%s\" - %d fil(er) står i konflikt med ditt projekt:"
#: editor/editor_asset_installer.cpp
+#, fuzzy
msgid "Contents of asset \"%s\" - No files conflict with your project:"
msgstr ""
+"Innehållet i resursen \"%s\" - Inga filer står i konflikt med ditt projekt:"
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
msgstr "Dekomprimerar Tillgångar"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "The following files failed extraction from asset \"%s\":"
-msgstr "Följande filer misslyckades att packas upp från paketet:"
+msgstr "Följande filer misslyckades att packas upp från paketet \"%s\":"
#: editor/editor_asset_installer.cpp
msgid "(and %s more files)"
@@ -2423,7 +2507,7 @@ msgstr "(och %s fler filer)"
#: editor/editor_asset_installer.cpp
msgid "Asset \"%s\" installed successfully!"
-msgstr "Paketet \"%s\" har installerats!"
+msgstr "Installation av tillgången \"%s\" lyckades!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -2435,9 +2519,8 @@ msgid "Install"
msgstr "Installera"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Asset Installer"
-msgstr "Paketinstallerare"
+msgstr "Tillgångsinstallerare"
#: editor/editor_audio_buses.cpp
msgid "Speakers"
@@ -2505,7 +2588,7 @@ msgid "Bus Options"
msgstr "Buss-alternativ"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicera"
@@ -2557,8 +2640,9 @@ msgstr "Öppna Ljud-Buss Layout"
msgid "There is no '%s' file."
msgstr "Det finns ingen '%s' fil."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Layout"
#: editor/editor_audio_buses.cpp
@@ -2617,8 +2701,9 @@ msgid "Invalid name."
msgstr "Ogiltigt namn."
#: editor/editor_autoload_settings.cpp
+#, fuzzy
msgid "Cannot begin with a digit."
-msgstr ""
+msgstr "Kan inte börja med en siffra."
#: editor/editor_autoload_settings.cpp
msgid "Valid characters:"
@@ -2683,7 +2768,7 @@ msgstr "%s är en ogiltig genväg. Filen existerar inte."
#: editor/editor_autoload_settings.cpp
msgid "%s is an invalid path. Not in resource path (res://)."
-msgstr ""
+msgstr "%s är en ogiltig genväg. Inte i resurs-genväg (res://)."
#: editor/editor_autoload_settings.cpp
msgid "Add AutoLoad"
@@ -2762,6 +2847,25 @@ msgid "Choose"
msgstr "Välj"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Projektexport för plattformen:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopiera Nod-Sökväg"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Paketet installerades!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Misslyckades:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Lagrar Fil:"
@@ -2774,6 +2878,31 @@ msgid "Packing"
msgstr "Packar"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Spara Som"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Kunde inte skapa mapp."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Kunde inte exportera projektfiler"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Kan inte öppna fil för skrivande:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Spara Som"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2806,8 +2935,8 @@ msgid ""
"Target platform requires 'PVRTC' texture compression for GLES2. Enable "
"'Import Pvrtc' in Project Settings."
msgstr ""
-"Målplattformen kräver 'PVRTC'-texturkomprimering för GLES2. Aktivera 'Import "
-"Pvrtc' i projektinställningarna."
+"Målplattformen kräver 'PVRTC' texturkomprimering för GLES2. Aktivera "
+"'Importera Pvrtc' i Projektinställningarna."
#: editor/editor_export.cpp
msgid ""
@@ -2839,7 +2968,7 @@ msgstr "Redigera Tema"
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/export/export.cpp
msgid "Release"
-msgstr ""
+msgstr "Släpp"
#: editor/editor_export.cpp
#, fuzzy
@@ -2848,11 +2977,12 @@ msgstr "Färg enhetlig."
#: editor/editor_export.cpp
msgid "64 Bits"
-msgstr ""
+msgstr "64 bitar"
#: editor/editor_export.cpp
+#, fuzzy
msgid "Embed PCK"
-msgstr ""
+msgstr "Bädda in PCK"
#: editor/editor_export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -2891,17 +3021,38 @@ msgstr "Mallfil hittades inte."
msgid "Custom release template not found."
msgstr "Anpassad release mall hittades inte."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Hantera Mallar"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Den angivna export vägen finns inte:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Mallfil hittades inte:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Hantera exportmallar..."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "PCK Inbäddning"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Den inbäddade PCK får inte vara större än 4 GiB på 32 bitars exporter."
#: editor/editor_export.cpp
msgid "Convert Text Resources To Binary On Export"
-msgstr ""
+msgstr "Konvertera textresurser till binära vid export"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -2930,9 +3081,8 @@ msgid "FileSystem Dock"
msgstr "FilSystem"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Importera"
+msgstr "Importera Brygga"
#: editor/editor_feature_profile.cpp
msgid "Allows to view and edit 3D scenes."
@@ -2944,17 +3094,19 @@ msgstr "Tillåter att redigera skript via den integrerade skript-redigeraren."
#: editor/editor_feature_profile.cpp
msgid "Provides built-in access to the Asset Library."
-msgstr ""
+msgstr "Ger inbyggd tillgång till tillgångsbiblioteket."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr ""
+msgstr "Tillåter redigering av nodhierarkin i scendockan."
#: editor/editor_feature_profile.cpp
msgid ""
"Allows to work with signals and groups of the node selected in the Scene "
"dock."
msgstr ""
+"Tillåter arbete med signaler och grupper av noden som valts i Scendockan."
#: editor/editor_feature_profile.cpp
msgid "Allows to browse the local file system via a dedicated dock."
@@ -2992,19 +3144,16 @@ msgid "(Editor Disabled, Properties Disabled)"
msgstr "(Editor inaktiverad, Egenskaper inaktiverad)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Egenskaper"
+msgstr "(Egenskaper avstängda)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Redigera Variabel"
+msgstr "(Redigeraren är avstängd)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Beskrivning:"
+msgstr "Klassalternativ:"
#: editor/editor_feature_profile.cpp
msgid "Enable Contextual Editor"
@@ -3041,9 +3190,8 @@ msgid "Error saving profile to path: '%s'."
msgstr "Fel vid laddning av mall '%s'."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Reset to Default"
-msgstr "Ladda Standard"
+msgstr "Återställ till Standard"
#: editor/editor_feature_profile.cpp
msgid "Current Profile:"
@@ -3075,9 +3223,9 @@ msgid "Import"
msgstr "Importera"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Exportera"
@@ -3096,18 +3244,16 @@ msgid "Create or import a profile to edit available classes and properties."
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Nytt namn:"
+msgstr "Nytt profilnamn:"
#: editor/editor_feature_profile.cpp
msgid "Godot Feature Profile"
msgstr "Godot funktions profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "%d fler filer"
+msgstr "Importera profil(er)"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -3141,9 +3287,8 @@ msgid "Copy Path"
msgstr "Kopiera Sökväg"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open in File Manager"
-msgstr "Visa I Filhanteraren"
+msgstr "Öppna i filhanteraren"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
#: editor/filesystem_dock.cpp editor/project_manager.cpp
@@ -4281,15 +4426,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Scen"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Scen Filsökväg:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4416,6 +4552,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Versionshantering"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Byt namn"
@@ -4444,6 +4584,10 @@ msgstr "Växla distraktionsfritt läge."
msgid "Add a new scene."
msgstr "Lägg till en ny scen."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Scen"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Gå till föregående öppna scen."
@@ -5099,11 +5243,14 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Storlek: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Storlek:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Sida: "
#: editor/editor_properties_array_dict.cpp
@@ -5203,6 +5350,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Projekt"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Skriv din logik i _run() metoden."
@@ -5396,7 +5548,7 @@ msgstr "Miniatyr..."
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "Anslutningar"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5480,7 +5632,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "Animations-Node"
@@ -5507,6 +5661,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Alla urval"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6060,10 +6223,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Projektledare"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6853,14 +7018,6 @@ msgid "Replace in Files"
msgstr "Ersätt Alla"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Hitta: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Ersätt: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Ersätt Alla"
@@ -7001,7 +7158,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Filter:"
@@ -7265,7 +7422,8 @@ msgid "Generating Lightmaps"
msgstr "Genererar Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Generera för mesh: "
#: editor/import/resource_importer_scene.cpp
@@ -7293,6 +7451,18 @@ msgid "Saving..."
msgstr "Sparar..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7999,11 +8169,20 @@ msgid "New Anim"
msgstr "Ny Anim"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Skapa Ny Animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Ändra Animationsnamn:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Byt namn på Animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Ta bort Animation?"
@@ -8023,11 +8202,6 @@ msgid "Animation name already exists!"
msgstr "ERROR: Animationsnamn finns redan!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Byt namn på Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Duplicera Animation"
@@ -8127,11 +8301,13 @@ msgstr "Alternativ"
msgid "Directions"
msgstr "Riktningar"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Past"
msgstr "Klistra in"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -8173,10 +8349,6 @@ msgid "Pin AnimationPlayer"
msgstr "Klistra in Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Skapa Ny Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8293,7 +8465,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Övergång: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8310,11 +8483,6 @@ msgid "New name:"
msgstr "Nytt namn:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Skala:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -9240,6 +9408,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9304,6 +9473,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Layout"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10086,8 +10259,9 @@ msgid "Volume"
msgstr "Volym"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Synliga Kollisionsformer"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10322,6 +10496,7 @@ msgid "Points"
msgstr "Flytta Ner"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "Redigera Polygon"
@@ -10481,13 +10656,6 @@ msgid "Instance:"
msgstr "Instans:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Typ:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10496,11 +10664,6 @@ msgstr ""
msgid "Load Resource"
msgstr "Ladda Resurs"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "Resurs"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11134,7 +11297,7 @@ msgstr "Spela"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
-msgstr ""
+msgstr "Ortogonal"
#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
msgid "Perspective"
@@ -11241,13 +11404,17 @@ msgstr "Ctrl: Rotera"
msgid "Translate"
msgstr "Översättningar"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "Skalning: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Översättningar:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11271,11 +11438,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Storlek:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11302,7 +11464,7 @@ msgstr "Partiklar"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "FPS: %d (%s ms)"
-msgstr ""
+msgstr "FPS: %d (%s ms)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
@@ -11772,7 +11934,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "Konvertera till %s"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11806,15 +11968,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Åtgärd"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11882,6 +12045,11 @@ msgid "New Animation"
msgstr "Animation"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Filtrera noder"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12820,8 +12988,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "Raw-Läge"
@@ -14314,20 +14481,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -14336,14 +14498,6 @@ msgid "Exporting All"
msgstr "Exportera"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Den angivna export vägen finns inte:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export Path"
msgstr "Exportera Projekt"
@@ -14448,20 +14602,28 @@ msgid "More Info..."
msgstr "Flytta Till..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Exportera PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Exportera Projekt"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Export läge?"
+#, fuzzy
+msgid "Export All"
+msgstr "Exportera"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "Välj en tom mapp."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Exportera"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14470,14 +14632,20 @@ msgid "ZIP File"
msgstr "Fil"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Exportera Projekt"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projektgrundare"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14771,15 +14939,15 @@ msgid "Project Manager"
msgstr "Projektledare"
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr "Senast Ändrad"
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "Laddar..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr "Senast Ändrad"
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Exportera Projekt"
@@ -15982,8 +16150,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Ta bort"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16847,7 +17016,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Redigera Polygon"
@@ -17022,7 +17191,8 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Bibliotek: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17460,7 +17630,6 @@ msgid "Use In Baked Light"
msgstr "Höger"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17490,6 +17659,19 @@ msgstr "Skapa Node"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Animations-Node"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Animations-Node"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
msgid "Next Plane"
@@ -17906,7 +18088,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17914,7 +18096,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18294,7 +18476,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18302,7 +18484,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18472,12 +18654,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Ogiltiga argument för att bygga '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Ogiltigt namn."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18489,11 +18673,13 @@ msgid "Var Name"
msgstr "Namn"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet hittades inte i Skript: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet hittades inte i Skript: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18813,6 +18999,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Klipp ut Noder"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18821,6 +19012,16 @@ msgstr ""
msgid "Export Format"
msgstr "Exportera Projekt"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Storlek:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Byt Förälder-Node"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18859,16 +19060,6 @@ msgstr "Föregående flik"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Storlek:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Byt Förälder-Node"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19037,10 +19228,6 @@ msgid "Could not execute on device."
msgstr "Kunde inte skapa mapp."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19117,12 +19304,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19131,25 +19318,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Signaler"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19168,6 +19379,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Det gick inte att hitta nyckellager, det gick inte att exportera."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Kunde inte starta underprocess!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19198,7 +19414,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19209,20 +19425,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Kunde inte exportera projektfiler"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19234,7 +19449,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19250,7 +19465,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Animeringsverktyg"
#: platform/android/export/export_plugin.cpp
@@ -19260,15 +19475,12 @@ msgstr "Skapar konturer..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "Kunde inte öppna mall för export:"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19279,7 +19491,8 @@ msgid "Adding files..."
msgstr "Lägger till %s..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Kunde inte exportera projektfiler"
#: platform/android/export/export_plugin.cpp
@@ -19521,6 +19734,17 @@ msgstr "Klipp ut Noder"
msgid "Custom BG Color"
msgstr "Klipp ut Noder"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Hantera Mallar"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Anpassad release mall hittades inte."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19542,23 +19766,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Kör exporterad HTML i systemets standardwebbläsare."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Kunde inte öppna mall för export:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Måste använda en giltigt filändelse."
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Kunde inte skriva till filen:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Innehåll:"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Kunde inte skriva till filen:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Sektioner:"
@@ -19634,15 +19870,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Kunde inte skriva till filen:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Kunde inte skapa HTTP-serverkatalog:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Fel vid start av HTTP-server:"
#: platform/javascript/export/export.cpp
@@ -19940,9 +20178,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Kunde inte exportera projektfiler"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Kunde inte starta underprocess!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Lokalisering"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19958,21 +20215,76 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Hittades inte!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Fel vid sparande av fil: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Riktningar"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Kunde inte starta underprocess!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Skapar Miniatyr"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Kunde inte öppna mall för export:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Ogiltig Sökväg."
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19980,7 +20292,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20022,6 +20334,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Projekt"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Kunde inte öppna mall för export:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Ogiltig identifierare:"
@@ -20334,6 +20656,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Kan inte spara tema till fil:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20380,6 +20707,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Slumpmässig Rotation:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Det gick inte att hitta nyckellager, det gick inte att exportera."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Det gick inte att hitta nyckellager, det gick inte att exportera."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Måste använda en giltigt filändelse."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Det gick inte att hitta nyckellager, det gick inte att exportera."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Det gick inte att hitta nyckellager, det gick inte att exportera."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Ogiltig identifierare:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Ogiltigt namn."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Måste använda en giltigt filändelse."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Kan inte spara tema till fil:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20401,6 +20792,23 @@ msgid "Invalid product version:"
msgstr "Ogiltig produkt GUID."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Måste använda en giltigt filändelse."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Nytt Fönster"
@@ -20417,6 +20825,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20540,7 +20952,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Instans"
@@ -20591,7 +21004,7 @@ msgstr "Zooma In"
msgid "Custom Viewport"
msgstr "Vy underifrån"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21314,34 +21727,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Redigera Koppling:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Slumpmässig Rotation:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Välj en Huvudscen"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "Avancerad"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Aktivera"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Aktivera"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21366,15 +21801,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-"NavigationPolygonInstance måste vara ett barn eller barnbarn till en "
-"Navigation2D-Node. Den ger bara navigationsdata."
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Botten"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -21383,7 +21819,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr "Roterar %s grader."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Konstant"
@@ -22532,6 +22968,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Transformera uniform."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22555,12 +22998,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23416,6 +23853,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Transformera"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24297,8 +24739,9 @@ msgid "Alpha"
msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#, fuzzy
msgid "Caret"
-msgstr ""
+msgstr "Markör"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
@@ -24621,6 +25064,11 @@ msgstr "Mapp:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Endast Urval"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Aktivera"
@@ -24951,9 +25399,8 @@ msgid "Draw 2D Outlines"
msgstr ""
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "Riktningar"
+msgstr "Reflektioner"
#: scene/main/scene_tree.cpp
msgid "Atlas Size"
@@ -25018,16 +25465,17 @@ msgstr "Exportera Projekt"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25186,6 +25634,16 @@ msgid "3D Physics"
msgstr "Fysik Bildruta %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Animations-Node"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Animations-Node"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26583,7 +27041,7 @@ msgstr "Övergång: "
msgid "Refraction"
msgstr "Sektioner:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26665,7 +27123,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Skalning: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Ändra Bas Typ:"
#: scene/resources/navigation_mesh.cpp
@@ -26682,10 +27145,15 @@ msgid "Source Group Name"
msgstr "Källa"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Innehåll:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26694,11 +27162,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Raw-Läge"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26711,6 +27184,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Ladda Standard"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26727,9 +27205,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Ta Bort Mall"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27137,6 +27624,11 @@ msgid "Scenario"
msgstr "Scen"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Animations-Node"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27154,6 +27646,26 @@ msgstr "Linjär"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Standard"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Förhandsgranska"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Höger"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Redigera Koppling:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -27821,12 +28333,13 @@ msgid "UV Contract Amount"
msgstr ""
#: servers/visual_server.cpp
+#, fuzzy
msgid "Use Simple PVS"
-msgstr ""
+msgstr "Använd enkel PVS"
#: servers/visual_server.cpp
msgid "PVS Logging"
-msgstr ""
+msgstr "PVS loggning"
#: servers/visual_server.cpp
#, fuzzy
@@ -27839,8 +28352,9 @@ msgid "Remove Danglers"
msgstr "Ta Bort Mall"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Flip Imported Portals"
-msgstr ""
+msgstr "Vänd importerade portaler"
#: servers/visual_server.cpp
#, fuzzy
@@ -27848,8 +28362,9 @@ msgid "Occlusion Culling"
msgstr "Redigera Polygon"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Max Active Spheres"
-msgstr ""
+msgstr "Max aktiva sfärer"
#: servers/visual_server.cpp
#, fuzzy
@@ -27862,13 +28377,15 @@ msgid "Shader Compilation Mode"
msgstr "Interpolationsläge"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Max Simultaneous Compiles"
-msgstr ""
+msgstr "Max samtidiga kompileringar"
#: servers/visual_server.cpp
msgid "Log Active Async Compiles Count"
msgstr ""
#: servers/visual_server.cpp
+#, fuzzy
msgid "Shader Cache Size (MB)"
-msgstr ""
+msgstr "Shader Cache Storlek (MB)"
diff --git a/editor/translations/ta.po b/editor/translations/ta.po
deleted file mode 100644
index ff2036fb6d..0000000000
--- a/editor/translations/ta.po
+++ /dev/null
@@ -1,26253 +0,0 @@
-# Tamil translation of the Godot Engine editor
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
-# This file is distributed under the same license as the Godot source code.
-#
-# Senthil Kumar K <logickumar@gmail.com>, 2017.
-# Survesh VRL <123survesh@gmail.com>, 2020.
-# Sridhar <sreeafmarketing@gmail.com>, 2020.
-msgid ""
-msgstr ""
-"Project-Id-Version: Godot Engine editor\n"
-"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-09-01 10:38+0000\n"
-"Last-Translator: Sridhar <sreeafmarketing@gmail.com>\n"
-"Language-Team: Tamil <https://hosted.weblate.org/projects/godot-engine/godot/"
-"ta/>\n"
-"Language: ta\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.2.1-dev\n"
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Tablet Driver"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Clipboard"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-#, fuzzy
-msgid "Current Screen"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: core/bind/core_bind.cpp
-msgid "Exit Code"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "V-Sync Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "V-Sync Via Compositor"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Delta Smoothing"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Keep Screen On"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Min Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Max Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Screen Orientation"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Window"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Borderless"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Per Pixel Transparency Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Fullscreen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Maximized"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Minimized"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
-#: scene/gui/graph_node.cpp
-msgid "Resizable"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
-#: scene/gui/control.cpp scene/gui/line_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Position"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
-#: main/main.cpp modules/gridmap/grid_map.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
-#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-msgid "Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Endian Swap"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-#, fuzzy
-msgid "Editor Hint"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: core/bind/core_bind.cpp
-msgid "Print Error Messages"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Iterations Per Second"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Target FPS"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Time Scale"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Physics Jitter Fix"
-msgstr ""
-
-#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Error"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-#, fuzzy
-msgid "Error String"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: core/bind/core_bind.cpp
-msgid "Error Line"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Result"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
-msgid "Memory"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp
-#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#: servers/visual_server.cpp
-msgid "Limits"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Command Queue"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Multithreading Queue Size (KB)"
-msgstr ""
-
-#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
-msgid "Function"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Data"
-msgstr ""
-
-#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-msgid "Network"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-#, fuzzy
-msgid "Remote FS"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: core/io/file_access_network.cpp
-msgid "Page Size"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Read Ahead"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Blocking Mode Enabled"
-msgstr ""
-
-#: core/io/http_client.cpp
-#, fuzzy
-msgid "Connection"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: core/io/http_client.cpp
-msgid "Read Chunk Size"
-msgstr ""
-
-#: core/io/marshalls.cpp
-msgid "Object ID"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-msgid "Allow Object Decoding"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Refuse New Network Connections"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Network Peer"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
-msgid "Root Node"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
-msgid "Refuse New Connections"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Transfer Mode"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Encode Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Input Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Output Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Stream Peer"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Big Endian"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Data Array"
-msgstr ""
-
-#: core/io/stream_peer_ssl.cpp
-msgid "Blocking Handshake"
-msgstr ""
-
-#: core/io/udp_server.cpp
-#, fuzzy
-msgid "Max Pending Connections"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "தவறான வகை வாதம் மாற்று(), TYPE_ * மாறிலிகளைப் பயன்படுத்தவும்."
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-msgid "Expected a string of length 1 (a character)."
-msgstr "நீளமுள்ள சொல் (ஒரு எழுத்து) எதிர்பார்க்கப்படுகிறது."
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/mono/glue/gd_glue.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "டிகோடிங் போதுமான பைட்டுகள் இல்லை, அல்லது தவறான வடிவத்தில் உள்ளது."
-
-#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "தவறான உள்ளீடு% i (அனுப்பப்படவில்லை) இல் வெளிப்பாட்டில்"
-
-#: core/math/expression.cpp
-#, fuzzy
-msgid "self can't be used because instance is null (not passed)"
-msgstr ""
-"சுயத்தை பயன்படுத்த முடியாது, ஏனெனில் உதாரணம்(instance) பூஜ்யமானது "
-"(நிறைவேற்றப்படவில்லை)"
-
-#: core/math/expression.cpp
-msgid "Invalid operands to operator %s, %s and %s."
-msgstr "ஆபரேட்டர்% s,% s மற்றும்% s க்கு தவறான செயல்பாடுகள் உள்ளது."
-
-#: core/math/expression.cpp
-msgid "Invalid index of type %s for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid named index '%s' for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid arguments to construct '%s'"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "On call to '%s':"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Seed"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-msgid "State"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Message Queue"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Max Size (KB)"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: servers/audio_server.cpp
-msgid "Device"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Alt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Shift"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Control"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Meta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Command"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
-#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Pressed"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Physical Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Unicode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Echo"
-msgstr ""
-
-#: core/os/input_event.cpp scene/gui/base_button.cpp
-msgid "Button Mask"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
-msgid "Global Position"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: core/os/input_event.cpp
-msgid "Factor"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Button Index"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Doubleclick"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Tilt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pressure"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Relative"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
-#: scene/animation/animation_player.cpp scene/resources/environment.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: scene/3d/sprite_3d.cpp
-msgid "Axis"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Axis Value"
-msgstr ""
-
-#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-msgid "Index"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/touch_screen_button.cpp
-#, fuzzy
-msgid "Action"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: core/os/input_event.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Strength"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Delta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Channel"
-msgstr ""
-
-#: core/os/input_event.cpp main/main.cpp
-msgid "Message"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pitch"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-msgid "Velocity"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Instrument"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Number"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Value"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-#, fuzzy
-msgid "Application"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: core/project_settings.cpp main/main.cpp
-msgid "Config"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Project Settings Override"
-msgstr ""
-
-#: core/project_settings.cpp core/resource.cpp
-#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
-#: editor/editor_help_search.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_profiler.cpp editor/plugins/tile_set_editor_plugin.cpp
-#: editor/project_manager.cpp editor/settings_config_dialog.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/area_2d.cpp scene/3d/area.cpp
-#: scene/3d/skeleton.cpp scene/main/node.cpp scene/resources/mesh_library.cpp
-#: scene/resources/skin.cpp
-msgid "Name"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_help.cpp
-#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Description"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
-msgid "Run"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/run_settings_dialog.cpp main/main.cpp
-msgid "Main Scene"
-msgstr ""
-
-#: core/project_settings.cpp
-#, fuzzy
-msgid "Disable stdout"
-msgstr "முடக்கப்பட்டது"
-
-#: core/project_settings.cpp
-#, fuzzy
-msgid "Disable stderr"
-msgstr "முடக்கப்பட்டது"
-
-#: core/project_settings.cpp
-msgid "Use Hidden Project Data Directory"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Custom User Dir"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Custom User Dir Name"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
-#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
-#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Width"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Height"
-msgstr ""
-
-#: core/project_settings.cpp editor/animation_track_editor.cpp
-#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
-msgid "Audio"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Default Bus Layout"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp
-#: editor/editor_file_system.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/script_create_dialog.cpp
-#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
-msgid "Editor"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Main Run Args"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Search In File Extensions"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr ""
-
-#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
-#: scene/3d/collision_object.cpp scene/gui/control.cpp
-msgid "Input"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Accept"
-msgstr ""
-
-#: core/project_settings.cpp
-#, fuzzy
-msgid "UI Select"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: core/project_settings.cpp
-msgid "UI Cancel"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Next"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Prev"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Left"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Right"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Home"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI End"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
-#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/main/scene_tree.cpp scene/main/viewport.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#: servers/physics/space_sw.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Physics"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp main/main.cpp
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-#: scene/3d/physics_body.cpp scene/resources/world.cpp
-#: servers/physics/space_sw.cpp servers/physics_server.cpp
-msgid "3D"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Smooth Trimesh Collision"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
-#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Rendering"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/3d/baked_lightmap.cpp
-#: scene/main/scene_tree.cpp scene/resources/environment.cpp
-#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Quality"
-msgstr ""
-
-#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Filters"
-msgstr ""
-
-#: core/project_settings.cpp scene/main/viewport.cpp
-msgid "Sharpen Intensity"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/project_export.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp scene/3d/room_manager.cpp
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-#: servers/visual_server.cpp
-msgid "Debug"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
-msgid "Settings"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Profiler"
-msgstr ""
-
-#: core/project_settings.cpp
-#, fuzzy
-msgid "Max Functions"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-msgid "Compression"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Formats"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zstd"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Long Distance Matching"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Compression Level"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Window Log Size"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zlib"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Gzip"
-msgstr ""
-
-#: core/project_settings.cpp platform/android/export/export.cpp
-msgid "Android"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Modules"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "TCP"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Connect Timeout Seconds"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Packet Peer Stream"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Max Buffer (Power of 2)"
-msgstr ""
-
-#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
-msgid "SSL"
-msgstr ""
-
-#: core/register_core_types.cpp main/main.cpp
-msgid "Certificates"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_resource_picker.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource"
-msgstr ""
-
-#: core/resource.cpp
-msgid "Local To Scene"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/project_manager.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Path"
-msgstr ""
-
-#: core/script_language.cpp
-msgid "Source Code"
-msgstr ""
-
-#: core/translation.cpp editor/project_settings_editor.cpp
-msgid "Locale"
-msgstr ""
-
-#: core/translation.cpp
-msgid "Test"
-msgstr ""
-
-#: core/translation.cpp scene/resources/font.cpp
-msgid "Fallback"
-msgstr ""
-
-#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
-msgid "B"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "KiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "MiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "GiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "TiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "PiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "EiB"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
-msgid "Buffers"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp main/main.cpp
-#: scene/2d/physics_body_2d.cpp scene/resources/world_2d.cpp
-#: servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/visual_server.cpp
-msgid "2D"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Snapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Use GPU Pixel Snap"
-msgstr ""
-
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Immediate Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Lightmapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Use Bicubic Sampling"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Elements"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Lights"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Reflections"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Lights Per Object"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Subsurface Scattering"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/node_2d.cpp scene/2d/parallax_layer.cpp scene/2d/polygon_2d.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp
-#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp
-#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-msgid "Scale"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Follow Surface"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Weight Samples"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Voxel Cone Tracing"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
-msgid "High Quality"
-msgstr ""
-
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Free"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Balanced"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Mirror"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
-msgid "Time:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Value:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Insert Key Here"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-#, fuzzy
-msgid "Duplicate Selected Key(s)"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/animation_bezier_editor.cpp
-msgid "Delete Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Add Bezier Point"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Move Bezier Points"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Delete Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Anim Change Keyframe Time"
-msgstr "மாற்ற மதிப்பு அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transition"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Anim Change Keyframe Value"
-msgstr "மாற்ற மதிப்பு அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Call"
-msgstr "மாற்ற அழைப்பு அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Frame"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#: scene/resources/particles_material.cpp servers/visual_server.cpp
-msgid "Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Location"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-msgid "Rotation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
-msgid "Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Arg Count"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/animation_track_editor.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Args"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
-#: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Type"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "In Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Out Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Stream"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Start Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "End Offset"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/sprite.cpp scene/3d/cpu_particles.cpp scene/3d/sprite_3d.cpp
-#: scene/animation/animation_blend_tree.cpp
-#: scene/resources/particles_material.cpp
-msgid "Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Easing"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Anim Multi Change Keyframe Time"
-msgstr "மாற்ற மதிப்பு அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Anim Multi Change Transition"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Anim Multi Change Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Anim Multi Change Keyframe Value"
-msgstr "மாற்ற மதிப்பு அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Anim Multi Change Call"
-msgstr "மாற்ற அழைப்பு அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Length"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation Loop"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Property Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "3D Transform Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Call Method Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier Curve Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (frames)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (seconds)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Add Track"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Looping"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Track Path"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle this track on/off."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Update Mode (How this property is set)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
-msgid "Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Remove this track."
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle Track Enabled"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Continuous"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Discrete"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Trigger"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp
-msgid "Capture"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Nearest"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp
-msgid "Linear"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Cubic"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clamp Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Wrap Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Duplicate Key(s)"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/animation_track_editor.cpp
-msgid "Add RESET Value(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Update Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Change Animation Interpolation Mode"
-msgstr "அசைவூட்டு பாதை [interpolation]யை மாற்று"
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Loop Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove Anim Track"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "Editors"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-msgid "Confirm Insert Track"
-msgstr ""
-
-#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
-#: editor/animation_track_editor.cpp
-msgid "Create NEW track for %s and insert key?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create %d NEW tracks and insert keys?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "node '%s'"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "animation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/animation_track_editor.cpp
-msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "property '%s'"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Create & Insert"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Track & Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Change Animation Step"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/animation_track_editor.cpp
-msgid "Rearrange Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"Audio tracks can only point to nodes of type:\n"
-"-AudioStreamPlayer\n"
-"-AudioStreamPlayer2D\n"
-"-AudioStreamPlayer3D"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Not possible to add a new track without a root"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Add Bezier Track"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track is not of type Spatial, can't insert key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Transform Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Add Track Key"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a method key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Add Method Track Key"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Move Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp scene/2d/node_2d.cpp
-#: scene/3d/spatial.cpp scene/main/canvas_layer.cpp
-#: servers/camera/camera_feed.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_help.cpp
-msgid "Methods"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Clipboard is empty!"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Paste Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Scale Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This option does not work for Bezier editing, as it's only a single track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Add RESET Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This animation belongs to an imported scene, so changes to imported tracks "
-"will not be saved.\n"
-"\n"
-"To enable the ability to add custom tracks, navigate to the scene's import "
-"settings and set\n"
-"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom "
-"Tracks\", then re-import.\n"
-"Alternatively, use an import preset that imports animations to separate "
-"files."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Warning: Editing imported animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select an AnimationPlayer node to create and edit animations."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Only show tracks from nodes selected in tree."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Group tracks by node or display them as plain list."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Snap:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation step value."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Seconds"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp main/main.cpp
-#: scene/resources/texture.cpp
-msgid "FPS"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_resource_picker.cpp editor/import/resource_importer_wav.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation properties."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Copy Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale From Cursor"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Transposed"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Delete Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Next Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Previous Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Apply Reset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Pick the node that will be animated:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Use Bezier Curves"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create RESET Track(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim. Optimizer"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Linear Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Angular Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max Optimizable Angle:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Optimize"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove invalid keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove unresolved and empty tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-up all animations"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Ratio:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select Tracks to Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_log.cpp
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#, fuzzy
-msgid "Select All/None"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/animation_track_editor_plugins.cpp
-#, fuzzy
-msgid "Add Audio Track Clip"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip End Offset"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Resize Array"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value Type"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Go to Line"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line Number:"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "%d replaced."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d match."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d matches."
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Match Case"
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Whole Words"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace All"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Selection Only"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-msgid "Standard"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Toggle Scripts Panel"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom In"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Out"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Reset Zoom"
-msgstr ""
-
-#: editor/code_editor.cpp modules/gdscript/gdscript.cpp
-msgid "Warnings"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line and column numbers."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method in target node must be specified."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method name must be a valid identifier."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Target method not found. Specify a valid method or attach a script to the "
-"target node."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Node:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Script:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "From Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Scene does not contain any script."
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
-#: editor/groups_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-msgid "Add"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp
-msgid "Remove"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Add Extra Call Argument:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Extra Call Arguments:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Receiver Method:"
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Advanced"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Deferred"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/resources/texture.cpp
-msgid "Oneshot"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnects the signal after its first emission."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Cannot connect signal"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.cpp editor/groups_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect '%s' to '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect all from signal: '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Disconnect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect a Signal to a Method"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-#, fuzzy
-msgid "Edit Connection:"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
-msgid "Signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Filter signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from this signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect All"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Go to Method"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Change %s Type"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/project_settings_editor.cpp
-msgid "Change"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Create New %s"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "No results for \"%s\"."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/property_selector.cpp
-msgid "No description available for %s."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp
-msgid "Favorites:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-msgid "Recent:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Matches:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Description:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Scene '%s' is currently being edited.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Resource '%s' is in use.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Broken"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependency Editor"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement Resource:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Open"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Remove the selected files from the project? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"The files being removed are required by other resources in order for them to "
-"work.\n"
-"Remove them anyway? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Cannot remove:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Error loading:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Load failed due to missing dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_node.cpp
-msgid "Open Anyway"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Which action should be taken?"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Errors loading!"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Show Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Orphan Resource Explorer"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
-msgid "Delete"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owns"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Resources Without Explicit Ownership:"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Key"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Value"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Thanks from the Godot community!"
-msgstr ""
-
-#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp
-msgid "Click to copy."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Godot Engine contributors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Project Founders"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Lead Developer"
-msgstr ""
-
-#. TRANSLATORS: This refers to a job title.
-#: editor/editor_about.cpp
-#, fuzzy
-msgctxt "Job Title"
-msgid "Project Manager"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/editor_about.cpp
-msgid "Developers"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Authors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Platinum Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Mini Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "License"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Third-party Licenses"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid ""
-"Godot Engine relies on a number of third-party free and open source "
-"libraries, all compatible with the terms of its MIT license. The following "
-"is an exhaustive list of all such third-party components with their "
-"respective copyright statements and license terms."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "All Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Licenses"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "%s (already exists)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - No files conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Uncompressing Assets"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "The following files failed extraction from asset \"%s\":"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "(and %s more files)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset \"%s\" installed successfully!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Success!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp editor/editor_node.cpp
-msgid "Install"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset Installer"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Speakers"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Rename Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Change Audio Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Bypass Effects"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Select Audio Bus Send"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Drag & drop to rearrange."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bypass"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-#, fuzzy
-msgid "Bus Options"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Master bus can't be deleted!"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Duplicate Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save Audio Bus Layout As..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Location for New Layout..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Open Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "There is no '%s' file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Invalid file, not an audio bus layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Error saving file: %s"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add a new Audio Bus to this layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Load"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load an existing Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save As"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save this Bus Layout to a file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/import_dock.cpp
-msgid "Load Default"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load the default Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Create a new Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Invalid name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Cannot begin with a digit."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Valid characters:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing engine class name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing built-in type name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing global constant name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Keyword cannot be used as an autoload name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp
-#: modules/gdscript/gdscript.cpp platform/android/export/export_plugin.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/3d/reflection_probe.cpp scene/main/canvas_layer.cpp
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Enable"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Can't add autoload:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. File does not exist."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. Not in resource path (res://)."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Path:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Node Name:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Global Variable"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating Scene"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Storing local changes..."
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating scene..."
-msgstr ""
-
-#: editor/editor_data.cpp editor/editor_resource_picker.cpp
-msgid "[empty]"
-msgstr ""
-
-#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "[unsaved]"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Please select a base directory first."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose a Directory"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Create Folder"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp
-msgid "Name:"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp
-msgid "Could not create folder."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Storing File:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No export template found at the expected path:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Packing"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
-"Etc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' texture compression for GLES3. Enable "
-"'Import Etc 2' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for GLES2. Enable "
-"'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. "
-"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#, fuzzy
-msgid "Custom Template"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/editor_export.cpp editor/project_export.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Release"
-msgstr ""
-
-#: editor/editor_export.cpp
-#, fuzzy
-msgid "Binary Format"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/editor_export.cpp
-msgid "64 Bits"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Embed PCK"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
-msgid "Texture Format"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/editor_export.cpp
-msgid "BPTC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "S3TC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC2"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No BPTC Fallbacks"
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom debug template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom release template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Convert Text Resources To Binary On Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "3D Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Script Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Asset Library"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Scene Tree Editing"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Node Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "FileSystem Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to view and edit 3D scenes."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to edit scripts using the integrated script editor."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Provides built-in access to the Asset Library."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to work with signals and groups of the node selected in the Scene "
-"dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to browse the local file system via a dedicated dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to configure import settings for individual assets. Requires the "
-"FileSystem dock to function."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(current)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(none)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove currently selected profile, '%s'? Cannot be undone."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile with this name already exists."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "(Editor Disabled)"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enable Contextual Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Properties:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Main Features:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Nodes and Classes:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "File '%s' format is invalid, import aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Profile '%s' already exists. Remove it first before importing, import "
-"aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Error saving profile to path: '%s'."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Reset to Default"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Current Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Create Profile"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Remove Profile"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/editor_feature_profile.cpp
-msgid "Available Profiles:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Make Current"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/editor_node.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Import"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Configure Selected Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Extra Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create or import a profile to edit available classes and properties."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "New profile name:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Godot Feature Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Profile(s)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Export Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Manage Editor Feature Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Default Feature Profile"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select Current Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "File exists, overwrite?"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select This Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Copy Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Open in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-msgid "Show in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "New Folder..."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/find_in_files.cpp
-msgid "Refresh"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Recognized"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Files (*)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open File(s)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File or Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/editor_resource_picker.cpp editor/import_defaults_editor.cpp
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "Save"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Save a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Access"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-msgid "Display Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/csg/csg_shape.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/light_2d.cpp scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/light.cpp scene/3d/physics_body.cpp
-#: scene/gui/control.cpp scene/gui/file_dialog.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Dir"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Show Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Disable Overwrite Warning"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Back"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Forward"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Favorite"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_resource_picker.cpp
-#: scene/gui/base_button.cpp
-msgid "Toggle Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Focus Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Down"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to previous folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to next folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Go to parent folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Refresh files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "(Un)favorite current folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Toggle the visibility of hidden files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a list."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Directories & Files:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
-#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp
-msgid "Preview:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "File:"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "ScanSources"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid ""
-"There are multiple importers for different types pointing to file %s, import "
-"aborted"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "(Re)Importing Assets"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "Reimport Missing Imported Files"
-msgstr ""
-
-#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Top"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Class:"
-msgstr ""
-
-#: editor/editor_help.cpp editor/scene_tree_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Inherits:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Inherited by:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Properties"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "overrides %s:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "default:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Theme Properties"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/gradient.cpp
-msgid "Colors"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constants"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Fonts"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Icons"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Styles"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Enumerations"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Property Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "(value)"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this property. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Method Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this method. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript_editor.cpp
-msgid "Text Editor"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Help"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Sort Functions Alphabetically"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Help"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Case Sensitive"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Show Hierarchy"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Display All"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Classes Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Methods Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Signals Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Constants Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Member Type"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Class"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Method"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Signal"
-msgstr ""
-
-#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Constant"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Property"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
-msgid "Property:"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-msgid "Label"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Read Only"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-msgid "Checkable"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Draw Red"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Keying"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid ""
-"Pinning a value forces it to be saved even if it's equal to the default."
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Set %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Set Multiple:"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Unpinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-#, fuzzy
-msgid "Copy Property"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_inspector.cpp
-#, fuzzy
-msgid "Paste Property"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property Path"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Output:"
-msgstr ""
-
-#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
-msgid "Copy Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_log.cpp editor/editor_network_profiler.cpp
-#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/property_editor.cpp editor/scene_tree_dock.cpp
-#: editor/script_editor_debugger.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Clear"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Clear Output"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: editor/editor_profiler.cpp
-msgid "Stop"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
-#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
-msgid "Start"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "%s/s"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Down"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Up"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RSET"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RSET"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "New Window"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Unnamed Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Spins when the editor window redraws.\n"
-"Update Continuously is enabled, which can increase power usage. Click to "
-"disable it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Spins when the editor window redraws."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Imported resources can't be saved."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Error saving resource!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource can't be saved because it does not belong to the edited scene. "
-"Make it unique first."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save Resource As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't open file for writing:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Requested file format unknown:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while saving."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while parsing '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unexpected end of file '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Missing '%s' or its dependencies."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while loading '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Saving Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Analyzing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Creating Thumbnail"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a tree root."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene can't be saved because there is a cyclic instancing inclusion.\n"
-"Please resolve it and then attempt to save again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
-"be satisfied."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not save one or more scenes!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save All Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp editor/scene_tree_dock.cpp
-msgid "Can't overwrite scene that is still open!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load MeshLibrary for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving MeshLibrary!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load TileSet for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving TileSet!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"An error occurred while trying to save the editor layout.\n"
-"Make sure the editor's user data path is writable."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Default editor layout overridden.\n"
-"To restore the Default layout to its base settings, use the Delete Layout "
-"option and delete the Default layout."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Layout name not found!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restored the Default layout to its base settings."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was imported, so it's not editable.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was instanced or inherited.\n"
-"Changes to it won't be kept when saving the current scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource was imported, so it's not editable. Change its settings in the "
-"import panel and then re-import."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene was imported, so changes to it won't be kept.\n"
-"Instancing it or inheriting will allow making changes to it.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This is a remote object, so changes to it won't be kept.\n"
-"Please read the documentation relevant to debugging to better understand "
-"this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "There is no defined scene to run."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save scene before running..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not start subprocess!"
-msgstr ""
-
-#: editor/editor_node.cpp editor/filesystem_dock.cpp
-msgid "Open Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Base Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Script..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Reload"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Close"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before closing?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%s no longer exists! Please specify a new save location."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has no root node, but %d modified external resource(s) "
-"were saved anyway."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"A root node is required to save the scene. You can add a root node using the "
-"Scene tree dock."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene As..."
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "This operation can't be done without a scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Mesh Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a root node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Tile Set"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a selected node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Current scene not saved. Open anyway?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't undo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to undo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't redo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to redo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Redo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't reload a scene that was never saved."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Saved Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has unsaved changes.\n"
-"Reload the saved scene anyway? This action cannot be undone."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Run Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Yes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Exit the editor?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before quitting?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before opening Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This option is deprecated. Situations where refresh must be forced are now "
-"considered a bug. Please report."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pick a Main Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reopen Closed Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s'. This might be due to a code "
-"error in that script.\n"
-"Disabling the addon at '%s' to prevent further errors."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Scene '%s' was automatically imported, so it can't be modified.\n"
-"To make changes to it, a new inherited scene can be created."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to "
-"open the scene, then save it inside the project path."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene '%s' has broken dependencies:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Clear Recent Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"No main scene has ever been defined, select one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' does not exist, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' is not a scene file, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Delete Layout"
-msgstr ""
-
-#: editor/editor_node.cpp editor/import_dock.cpp
-#: editor/script_create_dialog.cpp
-msgid "Default"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-msgid "Show in FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play This Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Close Other Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tabs to the Right"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close All Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Switch Scene Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files or folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to write to file '%s', file in use, locked or lacking permissions."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#: servers/arvr/arvr_interface.cpp
-msgid "Interface"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Scene Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Always Show Close Button"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Resize If Many Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Minimum Width"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Output"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Clear Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Open Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Close Output On Stop"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save On Focus Loss"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Save Each Scene On Quit"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
-msgid "Quit Confirmation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/editor_node.cpp
-msgid "Show Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Continuously"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Only"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Localize Settings"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Restore Scenes On Load"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Show Thumbnail On Hover"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Property Name Style"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Float Step"
-msgstr ""
-
-#: editor/editor_node.cpp scene/gui/tree.cpp
-#, fuzzy
-msgid "Disable Folding"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/editor_node.cpp
-msgid "Auto Unfold Foreign Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector2 Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector Types Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Resources In Current Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Resources To Open In New Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Color Picker Mode"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Username"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Public Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Private Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Dock Position"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_plugin.cpp
-msgid "Distraction Free Mode"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle distraction-free mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Add a new scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to previously opened scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Copy Text"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_node.cpp
-msgid "Next tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Previous tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Filter Files..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Operations with scene files."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Open Recent"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Convert To..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "MeshLibrary..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "TileSet..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Undo"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Redo"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Miscellaneous project or scene-wide tools."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-#: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp
-msgid "Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Project Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Set Up Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Shut Down Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install Android Build Template..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open User Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tools"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Orphan Resource Explorer..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Current Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit to Project List"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Deploy with Remote Debug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy will make the executable "
-"attempt to connect to this computer's IP so the running project can be "
-"debugged.\n"
-"This option is intended to be used for remote debugging (typically with a "
-"mobile device).\n"
-"You don't need to enable it to use the GDScript debugger locally."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Small Deploy with Network Filesystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy for Android will only "
-"export an executable without the project data.\n"
-"The filesystem will be provided from the project by the editor over the "
-"network.\n"
-"On Android, deploying will use the USB cable for faster performance. This "
-"option speeds up testing for projects with large assets."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Collision Shapes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, collision shapes and raycast nodes (for 2D and "
-"3D) will be visible in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Navigation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, navigation meshes and polygons will be visible "
-"in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Force Shader Fallbacks"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, shaders will be used in their fallback form "
-"(either visible via an ubershader or hidden) during all the run time.\n"
-"This is useful for verifying the look and performance of fallbacks, which "
-"are normally displayed briefly.\n"
-"Asynchronous shader compilation must be enabled in the project settings for "
-"this option to make a difference."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Scene Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any changes made to the scene in the editor "
-"will be replicated in the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Script Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any script that is saved will be reloaded in "
-"the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Editor Settings..."
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/editor_node.cpp
-msgid "Editor Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Take Screenshot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle Fullscreen"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data/Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Editor Features..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Export Templates..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Online Documentation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Questions & Answers"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Report a Bug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Suggest a Feature"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Send Docs Feedback"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "Community"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "About Godot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Support Godot Development"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause the scene execution for debugging."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Stop the scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the edited scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play custom scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Custom Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changing the video driver requires restarting the editor."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_settings_editor.cpp
-#: editor/settings_config_dialog.cpp
-msgid "Save & Restart"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update All Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Hide Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/fileserver/editor_file_server.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Expand Bottom Panel"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Don't Save"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Android build template is missing, please install relevant templates."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Templates"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install from file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select android sources file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This will set up your project for custom Android builds by installing the "
-"source template to \"res://android/build\".\n"
-"You can then apply modifications and build your own custom APK on export "
-"(adding modules, changing the AndroidManifest.xml, etc.).\n"
-"Note that in order to make custom builds instead of using pre-built APKs, "
-"the \"Use Custom Build\" option should be enabled in the Android export "
-"preset."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The Android build template is already installed in this project and it won't "
-"be overwritten.\n"
-"Remove the \"res://android/build\" directory manually before attempting this "
-"operation again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Import Templates From ZIP File"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Template Package"
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Merge With Existing"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Apply MeshInstance Transforms"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/editor_node.cpp
-msgid "Open & Run a Script"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Reload"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Resave"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load Errors"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Select"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Select Current"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/editor_node.cpp
-msgid "Open 2D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 3D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Script Editor"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Open Asset Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the next Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the previous Editor"
-msgstr ""
-
-#: editor/editor_node.h
-msgid "Warning!"
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "No sub-resources found."
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "Open a list of sub-resources."
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Creating Mesh Previews"
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Thumbnail..."
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Main Script:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Edit Plugin"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Update"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Version"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Author"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Measure:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Average Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Physics Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Inclusive"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Self"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid ""
-"Inclusive: Includes time from other functions called by this function.\n"
-"Use this to spot bottlenecks.\n"
-"\n"
-"Self: Only count the time spent in the function itself, not in other "
-"functions called by that function.\n"
-"Use this to find individual functions to optimize."
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame #:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Calls"
-msgstr ""
-
-#: editor/editor_profiler.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Debugger"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame History Size"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame Max Functions"
-msgstr ""
-
-#: editor/editor_properties.cpp
-#, fuzzy
-msgid "Edit Text:"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/editor_properties.cpp editor/script_create_dialog.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On"
-msgstr ""
-
-#: editor/editor_properties.cpp modules/gridmap/grid_map.cpp
-#: scene/2d/collision_object_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Layer"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Bit %d, value %d"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
-msgid "Assign..."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Invalid RID"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on resources saved as a file.\n"
-"Resource needs to belong to a scene."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on this resource because it's not set as "
-"local to scene.\n"
-"Please switch on the 'local to scene' property on it (and all resources "
-"containing it up to a node)."
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid ""
-"The selected resource (%s) does not match any type expected for this "
-"property (%s)."
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Quick Load"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-#, fuzzy
-msgid "Convert to %s"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/plugins/theme_editor_plugin.cpp
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Base Type"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Edited Resource"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
-#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-#, fuzzy
-msgid "Editable"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp
-msgid "Extend Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Script Owner"
-msgstr ""
-
-#: editor/editor_run_native.cpp
-msgid ""
-"No runnable export preset found for this platform.\n"
-"Please add a runnable preset in the Export menu or define an existing preset "
-"as runnable."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Write your logic in the _run() method."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "There is an edited scene already."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't instance script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the 'tool' keyword?"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't run script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the '_run' method?"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor Language"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Antialiased"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Hinting"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Bold"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Dim Editor On Dialog Popup"
-msgstr ""
-
-#: editor/editor_settings.cpp main/main.cpp
-msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Separate Distraction Mode"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Automatically Open Screenshots"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Max Array Dictionary Items Per Page"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
-#: scene/register_scene_types.cpp
-msgid "Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/import_dock.cpp
-msgid "Preset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Icon And Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Accent Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/environment.cpp
-msgid "Contrast"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Relationship Line Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Highlight Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Border Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Graph Node Headers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Additional Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Custom Theme"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/editor_settings.cpp
-msgid "Show Script Button"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Directories"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autoscan Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Compress Binary Resources"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Safe Save On Backup Then Rename"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "File Dialog"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Thumbnail Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Docks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scene Tree"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Start Create Dialog Fully Expanded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Always Show Folders"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Property Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Refresh Interval"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Subresource Hue Tint"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Color Theme"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/editor_settings.cpp scene/3d/label_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Syntax Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight All Occurrences"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Highlight Type Safe Lines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Auto Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Convert Indent On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Spaces"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
-msgid "Navigation"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Smooth Scrolling"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "V Scroll Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Minimap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Appearance"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Show Line Numbers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Numbers Zero Padded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Bookmark Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Breakpoint Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Info Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Folding"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Word Wrap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Line Length Guidelines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Soft Column"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Hard Column"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Script List"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Members Overview"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Files"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Trim Trailing Whitespace On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autosave Interval Secs"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Restore Scripts On Load"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload Scripts On External Change"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Create Signal Callbacks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sort Members Outline Alphabetically"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Cursor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll Past End Of File"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Block Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Right Click Moves Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
-#: modules/gdscript/gdscript_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Completion"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_settings.cpp
-msgid "Idle Parse Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Brace Complete"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Complete Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Callhint Tooltip Offset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Complete File Paths"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
-msgid "Add Type Hints"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/editor_settings.cpp
-msgid "Use Single Quotes"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Help Index"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Source Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Title Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Grid Map"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
-msgid "Preview Size"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Secondary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Selection Box Color"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "3D Gizmos"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Gizmo Colors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Instanced"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Joint"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/collision_shape.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/occluder.cpp scene/3d/spring_arm.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Shape"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Steps"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Max"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Min"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Bias"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XY Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid YZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default FOV"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Near"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Far"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Invert Y Axis"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Invert X Axis"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/editor_settings.cpp
-msgid "Zoom Style"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate Numpad"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate 3 Button Mouse"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-msgid "Warped Mouse Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Feel"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Translation Inertia"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/editor_settings.cpp
-msgid "Zoom Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Base Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Activation Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Speed Zoom Link"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Guides Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Smart Snapping Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 1"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 2"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Bone Selected Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_settings.cpp
-msgid "Bone IK Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Viewport Border Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Constrain Editor View"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Simple Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll To Pan"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Poly Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Point Grab Radius"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Previous Outline"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Autorename Animation Tracks"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/editor_settings.cpp
-msgid "Default Create Bezier Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Reset Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Past Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Future Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Visual Editors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Window Placement"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/control.cpp
-msgid "Rect"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Rect Custom Position"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
-msgid "Screen"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Save Before Running"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
-msgid "Remote Host"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
-msgid "Remote Port"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/editor_settings.cpp
-msgid "Editor SSL Certificates"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "HTTP Proxy"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Host"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sorting Order"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Symbol Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Control Flow Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Engine Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "User Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Comment Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "String Color"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Completion Selected Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Existing Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Safe Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Text Selected Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Selection Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Brace Mismatch Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Current Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Word Highlighted Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Function Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Member Variable Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Mark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Bookmark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Executing Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Code Folding Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Border Color"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hold %s to round to integers. Hold Shift for more precise changes."
-msgstr ""
-
-#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-msgid "Flat"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-#, fuzzy
-msgid "Hide Slider"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/editor_sub_scene.cpp
-msgid "Select Node(s) to Import"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp editor/project_manager.cpp
-msgid "Browse"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Scene Path:"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Import From Node:"
-msgstr ""
-
-#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
-#: editor/editor_vcs_interface.cpp
-msgid "%s Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "There are no mirrors available."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Retrieving the mirror list..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Starting the download..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error requesting URL:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connecting to the mirror..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't resolve the requested address."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't connect to the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No response from the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request ended up in a redirect loop."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request failed:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download complete; extracting templates..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cannot remove temporary file:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Templates installation failed.\n"
-"The problematic templates archives can be found at '%s'."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error getting the list of mirrors."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Best available mirror"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"No download links found for this version. Direct download is only available "
-"for official releases."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Disconnected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Resolving"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Resolve"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connecting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Connect"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Requesting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Downloading"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connection Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "SSL Handshake Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't open the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside the export templates file: %s."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No version.txt found inside the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error creating path for extracting templates:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Extracting Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Importing:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Remove templates for the version '%s'?"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uncompressing Android Build Sources"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export Template Manager"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Current Version:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are missing. Download them or install from a file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are installed and ready to be used."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open Folder"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing installed templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download from:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open in Web Browser"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Copy Mirror URL"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download and Install"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Download and install templates for the current version from the best "
-"possible mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Official export templates aren't available for development builds."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install from File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install templates from a local file."
-msgstr ""
-
-#: editor/export_template_manager.cpp editor/find_in_files.cpp
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cancel the download of the templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Other Installed Versions:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall Template"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Select Template File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Godot Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"The templates will continue to download.\n"
-"You may experience a short editor freeze when they finish."
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-msgid "File Server"
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Password"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Status: Import of file failed. Please fix file and reimport manually."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Importing has been disabled for this file, so it can't be opened for editing."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move/rename resources root."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move a folder into itself."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error moving:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error duplicating:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Unable to update dependencies:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
-msgid "No name provided."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Provided name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "A file or folder with this name already exists."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"This file extension is not recognized by the editor.\n"
-"If you want to rename it anyway, use your operating system's file manager.\n"
-"After renaming to an unknown extension, the file won't be shown in the "
-"editor anymore."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"The following files or folders conflict with items in the target location "
-"'%s':\n"
-"\n"
-"%s\n"
-"\n"
-"Do you wish to overwrite them?"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Inherited Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Set As Main Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Open Scenes"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Instance"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Add to Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Remove from Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Edit Dependencies..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "View Owners..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move To..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Scene..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "New Script..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Resource..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Expand All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Collapse All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Last Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by First Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Duplicate..."
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Rename..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Focus the search box"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Previous Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Next Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Re-Scan Filesystem"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Toggle Split Mode"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Search files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Scanning Files,\n"
-"Please Wait..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/project_manager.cpp editor/rename_dialog.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Rename"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Overwrite"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Create Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Find in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find:"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/rename_dialog.cpp
-msgid "Replace:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Folder:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Filters:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid ""
-"Include the files with the following extensions. Add or remove them in "
-"ProjectSettings."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Replace in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace All (NO UNDO)"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Searching..."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d match in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d files."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Add to Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Remove from Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group name already exists."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Invalid group name."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Rename Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-#, fuzzy
-msgid "Delete Group"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/groups_editor.cpp editor/node_dock.cpp
-msgid "Groups"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes Not in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Empty groups will be automatically removed."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group Editor"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Manage Groups"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Collada"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Use Ambient"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
-msgid "Create From"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/import/resource_importer_bitmask.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Threshold"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-msgid "Compress"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-msgid "Delimiter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
-msgid "ColorCorrect"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "No BPTC If RGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
-msgid "Flags"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
-#: scene/resources/texture.cpp
-msgid "Repeat"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
-msgid "Filter"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Mipmaps"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Anisotropic"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "sRGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "Slices"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-#, fuzzy
-msgid "Horizontal"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Vertical"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Generate Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Scale Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Offset Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-#: editor/import/resource_importer_scene.cpp
-msgid "Octahedral Compression"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Optimize Mesh Flags"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Single Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#: scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Nodes"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Root Type"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Root Name"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Root Scale"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Custom Script"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-msgid "Storage"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Legacy Names"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep On Reimport"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Meshes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Ensure Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Light Baking"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Lightmap Texel Size"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Named Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "External Files"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Store In Subdir"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Filter Script"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Keep Custom Tracks"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Optimizer"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/camera_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/navigation_polygon.cpp scene/2d/ray_cast_2d.cpp scene/2d/sprite.cpp
-#: scene/2d/y_sort.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/interpolated_camera.cpp
-#: scene/3d/light.cpp scene/3d/navigation_mesh_instance.cpp
-#: scene/3d/physics_joint.cpp scene/3d/ray_cast.cpp scene/3d/skeleton.cpp
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Enabled"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Linear Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angular Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angle"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Remove Unused Tracks"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Clips"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/particles.cpp scene/resources/environment.cpp
-msgid "Amount"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Importing Scene..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating Lightmaps"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Running Custom Script..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Couldn't load post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Invalid/broken script for post-import (check console):"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Error running post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Did you return a Node-derived object in the `post_import()` method?"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Saving..."
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D Pixel"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
-msgid "Lossy Quality"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-#, fuzzy
-msgid "HDR Mode"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/import/resource_importer_texture.cpp
-msgid "BPTC LDR"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
-#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
-msgid "Normal Map"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Process"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Fix Alpha Border"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Premult Alpha"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Hdr As Srgb"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-#, fuzzy
-msgid "Invert Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Normal Map Invert Y"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Size Limit"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "SVG"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid ""
-"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
-"texture will not display correctly on PC."
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Atlas File"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
-msgid "Import Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Crop To Region"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Trim Alpha Border From Region"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-msgid "Force"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "8 Bit"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Mono"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate Hz"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Trim"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Normalize"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Mode"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Begin"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop End"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-#, fuzzy
-msgid "Select Importer"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/import_defaults_editor.cpp
-msgid "Importer:"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Reset to Defaults"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Keep File (No Import)"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "%d Files"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Set as Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Clear Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Reimport"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"You have pending changes that haven't been applied yet. Click Reimport to "
-"apply changes made to the import options.\n"
-"Selecting another resource in the FileSystem dock without clicking Reimport "
-"first will discard changes made in the Import dock."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Import As:"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Save Scenes, Re-Import, and Restart"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Changing the type of an imported file requires editor restart."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"WARNING: Assets exist that use this resource, they may stop loading properly."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"Select a resource file in the filesystem or in the inspector to adjust "
-"import settings."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Property Name Style"
-msgstr ""
-
-#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
-msgid "Raw"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-#, fuzzy
-msgid "Capitalized"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/inspector_dock.cpp
-msgid "Localized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localization not available for current language."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-#, fuzzy
-msgid "Paste Properties"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/inspector_dock.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Extra resource options."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Edit Resource from Clipboard"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Resource Built-In"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Open documentation for this object."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp
-msgid "Open Documentation"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Filter properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Manage object properties."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
-#: editor/multi_node_edit.cpp
-msgid "MultiNode Set"
-msgstr ""
-
-#: editor/node_dock.cpp
-msgid "Select a single node to edit its signals and groups."
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Edit a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Create a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Plugin Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Subfolder:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Author:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Version:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp
-msgid "Language:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Script Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Activate now?"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid ""
-"Edit points.\n"
-"LMB: Move Point\n"
-"RMB: Erase Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Erase points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Insert Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon (Remove Point)"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Remove Polygon And Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Add %s"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Load..."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Move Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "This type of node can't be used. Only root nodes are allowed."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
-msgid "Add Animation Point"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Remove BlendSpace1D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Move BlendSpace1D Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"AnimationTree is inactive.\n"
-"Activate to enable playback, check node warnings if activation fails."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Set the blending position within the space"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Select and move points, create points with RMB."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
-msgid "Enable snap and show grid."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Open Editor"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Open Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Triangle already exists."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
-msgid "Add Triangle"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "BlendSpace2D does not belong to an AnimationTree node."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "No triangles exist, so no blending can take place."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Toggle Auto Triangles"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create triangles by connecting points."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Erase points and triangles."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Generate blend triangles automatically (instead of manually)"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Parameter Changed:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Output node can't be added to the blend tree."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Add Node to BlendTree"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Node Moved"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Unable to connect, port may be in use or connection may be invalid."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Connected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Disconnected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
-msgid "Set Animation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
-msgid "Delete Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Toggle Filter On/Off"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Change Filter"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "No animation player set, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Player path set is invalid, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid ""
-"Animation player has no valid root node path, so unable to retrieve track "
-"names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Anim Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
-msgid "Audio Clips"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
-msgid "Functions"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Renamed"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node..."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Edit Filtered Tracks:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Enable Filtering"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Toggle Autoplay"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Anim"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Animation?"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Remove Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Invalid animation name!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation name already exists!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Next Changed"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Blend Time"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "No animation resource on clipboard!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pasted Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from current pos. (A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Stop animation playback. (S)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from start. (Shift+D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from current pos. (D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation position (in seconds)."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Scale animation playback globally for the node."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "New"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste As Reference"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Edit Transitions..."
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Open in Inspector"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Enable Onion Skinning"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Onion Skinning Options"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Directions"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Past"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Future"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/3d/collision_polygon.cpp scene/main/scene_tree.cpp
-#: scene/resources/material.cpp scene/resources/primitive_meshes.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Depth"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "1 step"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "2 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "3 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Differences Only"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Force White Modulate"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Include Gizmos (3D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pin AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-msgid "Error!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Times:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Next (Auto Queue):"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Cross-Animation Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
-msgid "Move Node"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
-msgid "Transition exists!"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
-msgid "Add Transition"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Immediate"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/animation/animation_blend_tree.cpp
-msgid "Sync"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "At End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Travel"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Start and end nodes are needed for a sub-transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "No playback resource set at path: %s."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
-msgid "Transition Removed"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set Start Node (Autoplay)"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"Select and move nodes.\n"
-"RMB to add new nodes.\n"
-"Shift+LMB to create connections."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Create new nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Connect nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Remove selected node or transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Toggle autoplay this animation on start, restart or seek to zero."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set the end animation. This is useful for sub-transitions."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
-msgid "Transition: "
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Play Mode:"
-msgstr ""
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "New name:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade In (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade Out (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader.cpp
-msgid "Blend"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Auto Restart:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Random Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Start!"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Amount:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 0:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 1:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "X-Fade Time (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Clear Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Set Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Delete Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is valid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is invalid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "OneShot Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Mix Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend2 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend3 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend4 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeScale Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeSeek Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Transition Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Import Animations..."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Node Filters"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Filters..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
-msgid "Use Threads"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Contents:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "View Files"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connection error, please try again."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect to host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response from host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve hostname:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, return code:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Cannot save response to:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Write error."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, too many redirects"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Redirect loop."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, timeout"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Timeout."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Bad download hash, assuming file has been tampered with."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Expected:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Got:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed SHA-256 hash check"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Asset Download Error:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading (%s / %s)..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Resolving..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Error making request"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Idle"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Install..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Retry"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download Error"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Available URLs"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download for this asset is already in progress!"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Least Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Loading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "First"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Previous"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgctxt "Pagination"
-msgid "Next"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Last"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "All"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search templates, projects, and demos"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search assets (excluding templates, projects, and demos)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Import..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Plugins..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Sort:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Category:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Site:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Support"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Official"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Testing"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed to get repository configuration."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Assets ZIP File"
-msgstr ""
-
-#: editor/plugins/audio_stream_editor_plugin.cpp
-msgid "Audio Preview Play/Pause"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Can't determine a save path for lightmap images.\n"
-"Save your scene and try again."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"No meshes to bake. Make sure they contain an UV2 channel and that the 'Use "
-"In Baked Light' and 'Generate Lightmap' flags are on."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed creating lightmap images, make sure path is writable."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed determining lightmap size. Maximum lightmap size too small?"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Some mesh is invalid. Make sure the UV2 channel values are contained within "
-"the [0.0,1.0] square region."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Godot editor was built without ray tracing support, lightmaps can't be baked."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Bake Lightmaps"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "LightMap Bake"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Select lightmap bake file:"
-msgstr ""
-
-#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/resources/mesh_library.cpp
-msgid "Preview"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Configure Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Primary Line Every:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "steps"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Horizontal Guide"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal and Vertical Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate CanvasItem \"%s\" to %d degrees"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Node2D \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Resize Control \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Locked"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
-msgid "Grouped"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Children of containers have their anchors and margins values overridden by "
-"their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Presets for the anchors and margins values of a Control node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"When active, moving Control nodes changes their anchors instead of their "
-"margins."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Top"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Bottom"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Left Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Top Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Right Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Bottom Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "VCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "HCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Full Rect"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Keep Ratio"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Anchors only"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors and Margins"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"Overrides the running project's camera with the editor viewport camera."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"No project instance running. Run the project from the editor to use this "
-"feature."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
-msgid "Group Selected"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
-msgid "Ungroup Selected"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Paste Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Clear Guides"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Clear Bones"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Warning: Children of a container get their position and size determined only "
-"by their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Reset"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/item_list.cpp
-#: scene/gui/tree.cpp
-msgid "Select Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Drag: Rotate selected node around pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Alt+Drag: Move selected node."
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Alt+Drag: Scale selected node."
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "V: Set selected node's pivot position."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "RMB: Add node at position clicked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Move Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Shift: Scale proportionally."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Show a list of all objects at the position clicked\n"
-"(same as Alt+RMB in select mode)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Click to change object's rotation pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Ruler Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle smart snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Smart Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle grid snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Grid Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Rotation Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Scale Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap Relative"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Pixel Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Smart Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Configure Snap..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Parent"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Sides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Other Nodes"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock the selected object in place (can't be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
-msgid "Lock Selected Node(s)"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock the selected object (can be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
-msgid "Unlock Selected Node(s)"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Makes sure the object's children are not selectable."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
-msgid "Group Selected Node(s)"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Restores the object's children's ability to be selected."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
-msgid "Ungroup Selected Node(s)"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Skeleton Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Custom Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show When Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Hide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Helpers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Rulers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Origin"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Viewport"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Group And Lock Icons"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Frame Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Preview Canvas Scale"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Translation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert keys (based on mask)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Auto insert keys when objects are translated, rotated or scaled (based on "
-"mask).\n"
-"Keys are only added to existing tracks, no new tracks will be created.\n"
-"Keys must be inserted manually for the first time."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Auto Insert Key"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation Key and Pose Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key (Existing Tracks)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Copy Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Add Node Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Instance Scene Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Multiply grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Divide grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 3.125%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 6.25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 12.5%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 50%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 100%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 200%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 400%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 800%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 1600%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Adding %s..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Cannot instantiate multiple nodes without root."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Create Node"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Error instancing scene from %s"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Default Type"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Drag & drop + Shift : Add node as sibling\n"
-"Drag & drop + Alt : Change node type"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Create Polygon3D"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly (Remove Point)"
-msgstr ""
-
-#: editor/plugins/collision_shape_2d_editor_plugin.cpp
-msgid "Set Handle"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Load Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Restart"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Clear Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-msgid "Particles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generated Point Count:"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Solid Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Directed Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Capture from Pixel"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Colors"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-msgid "CPUParticles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 0"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 1"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease In"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease Out"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Smoothstep"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Curve Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
-msgid "Add Point"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Point"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Left Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Toggle Curve Linear Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Hold Shift to edit tangents individually"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right click to add point"
-msgstr ""
-
-#: editor/plugins/gi_probe_editor_plugin.cpp
-msgid "Bake GI Probe"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Gradient Edited"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap Gradient Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Toggle Grid Snap"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
-#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
-#: scene/gui/label.cpp scene/gui/line_edit.cpp scene/gui/link_button.cpp
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Text"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp main/main.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/gui/button.cpp scene/gui/item_list.cpp
-msgid "Icon"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "ID"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Separator"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item %d"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Items"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item List Editor"
-msgstr ""
-
-#: editor/plugins/light_occluder_2d_editor_plugin.cpp
-msgid "Create Occluder Polygon"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh is empty!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a Trimesh collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Static Trimesh Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "This doesn't work on scene root!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create a single convex collision shape for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a single convex collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create multiple convex collision shapes for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create any collision shapes."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Shapes"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Navigation Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Contained Mesh is not of type ArrayMesh."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "No mesh to debug."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has no UV in layer %d."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "MeshInstance lacks a Mesh!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has not surface to create outlines from!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Could not create outline!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_mesh.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/mesh_library.cpp
-#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a StaticBody and assigns a polygon-based collision shape to it "
-"automatically.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a single convex collision shape.\n"
-"This is the fastest (but least accurate) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a simplified convex collision shape.\n"
-"This is similar to single collision shape, but can result in a simpler "
-"geometry in some cases, at the cost of accuracy."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Collision Siblings"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is a performance middle-ground between a single convex collision and a "
-"polygon-based collision."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh..."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a static outline mesh. The outline mesh will have its normals "
-"flipped automatically.\n"
-"This can be used instead of the SpatialMaterial Grow property when using "
-"that property isn't possible."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV1"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV2"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Unwrap UV2 for Lightmap/AO"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Outline Size:"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Channel Debug"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid ""
-"Update from existing scene?:\n"
-"%s"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "MeshLibrary"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Ignore Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Apply Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
-msgid "Apply without Transforms"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
-msgid "Apply with Transforms"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No surface source specified."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no geometry)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no faces)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate Surface"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate MultiMesh"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "X-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Y-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Z-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh Up Axis:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Rotation:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Tilt:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Scale:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate"
-msgstr ""
-
-#: editor/plugins/navigation_polygon_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Convert to CPUParticles"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generating Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generate Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Can only set point into a ParticlesMaterial process material"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Convert to CPUParticles2D"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generation Time (sec):"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry's faces don't contain any area."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry doesn't contain any faces."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain face geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp scene/gui/video_player.cpp
-msgid "Volume"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generating AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate Visibility AABB"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Point from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Out-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove In-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point to Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
-msgid "Split Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Point in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move In-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Out-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Select Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Shift+Drag: Select Control Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Click: Add Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Left Click: Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Right Click: Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Select Control Points (Shift+Drag)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point (in empty space)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Close Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/theme_editor_preview.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp
-#: main/main.cpp servers/visual_server.cpp
-msgid "Options"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Angles"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Lengths"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Curve Point #"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Point Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve In Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Out Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Path"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Path Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Out-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove In-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
-msgid "Move Joint"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"No texture in this polygon.\n"
-"Set a texture to be able to edit UV."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Polygon 2D has internal vertices, so it can no longer be edited in the "
-"viewport."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon & UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Invalid Polygon (need 3 different vertices)"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Add Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint Bone Weights"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Open Polygon 2D UV editor."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Polygon 2D UV Editor"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/line_2d.cpp scene/3d/cpu_particles.cpp scene/3d/portal.cpp
-#: scene/3d/room.cpp scene/resources/convex_polygon_shape.cpp
-#: scene/resources/convex_polygon_shape_2d.cpp
-msgid "Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "Polygons"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/3d/skeleton.cpp
-msgid "Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Command: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift: Move All"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Command: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Ctrl: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Ctrl: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Rotate Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Scale Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create a custom polygon. Enables custom polygon rendering."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Remove a custom polygon. If none remain, custom polygon rendering is "
-"disabled."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Unpaint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Radius:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy Polygon to UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy UV to Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Clear UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Settings"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Enable Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Grid"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Configure Grid:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones to Polygon"
-msgstr ""
-
-#: editor/plugins/ray_cast_2d_editor_plugin.cpp
-msgid "Set cast_to"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ERROR: Couldn't load resource!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Add Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Rename Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Resource clipboard is empty!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Instance:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Open in Editor"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Load Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portals"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Room Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portal"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
-msgid "Occluder Set Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
-msgid "Center Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Path to AnimationPlayer is invalid"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Files"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close and save changes?"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error writing TextFile:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Could not load file at:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving file!"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error importing theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Importing"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "New Text File..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save File As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Can't obtain the script for running."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script failed reloading, check console for errors."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script is not in tool mode, will not be able to run."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"To run this script, it must inherit EditorScript and be set to tool mode."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "%s Class Reference"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter scripts"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter methods"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp scene/2d/y_sort.cpp
-msgid "Sort"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Up"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Down"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Next Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Previous Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reopen Closed Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Soft Reload Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Copy Script Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reload Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Search"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Break"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Continue"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Keep Debugger Open"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Debug with External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Online Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Godot online documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search the reference documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to previous edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to next edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Discard"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Results"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Dominant Script On Scene Change"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "External"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Use External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature Enabled"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Highlight Current Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature History Size"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Current Script Background Color"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
-msgid "Group Help Pages"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Sort Scripts By"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "List Script Names As"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Flags"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Scripts"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Connections to method:"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Source"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp platform/uwp/export/export.cpp
-#: scene/3d/interpolated_camera.cpp scene/animation/skeleton_ik.cpp
-msgid "Target"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid ""
-"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "[Ignore]"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Only resources from filesystem can be dropped."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't drop nodes because script '%s' is not used in this scene."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Lookup Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Convert Case"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-#: scene/3d/label_3d.cpp scene/gui/label.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Uppercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Lowercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Capitalize"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Syntax Highlighter"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Go To"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Cut"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Delete Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Left"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Right"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Comment"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold/Unfold Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Unfold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Complete Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#, fuzzy
-msgid "Evaluate Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Trim Trailing Whitespace"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Spaces"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Tabs"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Find in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Replace in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Contextual Help"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Line..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Toggle Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Breakpoint"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp
-msgid ""
-"This shader has been modified on on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp
-msgid "Shader"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "This skeleton has no bones, create some children Bone2D nodes."
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Set Rest Pose to Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Create Rest Pose from Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Skeleton2D"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Reset to Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Overwrite Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical bones"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-#: modules/gltf/gltf_node.cpp modules/gltf/gltf_skin.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/mesh_instance.cpp
-msgid "Skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_ik_editor_plugin.cpp
-msgid "Play IK"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
-msgid "Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Perspective"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [auto]"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [portals active]"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Aborted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "X-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Y-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Z-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp
-msgid "None"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/2d/path_2d.cpp
-msgid "Rotate"
-msgstr ""
-
-#. TRANSLATORS: This refers to the movement that changes the position of an object.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotating %s degrees."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Keying is disabled (no key inserted)."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Animation Key Inserted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pitch:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Yaw:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Objects Drawn:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Material Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Shader Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Surface Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Draw Calls:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Vertices:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "FPS: %d (%s ms)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Transform with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Rotation with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "No parent to instance a child at."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "This operation requires a single selected node."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Auto Orthogonal Enabled"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock View Rotation"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Normal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Wireframe"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Overdraw"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Unshaded"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Environment"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Information"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View FPS"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Half Resolution"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/main/viewport.cpp
-msgid "Audio Listener"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Enable Doppler"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Cinematic Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "(Not in GLES2)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Forward"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Backwards"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Speed Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Slow Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Camera Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Rotation Locked"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"To zoom further, change the camera's clipping planes (View -> Settings...)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Note: The FPS value displayed is the editor's framerate.\n"
-"It cannot be used as a reliable indication of in-game performance."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Convert Rooms"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "XForm Dialog"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Click to toggle between visibility states.\n"
-"\n"
-"Open eye: Gizmo is visible.\n"
-"Closed eye: Gizmo is hidden.\n"
-"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Nodes to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Use Local Space"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Use Snap"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Converts rooms for portal culling."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View 180"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Switch Perspective/Orthogonal View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Insert Animation Key"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Selection"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Freelook"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Decrease Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Increase Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Reset Field of View to Default"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Object to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Dialog..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "1 Viewport"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "4 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Grid"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Portal Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Occlusion Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Settings..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate Snap:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Snap (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Snap (%):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Viewport Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Perspective FOV (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Near:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Far:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Change"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale (ratio):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Type"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pre"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Post"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Size"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Opacity"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Show Viewport Rotation Gizmo"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unnamed Gizmo"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Mesh2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
-msgid "Create Polygon2D"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Polygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "CollisionPolygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "LightOccluder2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite is empty!"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Can't convert a sprite using animation frames to mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't replace by mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create collision polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create light occluder."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Update Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Settings:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "No Frames Selected"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add %d Frame(s)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Unable to load images"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "ERROR: Couldn't load frame resource!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Resource clipboard is empty or not a texture!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Paste Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Empty"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation FPS"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "(empty)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Move Frame"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Animations:"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "New Animation"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Speed:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: modules/gltf/gltf_animation.cpp modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp scene/2d/path_2d.cpp
-#: scene/3d/path.cpp scene/resources/animation.cpp scene/resources/material.cpp
-msgid "Loop"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animation Frames:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add a Texture from File"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frames from a Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Horizontal:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Vertical:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
-msgid "Separation:"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Offset:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select/Clear All Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Create Frames from Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "SpriteFrames"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Region Rect"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Margin"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Snap Mode:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Pixel Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Grid Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Auto Slice"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Step:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "TextureRegion"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Styleboxes"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} color(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No colors found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} constant(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No constants found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} font(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No fonts found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} icon(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No icons found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} stylebox(es)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No styleboxes found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} currently selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Nothing was selected for the import."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing items {n}/{n}"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Updating the editor"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Finalizing"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select by data type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Caution: Adding icon data may considerably increase the size of your Theme "
-"resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Collapse types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Expand types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items with item data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Deselect All"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Import Selected"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Import Items tab has some items selected. Selection will be lost upon "
-"closing this window.\n"
-"Close anyway?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Type"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Select a theme type from the list to edit its items.\n"
-"You can add a custom type or import a type with its items from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Color Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Rename Item"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Constant Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Remove All Font Items"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Remove All Icon Items"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All StyleBox Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"This theme type is empty.\n"
-"Add more items to it manually or by importing from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Add Theme Type"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Theme Type"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Add Font Item"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Add Icon Item"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, not a Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, same as the edited Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Edit Items"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add StyleBox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Items:"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Class Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Custom Items"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Old Name:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Editor Theme"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select Another Theme Resource:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme Resource"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Another Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Add Type"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter the list of types or create a new custom type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Available Node-based types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Type name is empty!"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Are you sure you want to create an empty type?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Confirm Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Cancel Item Rename"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Unpin this StyleBox as a main style."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Pin this StyleBox as a main style. Editing its properties will update the "
-"same properties in all other StyleBoxes of this type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Variation Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show Default"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show default type items alongside items that have been overridden."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override all default type items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select the variation base type from a list of available types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"A type associated with a built-in class cannot be marked as a variation of "
-"another type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Items..."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add, remove, organize and import Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Add Preview"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select UI Scene:"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid ""
-"Toggle the control picker, allowing to visually select control types for "
-"edit."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Toggle Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#, fuzzy
-msgid "Disabled Button"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp
-msgid "Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#, fuzzy
-msgid "Disabled Item"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Check Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Named Separator"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Submenu"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Many"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#, fuzzy
-msgid "Disabled LineEdit"
-msgstr "முடக்கப்பட்டது"
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 3"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Editable Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subtree"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has,Many,Options"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid path, the PackedScene resource was probably moved or removed."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid PackedScene resource, must have a Control node at its root."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid file, not a PackedScene resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Reload the scene to reflect its most actual state."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Fix Invalid Tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "Cut Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Line Draw"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Disable Autotile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Enable Priority"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Filter tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Give a TileSet resource to this TileMap to use its tiles."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Command+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Ctrl+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Left"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Right"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Horizontally"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Vertically"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
-msgid "Clear Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Tile Map"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Palette Min Width"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
-msgid "Palette Item H Separation"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Names"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Ids"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Sort Tiles By Name"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill Preview"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "Editor Side"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Display Grid"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Axis Color"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Texture(s) to TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected Texture from TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Single Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Autotile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Atlas"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Next Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the next shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Previous Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the previous shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
-msgid "Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/soft_body.cpp scene/main/scene_tree.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp
-msgid "Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/area_2d.cpp
-#: scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/node_2d.cpp
-msgid "Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Region Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Collision Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Priority Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/item_list.cpp
-msgid "Icon Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Z Index Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Copy bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Erase bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new rectangle."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Rectangle"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "New Polygon"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Delete Selected Shape"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Keep polygon inside region Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Enable snap and show grid (configurable via the Inspector)."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Display Tile Names (Hold Alt Key)"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Add or select a texture on the left panel to edit the tiles bound to it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected texture? This will remove all tiles which use it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "You haven't selected a texture to remove."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene? This will overwrite all current tiles."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "%s file(s) were not added because was already on the list."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Drag handles to edit Rect.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Delete selected Rect."
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select current edited sub-tile.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Delete polygon."
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"LMB: Set bit on.\n"
-"RMB: Set bit off.\n"
-"Shift+LMB: Set wildcard bit.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its priority.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its z index.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Icon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Clear Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "This property can't be changed."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Snap Options"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/parallax_background.cpp scene/2d/parallax_layer.cpp
-#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
-#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-msgid "Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
-#: scene/gui/range.cpp scene/resources/animation.cpp
-#: scene/resources/visual_shader_nodes.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Step"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Separation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Selected Tile"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
-#: scene/2d/multimesh_instance_2d.cpp scene/2d/particles_2d.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tex Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
-msgid "Material"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-msgid "Modulate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotile Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Subtile Size"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Spacing"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Occluder Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Navigation Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Shape Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Shape Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Selected Collision"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way Margin"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Selected Navigation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Selected Occlusion"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tileset Script"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "TileSet"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No VCS plugins are available."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid ""
-"Remote settings are empty. VCS features that use the network may not work."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No commit message was provided."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Staged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstaged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Date:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Subtitle:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s branch?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s remote?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Apply"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control System"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Initialize"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Remote Login"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH public key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH private key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Passphrase"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Detect new changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Discard all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Stage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Message"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit List"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit list size"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branches"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Branch"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branch Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Remotes"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Remove Remote"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote URL"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Fetch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Pull"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Force Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Modified"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Renamed"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Deleted"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Typechange"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unmerged"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "View:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Split"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unified"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(GLES3 only)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Output"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sampler"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
-msgid "Change input port type"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set expression"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Resize VisualShader node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Uniform Name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Input Default Port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node to Visual Shader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Node(s) Moved"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
-msgid "Duplicate Nodes"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
-msgid "Delete Nodes"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Input Type Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "UniformRef Name Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vertex"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Fragment"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/light.cpp
-msgid "Light"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Show resulted shader code."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Create Shader Node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Grayscale function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sepia function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Burn operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Darken operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Difference operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Dodge operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "HardLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Lighten operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Overlay operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Screen operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "SoftLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
-msgid "Color uniform."
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the %s comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Equal (==)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than (>)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than or Equal (>=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided scalars are equal, greater or "
-"less."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between NaN and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than (<)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than or Equal (<=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Not Equal (!=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated scalar if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF (or NaN) and a "
-"scalar parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Input parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the absolute value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Constrains a value to lie between two further values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in radians to degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-e Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Computes the fractional part of the argument."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the greater of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the lesser of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the opposite value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in degrees to radians."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest even integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Extracts the sign of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the truncated value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds scalar to scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts scalar from scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
-msgid "Scalar uniform."
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the cubic texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Cubic texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup with triplanar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Calculate the outer product of a pair of vectors.\n"
-"\n"
-"OuterProduct treats the first parameter 'c' as a column vector (matrix with "
-"one column) and the second parameter 'r' as a row vector (matrix with one "
-"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix "
-"whose number of rows is the number of components in 'c' and whose number of "
-"columns is the number of components in 'r'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes transform from four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes transform to four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the determinant of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the inverse of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the transpose of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies transform by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes vector from three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes vector to three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the cross product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the distance between two points."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the dot product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the same direction as a reference vector. "
-"The function has three vector parameters : N, the vector to orient, I, the "
-"incident vector, and Nref, the reference vector. If the dot product of I and "
-"Nref is smaller than zero the return value is N. Otherwise -N is returned."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the length of a vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors using scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the normalize product of vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the direction of reflection ( a : incident "
-"vector, b : normal vector )."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the vector that points in the direction of refraction."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( vector(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds vector to vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts vector from vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, with custom amount of input and "
-"output ports. This is a direct injection of code into the vertex/fragment/"
-"light function, do not use it to write the function declarations inside."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns falloff based on the dot product of surface normal and view "
-"direction of camera (pass associated inputs to it)."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, which is placed on top of the "
-"resulted shader. You can place various function definitions inside and call "
-"it later in the Expressions. You can also declare varyings, uniforms and "
-"constants."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "A reference to an existing uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Scalar derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Vector derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "VisualShader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Edit Visual Property:"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Mode Changed"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Runnable"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Exporting All"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Path"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Presets"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_settings_editor.cpp
-msgid "Add..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"If checked, the preset will be available for use in one-click deploy.\n"
-"Only one preset per platform may be marked as runnable."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export all resources in the project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected scenes (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected resources (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources to export:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to export non-resource files/folders\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to exclude files/folders from project\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Features"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Custom (comma-separated):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Feature List:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Script"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Compiled Bytecode (Faster Loading)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Encrypted (Provide Key Below)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Encryption Key (256-bits as hexadecimal):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Note: Encryption key needs to be stored in the binary,\n"
-"you need to build the export templates from source."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "More Info..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_manager.cpp
-msgid "ZIP File"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Manage Export Templates"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export With Debug"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The path specified doesn't exist."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file (it's not in ZIP format)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose an empty folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose a \"project.godot\" or \".zip\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "This directory already contains a Godot project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Game Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Imported Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "There is already a folder in this path with the specified name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "It would be a good idea to name your project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project path (changed anything?)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file, not in ZIP format."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The following files failed extraction from package:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Package installed successfully!"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Rename Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Existing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install Project:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Name:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Installation Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 3.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Not supported by your GPU drivers."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Higher visual quality\n"
-"All features available\n"
-"Incompatible with older hardware\n"
-"Not recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 2.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Lower visual quality\n"
-"Some features not available\n"
-"Works on most hardware\n"
-"Recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer can be changed later, but scenes may need to be adjusted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Missing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error: Project is missing on the filesystem."
-msgstr ""
-
-#: editor/project_manager.cpp editor/scene_tree_dock.cpp
-msgid "Local"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Local Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Asset Library Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't open project at '%s'."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to open more than one project?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file does not specify the version of Godot "
-"through which it was created.\n"
-"\n"
-"%s\n"
-"\n"
-"If you proceed with opening it, it will be converted to Godot's current "
-"configuration file format.\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file was generated by an older engine "
-"version, and needs to be converted for this version:\n"
-"\n"
-"%s\n"
-"\n"
-"Do you want to convert it?\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The project settings were created by a newer engine version, whose settings "
-"are not compatible with this version."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: no main scene defined.\n"
-"Please edit the project and set the main scene in the Project Settings under "
-"the \"Application\" category."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: Assets need to be imported.\n"
-"Please edit the project to trigger the initial import."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to run %d projects at once?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove %d projects from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove this project from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Remove all missing projects from the list?\n"
-"The project folders' contents won't be modified."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Language changed.\n"
-"The interface will update after restarting the editor or project manager."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Are you sure to scan %s folders for existing Godot projects?\n"
-"This could take a while."
-msgstr ""
-
-#. TRANSLATORS: This refers to the application where users manage their Godot projects.
-#: editor/project_manager.cpp
-#, fuzzy
-msgctxt "Application"
-msgid "Project Manager"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
-#, fuzzy
-msgid "Edit Project"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: editor/project_manager.cpp
-msgid "Run Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Select a Folder to Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-#, fuzzy
-msgid "Remove Project"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: editor/project_manager.cpp
-msgid "Remove Missing"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "About"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Restart Now"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove All"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Also delete project contents (no undo!)"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't run project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"You currently don't have any projects.\n"
-"Would you like to explore official example projects in the Asset Library?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Filter projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"This field filters projects by name and last path component.\n"
-"To filter projects by name and full path, the query must contain at least "
-"one `/` character."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Physical Key"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Key "
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Axis"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "An action with the name '%s' already exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Rename Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Action deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "All Devices"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid " (Physical)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Press a Key..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 1"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 2"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Axis Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Global Property"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Select a setting item first!"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "No property '%s' exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Delete Item"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Error saving settings."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Settings saved OK."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Moved Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override for Feature"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-#, fuzzy
-msgid "Add %d Translations"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Translation"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Path(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Remap(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Resource Remap Language"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap Option"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter Mode"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Project Settings (project.godot)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "General"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override For..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "The editor must be restarted for changes to take effect."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Input Map"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Action:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp
-msgid "Deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Device:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Localization"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Resources:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps by Locale:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show All Locales"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show Selected Locales Only"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Filter mode:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "AutoLoad"
-msgstr ""
-
-#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Plugins"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Import Defaults"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Zero"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing In-Out"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing Out-In"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "File..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Dir..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Assign"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Select Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Pick a Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Property"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Method"
-msgstr ""
-
-#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Batch Rename"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: editor/rename_dialog.cpp
-msgid "Prefix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Suffix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Use Regular Expressions"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Advanced Options"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Substitute"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node's parent name, if available"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node type"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Current scene name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Root node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Sequential integer counter.\n"
-"Compare counter options."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Per-level Counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "If set, the counter restarts for each group of child nodes."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Initial value for the counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Amount by which counter is incremented for each node"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Padding"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Minimum number of digits for the counter.\n"
-"Missing digits are padded with leading zeros."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Post-Process"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Style"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Keep"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "PascalCase to snake_case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "snake_case to PascalCase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Lowercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Uppercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Reset"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Regular Expression Error:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "At character %s"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent Node"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Reparent Location (Select new Parent):"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Keep Global Transform"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Run Mode:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp
-msgid "Current Scene"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Main Scene Arguments:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Scene Run Settings"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "No parent to instance the scenes at."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error loading scene from %s"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one "
-"of its nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Scene(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Replace with Branch Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Child Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't paste root node into the same scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Paste Node(s)"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on the tree root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Node In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Nodes In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Node must belong to the edited scene to become root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instantiated scenes can't become root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make node as Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Delete %d nodes and any children?"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Delete %d nodes?"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete the root node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\" and its children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Delete node \"%s\"?"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires having a scene open in the editor."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires selecting only one node, but you have "
-"selected %d nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the root node branch as an instanced scene.\n"
-"To create an editable copy of the current scene, duplicate it using the "
-"FileSystem dock context menu\n"
-"or create an inherited scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the branch of an already instanced scene.\n"
-"To create a variation of a scene, you can make an inherited scene based on "
-"the instanced scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is a child of an already instantiated scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is part of an inherited scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Save New Scene As..."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Disabling \"editable_instance\" will cause all properties of the node to be "
-"reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
-"cause all properties of the node to be reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Local"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Another node already uses this unique name in the scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Enable Scene Unique Name"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
-msgid "Disable Scene Unique Name"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: editor/scene_tree_dock.cpp
-msgid "New Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Create Root Node:"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "2D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "3D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "User Interface"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Other Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes from a foreign scene!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes the current scene inherits from!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on instanced scenes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Cut Node(s)"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: editor/scene_tree_dock.cpp
-msgid "Remove Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change type of node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Couldn't save new scene. Likely dependencies (instances) couldn't be "
-"satisfied."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error saving scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error duplicating scene to save it."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Sub-Resources"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Access as Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Editable Children"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Load As Placeholder"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot attach a script: there are no languages registered.\n"
-"This is probably because this editor was built with all language modules "
-"disabled."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add Child Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Expand/Collapse All"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change Type"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Reparent to New Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Merge From Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Save Branch as Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Copy Node Path"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete (No Confirm)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Instance a scene file as a Node. Creates an inherited scene if no root node "
-"exists."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach a new or existing script to the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach the script from the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remote"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"If selected, the Remote scene tree dock will cause the project to stutter "
-"every time it updates.\n"
-"Switch back to the Local scene tree dock to improve performance."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance? (No Undo!)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Show Scene Tree Root Selection"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Derive Script Globals By Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Use Favorites Root Selection"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-#, fuzzy
-msgid "Unlock Node"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: editor/scene_tree_editor.cpp
-msgid "Button Group"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "(Connecting From)"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node configuration warning:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"This node can be accessed from within anywhere in the scene by preceding it "
-"with the '%s' prefix in a node path.\n"
-"Click to disable this."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s) and %s group(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is in %s group(s).\n"
-"Click to show groups dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Open Script:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is locked.\n"
-"Click to unlock it."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Children are not selectable.\n"
-"Click to make selectable."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visibility"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"AnimationPlayer is pinned.\n"
-"Click to unpin."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Invalid node name, the following characters are not allowed:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Rename Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Scene Tree (Nodes):"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node Configuration Warning!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Select a Node"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Filename is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is not local."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid base path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "A directory with the same name exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File does not exist."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid extension."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Wrong extension chosen."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading template '%s'"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error - Could not create script in filesystem."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading script from %s"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Overrides"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "N/A"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script / Choose Location"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File exists, it will be reused."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid class name."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid inherited parent name or path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script path/name is valid."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Allowed: a-z, A-Z, 0-9, _ and ."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in script (into scene file)."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will create a new script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will load an existing script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script file already exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Note: Built-in scripts have some limitations and can't be edited using an "
-"external editor."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Warning: Having the script name be the same as a built-in type is usually "
-"not desired."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Class Name:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Template:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in Script:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Attach Node Script"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Bytes:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Warning:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Errors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Child process connected."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Copy Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Open C++ Source on GitHub"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Video RAM"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Skip Breakpoints"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Previous Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Next Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Frames"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Filter stack variables"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Inspect Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Network Profiler"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitor"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "List of Video Memory Usage by Resource:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Total:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export list to a CSV file"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource Path"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_effect_record.cpp
-msgid "Format"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/main/viewport.cpp
-msgid "Usage"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp servers/visual_server.cpp
-msgid "Misc"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control Type:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Live Edit Root:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Set From Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export measures as CSV"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Erase Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Restore Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Change Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Editor Settings"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Shortcuts"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Binding"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Light Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Stream Player 3D"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/gltf/gltf_node.cpp
-#: platform/osx/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Camera"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera FOV"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera Size"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Visibility Notifier"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Reflection Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "GI Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Baked Indirect Light"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Sphere Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Box Shape Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body A"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body B"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Overlap"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Room Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-msgid "Portal Margin"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Arrow"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Portal Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Occluder"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Polygon Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Hole Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Hole"
-msgstr ""
-
-#: main/main.cpp
-msgid "Godot Physics"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "Use BVH"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "BVH Collision Margin"
-msgstr ""
-
-#: main/main.cpp
-msgid "Crash Handler"
-msgstr ""
-
-#: main/main.cpp
-msgid "Multithreaded Server"
-msgstr ""
-
-#: main/main.cpp
-msgid "RID Pool Prealloc"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debugger stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Chars Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Messages Per Frame"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Errors Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Warnings Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Flush stdout On Print"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Log Path"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Log Files"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver Name"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fallback To GLES2"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
-
-#: main/main.cpp
-msgid "DPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allow hiDPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Per Pixel Transparency"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allowed"
-msgstr ""
-
-#: main/main.cpp
-msgid "Intended Usage"
-msgstr ""
-
-#: main/main.cpp
-msgid "Framebuffer Allocation"
-msgstr ""
-
-#: main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Energy Saving"
-msgstr ""
-
-#: main/main.cpp
-msgid "Threads"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-msgid "Thread Model"
-msgstr ""
-
-#: main/main.cpp
-msgid "Thread Safe BVH"
-msgstr ""
-
-#: main/main.cpp
-msgid "Handheld"
-msgstr ""
-
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-#, fuzzy
-msgid "Orientation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
-#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-msgid "Common"
-msgstr ""
-
-#: main/main.cpp
-msgid "Physics FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Force FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Pause Aware Picking"
-msgstr ""
-
-#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
-#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
-#: scene/main/viewport.cpp scene/register_scene_types.cpp
-msgid "GUI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
-
-#: main/main.cpp
-msgid "stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Print FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Verbose stdout"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-msgid "Physics Interpolation"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Enable Warnings"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: main/main.cpp
-msgid "Frame Delay Msec"
-msgstr ""
-
-#: main/main.cpp
-msgid "Low Processor Mode"
-msgstr ""
-
-#: main/main.cpp
-msgid "Delta Sync After Draw"
-msgstr ""
-
-#: main/main.cpp
-msgid "iOS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Hide Home Indicator"
-msgstr ""
-
-#: main/main.cpp
-msgid "Input Devices"
-msgstr ""
-
-#: main/main.cpp
-msgid "Pointing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Touch Delay"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "GLES3"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Shaders"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debug Shader Fallbacks"
-msgstr ""
-
-#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
-#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
-#: scene/resources/world.cpp
-msgid "Environment"
-msgstr ""
-
-#: main/main.cpp
-msgid "Default Clear Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "Boot Splash"
-msgstr ""
-
-#: main/main.cpp
-msgid "Show Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fullsize"
-msgstr ""
-
-#: main/main.cpp scene/resources/dynamic_font.cpp
-msgid "Use Filter"
-msgstr ""
-
-#: main/main.cpp scene/resources/style_box.cpp
-msgid "BG Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "macOS Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Windows Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Buffering"
-msgstr ""
-
-#: main/main.cpp
-msgid "Agile Event Flushing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Touch From Mouse"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Mouse From Touch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Mouse Cursor"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Custom Image"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: main/main.cpp
-msgid "Custom Image Hotspot"
-msgstr ""
-
-#: main/main.cpp
-msgid "Tooltip Position Offset"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Debugger Agent"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait For Debugger"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait Timeout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Runtime"
-msgstr ""
-
-#: main/main.cpp
-msgid "Unhandled Exception Policy"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Main Loop Type"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: main/main.cpp scene/gui/texture_progress.cpp
-#: scene/gui/viewport_container.cpp
-msgid "Stretch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Aspect"
-msgstr ""
-
-#: main/main.cpp
-msgid "Shrink"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Auto Accept Quit"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Quit On Go Back"
-msgstr ""
-
-#: main/main.cpp scene/main/viewport.cpp
-msgid "Snap Controls To Pixels"
-msgstr ""
-
-#: main/main.cpp
-msgid "Dynamic Fonts"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Oversampling"
-msgstr ""
-
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-msgid "Active Soft World"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "CSG"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Height"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-#, fuzzy
-msgid "Operation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/csg/csg_shape.cpp
-msgid "Calculate Tangents"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Use Collision"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-msgid "Collision Layer"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
-#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
-#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-msgid "Collision Mask"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-#, fuzzy
-msgid "Invert Faces"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
-#: scene/3d/navigation_obstacle.cpp scene/3d/vehicle_body.cpp
-#: scene/animation/root_motion_view.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/circle_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/sphere_shape.cpp
-msgid "Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Radial Segments"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Rings"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Smooth Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Cone"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Ring Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
-#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
-msgid "Polygon"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Degrees"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-#, fuzzy
-msgid "Path Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval Type"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Simplify Angle"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Rotation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Local"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Continuous U"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path U Distance"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Joined"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Compression Mode"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Transfer Channel"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Channel Count"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Always Ordered"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Server Relay"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Verify"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Hostname"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Use DTLS"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FBX"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Use FBX"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Config File"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Load Once"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Symbol Prefix"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Reloadable"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select the dynamic library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select dependencies of the library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Remove current entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Double click to create a new entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform:"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dynamic Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Add an architecture entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "GDNativeLibrary"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Enabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Disabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Class Name"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Script Class"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Icon Path"
-msgstr ""
-
-#: modules/gdnative/register_types.cpp
-msgid "GDNative"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript.cpp
-msgid "GDScript"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Function Definition Color"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Node Path Color"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
-msgid "Max Call Stack"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Treat Warnings As Errors"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Exclude Addons"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Autocomplete Setters And Getters"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Step argument is zero!"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not a script with an instance"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a script"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a resource file"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (missing @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (can't load script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (invalid script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary (invalid subclasses)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Object can't provide a length."
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Language Server"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Enable Smart Resolve"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Show Native Symbols In Editor"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Use Thread"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Mesh GLTF2"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export GLTF..."
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
-msgid "Component Type"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Normalized"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
-msgid "Count"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
-msgid "Min"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Max"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
-msgid "Sparse Count"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Buffer"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Length"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Stride"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Indices"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "FOV Size"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Zfar"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Znear"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/animation/root_motion_view.cpp scene/gui/color_picker.cpp
-#: scene/gui/color_rect.cpp scene/gui/rich_text_effect.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp
-msgid "Color"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
-#: scene/resources/environment.cpp
-msgid "Intensity"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-msgid "Range"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Inner Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Outer Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Blend Weights"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Instance Materials"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-msgid "Parent"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Xform"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
-msgid "Skin"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-#, fuzzy
-msgid "Translation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/gltf/gltf_node.cpp
-msgid "Children"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-#, fuzzy
-msgid "Joints"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Roots"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
-msgid "Unique Names"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp
-#, fuzzy
-msgid "Godot Bone Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Skin Root"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joints Original"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Inverse Binds"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-#, fuzzy
-msgid "Non Joints"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Bone I"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Name"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Godot Skin"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Img"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Gloss Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Specular Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Spec Gloss Img"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Json"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Major Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Minor Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "GLB Data"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Use Named Skin Binds"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Buffer Views"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Accessors"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-#, fuzzy
-msgid "Scene Name"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gltf/gltf_state.cpp
-#, fuzzy
-msgid "Root Nodes"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-msgid "Textures"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
-msgid "Images"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Cameras"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-msgid "Lights"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-#, fuzzy
-msgid "Unique Animation Names"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeletons"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-#, fuzzy
-msgid "Skeleton To Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gltf/gltf_state.cpp
-#, fuzzy
-msgid "Animations"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/gltf/gltf_texture.cpp
-msgid "Src Image"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Mesh Library"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Physics Material"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-msgid "Use In Baked Light"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
-msgid "Cell"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Octant Size"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-#, fuzzy
-msgid "Center X"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map.cpp
-#, fuzzy
-msgid "Center Y"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map.cpp
-#, fuzzy
-msgid "Center Z"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/resources/material.cpp
-msgid "Mask"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Plane:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Floor:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Delete Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "GridMap Fill Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "GridMap Paste Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paint"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "GridMap Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Snap View"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Disabled"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Above"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Below"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit X Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Y Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Z Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Clear Rotation"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "Paste Selects"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clear Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "Fill Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Settings"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Filter meshes"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Begin Bake"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Preparing data structures"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Generate buffers"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Direct lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Indirect lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Post processing"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Plotting lightmaps"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "CPU Lightmapper"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Low Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Medium Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "High Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Ultra Quality Ray Count"
-msgstr ""
-
-#: modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-msgid "Loop Offset"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Eye Height"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "IOD"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display Width"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display To Lens"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Oversample"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K1"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K2"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Class name can't be a reserved keyword"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-#, fuzzy
-msgid "Build Solution"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/mono/editor/csharp_project.cpp
-#, fuzzy
-msgid "Auto Update Project"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: modules/mono/mono_gd/gd_mono_utils.cpp
-msgid "End of inner exception stack trace"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-#: scene/3d/navigation_mesh_instance.cpp
-msgid "A NavigationMesh resource must be set or created for this node to work."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Bake NavMesh"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Seamless"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "As Normal Map"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Bump Strength"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise Offset"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Octaves"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Period"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Persistence"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Lacunarity"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Subject"
-msgstr ""
-
-#: modules/regex/regex.cpp
-#, fuzzy
-msgid "Names"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: modules/regex/regex.cpp
-#, fuzzy
-msgid "Strings"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Multicast If"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Local Port"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover IPv6"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-#, fuzzy
-msgid "Description URL"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: modules/upnp/upnp_device.cpp
-msgid "Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Control URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Our Addr"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Status"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"A node yielded without working memory, please read the docs on how to yield "
-"properly!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Node yielded, but did not return a function state in the first working "
-"memory."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Return value must be assigned to first element of node working memory! Fix "
-"your node please."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Found sequence bit but not the node in the stack, report bug!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Visual Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Signal Arguments"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Default Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Add Input Port"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Change Port Type"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Change Port Name"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Override an existing built-in function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Variables:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new variable."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new signal."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name is not a valid identifier:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name already in use by another func/var/signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Delete input port"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Remove Input Port"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Remove Output Port"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't copy the function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Duplicate VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Preload Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Add Node(s)"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s) From Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid ""
-"Can't drop properties because script '%s' is not used in this scene.\n"
-"Drop holding 'Shift' to just copy the signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Getter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Setter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Move Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Disconnect Nodes"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Data"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Script already has function '%s'"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Input Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Resize Comment"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function with a function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function of nodes from nodes of multiple functions."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select at least one node with sequence port."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Try to only have one sequence input in selection."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Tool:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Members:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Nodes..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Add Function..."
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "function_name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select or create a function to edit its graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete Selected"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Find Node Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Copy Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Cut Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Refresh Graph"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Member"
-msgstr ""
-
-#: modules/visual_script/visual_script_expression.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
-msgid "Return Enabled"
-msgstr "முடக்கப்பட்டது"
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
-msgid "Condition"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "if (cond) is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "while (cond):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "for (elem) in (input):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "in order:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Steps"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "'input' is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Type Cast"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Is %s?"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Node Path"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Use Default Args"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Validate"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "RPC Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Subtract %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Multiply %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Divide %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Mod %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftLeft %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftRight %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitAnd %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitOr %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitXor %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Set Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Assign Op"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Get %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base object is not a Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Path does not lead to Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name '%s' in node %s."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Emit %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Compose Array"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Operator"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "a if cond, else b"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Var Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Preload"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Global Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Class Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Math Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Engine Singleton"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
-msgid "Get Scene Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
-msgid "CustomNode"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Custom node has no _step() method, can't process graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ""
-"Invalid return value from _step(), must be integer (seq out), or string "
-"(error)."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "SubCall"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
-msgid "Title"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Construct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
-msgid "Action %s"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Deconstruct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search VisualScript"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Yield"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Wait"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
-msgid "Next Frame"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Physics Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "%s sec(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-msgid "Wait Time"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitNodeSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitInstanceSignal"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.cpp
-msgid "Write Mode"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "WebRTC"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "Max Channel In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Verify SSL"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Trusted SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Client"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Server"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Bind IP"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Private Key"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
-msgid "SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "CA Chain"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Handshake Timeout"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Session Mode"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Required Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Optional Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Requested Reference Space Types"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Reference Space Type"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Visibility State"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Bounds Geometry"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "XR Standard Mapping"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Android SDK Path"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore Pass"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Force System User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Shutdown ADB On Exit"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Launcher Icons"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Main 192 X 192"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Foreground 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Background 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package name is missing."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package segments must be of non-zero length."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' is not allowed in Android application package names."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A digit cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The package must have at least one '.' separator."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Use Custom Build"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Export Format"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-msgid "Architectures"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Keystore"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Debug Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "One Click Deploy"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Clear Previous Install"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Package"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
-msgid "Unique Name"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signed"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Classify As Game"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Retain Data On Uninstall"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Exclude From Recents"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Graphics"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "OpenGL Debug"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Features"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "XR Mode"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Hand Tracking"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking Frequency"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Passthrough"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Immersive Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Small"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Normal"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Large"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Xlarge"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "User Data Backup"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Allow"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Command Line"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Extra Args"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Salt"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Public Key"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Permissions"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Custom Permissions"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Select device from the list"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Uninstalling..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Installing to device, please wait..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not install to device: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on device..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not execute on device."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build template not installed in the project. Install it from the "
-"Project menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Debug Keystore, Debug User AND Debug Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Release Keystore, Release User AND Release Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release keystore incorrectly configured in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A valid Android SDK path is required in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid Android SDK path in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'platform-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK platform-tools' adb command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Please check in the Android SDK directory specified in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'build-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK build-tools' apksigner command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid public key for APK expansion."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid package name:"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
-"project setting (changed in Godot 3.2.2).\n"
-"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
-"Note that the singleton was also renamed from \"GodotPayments\" to "
-"\"GodotGooglePlayBilling\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Use Custom Build\" must be enabled to use the plugins."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
-"or \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing debug %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing release %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not find keystore, unable to export."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' returned with error #%d"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Verifying %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' verification of %s failed."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting for Android"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android App Bundle requires the *.aab extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion not compatible with Android App Bundle."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android APK requires the *.apk extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Trying to build from a custom built template, but no version info for it "
-"exists. Please reinstall from the 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
-"Please reinstall Android build template from 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not write expansion package file!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Building Android Project (gradle)"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Building of Android project failed, check output for the error.\n"
-"Alternatively visit docs.godotengine.org for Android build documentation."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Moving output"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to copy and rename export file, check gradle project directory for "
-"outputs."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Creating APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
-"Please build a template with all required libraries, or uncheck the missing "
-"architectures in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adding files..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Aligning APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not unzip temporary unaligned APK."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier is missing."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "The character '%s' is not allowed in Identifier."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Landscape Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2436 X 1125"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2208 X 1242"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1024 X 768"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 2048 X 1536"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Portrait Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 960"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 1136"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 750 X 1334"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1125 X 2436"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 768 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1536 X 2048"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1242 X 2208"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Targeted Device Family"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Info"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Signature"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Short Version"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Copyright"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-#, fuzzy
-msgid "Capabilities"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/iphone/export/export.cpp
-msgid "Access Wi-Fi"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Push Notifications"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "User Data"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From Files App"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From iTunes Sharing"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Privacy"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
-msgid "Camera Usage Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
-msgid "Microphone Usage Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/iphone/export/export.cpp
-#, fuzzy
-msgid "Photolibrary Usage Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 120 X 120"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 180 X 180"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 76 X 76"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 152 X 152"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 167 X 167"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store 1024 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 40 X 40"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 80 X 80"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Launch Screen Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Image Scale Mode"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-#, fuzzy
-msgid "Custom Image @2x"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/iphone/export/export.cpp
-#, fuzzy
-msgid "Custom Image @3x"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/iphone/export/export.cpp
-#, fuzzy
-msgid "Use Custom BG Color"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/iphone/export/export.cpp
-#, fuzzy
-msgid "Custom BG Color"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID not specified - cannot configure the project."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Invalid Identifier:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Stop HTTP Server"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run in Browser"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run exported HTML in the system's default browser."
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-#, fuzzy
-msgid "Variant"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: platform/javascript/export/export.cpp
-#, fuzzy
-msgid "Export Type"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: platform/javascript/export/export.cpp
-msgid "VRAM Texture Compression"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Desktop"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Mobile"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTML"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Icon"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-#, fuzzy
-msgid "Custom HTML Shell"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/javascript/export/export.cpp
-msgid "Head Include"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Canvas Resize Policy"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Focus Canvas On Start"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Experimental Virtual Keyboard"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Progressive Web App"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Offline Page"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 144 X 144"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 180 X 180"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 512 X 512"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Web"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Host"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Port"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Use SSL"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "SSL Key"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't get filesystem access."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get Info.plist hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no exe name."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no bundle id."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, can't load."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create \"%s\" subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to extract thin binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid binary format."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Already signed!"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to process nested resources."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get CodeResources hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-msgid "Invalid entitlements file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid executable file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't resize signature load command."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create fat binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown bundle type."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown object type."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Category"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "High Res"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Location Usage Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/osx/export/export.cpp
-msgid "Address Book Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Calendar Usage Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Photos Library Usage Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Desktop Folder Usage Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/osx/export/export.cpp
-msgid "Documents Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Downloads Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Removable Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
-msgid "Codesign"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Identity"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Timestamp"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Hardened Runtime"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Replace Existing Signature"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Entitlements"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Custom File"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: platform/osx/export/export.cpp
-msgid "Allow JIT Code Execution"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Unsigned Executable Memory"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Dyld Environment Variables"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Disable Library Validation"
-msgstr "முடக்கப்பட்டது"
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Audio Input"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: platform/osx/export/export.cpp
-msgid "Address Book"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendars"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Events"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Debugging"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Sandbox"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Server"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Client"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device USB"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device Bluetooth"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Downloads"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Pictures"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Music"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Movies"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
-msgid "Custom Options"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Notarization"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Name"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Password"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Team ID"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"You can check progress manually by opening a Terminal and running the "
-"following command:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Run the following command to staple the notarization ticket to the exported "
-"application (optional):"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "No identity found."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Creating app bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Relative symlinks are not supported on this OS, the exported project might "
-"be broken!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
-"template archive."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making PKG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Ad-hoc signed applications require the 'Disable Library Validation' "
-"entitlement to load dynamic libraries."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making ZIP"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Notarization requires the app to be archived first, select the DMG or ZIP "
-"export format instead."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Sending archive for notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Invalid bundle identifier:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
-"signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Xcode command line tools are not installed, using built-in "
-"\"codesign\". Code signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Code signing is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Hardened runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID name not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID password not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is disabled. The exported project will be blocked by "
-"Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Code signing is disabled. The exported project will not run on Macs with "
-"enabled Gatekeeper and Apple Silicon powered Macs."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Hardened Runtime is not compatible with ad-hoc signature, and will be "
-"disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is not supported from this OS. The exported project "
-"will be blocked by Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Microphone access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Camera access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Location information access is enabled, but usage description is "
-"not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Address book access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Calendar access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Photo library access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "macOS"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Force Builtin Codesign"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Architecture"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-#, fuzzy
-msgid "Short Name"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-#, fuzzy
-msgid "Product GUID"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: platform/uwp/export/export.cpp
-#, fuzzy
-msgid "Publisher GUID"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: platform/uwp/export/export.cpp
-msgid "Signing"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Algorithm"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Major"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Minor"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Build"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Revision"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Store Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 44 X 44 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 71 X 71 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 150 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 310 X 310 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Wide 310 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Splash Screen"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Tiles"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 150 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Wide 310 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 310 X 310"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package short name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package unique name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package publisher display name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid product GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid publisher GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid background color."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid Store Logo image dimensions (should be 50x50)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 44x44 logo image dimensions (should be 44x44)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 71x71 logo image dimensions (should be 71x71)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 150x150 logo image dimensions (should be 150x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 310x310 logo image dimensions (should be 310x310)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid splash screen image dimensions (should be 620x300)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "UWP"
-msgstr ""
-
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Signtool"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Identity Type"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Timestamp Server URL"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Digest Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Modify Resources"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-#, fuzzy
-msgid "Company Name"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: platform/windows/export/export.cpp
-#, fuzzy
-msgid "Product Name"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: platform/windows/export/export.cpp
-#, fuzzy
-msgid "File Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: platform/windows/export/export.cpp
-msgid "Trademarks"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid ""
-"The rcedit tool must be configured in the Editor Settings (Export > Windows "
-"> Rcedit) to change the icon or app information data."
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid icon path:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid file version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid product version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Windows"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Rcedit"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Osslsigncode"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Wine"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Frames"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/2d/animated_sprite.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite to display frames."
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Speed Scale"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
-#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Playing"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
-msgid "Centered"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip H"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip V"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitoring"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitorable"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Physics Overrides"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Space Override"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Point"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Distance Scale"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Vec"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Gravity"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Linear Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Angular Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
-msgid "Audio Bus"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Override"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
-#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-msgid "Volume dB"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Pitch Scale"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Autoplay"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Stream Paused"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
-msgid "Max Distance"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
-#, fuzzy
-msgid "Attenuation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Bus"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-msgid "Area Mask"
-msgstr ""
-
-#: scene/2d/back_buffer_copy.cpp
-#, fuzzy
-msgid "Copy Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/camera_2d.cpp
-msgid "Anchor Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-#, fuzzy
-msgid "Rotating"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
-#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
-#, fuzzy
-msgid "Current"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-msgid "Zoom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
-msgid "Custom Viewport"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
-msgid "Process Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Limit"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Left"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Right"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Bottom"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothed"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin H Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin V Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothing"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "H"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "V"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Screen"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Limits"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Drag Margin"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Blend Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Light Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-#, fuzzy
-msgid "Particles Animation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim H Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim V Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim Loop"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-msgid "Visibility"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
-#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-msgid "Visible"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Self Modulate"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show Behind Parent"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show On Top"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Light Mask"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Use Parent Material"
-msgstr ""
-
-#: scene/2d/canvas_modulate.cpp
-msgid ""
-"Only one visible CanvasModulate is allowed per scene (or set of instanced "
-"scenes). The first created one will work, while the rest will be ignored."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
-"define its shape."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid "Pickable"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid ""
-"CollisionPolygon2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "An empty CollisionPolygon2D has no effect on collision."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid ""
-"The One Way Collision property will be ignored when the parent is an Area2D."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Build Mode"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
-#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision Margin"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"CollisionShape2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"A shape must be provided for CollisionShape2D to function. Please create a "
-"shape resource for it!"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"Polygon-based shapes are not meant be used nor edited directly through the "
-"CollisionShape2D node. Please use the CollisionPolygon2D node instead."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid ""
-"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
-msgid "Emitting"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Lifetime"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-msgid "One Shot"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Preprocess"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Explosiveness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Lifetime Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fixed FPS"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fract Delta"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Drawing"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Local Coords"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Draw Order"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Emission Shape"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Sphere Radius"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid "Rect Extents"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Normals"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Align Y"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Direction"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Spread"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Initial Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Angular Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Velocity Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Orbit Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Linear Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Accel Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Radial Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Tangential Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Damping"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Damping Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Angle Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
-msgid "Scale Amount"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
-msgid "Scale Amount Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Initial Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Hue Variation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Variation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Variation Random"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Variation Curve"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Speed Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Offset Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node B must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Joint is not connected to two PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be different PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Node A"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Node B"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/resources/environment.cpp
-msgid "Bias"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-#, fuzzy
-msgid "Disable Collision"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Softness"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Initial Offset"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
-msgid "Rest Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-msgid "Stiffness"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid ""
-"A texture with the shape of the light must be supplied to the \"Texture\" "
-"property."
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-#, fuzzy
-msgid "Editor Only"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/2d/light_2d.cpp
-msgid "Texture Scale"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-msgid "Energy"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Item Cull Mask"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-msgid "Shadow"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Buffer Size"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Gradient Length"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-#, fuzzy
-msgid "Filter Smooth"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "Closed"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
-msgid "Cull Mode"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid ""
-"An occluder polygon must be set (or drawn) for this occluder to take effect."
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-#, fuzzy
-msgid "Width Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Default Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Fill"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Gradient"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Texture Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Capping"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Joint Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Begin Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "End Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-msgid "Border"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Sharp Limit"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Round Precision"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/resources/dynamic_font.cpp
-msgid "Antialiased"
-msgstr ""
-
-#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-msgid "Multimesh"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
-#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
-#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Cell Size"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-#, fuzzy
-msgid "Edge Connection Margin"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/2d/navigation_agent_2d.cpp
-msgid ""
-"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-msgid "Estimate Radius"
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp
-msgid ""
-"The NavigationObstacle2D only serves to provide collision avoidance to a "
-"Node2D object."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"A NavigationPolygon resource must be set or created for this node to work. "
-"Please set a property or draw a polygon."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Scale"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-#, fuzzy
-msgid "Global Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/2d/node_2d.cpp
-msgid "Z As Relative"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Offset"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Scale"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit Begin"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit End"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Ignore Camera Zoom"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid ""
-"ParallaxLayer node only works when set as child of a ParallaxBackground node."
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
-msgid "Motion"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/parallax_layer.cpp
-msgid "Mirroring"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles2D node instead. You can use the \"Convert to "
-"CPUParticles2D\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"On macOS, Particles2D rendering is much slower than CPUParticles2D due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles2D instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles2D\" toolbar option for this "
-"purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid ""
-"A material to process the particles is not assigned, so no behavior is "
-"imprinted."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"Particles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid "Visibility Rect"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid "Process Material"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/2d/path_2d.cpp
-msgid "PathFollow2D only works when set as a child of a Path2D node."
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Unit Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "H Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "V Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Cubic Interp"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "Lookahead"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-msgid "Layers"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Linear Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Angular Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-#, fuzzy
-msgid "Friction"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Bounce"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Physics Material Override"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid ""
-"Size changes to RigidBody2D (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Mass"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Inertia"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Weight"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Gravity Scale"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Custom Integrator"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Continuous CD"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contacts Reported"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contact Monitor"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Sleeping"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Can Sleep"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Damp"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Angular"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Applied Forces"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Torque"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Safe Margin"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Sync To Physics"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Moving Platform"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Apply Velocity On Leave"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-msgid "Normal"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Remainder"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Local Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider ID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider RID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Shape Index"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Metadata"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Invert"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Vertex Colors"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Internal Vertex Count"
-msgstr ""
-
-#: scene/2d/position_2d.cpp
-msgid "Gizmo Extents"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Exclude Parent"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Cast To"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Collide With"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Areas"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Bodies"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp
-msgid "Path property must point to a valid Node2D node to work."
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-#, fuzzy
-msgid "Remote Path"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Use Global Coordinates"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
-msgid "Rest"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "Default Length"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid ""
-"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Hframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Vframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
-msgid "Frame Coords"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/2d/sprite.cpp scene/resources/texture.cpp
-#, fuzzy
-msgid "Filter Clip"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/tile_map.cpp
-msgid ""
-"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
-"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
-"KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Set"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Quadrant Size"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-#, fuzzy
-msgid "Custom Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/2d/tile_map.cpp
-msgid "Half Offset"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Origin"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Y Sort"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Show Collision"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-#, fuzzy
-msgid "Compatibility Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/2d/tile_map.cpp
-msgid "Centered Textures"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Cell Clip UV"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Parent"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Kinematic"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Centered"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Visible"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Passby Press"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Visibility Mode"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid ""
-"VisibilityEnabler2D works best when used with the edited scene root directly "
-"as parent."
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-#, fuzzy
-msgid "Pause Animations"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Freeze Bodies"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Particles"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
-msgid "Pause Animated Sprites"
-msgstr "மாற்றம் அசைவூட்டு"
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Process Parent"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Physics Process Parent"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Reverb Bus"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Uniformity"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRCamera must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Controller ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
-msgid "Rumble"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The controller ID must not be 0 or this controller won't be bound to an "
-"actual controller."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Anchor ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The anchor ID must not be 0 or this anchor won't be bound to an actual "
-"anchor."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-msgid "World Scale"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Model"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit Size"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Max dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Out Of Range Mode"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Emission Angle"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Degrees"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
-msgid "Filter Attenuation dB"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Filter"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Cutoff Hz"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Doppler"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Tracking"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp
-msgid "Interior"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Finding meshes and lights"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing geometry (%d/%d)"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing environment"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generating capture"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Saving lightmaps"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Done"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp
-#: scene/resources/rectangle_shape_2d.cpp
-msgid "Extents"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Tweaks"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounces"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounce Indirect Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Denoiser"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Use HDR"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Default Texels Per Unit"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Atlas"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generate"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Max Size"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-#, fuzzy
-msgid "Custom Sky"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky Rotation Degrees"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-#, fuzzy
-msgid "Custom Color"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/3d/baked_lightmap.cpp
-#, fuzzy
-msgid "Custom Energy"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Min Light"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
-msgid "Propagation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Image Path"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Light Data"
-msgstr ""
-
-#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-msgid "Bone Name"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Keep Aspect"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
-msgid "Cull Mask"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Doppler Tracking"
-msgstr ""
-
-#: scene/3d/camera.cpp
-#, fuzzy
-msgid "Projection"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/3d/camera.cpp
-msgid "FOV"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Frustum Offset"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Near"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Far"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/shape.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Margin"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Clip To"
-msgstr ""
-
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-msgid "Ray Pickable"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid "Capture On Drag"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape or CollisionPolygon as a child to define "
-"its shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid ""
-"CollisionPolygon only serves to provide a collision shape to a "
-"CollisionObject derived node. Please only use it as a child of Area, "
-"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid "An empty CollisionPolygon has no effect on collision."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"CollisionShape only serves to provide a collision shape to a CollisionObject "
-"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
-"KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"A shape must be provided for CollisionShape to function. Please create a "
-"shape resource for it."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"Plane shapes don't work well and will be removed in future versions. Please "
-"don't use them."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"ConcavePolygonShape doesn't support RigidBody in another mode than static."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid "Nothing is visible because no mesh has been assigned."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid ""
-"CPUParticles animation requires the usage of a SpatialMaterial whose "
-"Billboard Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Box Extents"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Inner Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Height"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Axis"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Rotate Y"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Disable Z"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Flatness"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-msgid "Portals"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Portal Mode"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Include In Bound"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Allow Merging"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Autoplace Priority"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Plotting Meshes"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Finishing Plot"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"GIProbes are not supported by the GLES2 video driver.\n"
-"Use a BakedLightmap instead."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"The GIProbe Compress property has been deprecated due to known bugs and no "
-"longer has any effect.\n"
-"To remove this warning, disable the GIProbe's Compress property."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Subdiv"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Dynamic Range"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp scene/3d/light.cpp
-msgid "Normal Bias"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Pixel Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Billboard"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Shaded"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Double Sided"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "No Depth Test"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
-msgid "Fixed Size"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Alpha Cut"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/material.cpp
-msgid "Alpha Scissor Threshold"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-#, fuzzy
-msgid "Outline Modulate"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-msgid "Font"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
-msgid "Horizontal Alignment"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/3d/label_3d.cpp
-msgid "Vertical Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
-msgid "Autowrap"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Indirect Energy"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Negative"
-msgstr ""
-
-#: scene/3d/light.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Specular"
-msgstr ""
-
-#: scene/3d/light.cpp
-#, fuzzy
-msgid "Bake Mode"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/3d/light.cpp
-msgid "Contact"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Reverse Cull Face"
-msgstr ""
-
-#: scene/3d/light.cpp servers/visual_server.cpp
-msgid "Directional Shadow"
-msgstr ""
-
-#: scene/3d/light.cpp
-#, fuzzy
-msgid "Split 1"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/3d/light.cpp
-#, fuzzy
-msgid "Split 2"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/3d/light.cpp
-#, fuzzy
-msgid "Split 3"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/3d/light.cpp
-msgid "Blend Splits"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bias Split Scale"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Depth Range"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Omni"
-msgstr ""
-
-#: scene/3d/light.cpp
-#, fuzzy
-msgid "Shadow Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/light.cpp
-msgid "Shadow Detail"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Spot"
-msgstr ""
-
-#: scene/3d/light.cpp
-#, fuzzy
-msgid "Angle Attenuation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/mesh_instance.cpp
-msgid "Software Skinning"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Transform Normals"
-msgstr ""
-
-#: scene/3d/navigation.cpp scene/resources/curve.cpp
-msgid "Up Vector"
-msgstr ""
-
-#: scene/3d/navigation.cpp
-msgid "Cell Height"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Agent Height Offset"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Ignore Y"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid ""
-"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-msgid "NavMesh"
-msgstr ""
-
-#: scene/3d/navigation_obstacle.cpp
-msgid ""
-"The NavigationObstacle only serves to provide collision avoidance to a "
-"Spatial inheriting parent object."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "No shape is set."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "Only uniform scales are supported."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles node instead. You can use the \"Convert to "
-"CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"On macOS, Particles rendering is much slower than CPUParticles due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Particles animation requires the usage of a SpatialMaterial whose Billboard "
-"Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Visibility AABB"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Draw Passes"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Passes"
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "PathFollow only works when set as a child of a Path node."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid ""
-"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
-"parent Path's Curve resource."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "Rotation Mode"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid ""
-"Size changes to RigidBody (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Axis Lock"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Motion X"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Motion Y"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Motion Z"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Joint Constraints"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Impulse Clamp"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Swing Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Twist Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/3d/vehicle_body.cpp
-#, fuzzy
-msgid "Relaxation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Limit Enabled"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Limit Lower"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Limit Bias"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Limit Softness"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Limit Relaxation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Linear Limit Restitution"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Linear Limit Damping"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Limit Restitution"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Limit Damping"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-msgid "X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Linear Limit Enabled"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Linear Spring Enabled"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Linear Spring Damping"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Linear Restitution"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Linear Damping"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Restitution"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Damping"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "ERP"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-#, fuzzy
-msgid "Angular Spring Enabled"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Body Offset"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node B must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Joint is not connected to any PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be different PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Solver"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Exclude Nodes"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_joint.cpp
-msgid "Params"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Motor"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Target Velocity"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_joint.cpp
-msgid "Max Impulse"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Restitution"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Linear Motion"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Angular Motion"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Force Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Z"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "The RoomManager should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A Room should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A RoomGroup should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Portal Active"
-msgstr ""
-
-#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
-msgid "Two Way"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Linked Room"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Use Default Margin"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-#, fuzzy
-msgid "Group Name"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/proximity_group.cpp
-msgid "Dispatch Mode"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Grid Radius"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp
-msgid "Debug Shape"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
-msgid "Thickness"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-#, fuzzy
-msgid "Update Mode"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/3d/reflection_probe.cpp
-msgid "Origin Offset"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-#, fuzzy
-msgid "Box Projection"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/3d/reflection_probe.cpp
-msgid "Enable Shadows"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Color"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Energy"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Contrib"
-msgstr ""
-
-#: scene/3d/remote_transform.cpp
-msgid ""
-"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
-"derived node to work."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A Room cannot have another Room as a child or grandchild."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "The RoomManager should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A RoomGroup should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid ""
-"Room convex hull contains a large number of planes.\n"
-"Consider simplifying the room bound in order to increase performance."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Use Default Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp scene/3d/room_manager.cpp
-msgid "Room Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Bound"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "Roomgroup Priority"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "The RoomManager should not be placed inside a RoomGroup."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList has not been assigned."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList node should be a Spatial (or derived from Spatial)."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal Depth Limit is set to Zero.\n"
-"Only the Room that the Camera is in will render."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "There should only be one RoomManager in the SceneTree."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Main"
-msgstr ""
-
-#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#, fuzzy
-msgid "Active"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/room_manager.cpp
-msgid "Roomlist"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Mode"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Filename"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "Gameplay"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Gameplay Monitor"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Use Secondary PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Merge Meshes"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Show Margins"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Debug Sprawl"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Overlap Warning Threshold"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-#, fuzzy
-msgid "Preview Camera"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/3d/room_manager.cpp
-msgid "Portal Depth Limit"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-#, fuzzy
-msgid "Default Portal Margin"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/room_manager.cpp
-msgid "Roaming Expansion Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"RoomList path is invalid.\n"
-"Please check the RoomList branch has been assigned in the RoomManager."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "RoomList contains no Rooms, aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Misnamed nodes detected, check output log for details. Aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal link room not found, check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal autolink failed, check output log for details.\n"
-"Check the portal is facing outwards from the source room."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Room overlap detected, cameras may work incorrectly in overlapping area.\n"
-"Check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Error calculating room bounds.\n"
-"Ensure all rooms contain geometry or manual bounds."
-msgstr ""
-
-#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-msgid "Pose"
-msgstr ""
-
-#: scene/3d/skeleton.cpp
-msgid "Bound Children"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-#, fuzzy
-msgid "Pinned Points"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/soft_body.cpp
-msgid "Attachments"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-#, fuzzy
-msgid "Point Index"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/3d/soft_body.cpp
-msgid "Spatial Attachment Path"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Physics Enabled"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Parent Collision Ignore"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Simulation Precision"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Total Mass"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Linear Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Areaangular Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Volume Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pressure Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Damping Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Drag Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pose Matching Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "This body will be ignored until you set a mesh."
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid ""
-"Size changes to SoftBody will be overridden by the physics engine when "
-"running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Matrix"
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Gizmo"
-msgstr ""
-
-#: scene/3d/spatial_velocity_tracker.cpp
-msgid "Track Physics Step"
-msgstr ""
-
-#: scene/3d/spring_arm.cpp
-msgid "Spring Length"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-msgid "Opacity"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
-msgid "Transparent"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/sprite_3d.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite3D to display frames."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid ""
-"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
-"it as a child of a VehicleBody."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Per-Wheel Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Engine Force"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Brake"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "VehicleBody Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-#, fuzzy
-msgid "Use As Traction"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Wheel"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Roll Influence"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-#, fuzzy
-msgid "Friction Slip"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/3d/vehicle_body.cpp
-msgid "Suspension"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Max Force"
-msgstr ""
-
-#: scene/3d/visibility_notifier.cpp
-msgid "AABB"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
-msgid "Geometry"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Override"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Overlay"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Cast Shadow"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Extra Cull Margin"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Baked Light"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Generate Lightmap"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Lightmap Scale"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "LOD"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
-#: scene/resources/material.cpp
-msgid "Min Distance"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Min Hysteresis"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Max Hysteresis"
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"WorldEnvironment requires its \"Environment\" property to contain an "
-"Environment to have a visible effect."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set "
-"this environment's Background Mode to Canvas (for 2D scenes)."
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Mix Mode"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadein Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadeout Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Auto Restart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Autorestart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Random Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
-msgid "Add Amount"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
-msgid "Blend Amount"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
-msgid "Seek Position"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
-msgid "Input Count"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Xfade Time"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Switch Mode"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
-msgid "Auto Advance"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
-msgid "Advance Condition"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_player.cpp
-msgid "Anim Apply Reset"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-#, fuzzy
-msgid "Current Animation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_player.cpp
-#, fuzzy
-msgid "Assigned Animation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_player.cpp
-msgid "Reset On Save"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-#, fuzzy
-msgid "Current Animation Length"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_player.cpp
-#, fuzzy
-msgid "Current Animation Position"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/animation_player.cpp
-msgid "Playback Options"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Default Blend Time"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Method Call Mode"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "In node '%s', invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Nothing connected to input '%s' of node '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "No root AnimationNode for the graph is set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path to an AnimationPlayer node containing animations is not set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "The AnimationPlayer root node is not a valid node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Tree Root"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Anim Player"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Root Motion"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-#, fuzzy
-msgid "Track"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/animation/animation_tree_player.cpp
-msgid "This node has been deprecated. Use AnimationTree instead."
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Playback"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Master Player"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Base Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-#, fuzzy
-msgid "Animation Path"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/animation/root_motion_view.cpp
-msgid "Zero Y"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-#, fuzzy
-msgid "Root Bone"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Tip Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Interpolation"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Override Tip Basis"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Use Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-#, fuzzy
-msgid "Target Node"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/animation/skeleton_ik.cpp
-#, fuzzy
-msgid "Max Iterations"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/animation/tween.cpp
-msgid "Playback Process Mode"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Speed"
-msgstr ""
-
-#: scene/audio/audio_stream_player.cpp
-msgid "Mix Target"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Ratio"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp
-#: scene/gui/texture_rect.cpp
-msgid "Stretch Mode"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
-msgid "Alignment"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Shortcut In Tooltip"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-#, fuzzy
-msgid "Action Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/base_button.cpp
-msgid "Enabled Focus Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Keep Pressed Outside"
-msgstr ""
-
-#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
-msgid "Shortcut"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-#, fuzzy
-msgid "Group"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/button.cpp scene/gui/label.cpp
-#, fuzzy
-msgid "Clip Text"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
-#: scene/gui/spin_box.cpp
-msgid "Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Icon Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Expand Icon"
-msgstr ""
-
-#: scene/gui/center_container.cpp
-msgid "Use Top Left"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid ""
-"Color: #%s\n"
-"LMB: Apply color\n"
-"RMB: Remove preset"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Edit Alpha"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-#, fuzzy
-msgid "Raw Mode"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/gui/color_picker.cpp
-msgid "Deferred Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Enabled"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Visible"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Pick a color from the editor window."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Switch between hexadecimal and code values."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Add current color as a preset."
-msgstr ""
-
-#: scene/gui/container.cpp
-msgid ""
-"Container by itself serves no purpose unless a script configures its "
-"children placement behavior.\n"
-"If you don't intend to add a script, use a plain Control node instead."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Overrides"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid ""
-"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
-"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Anchor"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Grow Direction"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Min Size"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pivot Offset"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Clip Content"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Hint"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Tooltip"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Focus"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Left"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Top"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Right"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Bottom"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Next"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Previous"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Mouse"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Default Cursor Shape"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pass On Modal Close Click"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Size Flags"
-msgstr ""
-
-#: scene/gui/control.cpp
-#, fuzzy
-msgid "Stretch Ratio"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/gui/control.cpp
-msgid "Theme Type Variation"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Window Title"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Dialog"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Hide On OK"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Alert!"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Please Confirm..."
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Mode Overrides Title"
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Must use a valid extension."
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-#, fuzzy
-msgid "Right Disconnects"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/gui/graph_edit.cpp
-msgid "Scroll Offset"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Snap Distance"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Min"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Max"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-#, fuzzy
-msgid "Zoom Step"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/gui/graph_edit.cpp
-msgid "Show Zoom Label"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimap"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Enable grid minimap."
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Show Close"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/gui/option_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Selected"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Comment"
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Overlay"
-msgstr ""
-
-#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp
-#: scene/gui/tree.cpp scene/main/viewport.cpp
-msgid "Timers"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
-msgid "Incremental Search Max Interval Msec"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow Reselect"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-#, fuzzy
-msgid "Allow RMB Select"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/item_list.cpp
-msgid "Max Text Lines"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Auto Height"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Same Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Icon Scale"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Icon Size"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "V Align"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Visible Characters"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Percent Visible"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Lines Skipped"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Max Lines Visible"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
-msgid "Max Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret Character"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Expand To Text Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Context Menu Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Virtual Keyboard Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-#, fuzzy
-msgid "Clear Button Enabled"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Shortcut Keys Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Middle Mouse Paste Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
-msgid "Selecting Enabled"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
-#: scene/gui/text_edit.cpp
-msgid "Deselect On Focus Loss Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Right Icon"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Placeholder"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Alpha"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Caret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink Speed"
-msgstr ""
-
-#: scene/gui/link_button.cpp
-msgid "Underline"
-msgstr ""
-
-#: scene/gui/menu_button.cpp
-msgid "Switch On Hover"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Draw Center"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Region Rect"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid "Patch Margin"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Axis Stretch"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid ""
-"The Tile and Tile Fit options for Axis Stretch properties are only effective "
-"when using the GLES3 rendering backend.\n"
-"The GLES2 backend is currently in use, so these modes will act like Stretch "
-"instead."
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Popup"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Exclusive"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid ""
-"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine, but they will hide upon "
-"running."
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-#, fuzzy
-msgid "Hide On Item Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/popup_menu.cpp
-#, fuzzy
-msgid "Hide On Checkable Item Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/popup_menu.cpp
-#, fuzzy
-msgid "Hide On State Item Selection"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/popup_menu.cpp
-msgid "Submenu Popup Delay"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Allow Search"
-msgstr ""
-
-#: scene/gui/progress_bar.cpp
-msgid "Percent"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Min Value"
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Max Value"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Page"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Exp Edit"
-msgstr ""
-
-#: scene/gui/range.cpp
-#, fuzzy
-msgid "Rounded"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/range.cpp
-msgid "Allow Greater"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Lesser"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp
-msgid "Border Color"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp scene/resources/style_box.cpp
-msgid "Border Width"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Relative Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Absolute Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Elapsed Time"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Env"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Character"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "BBCode"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Meta Underlined"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Tab Size"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Fit Content Height"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Active"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Following"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-#, fuzzy
-msgid "Selection Enabled"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#, fuzzy
-msgid "Override Selected Font Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/rich_text_label.cpp
-msgid "Custom Effects"
-msgstr ""
-
-#: scene/gui/scroll_bar.cpp
-#, fuzzy
-msgid "Custom Step"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/gui/scroll_container.cpp
-msgid ""
-"ScrollContainer is intended to work with a single child control.\n"
-"Use a container as child (VBox, HBox, etc.), or a Control and set the custom "
-"minimum size manually."
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Follow Focus"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-#, fuzzy
-msgid "Horizontal Enabled"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/gui/scroll_container.cpp
-msgid "Vertical Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Default Scroll Deadzone"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Scrollable"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Tick Count"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Ticks On Borders"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Prefix"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Suffix"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-#, fuzzy
-msgid "Split Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/gui/split_container.cpp scene/gui/tree.cpp
-msgid "Collapsed"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Dragger Visibility"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Tab Align"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Current Tab"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Tabs Visible"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "All Tabs In Front"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Drag To Rearrange Enabled"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Use Hidden Tabs For Min Size"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Tab Close Display Policy"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Scrolling Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Readonly"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Bookmark Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Breakpoint Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Fold Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Hiding Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Wrap Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Vertical"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-#, fuzzy
-msgid "Scroll Horizontal"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/gui/text_edit.cpp
-msgid "Draw"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-#, fuzzy
-msgid "Block Mode"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/gui/text_edit.cpp
-msgid "Moving By Right Click"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Idle Detect (sec)"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Undo Stack Max Size"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Hover"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Focused"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Click Mask"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-#: scene/gui/video_player.cpp
-msgid "Expand"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Under"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Over"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Mode"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/material.cpp
-msgid "Tint"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Radial Fill"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Initial Angle"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Degrees"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
-msgid "Center Offset"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/gui/texture_progress.cpp
-msgid "Nine Patch Stretch"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-#, fuzzy
-msgid "Stretch Margin Left"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/gui/texture_progress.cpp
-#, fuzzy
-msgid "Stretch Margin Top"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/gui/texture_progress.cpp
-#, fuzzy
-msgid "Stretch Margin Right"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/gui/texture_progress.cpp
-#, fuzzy
-msgid "Stretch Margin Bottom"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/gui/tree.cpp
-msgid "Custom Minimum Height"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "(Other)"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Column Titles Visible"
-msgstr ""
-
-#: scene/gui/tree.cpp
-#, fuzzy
-msgid "Hide Folding"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/gui/tree.cpp
-msgid "Hide Root"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Drop Mode Flags"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-#, fuzzy
-msgid "Audio Track"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Paused"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Buffering Msec"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Stream Position"
-msgstr ""
-
-#: scene/gui/viewport_container.cpp
-msgid "Stretch Shrink"
-msgstr ""
-
-#: scene/main/canvas_layer.cpp
-msgid "Follow Viewport"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download File"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download Chunk Size"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Body Size Limit"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Max Redirects"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Timeout"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid ""
-"Setting node name '%s' to be unique within scene for '%s', but it's already "
-"claimed by '%s'. This node is no longer set unique."
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Num Separator"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Casing"
-msgstr ""
-
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Editor Description"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/main/node.cpp
-msgid "Pause Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolation Mode"
-msgstr "அசைவூட்டு பாதை [interpolation]யை மாற்று"
-
-#: scene/main/node.cpp
-msgid "Display Folded"
-msgstr ""
-
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Filename"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: scene/main/node.cpp
-msgid "Owner"
-msgstr ""
-
-#: scene/main/node.cpp scene/main/scene_tree.cpp
-msgid "Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Custom Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Process Priority"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Time Left"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Collisions Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Navigation Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Font Oversampling"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Edited Scene Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Multiplayer Poll"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Shapes"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Shape Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Contact Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-#, fuzzy
-msgid "Disabled Geometry Color"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/main/scene_tree.cpp
-msgid "Max Contacts Displayed"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-msgid "Draw 2D Outlines"
-msgstr ""
-
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
-msgid "Reflections"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Size"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Subdiv"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "MSAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use FXAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Debanding"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "HDR"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "Use 32 BPC Depth"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Default Environment"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid ""
-"Default Environment as specified in Project Settings (Rendering -> "
-"Environment -> Default Environment) could not be loaded."
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Enable Object Picking"
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid ""
-"Very low timer wait times (< 0.05 seconds) may behave in significantly "
-"different ways depending on the rendered or physics frame rate.\n"
-"Consider using a script's process loop instead of relying on a Timer for "
-"very low wait times."
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid "Autostart"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Viewport Path"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "ARVR"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Size Override Stretch"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Own World"
-msgstr ""
-
-#: scene/main/viewport.cpp scene/resources/world_2d.cpp
-msgid "World"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "World 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Transparent BG"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Handle Input Locally"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "FXAA"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debanding"
-msgstr ""
-
-#: scene/main/viewport.cpp
-#, fuzzy
-msgid "Disable 3D"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/main/viewport.cpp
-msgid "Keep 3D Linear"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Direct To Screen"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debug Draw"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Target"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "V Flip"
-msgstr ""
-
-#: scene/main/viewport.cpp
-#, fuzzy
-msgid "Clear Mode"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/main/viewport.cpp
-msgid "Enable 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Object Picking"
-msgstr ""
-
-#: scene/main/viewport.cpp
-#, fuzzy
-msgid "Disable Input"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/main/viewport.cpp servers/visual_server.cpp
-msgid "Shadow Atlas"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 0"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 1"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 2"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 3"
-msgstr ""
-
-#: scene/main/viewport.cpp
-#, fuzzy
-msgid "Canvas Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/main/viewport.cpp
-#, fuzzy
-msgid "Global Canvas Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/main/viewport.cpp
-msgid "Tooltip Delay (sec)"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Swap OK Cancel"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-#, fuzzy
-msgid "Layer Names"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/register_scene_types.cpp
-msgid "2D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Use hiDPI"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-#, fuzzy
-msgid "Custom"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/register_scene_types.cpp
-#, fuzzy
-msgid "Custom Font"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp
-msgid "Mix Rate"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-msgid "Stereo"
-msgstr ""
-
-#: scene/resources/concave_polygon_shape_2d.cpp
-msgid "Segments"
-msgstr ""
-
-#: scene/resources/curve.cpp
-#, fuzzy
-msgid "Bake Resolution"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/curve.cpp
-msgid "Bake Interval"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color Hover"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color Focus"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "H Separation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Underline Spacing"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Checked Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Unchecked Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Radio Checked Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Check V Adjust"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "On Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Off Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Shadow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Outline Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Shadow Offset X"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Shadow Offset Y"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow As Outline"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color Selected"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Uneditable"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Cursor Color"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Clear Button Color"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Clear Button Color Pressed"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimum Spaces"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/world.cpp
-#: scene/resources/world_2d.cpp
-msgid "Space"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folded"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Fold"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Readonly"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Completion Lines"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Completion Max Width"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Completion Scroll Width"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Slider"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Grabber Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tick"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Updown"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scaleborder Size"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Title Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Close H Offset"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Close V Offset"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Parent Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Toggle Hidden"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Panel Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Separator"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color Accel"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "V Separation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Selected Frame"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Default Frame"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Default Focus"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Comment Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Close Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Resizer Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Title Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Close Offset"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Port Offset"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Selected Focus"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Unfocused"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Title Button Normal"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Title Button Pressed"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Title Button Hover"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Custom Button"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Custom Button Pressed"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Custom Button Hover"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Select Arrow"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Collapsed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Title Button Font"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Title Button Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Guide Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Drop Position Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Relationship Line Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Font Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Item Margin"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Relationship Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Draw Guides"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Scroll Border"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Speed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Icon Margin"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Line Separation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Tab Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color FG"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Font Color BG"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Side Margin"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Top Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Large"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "File Icon Modulate"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Files Disabled"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Screen Picker"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Add Preset"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Color Hue"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Color Sample"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Overbright Indicator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG Icon"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Normal Font"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Bold Font"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Mono Font"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Table H Separation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Table V Separation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Margin Left"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Margin Top"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Margin Right"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Margin Bottom"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Autohide"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "More"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Minor"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Major"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Selection Fill"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Selection Stroke"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Activity"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Pos"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Neg"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Horizontal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Vertical"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Hinting"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Override Oversampling"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Path"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Size"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-#, fuzzy
-msgid "Outline Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/dynamic_font.cpp
-msgid "Use Mipmaps"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Extra Spacing"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Char"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Data"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Background"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/sky.cpp
-msgid "Sky"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Sky Custom FOV"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Sky Orientation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Sky Rotation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation Degrees"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Canvas Max Layer"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/texture.cpp
-msgid "Camera Feed ID"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Ambient Light"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Sky Contribution"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/environment.cpp
-msgid "Fog"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Sun Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/environment.cpp
-msgid "Sun Amount"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Begin"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth End"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Depth Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/environment.cpp
-msgid "Transmit Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Transmit Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/environment.cpp
-msgid "Height Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Min"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Max"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Height Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/environment.cpp
-msgid "Tonemap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "White"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Auto Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Min Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "SS Reflections"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/environment.cpp
-msgid "Max Steps"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade In"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade Out"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Tolerance"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Roughness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SSAO"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Radius 2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Intensity 2"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Light Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "AO Channel Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Edge Sharpness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Far Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Distance"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Transition"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/environment.cpp
-msgid "DOF Near Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Glow"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Levels"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "1"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "3"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "4"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "5"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "6"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "7"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bloom"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Threshold"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Luminance Cap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Scale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bicubic Upscale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Adjustments"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Brightness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Saturation"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/environment.cpp
-#, fuzzy
-msgid "Color Correction"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/font.cpp
-msgid "Ascent"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Distance Field"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Raw Data"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Offsets"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Width"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Depth"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Data"
-msgstr ""
-
-#: scene/resources/line_shape_2d.cpp
-msgid "D"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Next Pass"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/resources/material.cpp
-msgid "Use Shadow To Opacity"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Unshaded"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Lighting"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Use Point Size"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/resources/material.cpp
-msgid "World Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex Force sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Do Not Receive Shadows"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Disable Ambient Light"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/material.cpp
-msgid "Ensure Correct Normals"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex MSDF"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Color"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use As Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Is sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Parameters"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Diffuse Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/material.cpp
-msgid "Specular Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Depth Draw Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Line Width"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Point Size"
-msgstr "அசைவூட்டு பாதை சேர்"
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Billboard Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Billboard Keep Scale"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/material.cpp
-msgid "Grow"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Grow Amount"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/resources/material.cpp
-msgid "Use Alpha Scissor"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Particles Anim"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "H Frames"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "V Frames"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/resources/material.cpp
-msgid "Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Metallic"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Texture Channel"
-msgstr "முடக்கப்பட்டது"
-
-#: scene/resources/material.cpp
-msgid "Emission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "On UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "NormalMap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Rim"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Clearcoat"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/material.cpp
-msgid "Gloss"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Anisotropy"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flowmap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ambient Occlusion"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Deep Parallax"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Min Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Max Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Tangent"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Binormal"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Subsurf Scatter"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Transmission"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Refraction"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
-msgid "Detail"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV Layer"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV1"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar Sharpness"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Proximity Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Distance Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Async Mode"
-msgstr ""
-
-#: scene/resources/mesh.cpp
-msgid "Lightmap Size Hint"
-msgstr ""
-
-#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
-msgid "Custom AABB"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-#, fuzzy
-msgid "Mesh Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/mesh_library.cpp
-#, fuzzy
-msgid "NavMesh Transform"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/multimesh.cpp
-#, fuzzy
-msgid "Color Format"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/multimesh.cpp
-msgid "Transform Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Custom Data Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Instance Count"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Visible Instance Count"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Parsed Geometry Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Geometry Mode"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Group Name"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Climb"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Slope"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Merge Size"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Verts Per Poly"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Distance"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Low Hanging Obstacles"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Ledge Spans"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "OccluderShapeSphere Set Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-#, fuzzy
-msgid "Polygon Points"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/occluder_shape_polygon.cpp
-#, fuzzy
-msgid "Hole Points"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: scene/resources/packed_scene.cpp
-msgid "Bundled"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Trail"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Divisor"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Size Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Color Modifier"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Point Texture"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/resources/particles_material.cpp
-msgid "Normal Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Color Texture"
-msgstr "தேர்வு வளைவை [Selection Curve] திருத்து"
-
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Point Count"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Random"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-#, fuzzy
-msgid "Scale Curve"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/physics_material.cpp
-msgid "Rough"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Absorbent"
-msgstr ""
-
-#: scene/resources/plane_shape.cpp
-msgid "Plane"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Flip Faces"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Mid Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Width"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Depth"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Top Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Bottom Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Left To Right"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Is Hemisphere"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-#, fuzzy
-msgid "Curve Step"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Slips On Slope"
-msgstr ""
-
-#: scene/resources/segment_shape_2d.cpp
-msgid "A"
-msgstr ""
-
-#: scene/resources/shape_2d.cpp
-msgid "Custom Solver Bias"
-msgstr ""
-
-#: scene/resources/skin.cpp
-#, fuzzy
-msgid "Bind Count"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: scene/resources/skin.cpp
-msgid "Bind"
-msgstr ""
-
-#: scene/resources/skin.cpp
-#, fuzzy
-msgid "Bone"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/resources/sky.cpp
-msgid "Radiance Size"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Panorama"
-msgstr ""
-
-#: scene/resources/sky.cpp
-#, fuzzy
-msgid "Top Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/sky.cpp
-#, fuzzy
-msgid "Horizon Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/sky.cpp
-#, fuzzy
-msgid "Ground"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/sky.cpp
-#, fuzzy
-msgid "Bottom Color"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/sky.cpp
-msgid "Sun"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Latitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Longitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Min"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Max"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Content Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Expand Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Skew"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Radius"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Detail"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Anti Aliasing"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow Begin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow End"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Load Path"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base Texture"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Image Size"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Side"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Front"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Back"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Storage Mode"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Lossy Storage Quality"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "From"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "To"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base"
-msgstr ""
-
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Current Frame"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: scene/resources/texture.cpp
-msgid "Pause"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Which Feed"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Camera Is Active"
-msgstr ""
-
-#: scene/resources/theme.cpp
-msgid "Default Font"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Output Port For Preview"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-#, fuzzy
-msgid "Depth Draw"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: scene/resources/visual_shader.cpp
-msgid "Cull"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-#, fuzzy
-msgid "Diffuse"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/visual_shader.cpp
-msgid "Async"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-#, fuzzy
-msgid "Modes"
-msgstr "அசைவூட்டு போலிபச்சாவிகள்"
-
-#: scene/resources/visual_shader.cpp
-msgid "Input Name"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Uniform Name"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid ""
-"The sampler port is connected but not used. Consider changing the source to "
-"'SamplerPort'."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for preview."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for shader."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Texture Type"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Cube Map"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
-msgid "Default Value Enabled"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
-msgid "Default Value"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Color Default"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid comparison function for that type."
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Fallback Environment"
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Scenario"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Direct Space State"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity Vector"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Linear Damp"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Angular Damp"
-msgstr ""
-
-#: scene/resources/world_2d.cpp
-msgid "Canvas"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Primary"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Initialized"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "AR"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Anchor Detection Enabled"
-msgstr ""
-
-#: servers/arvr_server.cpp
-msgid "Primary Interface"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Audio Stream"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Random Pitch"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_capture.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#: servers/audio/effects/audio_stream_generator.cpp
-msgid "Buffer Length"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice Count"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Dry"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Wet"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Delay (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Rate Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Depth (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Level dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_panner.cpp
-msgid "Pan"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Attack (µs)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Release (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Mix"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Sidechain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 1"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 2"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Feedback"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Low-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Pre Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Keep Hf Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Drive"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Post Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Resonance"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Ceiling dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Threshold dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip Ratio"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Min Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Max Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Oversampling"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "FFT Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Predelay"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Msec"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Room Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "High-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "Tap Back Pos"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Pan Pullout"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Time Pullout (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Surround"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Enable Audio Input"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Output Latency"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Threshold dB"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Time"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Video Delay Compensation (ms)"
-msgstr ""
-
-#: servers/audio_server.cpp
-#, fuzzy
-msgid "Bus Count"
-msgstr "மாற்றங்களை இதற்கு அமை:"
-
-#: servers/audio_server.cpp
-msgid "Capture Device"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Global Rate Scale"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Feed"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Is Active"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Linear"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Angular"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Time Before Sleep"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "BP Hash Table Size"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Large Object Surface Threshold In Cells"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Mass"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Inertia"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Angular Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Linear Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Gravity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Linear Velocity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Exclude"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Shape RID"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Bodies"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Areas"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion Remainder"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Point"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
-msgid "Collision Normal"
-msgstr "உருமாற்றம் அசைவூட்டு"
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Depth"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Safe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Unsafe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
-msgid "Physics Engine"
-msgstr "அசைவூட்டு பாதை [interpolation]யை மாற்று"
-
-#: servers/physics_server.cpp
-msgid "Center Of Mass"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Principal Inertia Axes"
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Varying may not be assigned in the '%s' function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'vertex' function may not be reassigned in "
-"'fragment' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'fragment' function may not be reassigned in "
-"'vertex' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to uniform."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Constants cannot be modified."
-msgstr ""
-
-#: servers/visual/visual_server_scene.cpp
-msgid "Spatial Partitioning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Render Loop Enabled"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "VRAM Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import BPTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Import S3TC"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: servers/visual_server.cpp
-msgid "Import ETC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import PVRTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Lossless Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force PNG"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "WebP Compression Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Time Rollover Secs"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Cubemap Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 0 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 1 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 2 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 3 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shadows"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Filter Mode"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: servers/visual_server.cpp
-msgid "Texture Array Reflections"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "High Quality GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Irradiance Max Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Vertex Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Lambert Over Burley"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Blinn Over GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Mesh Storage"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Split Stream"
-msgstr "கணு வளைவை[Node Curve] திருத்து"
-
-#: servers/visual_server.cpp
-msgid "Use Physical Light Attenuation"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Depth Prepass"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable For Vendors"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Anisotropic Filter Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Nearest Mipmap Filter"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Software Skinning Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Ninepatch Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "OpenGL"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Send Null"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Batching Stream"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: servers/visual_server.cpp
-msgid "Legacy Orphan Buffers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Batching"
-msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு"
-
-#: servers/visual_server.cpp
-msgid "Use Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching In Editor"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Single Rect Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Item Commands"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Colored Vertex Format Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Scissor Area Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Items"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batch Buffer Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Item Reordering Lookahead"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flash Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Diagnose Frame"
-msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து"
-
-#: servers/visual_server.cpp
-msgid "GLES2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Compatibility"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable Half Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Enable High Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Precision"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract Amount"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Simple PVS"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "PVS Logging"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Signals"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Remove Danglers"
-msgstr "அசைவூட்டு பாதையை நீக்கு"
-
-#: servers/visual_server.cpp
-msgid "Flip Imported Portals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Occlusion Culling"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Spheres"
-msgstr ""
-
-#: servers/visual_server.cpp
-#, fuzzy
-msgid "Max Active Polygons"
-msgstr "அனைத்து தேர்வுகள்"
-
-#: servers/visual_server.cpp
-msgid "Shader Compilation Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Simultaneous Compiles"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Log Active Async Compiles Count"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Cache Size (MB)"
-msgstr ""
diff --git a/editor/translations/te.po b/editor/translations/te.po
index c770937fe6..af4c65f062 100644
--- a/editor/translations/te.po
+++ b/editor/translations/te.po
@@ -200,9 +200,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -309,7 +310,7 @@ msgstr "డీకోడింగ్ బైట్లు కోసం తగిన
#: core/math/expression.cpp
#, fuzzy
-msgid "Invalid input %i (not passed) in expression"
+msgid "Invalid input %d (not passed) in expression"
msgstr "వ్యక్తీకరణలో చెల్లని ఇన్పుట్ %i (ఆమోదించబడలేదు)"
#: core/math/expression.cpp
@@ -353,6 +354,14 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr ""
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -379,6 +388,10 @@ msgstr ""
msgid "Command"
msgstr "సంఘం"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr ""
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -431,6 +444,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -535,7 +552,8 @@ msgstr ""
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -618,24 +636,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -743,7 +760,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr ""
@@ -1010,6 +1028,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -1026,7 +1045,7 @@ msgstr ""
msgid "Time:"
msgstr ""
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr ""
@@ -1268,10 +1287,67 @@ msgid "Remove this track."
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+msgid "Time (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "స్థిరాంకాలు"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "స్థిరాంకాలు"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "గణనలు"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1478,7 +1554,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -1998,14 +2074,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2061,8 +2138,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2070,7 +2147,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2361,7 +2438,7 @@ msgid "Bus Options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2413,8 +2490,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2617,6 +2694,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "సంఘం"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2629,6 +2723,26 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2729,8 +2843,25 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2900,9 +3031,9 @@ msgid "Import"
msgstr "దిగుమతి"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -3978,14 +4109,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4100,6 +4223,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr ""
@@ -4127,6 +4254,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4756,11 +4887,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4852,6 +4985,10 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr ""
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5105,7 +5242,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr ""
@@ -5130,6 +5269,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr ""
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5638,10 +5785,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6360,14 +6509,6 @@ msgid "Replace in Files"
msgstr ""
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6493,7 +6634,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr ""
@@ -6733,7 +6874,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6761,6 +6902,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7411,11 +7564,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7433,11 +7595,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7534,10 +7691,12 @@ msgstr ""
msgid "Directions"
msgstr ""
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7578,10 +7737,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7692,8 +7847,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "గణనలు"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7709,11 +7865,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8594,6 +8745,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8657,6 +8809,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9396,7 +9552,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9626,6 +9782,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -9779,13 +9936,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -9794,10 +9944,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10482,13 +10628,16 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+msgid "Scaling:"
msgstr ""
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "గణనలు"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10511,11 +10660,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -10990,7 +11134,7 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11022,15 +11166,15 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+msgid "Simplification:"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11094,6 +11238,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "గణనలు"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -11949,8 +12098,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr ""
@@ -13354,20 +13502,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13375,14 +13518,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13483,19 +13618,23 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export Project"
+msgid "Export Project..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export All..."
msgstr ""
#: editor/project_export.cpp editor/project_manager.cpp
@@ -13503,7 +13642,7 @@ msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+msgid "Godot Project Pack"
msgstr ""
#: editor/project_export.cpp
@@ -13511,6 +13650,10 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -13782,11 +13925,11 @@ msgid "Project Manager"
msgstr ""
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -14940,7 +15083,7 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+msgid "Remote %s:"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -15758,7 +15901,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr ""
@@ -15923,7 +16066,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16320,7 +16463,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16346,6 +16488,18 @@ msgstr ""
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "గణనలు"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "Navigation Layers"
+msgstr ""
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -16741,7 +16895,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -16749,7 +16903,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17109,7 +17263,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17117,7 +17271,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17270,11 +17424,11 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+msgid "Invalid argument of type:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+msgid "Invalid arguments:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17286,11 +17440,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -17586,6 +17740,10 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Custom Build"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -17593,6 +17751,15 @@ msgstr ""
msgid "Export Format"
msgstr ""
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "నోడ్"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -17629,15 +17796,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "నోడ్"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr ""
@@ -17781,10 +17939,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -17861,12 +18015,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17875,25 +18029,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "నోడ్"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17909,6 +18087,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -17937,7 +18119,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17948,19 +18130,17 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17973,7 +18153,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -17988,7 +18168,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -17996,15 +18176,12 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18014,7 +18191,7 @@ msgid "Adding files..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18240,6 +18417,15 @@ msgstr ""
msgid "Custom BG Color"
msgstr ""
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18261,19 +18447,28 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr ""
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "గణనలు"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18346,15 +18541,15 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18621,9 +18816,26 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "గణనలు"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18639,15 +18851,67 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "గణనలు"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
msgstr ""
#: platform/osx/export/export.cpp
@@ -18658,7 +18922,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -18699,6 +18963,14 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -18995,6 +19267,10 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19035,6 +19311,61 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "స్థిరాంకాలు"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19053,6 +19384,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19068,6 +19415,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19176,7 +19527,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19220,7 +19572,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -19881,32 +20233,52 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr ""
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "స్థిరాంకాలు"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr ""
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
+msgid "Avoidance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+msgid "Avoidance Enabled"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
+msgid "Time Horizon"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Max Speed"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp
@@ -19931,13 +20303,15 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -19945,7 +20319,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "స్థిరాంకాలు"
@@ -20975,6 +21349,13 @@ msgstr ""
msgid "Transform Normals"
msgstr ""
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -20996,12 +21377,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -21784,6 +22159,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "గణనలు"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -22863,6 +23243,10 @@ msgid "Fold Gutter"
msgstr ""
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr ""
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr ""
@@ -23219,16 +23603,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -23369,6 +23754,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "గణనలు"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "గణనలు"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -24597,7 +24992,7 @@ msgstr ""
msgid "Refraction"
msgstr "గణనలు"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -24671,10 +25066,15 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+msgid "Sampling"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
+msgstr "గణనలు"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
msgstr ""
@@ -24687,7 +25087,11 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24699,11 +25103,15 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -24715,6 +25123,10 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -24731,7 +25143,15 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
msgstr ""
#: scene/resources/occluder_shape.cpp
@@ -25091,6 +25511,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "గణనలు"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -25106,6 +25531,22 @@ msgstr ""
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+msgid "Default Map Up"
+msgstr ""
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Size"
+msgstr ""
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Height"
+msgstr ""
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Edge Connection Margin"
+msgstr ""
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 6f89ff6071..f1eb8b716f 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -235,9 +235,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "โปรไฟล์เน็ตเวิร์ก"
@@ -352,7 +353,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "ไบต์ไม่เพียงพอหรือรูปแบบไม่ถูกต้องสำหรับการถอดรหัสไบต์"
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "อินพุต %i ใน expression ไม่ถูกต้อง (ไม่ส่งผ่าน)"
#: core/math/expression.cpp
@@ -398,6 +400,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "โหมดเคลื่อนย้าย"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "ลบอินพุต"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -426,6 +438,11 @@ msgstr ""
msgid "Command"
msgstr "ชุมชน"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "% ของเฟรมฟิสิกส์"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -484,6 +501,10 @@ msgid "Pressure"
msgstr "พรีเซ็ต"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "จำกัดโดยใช้ตำแหน่งปัจจุบัน"
@@ -599,7 +620,8 @@ msgstr "รายละเอียด"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "เริ่ม"
@@ -690,6 +712,11 @@ msgid "Main Run Args"
msgstr "ตัวแปรฉากหลัก:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "ตำแหน่งที่อยู่ฉาก:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -697,19 +724,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "เวอร์ชันคอนโทรล"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "ระบบจัดการซอร์ส (Version Control)"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "ชื่อปลั๊กอิน:"
+msgid "Version Control Plugin Name"
+msgstr "เวอร์ชันคอนโทรล"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -829,7 +852,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "ตัวกรอง:"
@@ -1112,6 +1136,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "อิสระ"
@@ -1130,7 +1155,7 @@ msgstr "สะท้อน"
msgid "Time:"
msgstr "เวลา:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "ค่า:"
@@ -1383,10 +1408,75 @@ msgid "Remove this track."
msgstr "ลบแทร็กนี้"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "เวลา (วินาที): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "ตำแหน่งแผง"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "ช่วงองศา:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "อัตราส่วน:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "ประเภท:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "เทมเพลตส่งออกไม่ถูกต้อง:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "เข้า-ออกนุ่มนวล"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "ปรับขนาดรูปร่าง"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "ปรับขนาดรูปร่าง"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "ไอเทมเรดิโอ"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "เริ่มใหม่ (วิ):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "เฟดเข้า (วิ):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "แอนิเมชัน:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "เปิดการใช้งานการติดตามแทร็ก"
@@ -1602,7 +1692,8 @@ msgid "Add Method Track Key"
msgstr "เพิ่มคีย์แทร็กเมธอด"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "ไม่พบเมธอดในออบเจกต์: "
#: editor/animation_track_editor.cpp
@@ -2132,14 +2223,15 @@ msgstr "ที่ชื่นชอบ:"
msgid "Recent:"
msgstr "ล่าสุด:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "ค้นหา:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "พบ:"
@@ -2200,8 +2292,8 @@ msgstr "ค้นหาทรัพยากรมาแทนที่:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2209,8 +2301,8 @@ msgid "Open"
msgstr "เปิด"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "เจ้าของของ:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2518,7 +2610,7 @@ msgid "Bus Options"
msgstr "ตัวเลือก Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "ทำซ้ำ"
@@ -2570,8 +2662,9 @@ msgstr "เปิดเลย์เอาต์ของบัสเสียง
msgid "There is no '%s' file."
msgstr "ไม่มีไฟล์ '%s'"
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "เลย์เอาต์"
#: editor/editor_audio_buses.cpp
@@ -2777,6 +2870,25 @@ msgid "Choose"
msgstr "เลือก"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "คัดลอกตำแหน่งโหนด"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "ติดตั้งแพคเกจเสร็จสมบูรณ์!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "ผิดพลาด:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "เก็บไฟล์:"
@@ -2789,6 +2901,31 @@ msgid "Packing"
msgstr "กำลังรวบรวม"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "บันทึกเป็น"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "ไม่สามารถสร้างโฟลเดอร์"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "เขียนไฟล์ไม่ได้:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "เปิดไฟล์เพื่อเขียนไม่ได้:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "บันทึกเป็น"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2904,11 +3041,33 @@ msgstr "ไม่พบเทมเพลตการดีบักแบบก
msgid "Custom release template not found."
msgstr "ไม่พบเทมเพลตการเผยแพร่ที่กำหนดเอง"
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "จัดการเทมเพลต"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "ไม่พบที่อยู่ส่งออก:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "ไม่พบไฟล์เทมเพลต:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "เทมเพลตส่งออกไม่ถูกต้อง:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "การเว้นช่อง"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "การส่งออกแบบ 32 bit PCK แบบฝังตัวไม่สามารถใหญ่ได้เกิน 4 GiB"
@@ -3084,9 +3243,9 @@ msgid "Import"
msgstr "นำเข้า"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "ส่งออก"
@@ -4228,15 +4387,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "ฉาก"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "ตำแหน่งที่อยู่ฉาก:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -4365,6 +4515,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "เวอร์ชันคอนโทรล"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "เปลี่ยนชื่อ"
@@ -4393,6 +4547,10 @@ msgstr "โหมดไร้สิ่งรบกวน"
msgid "Add a new scene."
msgstr "เพิ่มฉากใหม่"
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "ฉาก"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "ไปยังฉากที่เพิ่งเปิด"
@@ -5068,11 +5226,15 @@ msgid "Selected node is not a Viewport!"
msgstr "โหนดที่เลือกไม่ใช่วิวพอร์ต!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "ขนาด: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "หน้า: "
#: editor/editor_properties_array_dict.cpp
@@ -5171,6 +5333,11 @@ msgstr ""
"ไม่มีพรีเซ็ตส่งออกที่สามารถรันเกมได้ของแพลตฟอร์มนี้\n"
"กรุณาเพิ่มพรีเซ็ตส่งออกที่รันเกมได้ในเมนูส่งออกหรือทำให้พรีเซ็ตเดิมสามารถรันได้"
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "โปรเจกต์"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "เขียนโปรแกรมในเมท็อด _run()"
@@ -5454,7 +5621,9 @@ msgid "Draw Spaces"
msgstr "จำนวนครั้งในการวาด"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "ตัวนำทาง"
@@ -5480,6 +5649,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "เติมที่เลือกใน GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6052,10 +6230,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "ตัวจัดการโปรเจกต์"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6837,14 +7017,6 @@ msgid "Replace in Files"
msgstr "แทนที่ทั้งหมด"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "ค้นหา: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "แทนที่: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "แทนที่ทั้งหมด"
@@ -6974,7 +7146,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "ตัวกรอง:"
@@ -7242,7 +7414,8 @@ msgid "Generating Lightmaps"
msgstr "กำลังสร้าง Lightmaps"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "สร้างสำหรับพื้นผิว: "
#: editor/import/resource_importer_scene.cpp
@@ -7270,6 +7443,18 @@ msgid "Saving..."
msgstr "กำลังบันทึก..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7953,11 +8138,20 @@ msgid "New Anim"
msgstr "แอนิเมชันใหม่"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "สร้างแอนิเมชันใหม่"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "เปลี่ยนชื่อแอนิเมชัน:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "เปลี่ยนชื่อแอนิเมชัน"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "ลบแอนิเมชัน?"
@@ -7975,11 +8169,6 @@ msgid "Animation name already exists!"
msgstr "ชื่อแอนิเมชันนี้ มีอยู่แล้ว!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "เปลี่ยนชื่อแอนิเมชัน"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "ทำซ้ำแอนิเมชัน"
@@ -8077,10 +8266,12 @@ msgstr "ตั้งค่าโอเนี่ยนสกิน"
msgid "Directions"
msgstr "ทิศทาง"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "อดีต"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "อนาคต"
@@ -8121,10 +8312,6 @@ msgid "Pin AnimationPlayer"
msgstr "ปักหมุด AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "สร้างแอนิเมชันใหม่"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "ชื่อแอนิเมชัน:"
@@ -8238,7 +8425,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "ตั้งตอนจบของทรานสิชัน นี่จะมีประโยชน์สำหรับทรานสิชันย่อย"
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "ทรานสิชัน: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8255,11 +8443,6 @@ msgid "New name:"
msgstr "ชื่อใหม่:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "อัตราส่วน:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "เฟดเข้า (วิ):"
@@ -9166,6 +9349,7 @@ msgstr "สร้างโครงจากโหนด"
msgid "Clear Custom Bones"
msgstr "ลบโครง"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9232,6 +9416,10 @@ msgid "Preview Canvas Scale"
msgstr "ดูตัวอย่างขนาดแคนวาส"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "เลย์เอาต์"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "การแปลง mask สำหรับการใส่คีย์"
@@ -10007,7 +10195,8 @@ msgid "Volume"
msgstr "ระดับเสียง"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "แหล่งปะทุ: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10239,6 +10428,7 @@ msgid "Points"
msgstr "จุด"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "โพลีกอน"
@@ -10394,13 +10584,6 @@ msgid "Instance:"
msgstr "อินสแตนซ์:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "ประเภท:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "เปิดในโปรแกรมแก้ไข"
@@ -10409,10 +10592,6 @@ msgstr "เปิดในโปรแกรมแก้ไข"
msgid "Load Resource"
msgstr "โหลดรีซอร์ส"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "ตัวโหลดรีซอร์สล่วงหน้า"
-
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
msgid "Flip Portals"
@@ -11134,12 +11313,16 @@ msgstr "รัฐ"
msgid "Translate"
msgstr "เคลื่อนย้าย:"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
+#, fuzzy
+msgid "Scaling:"
msgstr "อัตราส่วน: "
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
+#, fuzzy
+msgid "Translating:"
msgstr "การเลื่อน: "
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11164,12 +11347,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "ขนาด: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Objects Drawn:"
msgstr "ออบเจกต์ที่วาด"
@@ -11667,7 +11844,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "เรขาคณิตผิดพลาด ไม่สามารถแทนที่ด้วย mesh"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "แปลงเป็น Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11699,15 +11877,18 @@ msgid "Sprite"
msgstr "สไปรต์"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "ลดความซับซ้อน: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "หด (พิกเซล): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "ขยาย (พิกเซล): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11771,6 +11952,11 @@ msgid "New Animation"
msgstr "แอนิเมชันใหม่"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "วิธีการกรอง"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "ความเร็ว:"
@@ -12717,8 +12903,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "เลือกรูปร่าง, ไทล์ย่อยหรือไทล์ก่อนหน้า"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "ขอบเขต"
@@ -14218,39 +14403,22 @@ msgid "Runnable"
msgstr "สามารถรันได้"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "ลบพรีเซ็ต '%s'?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"ล้มเหลวในการส่งออกโปรเจกต์สำหรับแพลตฟอร์ม '%s'\n"
-"เทมเพลตส่งออกสูญหายหรือผิดพลาด"
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"เกิดข้อผิดพลาดในการส่งออกโปรเจกต์ไปยังแพลตฟอร์ม '%s'\n"
-"ปัญหาอาจเกิดจากค่าที่ตั้งในพรีเซ็ตการส่งออกหรือการตั้งค่าการส่งออก"
+msgid "Delete preset '%s'?"
+msgstr "ลบพรีเซ็ต '%s'?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "ส่งออกทั้งหมด"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "ไม่พบที่อยู่ส่งออก:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "เทมเพลตส่งออกสำหรับแพลตฟอร์มนี้สูญหาย/เสียหาย:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "ไดเรกทอรีส่งออก"
@@ -14361,19 +14529,27 @@ msgid "More Info..."
msgstr "ย้ายไป..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "ส่งออก PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "ส่งออกโปรเจกต์"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "ส่งออกโหมด?"
+msgid "Export All"
+msgstr "ส่งออกทั้งหมด"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "กรุณาเลือกโฟลเดอร์ว่างเปล่า"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "ส่งออกทั้งหมด"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14381,7 +14557,8 @@ msgid "ZIP File"
msgstr "ไฟล์ ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godot เกมแพ็ค"
#: editor/project_export.cpp
@@ -14389,6 +14566,11 @@ msgid "Export templates for this platform are missing:"
msgstr "ไม่พบเทมเพลตส่งออกสำหรับแพลตฟอร์มนี้:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "ผู้ริเริ่มโครงการ"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "จัดการเทมเพลตส่งออก"
@@ -14698,14 +14880,14 @@ msgid "Project Manager"
msgstr "ตัวจัดการโปรเจกต์"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "กำลังโหลด โปรดรอ..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "แก้ไขล่าสุด"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "กำลังโหลด โปรดรอ..."
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "ส่งออกโปรเจกต์"
@@ -15899,7 +16081,8 @@ msgid "Attach Node Script"
msgstr "เชื่อมสคริปต์ให้โหนด"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "ควบคุม "
#: editor/script_editor_debugger.cpp
@@ -16784,7 +16967,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "โพลีกอน"
@@ -16962,7 +17145,8 @@ msgid "Disabled GDNative Singleton"
msgstr "ปิดการทำงานซิงเกิลตัน GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "ไลบรารี: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17408,7 +17592,6 @@ msgid "Use In Baked Light"
msgstr "สร้าง Lightmaps"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17438,6 +17621,19 @@ msgstr "กลาง"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "ตัวนำทาง"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "โหมด Navigation"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "ระนาบถัดไป"
@@ -17850,7 +18046,8 @@ msgid ""
msgstr "ค่าที่คืนจะต้องกำหนดในหน่วยความจำทำงานแรก! กรุณาแก้ไขโหนด"
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "โหนดคืนค่าผิดลำดับ: "
#: modules/visual_script/visual_script.cpp
@@ -17858,7 +18055,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "พบบิตลำดับแต่ไม่พบโหนดในสแตค กรุณารายงานข้อผิดพลาด!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "สแตคล้น ความสูงสแตค: "
#: modules/visual_script/visual_script.cpp
@@ -18228,7 +18426,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "ตัวแปรประเภทนี้ใช้วนซ้ำไม่ได้: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18236,7 +18435,8 @@ msgid "Iterator became invalid"
msgstr "ตัววนซ้ำใช้ไม่ได้อีกต่อไป"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "ตัววนซ้ำใช้ไม่ได้: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18410,11 +18610,13 @@ msgid "Operator"
msgstr "ดำเนินการ Overlay"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": ประเภทตัวแปรไม่ถูกต้อง: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": ตัวแปรไม่ถูกต้อง: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18427,11 +18629,13 @@ msgid "Var Name"
msgstr "ชื่อ"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "ไม่พบ VariableGet ในสคริปต์: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "ไม่พบ VariableSet ในสคริปต์: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18756,6 +18960,11 @@ msgid "The package must have at least one '.' separator."
msgstr "แพ็คเกจจำเป็นต้องมี '.' อย่างน้อยหนึ่งตัว"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "ตัดโหนด"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18764,6 +18973,16 @@ msgstr ""
msgid "Export Format"
msgstr "ไดเรกทอรีส่งออก"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "ขนาดเส้นรอบรูป:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "เป้าหมาย"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18806,16 +19025,6 @@ msgstr "ตรวจสอบอินสแตนซ์ก่อนหน้า
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "ขนาดเส้นรอบรูป:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "เป้าหมาย"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18985,10 +19194,6 @@ msgid "Could not execute on device."
msgstr "ไม่สามารถสร้างโฟลเดอร์"
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "ไม่สามารถหาเครื่องมือ 'apksigner'"
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19066,13 +19271,13 @@ msgstr "\"Use Custom Build\" จำเป็นต้องเปิดการ
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr "\"Hand Tracking\" จะสามารถใช้ได้เมื่อ \"Xr Mode\" เป็น \"Oculus Mobile VR\""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "\"Hand Tracking\" จะสามารถใช้ได้เมื่อ \"Xr Mode\" เป็น \"Oculus Mobile VR\""
#: platform/android/export/export_plugin.cpp
@@ -19082,26 +19287,50 @@ msgstr "\"Export AAB\" จะใช้ได้เฉพาะเมื่อเ
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "\"Export AAB\" จะใช้ได้เฉพาะเมื่อเปิดใช้งาน \"Use Custom Build\""
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "\"Export AAB\" จะใช้ได้เฉพาะเมื่อเปิดใช้งาน \"Use Custom Build\""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "สัญญาณ"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19119,6 +19348,11 @@ msgid "Could not find keystore, unable to export."
msgstr "เปิดเทมเพลตเพื่อส่งออกไม่ได้:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "ไม่สามารถเริ่มขั้นตอนย่อย!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19149,7 +19383,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "ชื่อไฟล์ผิดพลาด! แอนดรอยด์ APK จำเป็นต้องมีนามสกุล *.apk"
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19160,10 +19394,9 @@ msgstr ""
"พยายามสร้างจากเทมเพลตที่สร้างขึ้นเอง แต่ไม่มีข้อมูลเวอร์ชัน โปรดติดตั้งใหม่จากเมนู \"โปรเจกต์\""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"เวอร์ชันบิวด์ Android ไม่ตรงกัน:\n"
@@ -19173,11 +19406,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "ไม่สามารถส่งออกไฟล์โปรเจคไปยังโปรเจค gradle ได้\n"
#: platform/android/export/export_plugin.cpp
@@ -19190,8 +19424,9 @@ msgid "Building Android Project (gradle)"
msgstr "กำลังสร้างโปรเจคแอนดรอยด์ (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"การสร้างโปรเจกต์แอนดรอยด์ล้มเหลว ตรวจสอบผลลัพธ์เพื่อหาข้อผิดพลาด\n"
@@ -19210,7 +19445,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "ไม่พบแอนิเมชัน: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19219,17 +19454,15 @@ msgid "Creating APK..."
msgstr "กำลังสร้างคอนทัวร์..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"ไม่พบเทมเพลต APK สำหรับการส่งออก:\n"
"%s"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19241,7 +19474,7 @@ msgstr "กำลังเพิ่ม %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "เขียนไฟล์ไม่ได้:"
#: platform/android/export/export_plugin.cpp
@@ -19483,6 +19716,17 @@ msgstr "ตัดโหนด"
msgid "Custom BG Color"
msgstr "ตัดโหนด"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "จัดการเทมเพลต"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "ไม่พบเทมเพลตการเผยแพร่ที่กำหนดเอง"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Team ID ยังไม่ได้ระบุ - ไม่สามารถกำหนดค่าให้โปรเจกต์ได้"
@@ -19504,23 +19748,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "รันไฟล์ HTML ที่ส่งออกในเบราเซอร์"
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "เปิดเทมเพลตเพื่อส่งออกไม่ได้:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "เทมเพลตส่งออกไม่ถูกต้อง:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "เขียนไฟล์ไม่ได้:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "ตั้งระยะขอบ"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "เขียนไฟล์ไม่ได้:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "เว้น:"
@@ -19596,17 +19852,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "ไม่สามารถอ่านโครงสร้าง HTML:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "ไม่สามารถสร้างโฟลเดอร์"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "ผิดพลาดขณะบันทึกฉาก"
#: platform/javascript/export/export.cpp
@@ -19906,9 +20162,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "เขียนไฟล์ไม่ได้:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "ไม่สามารถเริ่มขั้นตอนย่อย!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "การแปล"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19924,23 +20199,78 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "ไม่พบ!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "ผิดพลาดขณะบันทึกไฟล์: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "ทิศทาง"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "ไม่สามารถเริ่มขั้นตอนย่อย!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "กำลังสร้างรูปตัวอย่าง"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
"ไม่พบเทมเพลต APK สำหรับการส่งออก:\n"
"%s"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "เทมเพลตส่งออกไม่ถูกต้อง:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19948,7 +20278,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19990,6 +20320,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "โปรเจกต์"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "ไม่สามารถส่งออกไฟล์โปรเจคไปยังโปรเจค gradle ได้\n"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "ระบุไม่ถูกต้อง:"
@@ -20302,6 +20642,11 @@ msgid "Debug Algorithm"
msgstr "ตัวดีบัก"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "ไม่สามารถลบไฟล์ชั่วคราวได้:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20349,6 +20694,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "สุ่มการหมุน:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "เปิดเทมเพลตเพื่อส่งออกไม่ได้:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "เปิดเทมเพลตเพื่อส่งออกไม่ได้:"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "นามสกุลไม่ถูกต้อง"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "เปิดเทมเพลตเพื่อส่งออกไม่ได้:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "เปิดเทมเพลตเพื่อส่งออกไม่ได้:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "ระบุไม่ถูกต้อง:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "ชื่อผิดพลาด"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "นามสกุลไม่ถูกต้อง"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "ไม่สามารถลบไฟล์ชั่วคราวได้:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20370,6 +20779,23 @@ msgid "Invalid product version:"
msgstr "GUID ของโปรแกรมไม่ถูกต้อง"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "นามสกุลไม่ถูกต้อง"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "หน้าต่างใหม่"
@@ -20386,6 +20812,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20513,7 +20943,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "ระยะการเลือก:"
@@ -20564,7 +20995,7 @@ msgstr "ขยาย"
msgid "Custom Viewport"
msgstr "1 วิวพอร์ต"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21316,11 +21747,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "แก้ไขการเชื่อมต่อ:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "ปุ่มลัด"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "ระยะการเลือก:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "ระยะการเลือก:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "ขั้นสูง"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "เปิด"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21338,16 +21801,6 @@ msgstr "พลิกแนวนอน"
msgid "Max Speed"
msgstr "ความเร็ว:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "ระยะการเลือก:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "เปิด"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21372,24 +21825,26 @@ msgstr ""
"ต้องมี NavigationPolygon เพื่อให้โหนดนี้ทำงานได้ กรุณาแก้ไขคุณสมบัติหรือวาดรูปหลายเหลี่ยม"
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance ต้องเป็นโหนดลูก/หลานของโหนด Navigation2D "
-"โดยจะให้ข้อมูลการนำทางเท่านั้น"
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "ล่าง"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "การเคลื่อนที่"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "หมุน %s องศา"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "คงที่"
@@ -22569,6 +23024,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "ยกเลิกการเคลื่อนย้าย"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22593,14 +23055,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance ต้องเป็นโหนดลูก/หลานของโหนด Navigation "
-"โดยจะให้ข้อมูลการนำทางเท่านั้น"
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23478,6 +23932,11 @@ msgstr ""
"เปลี่ยนขนาดของขอบเขตการชนลูกแทน"
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "เก็บ Global Transform"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24722,6 +25181,11 @@ msgstr "โฟลเดอร์:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "เฉพาะที่กำลังเลือก"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "เปิด"
@@ -25128,17 +25592,6 @@ msgid "Viewport Path"
msgstr "ไดเรกทอรีส่งออก"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Viewport นี้ไม่ได้เป็น render target ถ้าท่านต้องการแสดงผลบนหน้าจอโดยตรง "
-"ให้แก้ไขโหนดนี้ให้เป็นโหนดลูกของ Control แต่ถ้าไม่ ให้ปรับเป็น render target และนำไปใช้เป็น "
-"texture ของโหนดอื่น"
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25146,6 +25599,15 @@ msgid ""
msgstr "ขนาดวิวพอร์ตจะต้องมากกว่า 0 เพื่อที่จะเรนเดอร์ได้"
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25304,6 +25766,16 @@ msgid "3D Physics"
msgstr "% ของเฟรมฟิสิกส์"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "ตัวนำทาง"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "ตัวนำทาง"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26731,7 +27203,7 @@ msgstr "ทรานสิชัน: "
msgid "Refraction"
msgstr "เว้น:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26816,7 +27288,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "อัตราส่วน: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "แก้ไขประเภทตัวแปร"
#: scene/resources/navigation_mesh.cpp
@@ -26834,10 +27311,15 @@ msgid "Source Group Name"
msgstr "ต้นฉบับ"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "ตัวแปรฉากหลัก:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26847,11 +27329,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "ขอบเขต"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "รวมจากฉาก"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26865,6 +27352,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "โหลดค่าเริ่มต้น"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "ระยะการเลือก:"
@@ -26882,9 +27374,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "กำลังสร้าง AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "เลื่อน:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27297,6 +27799,11 @@ msgid "Scenario"
msgstr "ฉาก"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "ตัวนำทาง"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27314,6 +27821,26 @@ msgstr "เส้นตรงซ้าย"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "ค่าเริ่มต้น"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "อัพเดทการดูตัวอย่าง"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "กำลังทดสอบ"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "แก้ไขการเชื่อมต่อ:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/tl.po b/editor/translations/tl.po
index 58c11d1cec..fec7766383 100644
--- a/editor/translations/tl.po
+++ b/editor/translations/tl.po
@@ -215,9 +215,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr ""
@@ -329,7 +330,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Kulang na bytes para sa decoding bytes, o di-wastong format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Di-wastong input %i (di naipasa) sa ekspresyon"
#: core/math/expression.cpp
@@ -375,6 +377,16 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Gumalaw"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Alisin ang Input"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -403,6 +415,11 @@ msgstr ""
msgid "Command"
msgstr "Pamayanan"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Paganahin"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -459,6 +476,10 @@ msgid "Pressure"
msgstr "Preset"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
#, fuzzy
msgid "Relative"
msgstr "GDNative"
@@ -573,7 +594,8 @@ msgstr "Paglalarawan"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Patakbuhin"
@@ -659,6 +681,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Kinalalagyan ng Eksena:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -666,19 +693,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Pagmamahala ng Bersyon"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Pagmamahala ng Bersyon"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Pangalan ng Plugin:"
+msgid "Version Control Plugin Name"
+msgstr "Pagmamahala ng Bersyon"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -792,7 +815,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "Salain ang mga node"
@@ -1068,6 +1092,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Walang Bayad"
@@ -1084,7 +1109,7 @@ msgstr "Salamin"
msgid "Time:"
msgstr "Oras:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Halaga:"
@@ -1333,10 +1358,71 @@ msgid "Remove this track."
msgstr "Tanggalin ang track na ito."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Oras (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Idaong Ang Posisyon"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Mag-ikot"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Sukat:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Uri:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Di-wastong index ng uring %s para sa batayang uri %s"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "(Mga) Muling Pagumpisa:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "(Mga) Palabong Pagpasok:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Mga Kabahagi ng Anim:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Pinapagana ang Pagpalit ng Track"
@@ -1552,7 +1638,8 @@ msgid "Add Method Track Key"
msgstr "Magdagdag ng Method Track Key"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Hindi mahanap ang Method sa object: "
#: editor/animation_track_editor.cpp
@@ -2088,14 +2175,15 @@ msgstr "Mga Paborito:"
msgid "Recent:"
msgstr "Kamakailan:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Maghanap:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Mga Tugma:"
@@ -2155,8 +2243,8 @@ msgstr "Maghanap ng Pangpalit na Resource:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2164,8 +2252,8 @@ msgid "Open"
msgstr "Buksan"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Mga May-ari ng:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
msgid ""
@@ -2463,7 +2551,7 @@ msgid "Bus Options"
msgstr "Kaayusan ng Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "I-duplicate"
@@ -2515,8 +2603,9 @@ msgstr ""
msgid "There is no '%s' file."
msgstr "Walang file na '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Kaayusan"
#: editor/editor_audio_buses.cpp
@@ -2721,6 +2810,24 @@ msgid "Choose"
msgstr "Pumili"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Kopyahin Ang Pinagpipilian"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Nabigo:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Inimpok ang File:"
@@ -2733,6 +2840,31 @@ msgid "Packing"
msgstr "Iniimpake"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "I-save Bilang"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Nabigong lumikha ng folder."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Hindi mai-luwas ang mga project file"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Hindi mabuksan ang file para sa pagsusulat:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "I-save Bilang"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2836,11 +2968,29 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr ""
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Di-mahanap ang template file:"
#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr ""
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -3010,9 +3160,9 @@ msgid "Import"
msgstr "Umangkat"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Magluwas"
@@ -4116,15 +4266,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Eksena"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Kinalalagyan ng Eksena:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4248,6 +4389,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Pagmamahala ng Bersyon"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr "Inibang Pangalan"
@@ -4276,6 +4421,10 @@ msgstr ""
msgid "Add a new scene."
msgstr "Magdagdag ng panibagong eksena."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Eksena"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Bumalik sa dating binuksang eksena."
@@ -4908,11 +5057,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Ang piniling node ay hindi Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Laki: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Pahina: "
#: editor/editor_properties_array_dict.cpp
@@ -5008,6 +5160,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Proyekto"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5279,7 +5436,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Nabigasyon"
@@ -5305,6 +5464,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Kopyahin Ang Pinagpipilian"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5857,10 +6025,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6596,14 +6766,6 @@ msgid "Replace in Files"
msgstr "Palitan Lahat"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Palitan Lahat"
@@ -6733,7 +6895,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Salain ang mga node"
@@ -6996,8 +7158,9 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
+#, fuzzy
+msgid "Generating for Mesh:"
+msgstr "Pinapalitan ang pangalan ng folder:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7024,6 +7187,18 @@ msgid "Saving..."
msgstr "Nililigtas..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7693,11 +7868,20 @@ msgid "New Anim"
msgstr "Bagong Anim"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Gumawa ng Bagong Animasyon"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Baguhin ang Pangalan ng Animasyon:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Palitan ang Pangalan ng Animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Alisin ang Animation?"
@@ -7715,11 +7899,6 @@ msgid "Animation name already exists!"
msgstr "May nakapangalan na parehas sa Animation na ito!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Palitan ang Pangalan ng Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7816,10 +7995,12 @@ msgstr ""
msgid "Directions"
msgstr "Mga Direksyon"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Nakaraan"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Hinaharap"
@@ -7860,10 +8041,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Gumawa ng Bagong Animasyon"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Pangalan ng Animasyon:"
@@ -7978,7 +8155,8 @@ msgstr ""
"Itakda ang hulihan ng animasyon. Magagamit to para sa mga sub-transisyon."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Transisyon: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -7995,11 +8173,6 @@ msgid "New name:"
msgstr "Bagong pangalan:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Sukat:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "(Mga) Palabong Pagpasok:"
@@ -8896,6 +9069,7 @@ msgstr "Lumikha ng (Mga) Pasadyang Buto Galing sa (Mga) Node"
msgid "Clear Custom Bones"
msgstr "Alisin Ang Mga Pasadyang Buto"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8960,6 +9134,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Kaayusan"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9703,8 +9881,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Nakikitang Collision Shapes"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -9933,6 +10112,7 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr ""
@@ -10086,13 +10266,6 @@ msgid "Instance:"
msgstr "Instance:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Uri:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Buksan sa Editor"
@@ -10101,10 +10274,6 @@ msgstr "Buksan sa Editor"
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10794,13 +10963,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Sukat:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Transisyon: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10823,11 +10996,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11303,8 +11471,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr "Gawing %s"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11335,15 +11504,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "Animasyon"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Palitiin (Pa-pixel): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Palakihin (pa-Pixel): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11407,6 +11579,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Salain ang mga method"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Bilis:"
@@ -12280,8 +12457,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Saklaw"
@@ -13717,20 +13893,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13738,14 +13909,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13847,34 +14010,48 @@ msgid "More Info..."
msgstr "Ilipat sa..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr "Iniluluwas ang APK..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "Umangkat ng Proyekto"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Pumili ng Lalagyanan"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr "Magluwas..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr ""
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "Kinaroroonan ng Proyekto:"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Mga Tagapagtatag ng Proyekto"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14150,14 +14327,14 @@ msgid "Project Manager"
msgstr "Tagapangasiwa ng Proyekto "
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr ""
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Huling Binago"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr ""
@@ -15320,8 +15497,9 @@ msgid "Attach Node Script"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Alisin"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16167,7 +16345,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Bagong Polygon"
@@ -16341,7 +16519,8 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Mga Sanggunianan: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16771,7 +16950,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16801,6 +16979,19 @@ msgstr "Gitna"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Nabigasyon"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Nabigasyon"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17206,7 +17397,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17214,7 +17405,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17577,7 +17768,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Hindi iterable ang uri ng input: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17585,8 +17777,9 @@ msgid "Iterator became invalid"
msgstr "Naging invalid ang Iterator"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr ""
+#, fuzzy
+msgid "Iterator became invalid:"
+msgstr "Naging invalid ang Iterator"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -17751,12 +17944,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "Di-wastong mga argument para i-construct ang '%s'"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "Di-wastong pangalan."
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17768,12 +17963,14 @@ msgid "Var Name"
msgstr "Pangalan"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableGet not found in script:"
+msgstr "Hindi mahanap ang Method sa object: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
+#, fuzzy
+msgid "VariableSet not found in script:"
+msgstr "Hindi mahanap ang Method sa object: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18086,6 +18283,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Kopyahin ang mga Node"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18094,6 +18296,16 @@ msgstr ""
msgid "Export Format"
msgstr "Iluwas ang Library"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Pangunahing Skrip:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Pinagtututukan"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18132,16 +18344,6 @@ msgstr "Nakaraang tab"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Pangunahing Skrip:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Pinagtututukan"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18304,10 +18506,6 @@ msgid "Could not execute on device."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18384,12 +18582,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18398,25 +18596,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Hudyat"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18432,6 +18654,11 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Hindi maumpisa ang subprocess!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "nagbalik ng may pagkakabigong #%d ang 'apksigner'"
@@ -18462,7 +18689,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18473,20 +18700,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "Hindi mai-luwas ang mga project file"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18498,7 +18724,7 @@ msgstr "Binibuild ang Android Project (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18513,25 +18739,24 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr ""
+#, fuzzy
+msgid "Package not found: \"%s\"."
+msgstr "Di-mahanap ang animation: '%s'"
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "Nililikha ang APK..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Walang mahanap na template APK upang iluwas:\n"
"%s"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18541,7 +18766,8 @@ msgid "Adding files..."
msgstr "Dinadagdag ang mga file..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Hindi mai-luwas ang mga project file"
#: platform/android/export/export_plugin.cpp
@@ -18781,6 +19007,17 @@ msgstr "Kopyahin ang mga Node"
msgid "Custom BG Color"
msgstr "Kopyahin ang mga Node"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Pangasiwaan ang mga Export Template..."
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Di-mahanap ang template file:"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18802,19 +19039,34 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr ""
+"Walang mahanap na template APK upang iluwas:\n"
+"%s"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr "Di-wastong index ng uring %s para sa batayang uri %s"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
+#, fuzzy
+msgid "Could not write file: \"%s\"."
+msgstr "Nabigong lumikha ng folder."
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Laman:"
+
+#: platform/javascript/export/export.cpp
+#, fuzzy
+msgid "Could not read file: \"%s\"."
+msgstr "Nabigong lumikha ng folder."
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+msgid "PWA"
msgstr ""
#: platform/javascript/export/export.cpp
@@ -18892,16 +19144,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr ""
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
+msgstr "Nabigong lumikha ng folder."
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
+#, fuzzy
+msgid "Error starting HTTP server: %d."
+msgstr "Nabigong ang pagsave ang file: %s"
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19190,9 +19444,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Hindi mai-luwas ang mga project file"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Hindi maumpisa ang subprocess!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Nabigasyon"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19208,17 +19481,75 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Nabigong ang pagsave ang file: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Mga Direksyon"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Hindi maumpisa ang subprocess!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Ginagawa ang Thumbnail"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
+"Walang mahanap na template APK upang iluwas:\n"
+"%s"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Di-wastong binary format."
#: platform/osx/export/export.cpp
msgid ""
@@ -19228,7 +19559,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19269,6 +19600,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proyekto"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19576,6 +19916,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nabigong lumikha ng folder."
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19622,6 +19967,63 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Constant"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Di-wastong mga argument para i-construct ang '%s'"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Di-wastong pangalan."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19641,6 +20043,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Bagong Tabing"
@@ -19657,6 +20075,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19776,7 +20198,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19826,7 +20249,7 @@ msgstr "Palakihin Ang Tanaw"
msgid "Custom Viewport"
msgstr "1 Tinginan"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20534,11 +20957,42 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Ayusin Ang Pagkakabit:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Constant"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Pumili ng Pangunahing Eksena"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Paganahin"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Paganahin"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -20555,15 +21009,6 @@ msgstr ""
msgid "Max Speed"
msgstr "Bilis:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Paganahin"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -20586,13 +21031,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Usog:"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20600,7 +21048,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Constant"
@@ -21721,6 +22169,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Track na Pang-3D Transform"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -21744,12 +22199,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22596,6 +23045,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Transisyon: "
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23788,6 +24242,11 @@ msgstr "Folder:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Napili lang"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Paganahin"
@@ -24179,14 +24638,6 @@ msgstr "1 Tinginan"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -24194,6 +24645,15 @@ msgstr ""
"alinman."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -24345,6 +24805,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Nabigasyon"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Nabigasyon"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25742,7 +26212,7 @@ msgstr "Transisyon: "
msgid "Refraction"
msgstr "Ibahin ang Pangalan ng Punsyon"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25821,7 +26291,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Sukat:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Ibahin ang Punong-Uri"
#: scene/resources/navigation_mesh.cpp
@@ -25839,10 +26314,15 @@ msgid "Source Group Name"
msgstr "Pangalan ng Skript:"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Mga Gizmo"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -25852,11 +26332,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Saklaw"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Ipagsama galing sa Eksena"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25869,6 +26354,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Ipakita ang Karaniwan"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25886,9 +26376,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Usog:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26289,6 +26788,11 @@ msgid "Scenario"
msgstr "Eksena"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Nabigasyon"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26305,6 +26809,26 @@ msgstr "Burahin ang Linya"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Karaniwan"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Karaniwan"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Sinusubukan"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Ayusin Ang Pagkakabit:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index 3bc7b25058..ab58a87c36 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -70,13 +70,21 @@
# Ferhat Geçdoğan <ferhatgectao@gmail.com>, 2022.
# Recep GUCLUER <rgucluer@gmail.com>, 2022.
# Emir Tunahan Alim <emrtnhalim@gmail.com>, 2022.
+# inci <incialien@gmail.com>, 2022.
+# Ramazan Aslan <legendraslan@gmail.com>, 2022.
+# paledega <paledega@yandex.ru>, 2022.
+# Yekez <yasintonge@gmail.com>, 2022.
+# Deleted User <noreply+46833@weblate.org>, 2022.
+# Emre <mr.inkaya@gmail.com>, 2022.
+# Deleted User <noreply+46858@weblate.org>, 2022.
+# Ümid Quliyev <lucifer25x@protonmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-03 13:13+0000\n"
-"Last-Translator: Yusuf Yavuzyigit <yusufyavuzyigit25@gmail.com>\n"
+"PO-Revision-Date: 2022-08-05 01:04+0000\n"
+"Last-Translator: Ümid Quliyev <lucifer25x@protonmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/"
"godot/tr/>\n"
"Language: tr\n"
@@ -84,110 +92,97 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Tablet Sürücü"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
msgstr "Pano"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Şu anki Sahne"
+msgstr "Şu anki Ekran"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Çıkış Kodu"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
msgstr "V-Sync Etkin"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "Compositor Üzerinden V-Sync"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
msgstr "Delta Yumuşatma"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Düşük İşlemci Kullanımı Modu"
+msgstr "Düşük İşlemci Kullanım Modu"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "Düşük İşlemci Kullanımı Uyku Modu (μsn)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Keep Screen On"
msgstr "Ekranı Açık Tut"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "En Düşük Ekran Boyutu"
+msgstr "Minimum Pencere Boyutu"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "Maksimum Ekran Boyutu"
+msgstr "Maksimum Pencere Boyutu"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "Ekran Oryantasyonu"
+msgstr "Ekran Yönü"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Window"
-msgstr "Yeni Pencere"
+msgstr "Pencere"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Borderless"
-msgstr "Kenar Pikselleri"
+msgstr "Kenarlıksız"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Piksel Başına Saydamlık Etkin"
#: core/bind/core_bind.cpp core/project_settings.cpp
-#, fuzzy
msgid "Fullscreen"
-msgstr "Tam Ekranı Aç/Kapat"
+msgstr "Tam Ekran"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Maksimize edilmiş"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Minimized"
-msgstr "Etkinleştir"
+msgstr "Minimize edilmiş"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Yeniden Boyutlandırılabilir"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "Dock Pozisyonu"
+msgstr "Pozisyon"
#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
#: main/main.cpp modules/gridmap/grid_map.cpp
@@ -198,65 +193,56 @@ msgstr "Dock Pozisyonu"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "Boyut:"
+msgstr "Boyut"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Endian Değişimi"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Düzenleyici"
+msgstr "Düzenleyici İpucusu"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Hata Mesajlarını Yazdır"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "Ara Değerleme Kipi"
+msgstr "Saniye Başına Yineleme"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Target FPS"
-msgstr "Hedef"
+msgstr "Hedef FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "TimeScale Düğümü"
+msgstr "Zaman Ölçeği"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Fizik Kare %"
+msgstr "Fizik Titreşim Düzeltmesi"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
msgstr "Hata"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "Kaydedilirken hata"
+msgstr "Hata yazısı"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "Kaydedilirken hata"
+msgstr "Hata Satırı"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "Arama Sonuçları"
+msgstr "Sonuç"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Hafıza"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -267,16 +253,15 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Limitler"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Ctrl: Döndür"
+msgstr "Komut Sırası"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Çoklu İş Parçacığı Sıra Boyutu (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -287,90 +272,80 @@ msgstr "Fonksiyon"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Data"
-msgstr "Veri ile"
+msgstr "Veri"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
+#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr "Ağ Profilcisi"
+msgstr "Ağ"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Uzak "
+msgstr "Uzaktan Dosyalama Sistemi"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "Sayfa: "
+msgstr "Sayfa Boyutu"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Sayfayı Önceden Okuma"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Engelleme Modu Etkinleştirildi"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Bağla"
+msgstr "Bağlantı"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Okuma Yığın Boyutu"
#: core/io/marshalls.cpp
-#, fuzzy
msgid "Object ID"
-msgstr "Çizilmiş Nesneler:"
+msgstr "Nesne Kimliği"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "Araları Doldurmayı Etkinleştir"
+msgstr "Nesne Çözümlemelerine İzin Ver"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Yeni Bağlantılar Kurmayı Reddet"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Network Peer"
msgstr "Ağ Profilcisi"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "Kök düğüm adı"
+msgstr "Kök Düğüm Adı"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "Bağla"
+msgstr "Yeni Bağlantıları Reddet"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "Dönüştürme Türü"
+msgstr "Transfer Modu"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Kodlama Arabelleği Maksimum Boyutu"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "Giriş Arabelleği Maksimum Boyutu"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "Çıkış Arabelleği Maksimum Boyutu"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
@@ -378,20 +353,19 @@ msgstr ""
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "big-endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Veri Dizisi"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Tokalaşmayı blokla"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Bağlantıyı Düzenle:"
+msgstr "Bekletilebilecek Maks. Bağlantı Sayısı"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -409,8 +383,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Baytları çözümlemek için yetersiz miktarda bayt ya da geçersiz format."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "İfadede geçersiz giriş %i (geçersiz)"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "İfadede geçersiz giriş %d"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -439,20 +413,27 @@ msgstr "'%s' çağrıldığında:"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "Tohum"
#: core/math/random_number_generator.cpp
-#, fuzzy
msgid "State"
msgstr "Durum"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Mesaj Sırası"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "En Büyük Boyut (KB)"
+
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Fare Modu"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Birikmiş Girdiyi Kullan"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
@@ -460,98 +441,94 @@ msgid "Device"
msgstr "Aygıt"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Alt"
-msgstr "Hepsi"
+msgstr "Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "Shift"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Control"
-msgstr "Sürüm Kontrol"
+msgstr "Kontrol Tuşu"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "Topluluk"
+msgstr "Komut"
+
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "Fiziksel"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
-msgstr "Ön ayar"
+msgstr "Basılmış"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "Tara"
+msgstr "Tarama kodu"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical Scancode"
-msgstr "Fiziksel Anahtar"
+msgstr "Fiziksel Tuş Kodu"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Evrensel Kod"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "Yankı"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
-msgstr "Düğme"
+msgstr "Tuş Maskesi"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "Genel Sabit"
+msgstr "Global Pozisyon"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "Vektör"
+msgstr "Etken"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Button Index"
-msgstr "Fare Düğmesi İndeksi:"
+msgstr "Tuş İndeksi"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "Çift Tıklama"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "Eğim"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "Ön ayar"
+msgstr "Baskı"
#: core/os/input_event.cpp
#, fuzzy
+msgid "Pen Inverted"
+msgstr "Ters Kalem"
+
+#: core/os/input_event.cpp
msgid "Relative"
-msgstr "Göreceli Yapış"
+msgstr "Göreceli"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed"
-msgstr "Hız:"
+msgstr "Hız"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
@@ -559,14 +536,12 @@ msgid "Axis"
msgstr "Eksen"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "İğneleme değeri"
+msgstr "Eksen Değeri"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Index"
-msgstr "İndeks:"
+msgstr "İndeks"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -577,63 +552,56 @@ msgstr "Eylem"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "Güç"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "Delta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "Değiştir"
+msgstr "Kanal"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "İşleme Mesajı"
+msgstr "Mesaj"
#: core/os/input_event.cpp
#, fuzzy
msgid "Pitch"
-msgstr "Perde:"
+msgstr "Perde"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity"
-msgstr "Yörünge Görünümü Sağ"
+msgstr "Hız"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "Alet"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "Satır Numarası:"
+msgstr "Denetleyici Numarası"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "Denetleyici Değeri"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "Eylem"
+msgstr "Uygulama"
#: core/project_settings.cpp main/main.cpp
-#, fuzzy
msgid "Config"
-msgstr "Yapışmayı Yapılandır"
+msgstr "Yapılandırma"
#: core/project_settings.cpp
-#, fuzzy
msgid "Project Settings Override"
-msgstr "Proje Ayarları..."
+msgstr "Proje Ayarlarını Bastır"
#: core/project_settings.cpp core/resource.cpp
#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
@@ -656,7 +624,8 @@ msgstr "Açıklama"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Çalıştır"
@@ -666,39 +635,36 @@ msgid "Main Scene"
msgstr "Ana Sahne"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "Oto-döşemeleri Pasifleştir"
+msgstr "Stdout'u devre dışı bırak"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "Pasif Öge"
+msgstr "Stderr'i devre dışı bırak"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "Gizlenmiş Proje Verileri Dizinini Kullan"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Özelleştirilmiş Kullanıcı Dizinini Kullan"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "Özelleştirilmiş Kullanıcı Dizini Adı"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Hepsini Görüntüle"
+msgstr "Görüntüle"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Genişlik"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -706,23 +672,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "Işık"
+msgstr "Yükseklik"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Her Zaman Üstte"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "Soldan Görünüm"
+msgstr "Test Genişliği"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "Deneme"
+msgstr "Test Yüksekliği"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -730,9 +693,8 @@ msgid "Audio"
msgstr "Ses"
#: core/project_settings.cpp
-#, fuzzy
msgid "Default Bus Layout"
-msgstr "Varsayılan Bus Yerleşim Düzenini Yükle."
+msgstr "Varsayılan Bus Yerleşim Düzeni"
#: core/project_settings.cpp editor/editor_export.cpp
#: editor/editor_file_system.cpp editor/editor_node.cpp
@@ -747,93 +709,84 @@ msgid "Main Run Args"
msgstr "Ana Sahne Değiştirgenleri:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Sahne Adlandırma"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "Dosya Uzantılarında Ara"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Sürüm Kontrol"
+msgstr "Script Dosyalarını Aramak İçin Dosya Yolu"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
+#, fuzzy
+msgid "Version Control Autoload On Startup"
+msgstr "Başlangıçta Otomatik Sürüm Kontrolü"
#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "Eklentinin Adı:"
+msgid "Version Control Plugin Name"
+msgstr "Sürüm Denetimi Eklenti Adı"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "Giriş Ekle"
+msgstr "Giriş"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "Kullanıcı Arayüzü Kabul Et"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "Seç"
+msgstr "Kullanıcı Arayüzü Seç"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
-msgstr "Vazgeç"
+msgstr "Kullanıcı Arayüzünü İptal Et"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "Yola Odaklan"
+msgstr "Kullanıcı Arayüzü Sonrakine Odaklan"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "Yola Odaklan"
+msgstr "Kullanıcı Arayüzü Öncekine Odaklan"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Left"
-msgstr "Sol Üst"
+msgstr "Kullanıcı Arayüzü Sol"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Right"
-msgstr "Sağ Üst"
+msgstr "Kullanıcı Arayüzü Sağ"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "Kullanıcı Arayüzü Yukarı"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "Aşağı"
+msgstr "Kullanıcı Arayüzü Aşağı"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "Sayfa: "
+msgstr "Kullanıcı Arayüzü Sayfa Yukarı"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "Kullanıcı Arayüzü Sayfa Aşağı"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "Kullanıcı Arayüzü Home"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI End"
-msgstr "Sonunda"
+msgstr "Kullanıcı Arayüzü End"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -843,9 +796,8 @@ msgstr "Sonunda"
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Physics"
-msgstr " (Fiziksel)"
+msgstr "Fizik"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -855,12 +807,11 @@ msgstr " (Fiziksel)"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "3D"
#: core/project_settings.cpp
-#, fuzzy
msgid "Smooth Trimesh Collision"
-msgstr "Üçlü Örüntü Çarpışma Kardeşi Oluştur"
+msgstr "Akıcı Trimesh Çarpışması"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -871,9 +822,8 @@ msgstr "Üçlü Örüntü Çarpışma Kardeşi Oluştur"
#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
-#, fuzzy
msgid "Rendering"
-msgstr "Oluşturucu:"
+msgstr "Oluşturucu"
#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
@@ -883,17 +833,17 @@ msgstr "Oluşturucu:"
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "Kalite"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
-msgstr "Süzgeçler:"
+msgstr "Filtreler"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "Keskinleştirme Yoğunluğu"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -909,87 +859,83 @@ msgstr "Hata Ayıklama"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Settings"
-msgstr "Ayarlar:"
+msgstr "Ayarlar"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
+#, fuzzy
msgid "Profiler"
msgstr "Kesitçi"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "İşlev Yap"
+msgstr "Maks. Fonksiyon Sayısı"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Compression"
-msgstr "İfade"
+msgstr "Sıkıştırma"
#: core/project_settings.cpp
-#, fuzzy
msgid "Formats"
-msgstr "Biçem"
+msgstr "Biçim"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "Uzun Mesafe Eşleşme"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "Sıkıştırma Seviyesi"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "Pencere Günlük Boyutu"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "Modüller"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "Metotlara bağlantılar:"
+msgstr "Bağlanma Zaman Aşımı Süresi(Saniye)"
#: core/register_core_types.cpp
+#, fuzzy
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "Paket Eş Akışı"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Maksimum Arabellek (2'nin üssü olacak şekilde)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
-msgstr "Köşenoktalar:"
+msgstr "Sertifikalar"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
@@ -998,9 +944,8 @@ msgid "Resource"
msgstr "Kaynak"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "Sahneyi Kapat"
+msgstr "Sahneye Yerel"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -1010,9 +955,8 @@ msgid "Path"
msgstr "Yol"
#: core/script_language.cpp
-#, fuzzy
msgid "Source Code"
-msgstr "Kaynak"
+msgstr "Kaynak Kodu"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
@@ -1025,7 +969,7 @@ msgstr "Deneme"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "Geri Dönüş"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -1033,27 +977,27 @@ msgstr "B"
#: core/ustring.cpp
msgid "KiB"
-msgstr "KiB"
+msgstr "KB"
#: core/ustring.cpp
msgid "MiB"
-msgstr "MiB"
+msgstr "MB"
#: core/ustring.cpp
msgid "GiB"
-msgstr "GiB"
+msgstr "GB"
#: core/ustring.cpp
msgid "TiB"
-msgstr "TiB"
+msgstr "TB"
#: core/ustring.cpp
msgid "PiB"
-msgstr "PiB"
+msgstr "PB"
#: core/ustring.cpp
msgid "EiB"
-msgstr "EiB"
+msgstr "EB"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -1061,17 +1005,17 @@ msgstr "EiB"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "Arabellek"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "Tuval Çokgen Arabellek Boyutu (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "Tuval Çokgen Dizini Arabellek Boyutu (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -1083,52 +1027,49 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
msgstr "Akıllı Hizalama"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Use GPU Pixel Snap"
msgstr "Piksel Yapışması Kullan"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Anlık Arabellek Boyutu (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
-#, fuzzy
msgid "Lightmapping"
-msgstr "Işık-Haritalarını Pişir"
+msgstr "Işık Haritalama"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
+#, fuzzy
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Bicubic Örneklemeyi Kullanın"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Maksimum İşlenebilir Öğeler"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Maks. İşlenebilinecek Işık Sayısı"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Max Renderable Reflections"
-msgstr "Merkez Seçimi"
+msgstr "Maks. İşlenebilinecek Yansıma Sayısı"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Maks. Objeye düşen Işık Sayısı"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
@@ -1148,29 +1089,30 @@ msgid "Scale"
msgstr "Ölçekle"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Follow Surface"
-msgstr "Yüzeyi Doldur"
+msgstr "Yüzeyi Takip Et"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "Ağırlık Örnekleri"
#: drivers/gles3/rasterizer_scene_gles3.cpp
+#, fuzzy
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Işın İzleme"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "Yüksek Kalite"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "Karışım Şekli Maksimum Arabellek Boyutu (KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr "Ücretsiz"
+msgstr "Özgür"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -1184,7 +1126,7 @@ msgstr "Ayna"
msgid "Time:"
msgstr "Süre:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Değer:"
@@ -1239,9 +1181,8 @@ msgstr "Animasyon Değişikliği Çağrısı"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Kare %"
+msgstr "Kare"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1252,16 +1193,14 @@ msgstr "Zaman"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "Yerelleştirme"
+msgstr "Konum"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Dönme Adımı:"
+msgstr "Rotasyon"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1269,14 +1208,13 @@ msgid "Value"
msgstr "Değer"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Değer:"
+msgstr "Argüman Sayısı"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argümanlar"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1299,8 +1237,9 @@ msgstr "Tutamacı Ayarla"
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
+#, fuzzy
msgid "Stream"
-msgstr ""
+msgstr "Aktarım"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1323,9 +1262,8 @@ msgid "Animation"
msgstr "Animasyon"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Açılma Kararma"
+msgstr "Yumuşatma"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1382,7 +1320,7 @@ msgstr "Animasyon Oynatıcı İzi"
#: editor/animation_track_editor.cpp
msgid "Animation length (frames)"
-msgstr "Animasyon uzunluğu (çerçeve)"
+msgstr "Animasyon uzunluğu (kare)"
#: editor/animation_track_editor.cpp
msgid "Animation length (seconds)"
@@ -1399,7 +1337,7 @@ msgstr "Animasyon Döngüsü"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Functions:"
-msgstr "İşlevler:"
+msgstr "Fonksiyonlar:"
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
@@ -1434,8 +1372,69 @@ msgid "Remove this track."
msgstr "Bu izi sil."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Süre (sn): "
+msgid "Time (s):"
+msgstr "Süre (sn):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Pozisyon:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Rotasyon:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Ölçekle:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Tür:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "(Geçersiz Dışa Aktarım Şablonu: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Yumuşatma:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Tutamacı Ayarla"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Tutamacı Ayarla"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Aktarım:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Başlangıç (lar):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Bitiş (ler):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Animasyon Klibi:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1526,7 +1525,7 @@ msgstr "Düzenleyici"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#, fuzzy
msgid "Confirm Insert Track"
-msgstr "Animasyon İz & Anahtar Ekle"
+msgstr "Parça Eklemeyi Onayla"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1651,8 +1650,9 @@ msgid "Add Method Track Key"
msgstr "Yöntem İz Anahtarı Ekle"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Metot, nesne içinde bulunamadı: "
+#, fuzzy
+msgid "Method not found in object:"
+msgstr "Metot, nesne içinde bulunamadı:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2185,14 +2185,15 @@ msgstr "Beğeniler:"
msgid "Recent:"
msgstr "Yakın zamanda:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Ara:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Eşleşmeler:"
@@ -2252,8 +2253,8 @@ msgstr "Yerine Geçecek Kaynak Ara:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2261,8 +2262,9 @@ msgid "Open"
msgstr "Aç"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Şunların sahipleri:"
+#, fuzzy
+msgid "Owners of: %s (Total: %d)"
+msgstr "Sahipleri: %s (Toplam: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2566,7 +2568,7 @@ msgid "Bus Options"
msgstr "Bus ayarları"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Çoğalt"
@@ -2618,9 +2620,10 @@ msgstr "Audio Bus Yerleşim Düzenini Aç"
msgid "There is no '%s' file."
msgstr "'%s' dosyası bulunamadı."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Yerleşim Düzeni"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
+msgstr "Yerleşim Düzeni:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2671,7 +2674,7 @@ msgstr "Yeni bir Bus Yerleşim Düzeni oluştur."
#: editor/editor_audio_buses.cpp
#, fuzzy
msgid "Audio Bus Layout"
-msgstr "Audio Bus Yerleşim Düzenini Aç"
+msgstr "Ses Veri Yolu Düzeni"
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -2823,6 +2826,26 @@ msgid "Choose"
msgstr "Seç"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Project export for platform:"
+msgstr "Platform için proje dışa aktarımı:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Hatalarla tamamlandı."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Başarıyla tamamlandı."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Başarısız."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Dosya Depolama:"
@@ -2835,6 +2858,31 @@ msgid "Packing"
msgstr "Çıkınla"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "PCK'yi kaydet"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "\"%s\" dosyası oluşturulamıyor."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Proje dosyaları dışa aktarılamadı."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "\"%s\" yolundan okunacak dosya açılamıyor."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "ZIP dosyasını kaydet"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2895,7 +2943,7 @@ msgstr ""
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Custom Template"
-msgstr "Editör Teması"
+msgstr "Özel Şablon"
#: editor/editor_export.cpp editor/project_export.cpp
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
@@ -2907,36 +2955,42 @@ msgstr "Yayınlamak"
#: editor/editor_export.cpp
#, fuzzy
msgid "Binary Format"
-msgstr "Renk operatörü."
+msgstr "Çift Biçim"
#: editor/editor_export.cpp
+#, fuzzy
msgid "64 Bits"
-msgstr ""
+msgstr "64 Bit"
#: editor/editor_export.cpp
+#, fuzzy
msgid "Embed PCK"
-msgstr ""
+msgstr "PCK'yı yerleştirin"
#: editor/editor_export.cpp platform/osx/export/export.cpp
#, fuzzy
msgid "Texture Format"
-msgstr "DokuBölgesi"
+msgstr "Doku Biçimi"
#: editor/editor_export.cpp
+#, fuzzy
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
#, fuzzy
@@ -2955,17 +3009,40 @@ msgstr "Özel hata ayıklama şablonu bulunmadı."
msgid "Custom release template not found."
msgstr "Özel yayınlama şablonu bulunamadı."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Şablon Hazırla"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Belirtilen Dışa aktarım yolu mevcut değil:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "Şablon dosyası bulunamadı:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "Şablon dosyası bulunamadı: \"%s\"."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Dışa aktarma şablonu kopyalanamadı."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Dolgulama"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "32-bit dışa aktarımlarda gömülü PCK 4GiB'tan büyük olamaz."
#: editor/editor_export.cpp
+#, fuzzy
msgid "Convert Text Resources To Binary On Export"
-msgstr ""
+msgstr "Dışa Aktarmada Metin Kaynaklarını İkili Dosyaya Dönüştür"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -3133,9 +3210,9 @@ msgid "Import"
msgstr "İçe Aktar"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Dışa Aktar"
@@ -3176,7 +3253,7 @@ msgstr "Dışa Aktarım Şablonlarını Yönet"
#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "Default Feature Profile"
-msgstr "Godot Özellik Profili"
+msgstr "Varsayılan Özellik Profili"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -3250,12 +3327,12 @@ msgstr "Bir Dosya Kaydet"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Access"
-msgstr "Başarılı!"
+msgstr "Erişim"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#, fuzzy
msgid "Display Mode"
-msgstr "Oynatma Modu:"
+msgstr "Ekran Modu"
#: editor/editor_file_dialog.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -3270,32 +3347,33 @@ msgstr "Oynatma Modu:"
#: servers/audio/effects/audio_effect_distortion.cpp
#, fuzzy
msgid "Mode"
-msgstr "Kaydırma Biçimi"
+msgstr "Mod"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Current Dir"
-msgstr "Geçerli:"
+msgstr "Geçerli Dizin"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Current File"
-msgstr "Şu Anki Profil:"
+msgstr "Geçerli Dosya"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Current Path"
-msgstr "Geçerli:"
+msgstr "Geçerli Yol"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Show Hidden Files"
-msgstr "Gizli Dosyalari Aç / Kapat"
+msgstr "Gizli Dosyaları Göster"
#: editor/editor_file_dialog.cpp
+#, fuzzy
msgid "Disable Overwrite Warning"
-msgstr ""
+msgstr "Üzerine Yazma Uyarısını Devre Dışı Bırak"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -3397,8 +3475,9 @@ msgid "(Re)Importing Assets"
msgstr "Varlıklar Yeniden-İçe Aktarılıyor"
#: editor/editor_file_system.cpp
+#, fuzzy
msgid "Reimport Missing Imported Files"
-msgstr ""
+msgstr "İçe Aktarılan Eksik Dosyaları Yeniden İçe Aktar"
#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
@@ -3413,7 +3492,7 @@ msgstr "Sınıf:"
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Inherits:"
-msgstr "Kalıtçılar:"
+msgstr "Miras:"
#: editor/editor_help.cpp
msgid "Inherited by:"
@@ -3430,7 +3509,7 @@ msgstr "Özellikler"
#: editor/editor_help.cpp
#, fuzzy
msgid "overrides %s:"
-msgstr "% üzerine yazılmışlar:"
+msgstr "%s'yi geçersiz kılar:"
#: editor/editor_help.cpp
msgid "default:"
@@ -3502,7 +3581,7 @@ msgstr ""
#: modules/gdscript/gdscript_editor.cpp
#, fuzzy
msgid "Text Editor"
-msgstr "Düzenleyiciyi Aç"
+msgstr "Metin Düzenleyici"
#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/shader_editor_plugin.cpp
@@ -3510,8 +3589,9 @@ msgid "Help"
msgstr "Yardım"
#: editor/editor_help.cpp
+#, fuzzy
msgid "Sort Functions Alphabetically"
-msgstr ""
+msgstr "Fonksiyonları Alfabetik Olarak Sırala"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -3593,34 +3673,34 @@ msgstr "Özellik:"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
#, fuzzy
msgid "Label"
-msgstr "Değer"
+msgstr "Etiket"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Read Only"
-msgstr "Sadece Metotlar"
+msgstr "Sadece Okunur"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
#, fuzzy
msgid "Checkable"
-msgstr "Öğeyi Denetle"
+msgstr "Kontrol edilebilir"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Checked"
-msgstr "Denetlenen Öğe"
+msgstr "Kontrol edildi"
#: editor/editor_inspector.cpp
#, fuzzy
msgid "Draw Red"
-msgstr "Çizim Çağrıları:"
+msgstr "Kırmızı Çiz"
#: editor/editor_inspector.cpp
#, fuzzy
msgid "Keying"
-msgstr "Oynat"
+msgstr "Anahtarlama"
#: editor/editor_inspector.cpp
msgid "Pin value"
@@ -3985,12 +4065,12 @@ msgstr "Betiği Hızlı Aç..."
#: editor/editor_node.cpp
#, fuzzy
msgid "Save & Reload"
-msgstr "Kaydet ve Baştan Başlat"
+msgstr "Kaydet ve Yeniden Yükle"
#: editor/editor_node.cpp
#, fuzzy
msgid "Save changes to '%s' before reloading?"
-msgstr "Kapatmadan önce değişklikler buraya '%s' kaydedilsin mi?"
+msgstr "Çıkmadan önce değişiklikler '%s' ‘ye kaydedilsin mi?"
#: editor/editor_node.cpp
msgid "Save & Close"
@@ -4111,7 +4191,7 @@ msgstr "Proje Yöneticisi Açılsın Mı?"
#: editor/editor_node.cpp
#, fuzzy
msgid "Save changes to the following scene(s) before reloading?"
-msgstr "Çıkmadan önce değişiklikler aşağıdaki sahne(ler)e kaydedilsin mi?"
+msgstr "Çıkmadan önce değişiklikler sahne(ler)e kaydedilsin mi?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -4295,63 +4375,53 @@ msgid "%d more files"
msgstr "%d daha fazla dosyalar"
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Sahne"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Sahne Yolu:"
+"'%s' dosyasına yazılamıyor, dosya kullanımda, kilitli veya izinler eksik."
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
-#, fuzzy
msgid "Interface"
-msgstr "Kullanıcı Arayüzü"
+msgstr "Arayüz"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tabs"
-msgstr "Sahne Sekmesine Geç"
+msgstr "Sahne Sekmeleri"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Always Show Close Button"
-msgstr "Daima Izgarayı Göster"
+msgstr "Daima Kapatma Düğmesini Göster"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "Çok Sayıda Sekme Varsa Yeniden Boyutlandır"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
-msgstr ""
+msgstr "Minimum Genişlik"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Output"
msgstr "Çıktı"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Clear Output On Play"
-msgstr "Çıktıyı Temizle"
+msgstr "Oynatıldığında Çıktıyı Daima Temizle"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr ""
+msgstr "Oynatıldığında Çıktıyı Daima Aç"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
-msgstr ""
+msgstr "Durdurulduğunda Çıktıyı Daima Kapat"
#: editor/editor_node.cpp
+#, fuzzy
msgid "Save On Focus Loss"
-msgstr ""
+msgstr "Odak Kaybından Tasarruf Edin"
#: editor/editor_node.cpp editor/editor_settings.cpp
#, fuzzy
@@ -4388,8 +4458,9 @@ msgid "Restore Scenes On Load"
msgstr "Sahne Düğümünü Al"
#: editor/editor_node.cpp editor/editor_settings.cpp
+#, fuzzy
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "Fareyle üzerine gelindiğinde  küçük resmi  göster"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
@@ -4415,11 +4486,11 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
-msgstr ""
+msgstr "Yatay Vector2 Düzenleme"
#: editor/editor_node.cpp
msgid "Horizontal Vector Types Editing"
-msgstr ""
+msgstr "Yatay Vector tipleri düzenleme"
#: editor/editor_node.cpp
#, fuzzy
@@ -4432,8 +4503,13 @@ msgid "Resources To Open In New Inspector"
msgstr "Gözetmen Bölümünde Aç"
#: editor/editor_node.cpp
+#, fuzzy
msgid "Default Color Picker Mode"
-msgstr ""
+msgstr "Varsayılan renk seçme modu"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Sürüm Kontrol"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
@@ -4463,6 +4539,10 @@ msgstr "Dikkat-Dağıtmayan Kipine geç."
msgid "Add a new scene."
msgstr "Yeni bir sahne ekle."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Sahne"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Daha önce açılan sahneye git."
@@ -5153,12 +5233,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Seçili düğüm bir Viewport değil!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Boyut: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Boyut:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Sayfa: "
+msgid "Page:"
+msgstr "Sayfa:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5258,6 +5340,11 @@ msgstr ""
"Lütfen Dışa Aktar menüsüne çalıştırılabilir bir ön ayar ekleyin veya mevcut "
"bir ön ayarı çalıştırılabilir olarak tanımlayın."
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Proje"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Mantığınızı _run() metoduna yazın."
@@ -5294,19 +5381,19 @@ msgstr "Hepsini Görüntüle"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr ""
+msgstr "Özel Ekran Ölçeği"
#: editor/editor_settings.cpp
msgid "Main Font Size"
-msgstr ""
+msgstr "Ana font ölçüsü"
#: editor/editor_settings.cpp
msgid "Code Font Size"
-msgstr ""
+msgstr "Kod font'u ölçüsü"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr ""
+msgstr "Kenarı yumuşatılmış font"
#: editor/editor_settings.cpp
msgid "Font Hinting"
@@ -5319,7 +5406,7 @@ msgstr "Ana Sahne"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
-msgstr ""
+msgstr "Ana font kalınlığı"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5327,8 +5414,9 @@ msgid "Code Font"
msgstr "Düğüm Noktası Ekle"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Dim Editor On Dialog Popup"
-msgstr ""
+msgstr "İletişim penceresinde Dim Editörü"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
@@ -5345,11 +5433,12 @@ msgstr "Dikkat Dağıtmayan Kip"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
-msgstr ""
+msgstr "Otomatik olarak ekran görüntülerini aç"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Max Array Dictionary Items Per Page"
-msgstr ""
+msgstr "Her sayfada maks dizi sözlüğü öğesi"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5363,7 +5452,7 @@ msgstr "Ön ayar"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr ""
+msgstr "Simge ve Font rengi"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5377,7 +5466,7 @@ msgstr "Renk Seç"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
-msgstr ""
+msgstr "Kontrast"
#: editor/editor_settings.cpp
msgid "Relationship Line Opacity"
@@ -5453,7 +5542,7 @@ msgstr "Küçük Resim..."
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr ""
+msgstr "Eklentiler"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5475,8 +5564,9 @@ msgid "Property Editor"
msgstr "Grup Düzenleyici"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Auto Refresh Interval"
-msgstr ""
+msgstr "Otomatik yenileme intervalı"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5491,7 +5581,7 @@ msgstr "Editör Teması"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Line Spacing"
-msgstr ""
+msgstr "Satır aralığı"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
@@ -5510,7 +5600,7 @@ msgstr ""
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight Current Line"
-msgstr ""
+msgstr "Geçerli satırı vurgula"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
@@ -5541,17 +5631,19 @@ msgid "Draw Spaces"
msgstr "Çizim Çağrıları:"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Gezinim"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Smooth Scrolling"
-msgstr ""
+msgstr "Pürüzsüz kaydırma"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "V Scroll Speed"
-msgstr ""
+msgstr "V kaydırma hızı"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5560,15 +5652,25 @@ msgstr "Başlatımı Göster"
#: editor/editor_settings.cpp
msgid "Minimap Width"
-msgstr ""
+msgstr "Küçük Harita Genişliği"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "GridMap Seçimi"
+
+#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Stay In Script Editor On Node Selected"
+msgstr "Seçilmiş Düğümde Script Editöründe Kal"
+
+#: editor/editor_settings.cpp
msgid "Appearance"
-msgstr ""
+msgstr "Dış görünüş"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
#, fuzzy
@@ -5594,12 +5696,14 @@ msgid "Show Info Gutter"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Code Folding"
-msgstr ""
+msgstr "Kod katlama"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Word Wrap"
-msgstr ""
+msgstr "Kelime Paketle"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
@@ -5620,7 +5724,7 @@ msgstr "Kod Düzenleyici"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "Üyelerin Genel Bakışını Göster"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -5637,16 +5741,19 @@ msgid "Autosave Interval Secs"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "Script'leri Yüklemede Eski Haline Getir"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "Kaydederken Script'leri Otomatik Tekrar yükle ve Ayrıştır"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "Dış Değişiklikte Otomatik Olarak Script'i Geri Yükle"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5659,11 +5766,11 @@ msgstr ""
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr ""
+msgstr "İmleç"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "Dosyanın Sonunu Kaydır"
#: editor/editor_settings.cpp
msgid "Block Caret"
@@ -5699,7 +5806,7 @@ msgstr ""
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "Kod Tamamlama Gecikme Süresi"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
@@ -5756,12 +5863,14 @@ msgid "Preview Size"
msgstr "Önizleme"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Primary Grid Color"
-msgstr ""
+msgstr "Birincil Izgara Rengi"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "İkincil Izgara Rengi"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5798,7 +5907,7 @@ msgstr "Nokta"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "Şekil"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5910,7 +6019,7 @@ msgstr "Gezinim Kipi"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "Yörünge Hassasiyeti"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
@@ -6113,7 +6222,7 @@ msgstr "Önden Görünüm"
#: modules/gdscript/language_server/gdscript_language_server.cpp
#, fuzzy
msgid "Remote Host"
-msgstr "Uzak "
+msgstr "Uzak Ana Bilgisayar"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
@@ -6140,10 +6249,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Proje Yöneticisi"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6912,14 +7023,6 @@ msgid "Replace in Files"
msgstr "Dosyaiçlerinde Değiştir"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Bul: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Değiştir: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Tümünü Değiştir (GERİ ALMA YOK)"
@@ -7048,7 +7151,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Süzgeçler:"
@@ -7114,7 +7217,7 @@ msgstr "İfade"
#: editor/import/resource_importer_obj.cpp
#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "Boyut: "
+msgstr "Boyut:"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -7316,8 +7419,9 @@ msgid "Generating Lightmaps"
msgstr "Işık-haritaları Üretiliyor"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Örüntü için Üretiliyor: "
+#, fuzzy
+msgid "Generating for Mesh:"
+msgstr "Örüntü için Üretiliyor:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7346,6 +7450,18 @@ msgid "Saving..."
msgstr "Kaydediliyor..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7405,7 +7521,7 @@ msgstr "Rastgele Ölçek:"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
msgid "Size Limit"
-msgstr "Boyut: "
+msgstr "Boyut Limiti"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
@@ -8035,11 +8151,20 @@ msgid "New Anim"
msgstr "Yeni Animasyon"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Yeni Animasyon Oluştur"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Animasyon İsmini Değiştir:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Animasyonu Yeniden Adlandır"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animasyon Silinsin mi?"
@@ -8057,11 +8182,6 @@ msgid "Animation name already exists!"
msgstr "Animasyon ismi zaten var!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Animasyonu Yeniden Adlandır"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Animasyonu Çoğalt"
@@ -8159,10 +8279,12 @@ msgstr "Araları Doldurma Seçenekleri"
msgid "Directions"
msgstr "Yönler"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Geçmiş"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Gelecek"
@@ -8203,10 +8325,6 @@ msgid "Pin AnimationPlayer"
msgstr "Animasyon Oynatıcıyı Sabitle"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Yeni Animasyon Oluştur"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Animasyon Adı:"
@@ -8324,8 +8442,9 @@ msgstr ""
"olacaktır."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Geçiş: "
+#, fuzzy
+msgid "Transition:"
+msgstr "Geçiş:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8341,11 +8460,6 @@ msgid "New name:"
msgstr "Yeni ad:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Ölçekle:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Açılma (sn):"
@@ -9257,6 +9371,7 @@ msgstr "Düğüm[ler]den istenilen şekilde kemik[ler] yarat"
msgid "Clear Custom Bones"
msgstr "İsteğe bağlı kemikleri temizle"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9323,6 +9438,10 @@ msgid "Preview Canvas Scale"
msgstr "Tuval Ölçeğini Önizle"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Yerleşim Düzeni"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Anahtar Ekleme Çevirim Maskesi."
@@ -10092,8 +10211,9 @@ msgid "Volume"
msgstr "Oylum"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Emisyon Kaynağı: "
+#, fuzzy
+msgid "Emission Source:"
+msgstr "Emisyon Kaynağı:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10326,6 +10446,7 @@ msgid "Points"
msgstr "Noktalar"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Çokgenler"
@@ -10481,13 +10602,6 @@ msgid "Instance:"
msgstr "Örnek:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Tür:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Düzenleyicide Aç"
@@ -10496,10 +10610,6 @@ msgstr "Düzenleyicide Aç"
msgid "Load Resource"
msgstr "Kaynak Yükle"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "KaynakÖnyükleyici"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Portalları Çevir"
@@ -11199,13 +11309,15 @@ msgstr "Döndür"
msgid "Translate"
msgstr "Çevir"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Ölçekleniyor: "
+msgid "Scaling:"
+msgstr "Ölçekleniyor:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Çeviriliyor: "
+msgid "Translating:"
+msgstr "Çevriliyor:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11228,11 +11340,6 @@ msgid "Yaw:"
msgstr "Sapma:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Boyut:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Çizilmiş Nesneler:"
@@ -11719,7 +11826,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geçersiz geometri, örüntü ile değiştirilemiyor."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Örüntü2D'ye döüştür"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11751,16 +11859,17 @@ msgid "Sprite"
msgstr "HayaliÇizimlik"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Sadeleştirme: "
+msgid "Simplification:"
+msgstr "Sadeleştirme:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Sıkıştır (Pikselleri): "
+#, fuzzy
+msgid "Shrink (Pixels):"
+msgstr "Sıkıştır (Pikselleri):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Büyüt (Pikselleri): "
+msgid "Grow (Pixels):"
+msgstr "Büyüt (Piksel):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11823,6 +11932,11 @@ msgid "New Animation"
msgstr "Yeni Animasyon"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Metotları filtrele"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Hız:"
@@ -12712,8 +12826,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Önceki şekil, altdöşeme ya da Döşemeyi Seç."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Bölge"
@@ -14218,40 +14331,22 @@ msgid "Runnable"
msgstr "Koşturulabilir"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "'%s' önayarı silinsin mi?"
+msgid "Export the project for all the presets defined."
+msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"'%s' platformu için proje dışa aktarılamadı.\n"
-"Dışa aktarma şablonları eksik veya hatalı görünüyor."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"'%s' platformu için proje dışa aktarılamadı.\n"
-"Bu, dışa aktarma ön ayarlarındaki ya da dışa aktarma ayarlarınızdaki bir "
-"yapılandırma sorunundan kaynaklanıyor olabilir."
+msgid "Delete preset '%s'?"
+msgstr "'%s' önayarı silinsin mi?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Tümünü Dışa Aktarma"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Belirtilen Dışa aktarım yolu mevcut değil:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Bu platform için dışa aktarma şablonu eksik/bozuk:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Dışa aktarım Yolu"
@@ -14362,19 +14457,27 @@ msgid "More Info..."
msgstr "Şuraya Taşı..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "PCK/Zip Dışa Aktar"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Projeyi Dışa Aktar"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Dışa Aktarma Modu?"
+msgid "Export All"
+msgstr "Tümünü Dışa Aktar"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Lütfen boş bir klasör seçin."
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Export All..."
msgstr "Tümünü Dışa Aktar"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14382,7 +14485,8 @@ msgid "ZIP File"
msgstr "ZIP Dosyası"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Godot Oyun Paketi"
#: editor/project_export.cpp
@@ -14390,6 +14494,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Bu platform için dışa aktarma şablonu eksik:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Projenin Kurucuları"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Dışa Aktarım Şablonlarını Yönet"
@@ -14704,14 +14813,14 @@ msgid "Project Manager"
msgstr "Proje Yöneticisi"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Yükleniyor, lütfen bekleyin..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Son Değişiklik"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Yükleniyor, lütfen bekleyin..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Projjeyi Düzenle"
@@ -15924,8 +16033,9 @@ msgid "Attach Node Script"
msgstr "Düğüm Betiği İliştir"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Uzak "
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Uzak %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16807,7 +16917,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Çokgenler"
@@ -16985,8 +17095,8 @@ msgid "Disabled GDNative Singleton"
msgstr "GDNative İskeleti Pasifleştirildi"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Kütüphaneler: "
+msgid "Libraries:"
+msgstr "Kütüphaneler:"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -17429,7 +17539,6 @@ msgid "Use In Baked Light"
msgstr "Işık-Haritalarını Pişir"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17459,6 +17568,19 @@ msgstr "Merkez"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Gezinim"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Gezinim Kipi"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Sonraki sekme"
@@ -17876,15 +17998,17 @@ msgstr ""
"Lütfen düğümünüzü düzeltin."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "Düğüm geçersiz bir dizi çıktısı döndürdü: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
+msgstr "Düğüm geçersiz bir dizi çıktısı döndürdü:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Bit dizisi bulundu fakat yığındaki düğüm değil, kusuru bildir!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Şu derinlikte yığın taşması: "
#: modules/visual_script/visual_script.cpp
@@ -18238,8 +18362,9 @@ msgid "if (cond) is:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
+#, fuzzy
msgid "While"
-msgstr "While"
+msgstr "Sürece"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -18254,7 +18379,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Girdi türü yinelenebilir değil: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18262,7 +18388,8 @@ msgid "Iterator became invalid"
msgstr "Yineleyici geçersiz durumda"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Yineleyici geçersiz durumda: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18431,11 +18558,13 @@ msgid "Operator"
msgstr "Kaplama opeartörü."
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Şu tür için geçersiz değiştirgen: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Geçersiz değiştirgenler: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18448,11 +18577,13 @@ msgid "Var Name"
msgstr "İsim"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "VariableGet betikte bulunamadı: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+#, fuzzy
+msgid "VariableSet not found in script:"
msgstr "VariableSet betikte bulunamadı: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18762,6 +18893,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Paket en azından bir tane '.' ayıracına sahip olmalıdır."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "ÖzelSınıf"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18770,6 +18906,16 @@ msgstr ""
msgid "Export Format"
msgstr "Dışa aktarım Yolu"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Kontur Boyutu:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Hedef"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18813,16 +18959,6 @@ msgstr "Önceki Örneği İncele"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Kontur Boyutu:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Hedef"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18986,10 +19122,6 @@ msgid "Could not execute on device."
msgstr "Cihazda yürütülemedi."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "'apksigner' aracı bulunamıyor."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19076,15 +19208,17 @@ msgstr ""
"Eklentileri kullanabilmek için \"Özel Derleme Kullan\" seçeneği aktif olmalı."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"El Takibi (Hand Tracking)\" sadece \"Xr Modu\" \"Oculus Mobile VR\" ya da "
"\"OpenXR\" olduğunda geçerlidir."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "\"İçinden Geçme\" sadece \"Xr Mod\" \"OpenXR\" ise geçerlidir."
#: platform/android/export/export_plugin.cpp
@@ -19094,31 +19228,59 @@ msgstr ""
"geçerlidir."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Min Sdk\" değiştirilmesi sadece \"Özel Yapı\" etkinleştirildiğinde "
"geçerlidir."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid ""
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Target Sdk\" değiştirilmesi sadece \"Özel Yapı\" etkinleştirildiğinde "
"geçerlidir."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
"\"Target Sdk\" sürümü \"Min Sdk\" sürümünden daha büyük veya eşit olmalıdır."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Sinyal"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"'apksigner' bulunamadı.\n"
"Lütfen komutun Android SDK build-tools dizininde bulunup bulunmadığını "
@@ -19138,6 +19300,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Anahtar deposu bulunamadı, dışa aktarılamadı."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Alt işlem başlatılamadı!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner', #%d hatasıyla döndürüldü"
@@ -19166,7 +19333,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Geçersiz dosya adı! Android APK, * .apk uzantısını gerektirir."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "Desteklenmeyen dışa aktarma biçimi!\n"
#: platform/android/export/export_plugin.cpp
@@ -19178,10 +19346,9 @@ msgstr ""
"için sürüm bilgisi yok. Lütfen 'Proje' menüsünden yeniden yükleyin."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Android derlemesi sürüm uyumsuzluğu:\n"
@@ -19190,13 +19357,15 @@ msgstr ""
"Lütfen 'Proje' menüsünden Android derleme şablonunu yeniden yükleyin."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Proje adıyla res://android/build/res/*.xml dosyalarının üzerine yazılamıyor"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "Proje dosyaları gradle projesine aktarılamadı\n"
#: platform/android/export/export_plugin.cpp
@@ -19208,8 +19377,9 @@ msgid "Building Android Project (gradle)"
msgstr "Android Projesi Oluşturma (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Android projesinin oluşturulması başarısız oldu, hatayı çıktı için kontrol "
@@ -19230,7 +19400,8 @@ msgstr ""
"için gradle proje dizinini kontrol edin."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Paket bulunamadı: %s"
#: platform/android/export/export_plugin.cpp
@@ -19238,17 +19409,16 @@ msgid "Creating APK..."
msgstr "APK oluşturuluyor..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Dışa aktarılacak şablon APK bulunamadı:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19261,7 +19431,8 @@ msgid "Adding files..."
msgstr "Dosyalar ekleniyor..."
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Proje dosyaları dışa aktarılamadı"
#: platform/android/export/export_plugin.cpp
@@ -19504,6 +19675,17 @@ msgstr "ÖzelSınıf"
msgid "Custom BG Color"
msgstr "ÖzelSınıf"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Şablonlarını Yönet"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Özel yayınlama şablonu bulunamadı."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Ekip Kimliği belirtilmedi - proje yapılandırılamıyor."
@@ -19525,22 +19707,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Dışa aktarılmış HTML'yi sistemin varsayılan tarayıcısında çalıştır."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Dışa aktarma için şablon açılamadı:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Geçersiz Dışa Aktarım Şablonu:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Dosya yazılamadı:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Kenar Boşluk Belirle"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Dosya okunamadı:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Ayrım:"
@@ -19615,15 +19810,18 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "HTML kabuğu okunamadı:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "HTTP sunucu klasörü oluşturulamadı:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "HTTP sunucusu başlatılırken hata:"
#: platform/javascript/export/export.cpp
@@ -19924,9 +20122,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Proje dosyaları dışa aktarılamadı"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Alt işlem başlatılamadı!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Yerelleştirme"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19942,23 +20159,78 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Simge bulunamadı."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "%s dosyası kaydedilirken hata"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Yönler"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Alt işlem başlatılamadı!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Küçük Bediz Oluşturuluyor"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr ""
"Dışa aktarılacak şablon APK bulunamadı:\n"
"%s"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Geçersiz Dışa Aktarım Şablonu:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19966,7 +20238,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20007,6 +20279,16 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Proje"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Proje dosyaları gradle projesine aktarılamadı\n"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Geçersiz paket tanımlayıcısı:"
@@ -20322,6 +20604,11 @@ msgid "Debug Algorithm"
msgstr "Hata Ayıklayıcı"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Geçici dosya kaldırılamıyor:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20369,6 +20656,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Rastgele Döndürme:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Anahtar deposu bulunamadı, dışa aktarılamadı."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Anahtar deposu bulunamadı, dışa aktarılamadı."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Geçersiz uzantı."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Anahtar deposu bulunamadı, dışa aktarılamadı."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Anahtar deposu bulunamadı, dışa aktarılamadı."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Geçersiz Tanımlayıcı:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Geçersiz ad."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Geçersiz uzantı."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Geçici dosya kaldırılamıyor:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20390,6 +20741,23 @@ msgid "Invalid product version:"
msgstr "Geçersiz ürün GUID'i."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Geçersiz uzantı."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Yeni Pencere"
@@ -20406,6 +20774,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20533,7 +20905,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Uzaklık Seç:"
@@ -20584,7 +20957,7 @@ msgstr "Yaklaştır"
msgid "Custom Viewport"
msgstr "1 Görüntü Kapısı"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21348,11 +21721,43 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Bağlantıyı Düzenle:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Bağlayıcı"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Uzaklık Seç:"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Max Distance"
+msgstr "Uzaklık Seç:"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Gelişmiş"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Etkin"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21370,16 +21775,6 @@ msgstr "Yatay Yansıt"
msgid "Max Speed"
msgstr "Hız:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "Uzaklık Seç:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Etkin"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -21407,24 +21802,26 @@ msgstr ""
"çokgen çizin."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance, bir Navigation2D çocuğu olmalı ya da Navigation2D "
-"düğümünün torunu olması gerekir. Bu nesne yalnızca yönlendirme verisi sağlar."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Merkez Alt"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Seyahat"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "%s Düzey Dönüyor."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Genel Sabit"
@@ -21692,7 +22089,7 @@ msgstr "Kenar Boşluk Belirle"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
msgid "Sync To Physics"
-msgstr " (Fiziksel)"
+msgstr "Fiziğe Senkronize Et"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -22633,6 +23030,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Dönüşüm Durduruldu."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22658,14 +23062,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent sadece Spatial düğümünün altında kullanılabilir."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance, bir Navigation düğümünün çocuğu ya da torunu "
-"olmalıdır. O yalnızca yönlendirme verisi sağlar."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23197,7 +23593,7 @@ msgstr "Bir RoomGroup, bir Portal'ın çocuğu veya torunu olmamalıdır."
#: scene/3d/portal.cpp
#, fuzzy
msgid "Portal Active"
-msgstr " [portallar aktif]"
+msgstr "Portal Aktif"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
@@ -23564,6 +23960,11 @@ msgstr ""
"Bunun yerine alt düğümlerde çarpışma şekillerindeki boyutu değiştirin."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Bütünsel Dönüşümü Tut"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24483,7 +24884,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Karet"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
@@ -24825,6 +25226,11 @@ msgstr "Dosya:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Yalnızca Seçim"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Etkin"
@@ -25236,18 +25642,6 @@ msgstr "Dışa aktarım Yolu"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Bu görüntükapısı bir işleyici hedefi olarak ayarlanmamış. Eğer bunu doğrudan "
-"ekran içeriğini görüntülemek için düşünüyorsanız, bir Control'ün çocuğu "
-"yapın böylece bir boyut elde edebilir. Aksi takdirde, Görüntüleme için bunu "
-"bir RenderTarget yap ve dahili dokusunu herhangi bir düğüme ata."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -25255,6 +25649,15 @@ msgstr ""
"pikselden büyük ya da buna eşit olmalıdır."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25403,14 +25806,22 @@ msgid "3D Render"
msgstr "Oluşturucu:"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "2D Physics"
-msgstr " (Fiziksel)"
+msgstr "2B Fizik"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "3D Physics"
-msgstr " (Fiziksel)"
+msgstr "3B Fizik"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Gezinim"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Gezinim"
#: scene/register_scene_types.cpp
msgid "Use hiDPI"
@@ -26840,7 +27251,7 @@ msgstr "Geçiş: "
msgid "Refraction"
msgstr "Ayrım:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26925,7 +27336,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Ölçekleniyor: "
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Değişken Tipini Ayarla"
#: scene/resources/navigation_mesh.cpp
@@ -26943,10 +27359,15 @@ msgid "Source Group Name"
msgstr "Kaynak"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Ana Sahne Değiştirgenleri:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26956,11 +27377,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Bölge"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Sahneden Birleştir"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26974,6 +27400,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "Varsayılanı Göster"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "Uzaklık Seç:"
@@ -26991,9 +27422,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "AABB Üretimi"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Kaydırma:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27409,6 +27850,11 @@ msgid "Scenario"
msgstr "Sahne"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Gezinim"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27426,6 +27872,26 @@ msgstr "Sol Doğrusal"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Varsayılan"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Varsayılan Önizleme"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Deneme"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Bağlantıyı Düzenle:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -27618,11 +28084,11 @@ msgstr ""
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Msec"
-msgstr ""
+msgstr "MiliSaniye"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Room Size"
-msgstr ""
+msgstr "Oda Büyüklüğü"
#: servers/audio/effects/audio_effect_reverb.cpp
#, fuzzy
@@ -27647,14 +28113,12 @@ msgid "Surround"
msgstr ""
#: servers/audio_server.cpp
-#, fuzzy
msgid "Enable Audio Input"
-msgstr "Audio Bus'ı Yeniden Adlandır"
+msgstr "Ses Girişini Aktifleştir"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Output Latency"
-msgstr "Çıktı"
+msgstr "Çıkış Gecikmesi"
#: servers/audio_server.cpp
msgid "Channel Disable Threshold dB"
@@ -27675,9 +28139,8 @@ msgid "Bus Count"
msgstr "Giriş Portu Ekle"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Capture Device"
-msgstr "Pikselden Yakala"
+msgstr "Yakalama Cihazı"
#: servers/audio_server.cpp
#, fuzzy
@@ -27689,9 +28152,8 @@ msgid "Feed"
msgstr ""
#: servers/camera/camera_feed.cpp
-#, fuzzy
msgid "Is Active"
-msgstr "Derinlik"
+msgstr "Aktif mi"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Linear"
@@ -27733,50 +28195,46 @@ msgid "Total Linear Damp"
msgstr "Doğrusal"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Total Gravity"
-msgstr "Varsayılan Önizleme"
+msgstr "Toplam Yerçekimi"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Linear Velocity"
-msgstr "Etkinleştir"
+msgstr "Çizgisel hız"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Exclude"
-msgstr ""
+msgstr "Hariç tut"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Shape RID"
-msgstr ""
+msgstr "Şekil RID"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
#, fuzzy
msgid "Collide With Bodies"
-msgstr "Temas Kipi"
+msgstr "Diğer Bedenlerle Çarpış"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
+#, fuzzy
msgid "Collide With Areas"
-msgstr ""
+msgstr "Diğer Alanlarla Çarpış"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Motion Remainder"
-msgstr ""
+msgstr "Kalan Hareket"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Point"
-msgstr "Temas Kipi"
+msgstr "Çarpışma Noktası"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Normal"
-msgstr "Temas Kipi"
+msgstr "Çarpışma Normali"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Depth"
-msgstr "Temas Kipi"
+msgstr "Çarpışma Derinliği"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
#, fuzzy
@@ -27789,14 +28247,12 @@ msgid "Collision Unsafe Fraction"
msgstr "Temas Kipi"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Physics Engine"
-msgstr "Fizik Kare %"
+msgstr "Fizik Motoru"
#: servers/physics_server.cpp
-#, fuzzy
msgid "Center Of Mass"
-msgstr "Sol Merkez"
+msgstr "Kütle Merkezi"
#: servers/physics_server.cpp
msgid "Principal Inertia Axes"
@@ -27877,12 +28333,11 @@ msgstr "Kalıbı İçe Aktar"
#: servers/visual_server.cpp
msgid "Lossless Compression"
-msgstr ""
+msgstr "Kayıpsız Sıkıştırma"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Force PNG"
-msgstr "Zorla Gönder"
+msgstr "PNG Uzantısını Kullanmaya Zorla"
#: servers/visual_server.cpp
msgid "WebP Compression Level"
@@ -27914,14 +28369,12 @@ msgid "Quadrant 3 Subdiv"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shadows"
-msgstr "Gölgelendirici"
+msgstr "Gölgeler"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Filter Mode"
-msgstr "Düğümleri Süzgeçden Geçir"
+msgstr "Filtre Modu"
#: servers/visual_server.cpp
#, fuzzy
@@ -27958,21 +28411,20 @@ msgid "Mesh Storage"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Split Stream"
-msgstr "Eğriyi Böl"
+msgstr "Akışı Böl"
#: servers/visual_server.cpp
msgid "Use Physical Light Attenuation"
-msgstr ""
+msgstr "Fiziksel Işık Zayıflatmayı Kullanın"
#: servers/visual_server.cpp
msgid "Depth Prepass"
-msgstr ""
+msgstr "Derinlik Ön Geçişi"
#: servers/visual_server.cpp
msgid "Disable For Vendors"
-msgstr ""
+msgstr "Bu Satıcılar İçin Devre Dışı Bırak"
#: servers/visual_server.cpp
msgid "Anisotropic Filter Level"
@@ -28023,12 +28475,11 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Legacy Stream"
-msgstr ""
+msgstr "Eski Akış"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Batching"
-msgstr "Aranıyor..."
+msgstr "Yığınlama"
#: servers/visual_server.cpp
msgid "Use Batching"
@@ -28079,25 +28530,23 @@ msgstr "Çerçeveyi Yapıştır"
#: servers/visual_server.cpp
msgid "GLES2"
-msgstr ""
+msgstr "GLES2"
#: servers/visual_server.cpp
msgid "Compatibility"
-msgstr ""
+msgstr "Uyumluluk"
#: servers/visual_server.cpp
msgid "Disable Half Float"
-msgstr ""
+msgstr "Yarım Float'ı devre dışı bırak"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Enable High Float"
-msgstr "Önceliklemeyi Etkinleştir"
+msgstr "Yüksek Float'ı Etkinleştir"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Precision"
-msgstr "İfade"
+msgstr "Hassasiyet"
#: servers/visual_server.cpp
msgid "UV Contract"
@@ -28117,9 +28566,8 @@ msgid "PVS Logging"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Signals"
-msgstr "sinyaller"
+msgstr "Sinyal Kullan"
#: servers/visual_server.cpp
#, fuzzy
@@ -28138,12 +28586,11 @@ msgstr "Emilme Ayırmayı Görüntüle"
#: servers/visual_server.cpp
msgid "Max Active Spheres"
-msgstr ""
+msgstr "Maks. Aktif Küre Sayısı"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Active Polygons"
-msgstr "Çokgeni Taşı"
+msgstr "Maks. Aktif Çokgen Sayısı"
#: servers/visual_server.cpp
#, fuzzy
diff --git a/editor/translations/tt.po b/editor/translations/tt.po
deleted file mode 100644
index 0e416ff246..0000000000
--- a/editor/translations/tt.po
+++ /dev/null
@@ -1,25664 +0,0 @@
-# Tatar translation of the Godot Engine editor.
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
-# This file is distributed under the same license as the Godot source code.
-#
-# Bualma Show <appleaidar6@gmail.com>, 2021.
-msgid ""
-msgstr ""
-"Project-Id-Version: Godot Engine editor\n"
-"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-06-07 23:43+0000\n"
-"Last-Translator: Bualma Show <appleaidar6@gmail.com>\n"
-"Language-Team: Tatar <https://hosted.weblate.org/projects/godot-engine/godot/"
-"tt/>\n"
-"Language: tt\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.7-dev\n"
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Tablet Driver"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Clipboard"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Current Screen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Exit Code"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "V-Sync Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "V-Sync Via Compositor"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Delta Smoothing"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Keep Screen On"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Min Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Max Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Screen Orientation"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Window"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Borderless"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Per Pixel Transparency Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Fullscreen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Maximized"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Minimized"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
-#: scene/gui/graph_node.cpp
-msgid "Resizable"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
-#: scene/gui/control.cpp scene/gui/line_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Position"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
-#: main/main.cpp modules/gridmap/grid_map.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
-#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-msgid "Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Endian Swap"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Editor Hint"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Print Error Messages"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Iterations Per Second"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Target FPS"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Time Scale"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Physics Jitter Fix"
-msgstr ""
-
-#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Error"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error String"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error Line"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Result"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
-msgid "Memory"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp
-#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#: servers/visual_server.cpp
-msgid "Limits"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Command Queue"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Multithreading Queue Size (KB)"
-msgstr ""
-
-#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Function"
-msgstr ""
-
-#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Data"
-msgstr ""
-
-#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-msgid "Network"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Remote FS"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Size"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Read Ahead"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Blocking Mode Enabled"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Connection"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Read Chunk Size"
-msgstr ""
-
-#: core/io/marshalls.cpp
-msgid "Object ID"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-msgid "Allow Object Decoding"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Refuse New Network Connections"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Network Peer"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-msgid "Root Node"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Refuse New Connections"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Transfer Mode"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Encode Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Input Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Output Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Stream Peer"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Big Endian"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Data Array"
-msgstr ""
-
-#: core/io/stream_peer_ssl.cpp
-msgid "Blocking Handshake"
-msgstr ""
-
-#: core/io/udp_server.cpp
-msgid "Max Pending Connections"
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "convert() өчен яраксыз аргумент төре, TYPE_ * тотрыклы кулланыгыз."
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-msgid "Expected a string of length 1 (a character)."
-msgstr "Озынлык сызык 1 (ягъни символ) көтелгән иде."
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/mono/glue/gd_glue.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"Байтларны декодацияләү өчен байтлар җитәрлек түгел яки рөхсәт ителми торган "
-"формат."
-
-#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "self can't be used because instance is null (not passed)"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid index of type %s for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid named index '%s' for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid arguments to construct '%s'"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "On call to '%s':"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Seed"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-msgid "State"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Message Queue"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Max Size (KB)"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: servers/audio_server.cpp
-msgid "Device"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Alt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Shift"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Control"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Meta"
-msgstr ""
-
-#: core/os/input_event.cpp
-#, fuzzy
-msgid "Command"
-msgstr "Җәмәгать"
-
-#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
-#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Pressed"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Physical Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Unicode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Echo"
-msgstr ""
-
-#: core/os/input_event.cpp scene/gui/base_button.cpp
-msgid "Button Mask"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-msgid "Global Position"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Factor"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Button Index"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Doubleclick"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Tilt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pressure"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Relative"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
-#: scene/animation/animation_player.cpp scene/resources/environment.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: scene/3d/sprite_3d.cpp
-msgid "Axis"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Axis Value"
-msgstr ""
-
-#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-msgid "Index"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/touch_screen_button.cpp
-msgid "Action"
-msgstr ""
-
-#: core/os/input_event.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Strength"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Delta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Channel"
-msgstr ""
-
-#: core/os/input_event.cpp main/main.cpp
-msgid "Message"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pitch"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-msgid "Velocity"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Instrument"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Number"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Value"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Application"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-msgid "Config"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Project Settings Override"
-msgstr ""
-
-#: core/project_settings.cpp core/resource.cpp
-#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
-#: editor/editor_help_search.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_profiler.cpp editor/plugins/tile_set_editor_plugin.cpp
-#: editor/project_manager.cpp editor/settings_config_dialog.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/area_2d.cpp scene/3d/area.cpp
-#: scene/3d/skeleton.cpp scene/main/node.cpp scene/resources/mesh_library.cpp
-#: scene/resources/skin.cpp
-msgid "Name"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_help.cpp
-#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Description"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
-msgid "Run"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/run_settings_dialog.cpp main/main.cpp
-msgid "Main Scene"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stdout"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stderr"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Hidden Project Data Directory"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Custom User Dir"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Custom User Dir Name"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
-#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
-#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Width"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Height"
-msgstr ""
-
-#: core/project_settings.cpp editor/animation_track_editor.cpp
-#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
-msgid "Audio"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Default Bus Layout"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp
-#: editor/editor_file_system.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/script_create_dialog.cpp
-#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
-msgid "Editor"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Main Run Args"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Search In File Extensions"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr ""
-
-#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
-#: scene/3d/collision_object.cpp scene/gui/control.cpp
-msgid "Input"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Accept"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Select"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Cancel"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Next"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Prev"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Left"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Right"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Home"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI End"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
-#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/main/scene_tree.cpp scene/main/viewport.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#: servers/physics/space_sw.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Physics"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp main/main.cpp
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-#: scene/3d/physics_body.cpp scene/resources/world.cpp
-#: servers/physics/space_sw.cpp servers/physics_server.cpp
-msgid "3D"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Smooth Trimesh Collision"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
-#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Rendering"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/3d/baked_lightmap.cpp
-#: scene/main/scene_tree.cpp scene/resources/environment.cpp
-#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Quality"
-msgstr ""
-
-#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Filters"
-msgstr ""
-
-#: core/project_settings.cpp scene/main/viewport.cpp
-msgid "Sharpen Intensity"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/project_export.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp scene/3d/room_manager.cpp
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-#: servers/visual_server.cpp
-msgid "Debug"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-msgid "Settings"
-msgstr ""
-
-#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Profiler"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Max Functions"
-msgstr ""
-
-#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-msgid "Compression"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Formats"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zstd"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Long Distance Matching"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Compression Level"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Window Log Size"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zlib"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Gzip"
-msgstr ""
-
-#: core/project_settings.cpp platform/android/export/export.cpp
-msgid "Android"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Modules"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "TCP"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Connect Timeout Seconds"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Packet Peer Stream"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Max Buffer (Power of 2)"
-msgstr ""
-
-#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
-msgid "SSL"
-msgstr ""
-
-#: core/register_core_types.cpp main/main.cpp
-msgid "Certificates"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_resource_picker.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource"
-msgstr ""
-
-#: core/resource.cpp
-msgid "Local To Scene"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/project_manager.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Path"
-msgstr ""
-
-#: core/script_language.cpp
-msgid "Source Code"
-msgstr ""
-
-#: core/translation.cpp editor/project_settings_editor.cpp
-msgid "Locale"
-msgstr ""
-
-#: core/translation.cpp
-msgid "Test"
-msgstr ""
-
-#: core/translation.cpp scene/resources/font.cpp
-msgid "Fallback"
-msgstr ""
-
-#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
-msgid "B"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "KiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "MiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "GiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "TiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "PiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "EiB"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
-msgid "Buffers"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp main/main.cpp
-#: scene/2d/physics_body_2d.cpp scene/resources/world_2d.cpp
-#: servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/visual_server.cpp
-msgid "2D"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Snapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Use GPU Pixel Snap"
-msgstr ""
-
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Immediate Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Lightmapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Use Bicubic Sampling"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Elements"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Lights"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Reflections"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Lights Per Object"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Subsurface Scattering"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/node_2d.cpp scene/2d/parallax_layer.cpp scene/2d/polygon_2d.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp
-#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp
-#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-msgid "Scale"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Follow Surface"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Weight Samples"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Voxel Cone Tracing"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
-msgid "High Quality"
-msgstr ""
-
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Free"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Balanced"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Mirror"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
-msgid "Time:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Value:"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Insert Key Here"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Duplicate Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Delete Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Add Bezier Point"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Move Bezier Points"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Delete Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Frame"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#: scene/resources/particles_material.cpp servers/visual_server.cpp
-msgid "Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: platform/osx/export/export.cpp
-msgid "Location"
-msgstr ""
-
-#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-msgid "Rotation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
-msgid "Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Arg Count"
-msgstr ""
-
-#: editor/animation_track_editor.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Args"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
-#: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Type"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "In Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Out Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Stream"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "End Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/sprite.cpp scene/3d/cpu_particles.cpp scene/3d/sprite_3d.cpp
-#: scene/animation/animation_blend_tree.cpp
-#: scene/resources/particles_material.cpp
-msgid "Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Easing"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Length"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation Loop"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Property Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "3D Transform Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Call Method Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier Curve Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (frames)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (seconds)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Looping"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Track Path"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle this track on/off."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Update Mode (How this property is set)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
-msgid "Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove this track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle Track Enabled"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Continuous"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Discrete"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Trigger"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp
-msgid "Capture"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Nearest"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp
-msgid "Linear"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Cubic"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clamp Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Wrap Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add RESET Value(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Update Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Loop Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove Anim Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editors"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-msgid "Confirm Insert Track"
-msgstr ""
-
-#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
-#: editor/animation_track_editor.cpp
-msgid "Create NEW track for %s and insert key?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create %d NEW tracks and insert keys?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "node '%s'"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "property '%s'"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Create & Insert"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Track & Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Rearrange Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"Audio tracks can only point to nodes of type:\n"
-"-AudioStreamPlayer\n"
-"-AudioStreamPlayer2D\n"
-"-AudioStreamPlayer3D"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Not possible to add a new track without a root"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Bezier Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track is not of type Spatial, can't insert key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Transform Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a method key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Method Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Move Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp scene/2d/node_2d.cpp
-#: scene/3d/spatial.cpp scene/main/canvas_layer.cpp
-#: servers/camera/camera_feed.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_help.cpp
-msgid "Methods"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Clipboard is empty!"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Paste Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Scale Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This option does not work for Bezier editing, as it's only a single track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Add RESET Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This animation belongs to an imported scene, so changes to imported tracks "
-"will not be saved.\n"
-"\n"
-"To enable the ability to add custom tracks, navigate to the scene's import "
-"settings and set\n"
-"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom "
-"Tracks\", then re-import.\n"
-"Alternatively, use an import preset that imports animations to separate "
-"files."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Warning: Editing imported animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select an AnimationPlayer node to create and edit animations."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Only show tracks from nodes selected in tree."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Group tracks by node or display them as plain list."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Snap:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation step value."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Seconds"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp main/main.cpp
-#: scene/resources/texture.cpp
-msgid "FPS"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_resource_picker.cpp editor/import/resource_importer_wav.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation properties."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Copy Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale From Cursor"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Transposed"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Next Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Previous Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Apply Reset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Pick the node that will be animated:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Use Bezier Curves"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create RESET Track(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim. Optimizer"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Linear Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Angular Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max Optimizable Angle:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Optimize"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove invalid keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove unresolved and empty tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-up all animations"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Ratio:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select Tracks to Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_log.cpp
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select All/None"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Add Audio Track Clip"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip End Offset"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Resize Array"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value Type"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Go to Line"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line Number:"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "%d replaced."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d match."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d matches."
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Match Case"
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Whole Words"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace All"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Selection Only"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-msgid "Standard"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Toggle Scripts Panel"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom In"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Out"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Reset Zoom"
-msgstr ""
-
-#: editor/code_editor.cpp modules/gdscript/gdscript.cpp
-msgid "Warnings"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line and column numbers."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method in target node must be specified."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method name must be a valid identifier."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Target method not found. Specify a valid method or attach a script to the "
-"target node."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Node:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Script:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "From Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Scene does not contain any script."
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
-#: editor/groups_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-msgid "Add"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp
-msgid "Remove"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Add Extra Call Argument:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Extra Call Arguments:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Receiver Method:"
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Advanced"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Deferred"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/resources/texture.cpp
-msgid "Oneshot"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnects the signal after its first emission."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Cannot connect signal"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.cpp editor/groups_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect '%s' to '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect all from signal: '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Disconnect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect a Signal to a Method"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit Connection:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
-msgid "Signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Filter signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from this signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect All"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Go to Method"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Change %s Type"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/project_settings_editor.cpp
-msgid "Change"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Create New %s"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "No results for \"%s\"."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/property_selector.cpp
-msgid "No description available for %s."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp
-msgid "Favorites:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-msgid "Recent:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Matches:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Description:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Scene '%s' is currently being edited.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Resource '%s' is in use.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Broken"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependency Editor"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement Resource:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Open"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Remove the selected files from the project? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"The files being removed are required by other resources in order for them to "
-"work.\n"
-"Remove them anyway? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Cannot remove:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Error loading:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Load failed due to missing dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_node.cpp
-msgid "Open Anyway"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Which action should be taken?"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Errors loading!"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Show Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Orphan Resource Explorer"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
-msgid "Delete"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owns"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Resources Without Explicit Ownership:"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Key"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Value"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Thanks from the Godot community!"
-msgstr ""
-
-#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp
-msgid "Click to copy."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Godot Engine contributors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Project Founders"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Lead Developer"
-msgstr ""
-
-#. TRANSLATORS: This refers to a job title.
-#: editor/editor_about.cpp
-msgctxt "Job Title"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Developers"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Authors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Platinum Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Mini Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "License"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Third-party Licenses"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid ""
-"Godot Engine relies on a number of third-party free and open source "
-"libraries, all compatible with the terms of its MIT license. The following "
-"is an exhaustive list of all such third-party components with their "
-"respective copyright statements and license terms."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "All Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Licenses"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "%s (already exists)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - No files conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Uncompressing Assets"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "The following files failed extraction from asset \"%s\":"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "(and %s more files)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset \"%s\" installed successfully!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Success!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp editor/editor_node.cpp
-msgid "Install"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset Installer"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Speakers"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Rename Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Change Audio Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Bypass Effects"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Select Audio Bus Send"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Drag & drop to rearrange."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bypass"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bus Options"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Master bus can't be deleted!"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Duplicate Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save Audio Bus Layout As..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Location for New Layout..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Open Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "There is no '%s' file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Invalid file, not an audio bus layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Error saving file: %s"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add a new Audio Bus to this layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Load"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load an existing Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save As"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save this Bus Layout to a file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/import_dock.cpp
-msgid "Load Default"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load the default Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Create a new Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Invalid name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Cannot begin with a digit."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Valid characters:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing engine class name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing built-in type name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing global constant name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Keyword cannot be used as an autoload name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp
-#: modules/gdscript/gdscript.cpp platform/android/export/export_plugin.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/3d/reflection_probe.cpp scene/main/canvas_layer.cpp
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Enable"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Can't add autoload:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. File does not exist."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. Not in resource path (res://)."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Path:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Node Name:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Global Variable"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating Scene"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Storing local changes..."
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating scene..."
-msgstr ""
-
-#: editor/editor_data.cpp editor/editor_resource_picker.cpp
-msgid "[empty]"
-msgstr ""
-
-#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "[unsaved]"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Please select a base directory first."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose a Directory"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Create Folder"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp
-msgid "Name:"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp
-msgid "Could not create folder."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Storing File:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No export template found at the expected path:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Packing"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
-"Etc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' texture compression for GLES3. Enable "
-"'Import Etc 2' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for GLES2. Enable "
-"'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. "
-"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom Template"
-msgstr ""
-
-#: editor/editor_export.cpp editor/project_export.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Release"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Binary Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "64 Bits"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Embed PCK"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "Texture Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "BPTC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "S3TC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC2"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No BPTC Fallbacks"
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom debug template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom release template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Convert Text Resources To Binary On Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "3D Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Script Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Asset Library"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Scene Tree Editing"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Node Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "FileSystem Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to view and edit 3D scenes."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to edit scripts using the integrated script editor."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Provides built-in access to the Asset Library."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to work with signals and groups of the node selected in the Scene "
-"dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to browse the local file system via a dedicated dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to configure import settings for individual assets. Requires the "
-"FileSystem dock to function."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(current)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(none)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove currently selected profile, '%s'? Cannot be undone."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile with this name already exists."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enable Contextual Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Properties:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Main Features:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Nodes and Classes:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "File '%s' format is invalid, import aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Profile '%s' already exists. Remove it first before importing, import "
-"aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Error saving profile to path: '%s'."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Reset to Default"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Current Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Available Profiles:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Make Current"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/editor_node.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Import"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Configure Selected Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Extra Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create or import a profile to edit available classes and properties."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "New profile name:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Godot Feature Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Profile(s)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Export Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Manage Editor Feature Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Default Feature Profile"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select Current Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "File exists, overwrite?"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select This Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Copy Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Open in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-msgid "Show in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "New Folder..."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/find_in_files.cpp
-msgid "Refresh"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Recognized"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Files (*)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open File(s)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File or Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/editor_resource_picker.cpp editor/import_defaults_editor.cpp
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "Save"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Save a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Access"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-msgid "Display Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/csg/csg_shape.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/light_2d.cpp scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/light.cpp scene/3d/physics_body.cpp
-#: scene/gui/control.cpp scene/gui/file_dialog.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Dir"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Show Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Disable Overwrite Warning"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Back"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Forward"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Favorite"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_resource_picker.cpp
-#: scene/gui/base_button.cpp
-msgid "Toggle Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Focus Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Down"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to previous folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to next folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Go to parent folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Refresh files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "(Un)favorite current folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Toggle the visibility of hidden files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a list."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Directories & Files:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
-#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp
-msgid "Preview:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "File:"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "ScanSources"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid ""
-"There are multiple importers for different types pointing to file %s, import "
-"aborted"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "(Re)Importing Assets"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "Reimport Missing Imported Files"
-msgstr ""
-
-#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Top"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Class:"
-msgstr ""
-
-#: editor/editor_help.cpp editor/scene_tree_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Inherits:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Inherited by:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Properties"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "overrides %s:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "default:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Theme Properties"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/gradient.cpp
-msgid "Colors"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constants"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Fonts"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Icons"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Styles"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Enumerations"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Property Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "(value)"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this property. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Method Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this method. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript_editor.cpp
-msgid "Text Editor"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Help"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Sort Functions Alphabetically"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Help"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Case Sensitive"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Show Hierarchy"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Display All"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Classes Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Methods Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Signals Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Constants Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Member Type"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Class"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Method"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Signal"
-msgstr ""
-
-#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Constant"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Property"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
-msgid "Property:"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-msgid "Label"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Read Only"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-msgid "Checkable"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Draw Red"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Keying"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid ""
-"Pinning a value forces it to be saved even if it's equal to the default."
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Set %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Set Multiple:"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Unpinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Paste Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property Path"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Output:"
-msgstr ""
-
-#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Copy Selection"
-msgstr ""
-
-#: editor/editor_log.cpp editor/editor_network_profiler.cpp
-#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/property_editor.cpp editor/scene_tree_dock.cpp
-#: editor/script_editor_debugger.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Clear"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Clear Output"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: editor/editor_profiler.cpp
-msgid "Stop"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
-#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
-msgid "Start"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "%s/s"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Down"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Up"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RSET"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RSET"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "New Window"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Unnamed Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Spins when the editor window redraws.\n"
-"Update Continuously is enabled, which can increase power usage. Click to "
-"disable it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Spins when the editor window redraws."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Imported resources can't be saved."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Error saving resource!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource can't be saved because it does not belong to the edited scene. "
-"Make it unique first."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save Resource As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't open file for writing:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Requested file format unknown:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while saving."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while parsing '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unexpected end of file '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Missing '%s' or its dependencies."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while loading '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Saving Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Analyzing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Creating Thumbnail"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a tree root."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene can't be saved because there is a cyclic instancing inclusion.\n"
-"Please resolve it and then attempt to save again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
-"be satisfied."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not save one or more scenes!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save All Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp editor/scene_tree_dock.cpp
-msgid "Can't overwrite scene that is still open!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load MeshLibrary for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving MeshLibrary!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load TileSet for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving TileSet!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"An error occurred while trying to save the editor layout.\n"
-"Make sure the editor's user data path is writable."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Default editor layout overridden.\n"
-"To restore the Default layout to its base settings, use the Delete Layout "
-"option and delete the Default layout."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Layout name not found!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restored the Default layout to its base settings."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was imported, so it's not editable.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was instanced or inherited.\n"
-"Changes to it won't be kept when saving the current scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource was imported, so it's not editable. Change its settings in the "
-"import panel and then re-import."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene was imported, so changes to it won't be kept.\n"
-"Instancing it or inheriting will allow making changes to it.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This is a remote object, so changes to it won't be kept.\n"
-"Please read the documentation relevant to debugging to better understand "
-"this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "There is no defined scene to run."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save scene before running..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not start subprocess!"
-msgstr ""
-
-#: editor/editor_node.cpp editor/filesystem_dock.cpp
-msgid "Open Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Base Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Script..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Reload"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Close"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before closing?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%s no longer exists! Please specify a new save location."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has no root node, but %d modified external resource(s) "
-"were saved anyway."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"A root node is required to save the scene. You can add a root node using the "
-"Scene tree dock."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene As..."
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "This operation can't be done without a scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Mesh Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a root node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Tile Set"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a selected node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Current scene not saved. Open anyway?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't undo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to undo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't redo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to redo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Redo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't reload a scene that was never saved."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Saved Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has unsaved changes.\n"
-"Reload the saved scene anyway? This action cannot be undone."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Run Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Yes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Exit the editor?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before quitting?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before opening Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This option is deprecated. Situations where refresh must be forced are now "
-"considered a bug. Please report."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pick a Main Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reopen Closed Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s'. This might be due to a code "
-"error in that script.\n"
-"Disabling the addon at '%s' to prevent further errors."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Scene '%s' was automatically imported, so it can't be modified.\n"
-"To make changes to it, a new inherited scene can be created."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to "
-"open the scene, then save it inside the project path."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene '%s' has broken dependencies:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Clear Recent Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"No main scene has ever been defined, select one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' does not exist, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' is not a scene file, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Delete Layout"
-msgstr ""
-
-#: editor/editor_node.cpp editor/import_dock.cpp
-#: editor/script_create_dialog.cpp
-msgid "Default"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-msgid "Show in FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play This Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Close Other Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tabs to the Right"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close All Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Switch Scene Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files or folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to write to file '%s', file in use, locked or lacking permissions."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#: servers/arvr/arvr_interface.cpp
-msgid "Interface"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Scene Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Always Show Close Button"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Resize If Many Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Minimum Width"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Output"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Clear Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Open Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Close Output On Stop"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save On Focus Loss"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Save Each Scene On Quit"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Quit Confirmation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Show Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Continuously"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Only"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Localize Settings"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restore Scenes On Load"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Show Thumbnail On Hover"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Property Name Style"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Float Step"
-msgstr ""
-
-#: editor/editor_node.cpp scene/gui/tree.cpp
-msgid "Disable Folding"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Auto Unfold Foreign Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector2 Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector Types Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Resources In Current Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Resources To Open In New Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Color Picker Mode"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Username"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Public Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Private Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Dock Position"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_plugin.cpp
-msgid "Distraction Free Mode"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle distraction-free mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Add a new scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to previously opened scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Text"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Next tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Previous tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Filter Files..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Operations with scene files."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Open Recent"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Convert To..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "MeshLibrary..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "TileSet..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Undo"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Redo"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Miscellaneous project or scene-wide tools."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-#: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp
-msgid "Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Project Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Set Up Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Shut Down Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install Android Build Template..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open User Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tools"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Orphan Resource Explorer..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Current Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit to Project List"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Deploy with Remote Debug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy will make the executable "
-"attempt to connect to this computer's IP so the running project can be "
-"debugged.\n"
-"This option is intended to be used for remote debugging (typically with a "
-"mobile device).\n"
-"You don't need to enable it to use the GDScript debugger locally."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Small Deploy with Network Filesystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy for Android will only "
-"export an executable without the project data.\n"
-"The filesystem will be provided from the project by the editor over the "
-"network.\n"
-"On Android, deploying will use the USB cable for faster performance. This "
-"option speeds up testing for projects with large assets."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Collision Shapes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, collision shapes and raycast nodes (for 2D and "
-"3D) will be visible in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Navigation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, navigation meshes and polygons will be visible "
-"in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Force Shader Fallbacks"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, shaders will be used in their fallback form "
-"(either visible via an ubershader or hidden) during all the run time.\n"
-"This is useful for verifying the look and performance of fallbacks, which "
-"are normally displayed briefly.\n"
-"Asynchronous shader compilation must be enabled in the project settings for "
-"this option to make a difference."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Scene Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any changes made to the scene in the editor "
-"will be replicated in the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Script Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any script that is saved will be reloaded in "
-"the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Take Screenshot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle Fullscreen"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data/Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Editor Features..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Export Templates..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Online Documentation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Questions & Answers"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Report a Bug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Suggest a Feature"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Send Docs Feedback"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "Community"
-msgstr "Җәмәгать"
-
-#: editor/editor_node.cpp
-msgid "About Godot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Support Godot Development"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause the scene execution for debugging."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Stop the scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the edited scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play custom scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Custom Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changing the video driver requires restarting the editor."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_settings_editor.cpp
-#: editor/settings_config_dialog.cpp
-msgid "Save & Restart"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update All Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Hide Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/fileserver/editor_file_server.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Expand Bottom Panel"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Don't Save"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Android build template is missing, please install relevant templates."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Templates"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install from file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select android sources file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This will set up your project for custom Android builds by installing the "
-"source template to \"res://android/build\".\n"
-"You can then apply modifications and build your own custom APK on export "
-"(adding modules, changing the AndroidManifest.xml, etc.).\n"
-"Note that in order to make custom builds instead of using pre-built APKs, "
-"the \"Use Custom Build\" option should be enabled in the Android export "
-"preset."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The Android build template is already installed in this project and it won't "
-"be overwritten.\n"
-"Remove the \"res://android/build\" directory manually before attempting this "
-"operation again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Import Templates From ZIP File"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Template Package"
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Merge With Existing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Apply MeshInstance Transforms"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open & Run a Script"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Reload"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Resave"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load Errors"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Select"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select Current"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 2D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 3D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Script Editor"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Open Asset Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the next Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the previous Editor"
-msgstr ""
-
-#: editor/editor_node.h
-msgid "Warning!"
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "No sub-resources found."
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "Open a list of sub-resources."
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Creating Mesh Previews"
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Thumbnail..."
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Main Script:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Edit Plugin"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Update"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Version"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Author"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Measure:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Average Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Physics Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Inclusive"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Self"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid ""
-"Inclusive: Includes time from other functions called by this function.\n"
-"Use this to spot bottlenecks.\n"
-"\n"
-"Self: Only count the time spent in the function itself, not in other "
-"functions called by that function.\n"
-"Use this to find individual functions to optimize."
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame #:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Calls"
-msgstr ""
-
-#: editor/editor_profiler.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Debugger"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame History Size"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame Max Functions"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Edit Text:"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/script_create_dialog.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On"
-msgstr ""
-
-#: editor/editor_properties.cpp modules/gridmap/grid_map.cpp
-#: scene/2d/collision_object_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Layer"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Bit %d, value %d"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
-msgid "Assign..."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Invalid RID"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on resources saved as a file.\n"
-"Resource needs to belong to a scene."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on this resource because it's not set as "
-"local to scene.\n"
-"Please switch on the 'local to scene' property on it (and all resources "
-"containing it up to a node)."
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid ""
-"The selected resource (%s) does not match any type expected for this "
-"property (%s)."
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Quick Load"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Convert to %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/plugins/theme_editor_plugin.cpp
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Base Type"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Edited Resource"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
-#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-msgid "Editable"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp
-msgid "Extend Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Script Owner"
-msgstr ""
-
-#: editor/editor_run_native.cpp
-msgid ""
-"No runnable export preset found for this platform.\n"
-"Please add a runnable preset in the Export menu or define an existing preset "
-"as runnable."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Write your logic in the _run() method."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "There is an edited scene already."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't instance script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the 'tool' keyword?"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't run script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the '_run' method?"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor Language"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Antialiased"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Hinting"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Bold"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Dim Editor On Dialog Popup"
-msgstr ""
-
-#: editor/editor_settings.cpp main/main.cpp
-msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Separate Distraction Mode"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Automatically Open Screenshots"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Max Array Dictionary Items Per Page"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
-#: scene/register_scene_types.cpp
-msgid "Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/import_dock.cpp
-msgid "Preset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Icon And Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Accent Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/environment.cpp
-msgid "Contrast"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Relationship Line Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Highlight Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Border Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Graph Node Headers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Additional Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Script Button"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Directories"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autoscan Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Compress Binary Resources"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Safe Save On Backup Then Rename"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "File Dialog"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Thumbnail Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Docks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scene Tree"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Start Create Dialog Fully Expanded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Always Show Folders"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Property Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Refresh Interval"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Subresource Hue Tint"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Color Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/3d/label_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Syntax Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight All Occurrences"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Highlight Type Safe Lines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Auto Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Convert Indent On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Spaces"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
-msgid "Navigation"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Smooth Scrolling"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "V Scroll Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Minimap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Appearance"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Show Line Numbers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Numbers Zero Padded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Bookmark Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Breakpoint Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Info Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Folding"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Word Wrap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Line Length Guidelines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Soft Column"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Hard Column"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
-msgid "Script List"
-msgstr "Җәмәгать"
-
-#: editor/editor_settings.cpp
-msgid "Show Members Overview"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Files"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Trim Trailing Whitespace On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autosave Interval Secs"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Restore Scripts On Load"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload Scripts On External Change"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Create Signal Callbacks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sort Members Outline Alphabetically"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Cursor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll Past End Of File"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Block Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Right Click Moves Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
-#: modules/gdscript/gdscript_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Idle Parse Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Brace Complete"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Complete Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Callhint Tooltip Offset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Complete File Paths"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-msgid "Add Type Hints"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Single Quotes"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Help Index"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Source Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Title Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Grid Map"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Preview Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Secondary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Selection Box Color"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "3D Gizmos"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Gizmo Colors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Instanced"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/physics_body.cpp
-msgid "Joint"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/collision_shape.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/occluder.cpp scene/3d/spring_arm.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Shape"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Steps"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Max"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Min"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Bias"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XY Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid YZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default FOV"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Near"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Far"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert Y Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert X Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Style"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate Numpad"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate 3 Button Mouse"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-msgid "Warped Mouse Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Feel"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Translation Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Base Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Activation Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Speed Zoom Link"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Guides Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Smart Snapping Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 1"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 2"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone IK Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Viewport Border Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Constrain Editor View"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Simple Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll To Pan"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Poly Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Point Grab Radius"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Previous Outline"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-msgid "Autorename Animation Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Bezier Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Reset Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Past Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Future Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Visual Editors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Window Placement"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/control.cpp
-msgid "Rect"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Rect Custom Position"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
-msgid "Screen"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Save Before Running"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Host"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor SSL Certificates"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "HTTP Proxy"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Host"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sorting Order"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Symbol Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Control Flow Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Engine Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "User Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Comment Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "String Color"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Existing Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Safe Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Selection Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Brace Mismatch Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Current Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Word Highlighted Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Function Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Member Variable Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Mark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Bookmark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Executing Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Code Folding Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Border Color"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hold %s to round to integers. Hold Shift for more precise changes."
-msgstr ""
-
-#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-msgid "Flat"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hide Slider"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Select Node(s) to Import"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp editor/project_manager.cpp
-msgid "Browse"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Scene Path:"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Import From Node:"
-msgstr ""
-
-#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
-#: editor/editor_vcs_interface.cpp
-msgid "%s Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "There are no mirrors available."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Retrieving the mirror list..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Starting the download..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error requesting URL:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connecting to the mirror..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't resolve the requested address."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't connect to the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No response from the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request ended up in a redirect loop."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request failed:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download complete; extracting templates..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cannot remove temporary file:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Templates installation failed.\n"
-"The problematic templates archives can be found at '%s'."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error getting the list of mirrors."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Best available mirror"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"No download links found for this version. Direct download is only available "
-"for official releases."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Disconnected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Resolving"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Resolve"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connecting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Connect"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Requesting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Downloading"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connection Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "SSL Handshake Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't open the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside the export templates file: %s."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No version.txt found inside the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error creating path for extracting templates:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Extracting Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Importing:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Remove templates for the version '%s'?"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uncompressing Android Build Sources"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export Template Manager"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Current Version:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are missing. Download them or install from a file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are installed and ready to be used."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open Folder"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing installed templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download from:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open in Web Browser"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Copy Mirror URL"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download and Install"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Download and install templates for the current version from the best "
-"possible mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Official export templates aren't available for development builds."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install from File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install templates from a local file."
-msgstr ""
-
-#: editor/export_template_manager.cpp editor/find_in_files.cpp
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cancel the download of the templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Other Installed Versions:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall Template"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Select Template File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Godot Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"The templates will continue to download.\n"
-"You may experience a short editor freeze when they finish."
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-msgid "File Server"
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Password"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Status: Import of file failed. Please fix file and reimport manually."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Importing has been disabled for this file, so it can't be opened for editing."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move/rename resources root."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move a folder into itself."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error moving:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error duplicating:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Unable to update dependencies:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
-msgid "No name provided."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Provided name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "A file or folder with this name already exists."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"This file extension is not recognized by the editor.\n"
-"If you want to rename it anyway, use your operating system's file manager.\n"
-"After renaming to an unknown extension, the file won't be shown in the "
-"editor anymore."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"The following files or folders conflict with items in the target location "
-"'%s':\n"
-"\n"
-"%s\n"
-"\n"
-"Do you wish to overwrite them?"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Inherited Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Set As Main Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Open Scenes"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Instance"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Add to Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Remove from Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Edit Dependencies..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "View Owners..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move To..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Scene..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "New Script..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Resource..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Expand All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Collapse All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Last Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by First Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Rename..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Focus the search box"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Previous Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Next Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Re-Scan Filesystem"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Toggle Split Mode"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Search files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Scanning Files,\n"
-"Please Wait..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/project_manager.cpp editor/rename_dialog.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Rename"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Overwrite"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Create Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Find in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find:"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/rename_dialog.cpp
-msgid "Replace:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Folder:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Filters:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid ""
-"Include the files with the following extensions. Add or remove them in "
-"ProjectSettings."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Replace in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace All (NO UNDO)"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Searching..."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d match in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d files."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Add to Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Remove from Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group name already exists."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Invalid group name."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Rename Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Delete Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/node_dock.cpp
-msgid "Groups"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes Not in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Empty groups will be automatically removed."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group Editor"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Manage Groups"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Collada"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Use Ambient"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-msgid "Create From"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Threshold"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-msgid "Compress"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-msgid "Delimiter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "ColorCorrect"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "No BPTC If RGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
-msgid "Flags"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
-#: scene/resources/texture.cpp
-msgid "Repeat"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Filter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Mipmaps"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Anisotropic"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "sRGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "Slices"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Horizontal"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Vertical"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-#, fuzzy
-msgid "Generate Tangents"
-msgstr "Төп"
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Scale Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Offset Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-#: editor/import/resource_importer_scene.cpp
-msgid "Octahedral Compression"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Optimize Mesh Flags"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Single Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#: scene/3d/physics_joint.cpp
-msgid "Nodes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Type"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Name"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Scale"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Custom Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-msgid "Storage"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Legacy Names"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep On Reimport"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Meshes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Ensure Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Light Baking"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Lightmap Texel Size"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Named Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "External Files"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Store In Subdir"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Filter Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep Custom Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Optimizer"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/camera_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/navigation_polygon.cpp scene/2d/ray_cast_2d.cpp scene/2d/sprite.cpp
-#: scene/2d/y_sort.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/interpolated_camera.cpp
-#: scene/3d/light.cpp scene/3d/navigation_mesh_instance.cpp
-#: scene/3d/physics_joint.cpp scene/3d/ray_cast.cpp scene/3d/skeleton.cpp
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Enabled"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Linear Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angular Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angle"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Remove Unused Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Clips"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/particles.cpp scene/resources/environment.cpp
-msgid "Amount"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Importing Scene..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating Lightmaps"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Running Custom Script..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Couldn't load post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Invalid/broken script for post-import (check console):"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Error running post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Did you return a Node-derived object in the `post_import()` method?"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Saving..."
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D Pixel"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
-msgid "Lossy Quality"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "HDR Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "BPTC LDR"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
-#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
-msgid "Normal Map"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Process"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Fix Alpha Border"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Premult Alpha"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Hdr As Srgb"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Invert Color"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Normal Map Invert Y"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Size Limit"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "SVG"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid ""
-"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
-"texture will not display correctly on PC."
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Atlas File"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Import Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Crop To Region"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Trim Alpha Border From Region"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-msgid "Force"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "8 Bit"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Mono"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Max Rate Hz"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Trim"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Normalize"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Mode"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Begin"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop End"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Select Importer"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Importer:"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Reset to Defaults"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Keep File (No Import)"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "%d Files"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Set as Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Clear Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Reimport"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"You have pending changes that haven't been applied yet. Click Reimport to "
-"apply changes made to the import options.\n"
-"Selecting another resource in the FileSystem dock without clicking Reimport "
-"first will discard changes made in the Import dock."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Import As:"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Save Scenes, Re-Import, and Restart"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Changing the type of an imported file requires editor restart."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"WARNING: Assets exist that use this resource, they may stop loading properly."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"Select a resource file in the filesystem or in the inspector to adjust "
-"import settings."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Property Name Style"
-msgstr ""
-
-#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
-msgid "Raw"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Capitalized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localization not available for current language."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Paste Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Extra resource options."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Edit Resource from Clipboard"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Resource Built-In"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Open documentation for this object."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp
-msgid "Open Documentation"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Filter properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Manage object properties."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
-#: editor/multi_node_edit.cpp
-msgid "MultiNode Set"
-msgstr ""
-
-#: editor/node_dock.cpp
-msgid "Select a single node to edit its signals and groups."
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Edit a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Create a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Plugin Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Subfolder:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Author:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Version:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp
-msgid "Language:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Script Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Activate now?"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid ""
-"Edit points.\n"
-"LMB: Move Point\n"
-"RMB: Erase Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Erase points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Insert Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon (Remove Point)"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Remove Polygon And Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Add %s"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Load..."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Move Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "This type of node can't be used. Only root nodes are allowed."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Animation Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Remove BlendSpace1D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Move BlendSpace1D Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"AnimationTree is inactive.\n"
-"Activate to enable playback, check node warnings if activation fails."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Set the blending position within the space"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Select and move points, create points with RMB."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
-msgid "Enable snap and show grid."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Open Editor"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Open Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Triangle already exists."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "BlendSpace2D does not belong to an AnimationTree node."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "No triangles exist, so no blending can take place."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Toggle Auto Triangles"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create triangles by connecting points."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Erase points and triangles."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Generate blend triangles automatically (instead of manually)"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Parameter Changed:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Output node can't be added to the blend tree."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Add Node to BlendTree"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Node Moved"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Unable to connect, port may be in use or connection may be invalid."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Connected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Disconnected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Set Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Toggle Filter On/Off"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Change Filter"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "No animation player set, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Player path set is invalid, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid ""
-"Animation player has no valid root node path, so unable to retrieve track "
-"names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Anim Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Audio Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Functions"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Renamed"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node..."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Edit Filtered Tracks:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Enable Filtering"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Toggle Autoplay"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Anim"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Animation?"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Remove Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Invalid animation name!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation name already exists!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Next Changed"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Blend Time"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "No animation resource on clipboard!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pasted Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from current pos. (A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Stop animation playback. (S)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from start. (Shift+D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from current pos. (D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation position (in seconds)."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Scale animation playback globally for the node."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "New"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste As Reference"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Transitions..."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Open in Inspector"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Enable Onion Skinning"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Onion Skinning Options"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Directions"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Past"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Future"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/3d/collision_polygon.cpp scene/main/scene_tree.cpp
-#: scene/resources/material.cpp scene/resources/primitive_meshes.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Depth"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "1 step"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "2 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "3 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Differences Only"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Force White Modulate"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Include Gizmos (3D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pin AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-msgid "Error!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Times:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Next (Auto Queue):"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Cross-Animation Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Move Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition exists!"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Add Transition"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Immediate"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/animation/animation_blend_tree.cpp
-msgid "Sync"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "At End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Travel"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Start and end nodes are needed for a sub-transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "No playback resource set at path: %s."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set Start Node (Autoplay)"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"Select and move nodes.\n"
-"RMB to add new nodes.\n"
-"Shift+LMB to create connections."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Create new nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Connect nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Remove selected node or transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Toggle autoplay this animation on start, restart or seek to zero."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set the end animation. This is useful for sub-transitions."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Play Mode:"
-msgstr ""
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "New name:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade In (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade Out (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader.cpp
-msgid "Blend"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Auto Restart:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Random Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Start!"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Amount:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 0:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 1:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "X-Fade Time (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Clear Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Set Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Delete Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is valid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is invalid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "OneShot Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Mix Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend2 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend3 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend4 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeScale Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeSeek Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Transition Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Import Animations..."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Node Filters"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Filters..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
-msgid "Use Threads"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Contents:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "View Files"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connection error, please try again."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect to host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response from host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve hostname:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, return code:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Cannot save response to:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Write error."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, too many redirects"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Redirect loop."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, timeout"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Timeout."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Bad download hash, assuming file has been tampered with."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Expected:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Got:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed SHA-256 hash check"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Asset Download Error:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading (%s / %s)..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Resolving..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Error making request"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Idle"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Install..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Retry"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download Error"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Available URLs"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download for this asset is already in progress!"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Least Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Loading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "First"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Previous"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Next"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Last"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "All"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search templates, projects, and demos"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search assets (excluding templates, projects, and demos)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Import..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Plugins..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Sort:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Category:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Site:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Support"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Official"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Testing"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed to get repository configuration."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Assets ZIP File"
-msgstr ""
-
-#: editor/plugins/audio_stream_editor_plugin.cpp
-msgid "Audio Preview Play/Pause"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Can't determine a save path for lightmap images.\n"
-"Save your scene and try again."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"No meshes to bake. Make sure they contain an UV2 channel and that the 'Use "
-"In Baked Light' and 'Generate Lightmap' flags are on."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed creating lightmap images, make sure path is writable."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed determining lightmap size. Maximum lightmap size too small?"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Some mesh is invalid. Make sure the UV2 channel values are contained within "
-"the [0.0,1.0] square region."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Godot editor was built without ray tracing support, lightmaps can't be baked."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Bake Lightmaps"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "LightMap Bake"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Select lightmap bake file:"
-msgstr ""
-
-#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/resources/mesh_library.cpp
-msgid "Preview"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Configure Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Primary Line Every:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "steps"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal and Vertical Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate CanvasItem \"%s\" to %d degrees"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Node2D \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Resize Control \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Locked"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Grouped"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Children of containers have their anchors and margins values overridden by "
-"their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Presets for the anchors and margins values of a Control node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"When active, moving Control nodes changes their anchors instead of their "
-"margins."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Top"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Bottom"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Left Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Top Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Right Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Bottom Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "VCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "HCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Full Rect"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Keep Ratio"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Anchors only"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors and Margins"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"Overrides the running project's camera with the editor viewport camera."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"No project instance running. Run the project from the editor to use this "
-"feature."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Paste Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Warning: Children of a container get their position and size determined only "
-"by their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Reset"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/item_list.cpp
-#: scene/gui/tree.cpp
-msgid "Select Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Drag: Rotate selected node around pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Move selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Scale selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "V: Set selected node's pivot position."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "RMB: Add node at position clicked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Move Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Shift: Scale proportionally."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Show a list of all objects at the position clicked\n"
-"(same as Alt+RMB in select mode)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Click to change object's rotation pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Ruler Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle smart snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Smart Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle grid snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Grid Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Rotation Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Scale Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap Relative"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Pixel Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Smart Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Configure Snap..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Parent"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Sides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Other Nodes"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock the selected object in place (can't be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock the selected object (can be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Makes sure the object's children are not selectable."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Restores the object's children's ability to be selected."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Skeleton Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Custom Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show When Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Hide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Helpers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Rulers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Origin"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Viewport"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Group And Lock Icons"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Frame Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Preview Canvas Scale"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Translation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert keys (based on mask)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Auto insert keys when objects are translated, rotated or scaled (based on "
-"mask).\n"
-"Keys are only added to existing tracks, no new tracks will be created.\n"
-"Keys must be inserted manually for the first time."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Auto Insert Key"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation Key and Pose Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key (Existing Tracks)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Copy Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Add Node Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Instance Scene Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Multiply grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Divide grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 3.125%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 6.25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 12.5%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 50%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 100%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 200%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 400%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 800%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 1600%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Adding %s..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Cannot instantiate multiple nodes without root."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Create Node"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Error instancing scene from %s"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Default Type"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Drag & drop + Shift : Add node as sibling\n"
-"Drag & drop + Alt : Change node type"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Create Polygon3D"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly (Remove Point)"
-msgstr ""
-
-#: editor/plugins/collision_shape_2d_editor_plugin.cpp
-msgid "Set Handle"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Load Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Restart"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Clear Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-msgid "Particles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generated Point Count:"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Solid Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Directed Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Capture from Pixel"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Colors"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-msgid "CPUParticles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 0"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 1"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease In"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease Out"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Smoothstep"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Curve Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Add Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Left Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Toggle Curve Linear Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Hold Shift to edit tangents individually"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right click to add point"
-msgstr ""
-
-#: editor/plugins/gi_probe_editor_plugin.cpp
-msgid "Bake GI Probe"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Gradient Edited"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap Gradient Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Toggle Grid Snap"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
-#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
-#: scene/gui/label.cpp scene/gui/line_edit.cpp scene/gui/link_button.cpp
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Text"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp main/main.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/gui/button.cpp scene/gui/item_list.cpp
-msgid "Icon"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "ID"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separator"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item %d"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Items"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item List Editor"
-msgstr ""
-
-#: editor/plugins/light_occluder_2d_editor_plugin.cpp
-msgid "Create Occluder Polygon"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh is empty!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a Trimesh collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Static Trimesh Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "This doesn't work on scene root!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create a single convex collision shape for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a single convex collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create multiple convex collision shapes for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create any collision shapes."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Shapes"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Navigation Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Contained Mesh is not of type ArrayMesh."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "No mesh to debug."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has no UV in layer %d."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "MeshInstance lacks a Mesh!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has not surface to create outlines from!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Could not create outline!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_mesh.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/mesh_library.cpp
-#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a StaticBody and assigns a polygon-based collision shape to it "
-"automatically.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a single convex collision shape.\n"
-"This is the fastest (but least accurate) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a simplified convex collision shape.\n"
-"This is similar to single collision shape, but can result in a simpler "
-"geometry in some cases, at the cost of accuracy."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Collision Siblings"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is a performance middle-ground between a single convex collision and a "
-"polygon-based collision."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh..."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a static outline mesh. The outline mesh will have its normals "
-"flipped automatically.\n"
-"This can be used instead of the SpatialMaterial Grow property when using "
-"that property isn't possible."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV1"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV2"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Unwrap UV2 for Lightmap/AO"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Outline Size:"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Channel Debug"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid ""
-"Update from existing scene?:\n"
-"%s"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "MeshLibrary"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Ignore Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Apply Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply without Transforms"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply with Transforms"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No surface source specified."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no geometry)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no faces)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate Surface"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate MultiMesh"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "X-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Y-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Z-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh Up Axis:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Rotation:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Tilt:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Scale:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate"
-msgstr ""
-
-#: editor/plugins/navigation_polygon_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Convert to CPUParticles"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generating Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generate Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Can only set point into a ParticlesMaterial process material"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Convert to CPUParticles2D"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generation Time (sec):"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry's faces don't contain any area."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry doesn't contain any faces."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain face geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp scene/gui/video_player.cpp
-msgid "Volume"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generating AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate Visibility AABB"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Point from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Out-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove In-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point to Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Split Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Point in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move In-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Out-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Select Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Shift+Drag: Select Control Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Click: Add Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Left Click: Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Right Click: Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Select Control Points (Shift+Drag)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point (in empty space)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Close Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/theme_editor_preview.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp
-#: main/main.cpp servers/visual_server.cpp
-msgid "Options"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Angles"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Lengths"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Curve Point #"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Point Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve In Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Out Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Path"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Path Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Out-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove In-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/physical_bone_plugin.cpp
-msgid "Move Joint"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"No texture in this polygon.\n"
-"Set a texture to be able to edit UV."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Polygon 2D has internal vertices, so it can no longer be edited in the "
-"viewport."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon & UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Invalid Polygon (need 3 different vertices)"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Add Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint Bone Weights"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Open Polygon 2D UV editor."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Polygon 2D UV Editor"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/line_2d.cpp scene/3d/cpu_particles.cpp scene/3d/portal.cpp
-#: scene/3d/room.cpp scene/resources/convex_polygon_shape.cpp
-#: scene/resources/convex_polygon_shape_2d.cpp
-msgid "Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "Polygons"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/3d/skeleton.cpp
-msgid "Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Command: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift: Move All"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Command: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Ctrl: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Ctrl: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Rotate Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Scale Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create a custom polygon. Enables custom polygon rendering."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Remove a custom polygon. If none remain, custom polygon rendering is "
-"disabled."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Unpaint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Radius:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy Polygon to UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy UV to Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Clear UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Settings"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Enable Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Grid"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Configure Grid:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones to Polygon"
-msgstr ""
-
-#: editor/plugins/ray_cast_2d_editor_plugin.cpp
-msgid "Set cast_to"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ERROR: Couldn't load resource!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Add Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Rename Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Resource clipboard is empty!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Instance:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Open in Editor"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Load Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portals"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Room Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portal"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Occluder Set Transform"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Center Node"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Path to AnimationPlayer is invalid"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Files"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close and save changes?"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error writing TextFile:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Could not load file at:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving file!"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error importing theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Importing"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "New Text File..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save File As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Can't obtain the script for running."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script failed reloading, check console for errors."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script is not in tool mode, will not be able to run."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"To run this script, it must inherit EditorScript and be set to tool mode."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "%s Class Reference"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter scripts"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter methods"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp scene/2d/y_sort.cpp
-msgid "Sort"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Up"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Down"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Next Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Previous Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reopen Closed Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Soft Reload Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Copy Script Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reload Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Search"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Break"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Continue"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Keep Debugger Open"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Debug with External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Online Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Godot online documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search the reference documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to previous edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to next edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Discard"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Results"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Dominant Script On Scene Change"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "External"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Use External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature Enabled"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Highlight Current Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature History Size"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Current Script Background Color"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Group Help Pages"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Sort Scripts By"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "List Script Names As"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Flags"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Scripts"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Connections to method:"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Source"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp platform/uwp/export/export.cpp
-#: scene/3d/interpolated_camera.cpp scene/animation/skeleton_ik.cpp
-msgid "Target"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid ""
-"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "[Ignore]"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Only resources from filesystem can be dropped."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't drop nodes because script '%s' is not used in this scene."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Lookup Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Convert Case"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-#: scene/3d/label_3d.cpp scene/gui/label.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Uppercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Lowercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Capitalize"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Syntax Highlighter"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Go To"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Cut"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Delete Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Left"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Right"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Comment"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold/Unfold Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Unfold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Complete Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Evaluate Selection"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Trim Trailing Whitespace"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Spaces"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Tabs"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Find in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Replace in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Contextual Help"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Line..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Toggle Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Breakpoint"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp
-msgid ""
-"This shader has been modified on on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp
-msgid "Shader"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "This skeleton has no bones, create some children Bone2D nodes."
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Set Rest Pose to Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Create Rest Pose from Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Skeleton2D"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Reset to Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Overwrite Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical bones"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-#: modules/gltf/gltf_node.cpp modules/gltf/gltf_skin.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/mesh_instance.cpp
-msgid "Skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_ik_editor_plugin.cpp
-msgid "Play IK"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
-msgid "Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Perspective"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [auto]"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [portals active]"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Aborted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "X-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Y-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Z-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp
-msgid "None"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/2d/path_2d.cpp
-msgid "Rotate"
-msgstr ""
-
-#. TRANSLATORS: This refers to the movement that changes the position of an object.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotating %s degrees."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Keying is disabled (no key inserted)."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Animation Key Inserted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pitch:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Yaw:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Objects Drawn:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Material Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Shader Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Surface Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Draw Calls:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Vertices:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "FPS: %d (%s ms)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Transform with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Rotation with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "No parent to instance a child at."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "This operation requires a single selected node."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Auto Orthogonal Enabled"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock View Rotation"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Normal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Wireframe"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Overdraw"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Unshaded"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Environment"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Information"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View FPS"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Half Resolution"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/main/viewport.cpp
-msgid "Audio Listener"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Enable Doppler"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Cinematic Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "(Not in GLES2)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Forward"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Backwards"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Speed Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Slow Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Camera Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Rotation Locked"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"To zoom further, change the camera's clipping planes (View -> Settings...)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Note: The FPS value displayed is the editor's framerate.\n"
-"It cannot be used as a reliable indication of in-game performance."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Convert Rooms"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "XForm Dialog"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Click to toggle between visibility states.\n"
-"\n"
-"Open eye: Gizmo is visible.\n"
-"Closed eye: Gizmo is hidden.\n"
-"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Nodes to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Use Local Space"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Use Snap"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Converts rooms for portal culling."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View 180"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Switch Perspective/Orthogonal View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Insert Animation Key"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Selection"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Freelook"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Decrease Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Increase Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Reset Field of View to Default"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Object to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Dialog..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "1 Viewport"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "4 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Grid"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Portal Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Occlusion Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Settings..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate Snap:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Snap (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Snap (%):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Viewport Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Perspective FOV (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Near:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Far:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Change"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale (ratio):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Type"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pre"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Post"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Size"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Opacity"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Show Viewport Rotation Gizmo"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unnamed Gizmo"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Mesh2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Polygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "CollisionPolygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "LightOccluder2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite is empty!"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Can't convert a sprite using animation frames to mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't replace by mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create collision polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create light occluder."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Update Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Settings:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "No Frames Selected"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add %d Frame(s)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Unable to load images"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "ERROR: Couldn't load frame resource!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Resource clipboard is empty or not a texture!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Paste Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Empty"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation FPS"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "(empty)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animations:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "New Animation"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Speed:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: modules/gltf/gltf_animation.cpp modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp scene/2d/path_2d.cpp
-#: scene/3d/path.cpp scene/resources/animation.cpp scene/resources/material.cpp
-msgid "Loop"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animation Frames:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add a Texture from File"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frames from a Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Horizontal:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Vertical:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Offset:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select/Clear All Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Create Frames from Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "SpriteFrames"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Region Rect"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Margin"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Snap Mode:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Pixel Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Grid Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Auto Slice"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Step:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "TextureRegion"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Styleboxes"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} color(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No colors found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} constant(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No constants found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} font(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No fonts found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} icon(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No icons found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} stylebox(es)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No styleboxes found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} currently selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Nothing was selected for the import."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing items {n}/{n}"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Updating the editor"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Finalizing"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select by data type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Caution: Adding icon data may considerably increase the size of your Theme "
-"resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Collapse types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Expand types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items with item data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Import Items tab has some items selected. Selection will be lost upon "
-"closing this window.\n"
-"Close anyway?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Select a theme type from the list to edit its items.\n"
-"You can add a custom type or import a type with its items from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Color Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Constant Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Font Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Icon Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All StyleBox Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"This theme type is empty.\n"
-"Add more items to it manually or by importing from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, not a Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, same as the edited Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Edit Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add StyleBox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Items:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Class Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Custom Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Old Name:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Editor Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select Another Theme Resource:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme Resource"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Another Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter the list of types or create a new custom type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Available Node-based types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Type name is empty!"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Are you sure you want to create an empty type?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Confirm Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Cancel Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Unpin this StyleBox as a main style."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Pin this StyleBox as a main style. Editing its properties will update the "
-"same properties in all other StyleBoxes of this type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Variation Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show Default"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show default type items alongside items that have been overridden."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override all default type items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select the variation base type from a list of available types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"A type associated with a built-in class cannot be marked as a variation of "
-"another type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Items..."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add, remove, organize and import Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select UI Scene:"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid ""
-"Toggle the control picker, allowing to visually select control types for "
-"edit."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Toggle Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp
-msgid "Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Check Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Named Separator"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Submenu"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Many"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled LineEdit"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 3"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Editable Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subtree"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has,Many,Options"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid path, the PackedScene resource was probably moved or removed."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid PackedScene resource, must have a Control node at its root."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid file, not a PackedScene resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Reload the scene to reflect its most actual state."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Fix Invalid Tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cut Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Line Draw"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Disable Autotile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Enable Priority"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Filter tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Give a TileSet resource to this TileMap to use its tiles."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Command+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Ctrl+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Left"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Right"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Horizontally"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Vertically"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Clear Transform"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Tile Map"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Palette Min Width"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Palette Item H Separation"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Names"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Ids"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Sort Tiles By Name"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill Preview"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editor Side"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Display Grid"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Axis Color"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Texture(s) to TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected Texture from TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Single Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Autotile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Atlas"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Next Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the next shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Previous Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the previous shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
-msgid "Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/soft_body.cpp scene/main/scene_tree.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp
-msgid "Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/area_2d.cpp
-#: scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/node_2d.cpp
-msgid "Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Region Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Collision Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Priority Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/item_list.cpp
-msgid "Icon Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Z Index Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Copy bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Erase bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new rectangle."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Rectangle"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete Selected Shape"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Keep polygon inside region Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Enable snap and show grid (configurable via the Inspector)."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Display Tile Names (Hold Alt Key)"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Add or select a texture on the left panel to edit the tiles bound to it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected texture? This will remove all tiles which use it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "You haven't selected a texture to remove."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene? This will overwrite all current tiles."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "%s file(s) were not added because was already on the list."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Drag handles to edit Rect.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete selected Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select current edited sub-tile.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"LMB: Set bit on.\n"
-"RMB: Set bit off.\n"
-"Shift+LMB: Set wildcard bit.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its priority.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its z index.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Icon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Clear Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "This property can't be changed."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Snap Options"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/parallax_background.cpp scene/2d/parallax_layer.cpp
-#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
-#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-msgid "Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
-#: scene/gui/range.cpp scene/resources/animation.cpp
-#: scene/resources/visual_shader_nodes.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Step"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
-#: scene/2d/multimesh_instance_2d.cpp scene/2d/particles_2d.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tex Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
-msgid "Material"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-msgid "Modulate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotile Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Size"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Spacing"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occluder Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Transform"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way Margin"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Navigation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tileset Script"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "TileSet"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No VCS plugins are available."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid ""
-"Remote settings are empty. VCS features that use the network may not work."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No commit message was provided."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Staged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstaged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Commit:"
-msgstr "Җәмәгать"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Date:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Subtitle:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s branch?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s remote?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Apply"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control System"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Initialize"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Login"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH public key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH private key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Passphrase"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Detect new changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Discard all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Stage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Message"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
-msgid "Commit List"
-msgstr "Җәмәгать"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit list size"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branches"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branch Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remotes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote URL"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Fetch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Pull"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Force Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Modified"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Renamed"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Deleted"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Typechange"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unmerged"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "View:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Split"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unified"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(GLES3 only)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Output"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sampler"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set expression"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Resize VisualShader node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Uniform Name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Input Default Port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node to Visual Shader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Node(s) Moved"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Duplicate Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Input Type Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "UniformRef Name Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vertex"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Fragment"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/light.cpp
-msgid "Light"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Show resulted shader code."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Create Shader Node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Grayscale function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sepia function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Burn operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Darken operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Difference operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Dodge operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "HardLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Lighten operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Overlay operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Screen operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "SoftLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the %s comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Equal (==)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than (>)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than or Equal (>=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided scalars are equal, greater or "
-"less."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between NaN and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than (<)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than or Equal (<=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Not Equal (!=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated scalar if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF (or NaN) and a "
-"scalar parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Input parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the absolute value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Constrains a value to lie between two further values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in radians to degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-e Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Computes the fractional part of the argument."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the greater of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the lesser of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the opposite value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in degrees to radians."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest even integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Extracts the sign of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the truncated value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds scalar to scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts scalar from scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the cubic texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Cubic texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup with triplanar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Calculate the outer product of a pair of vectors.\n"
-"\n"
-"OuterProduct treats the first parameter 'c' as a column vector (matrix with "
-"one column) and the second parameter 'r' as a row vector (matrix with one "
-"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix "
-"whose number of rows is the number of components in 'c' and whose number of "
-"columns is the number of components in 'r'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes transform from four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes transform to four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the determinant of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the inverse of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the transpose of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies transform by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes vector from three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes vector to three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the cross product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the distance between two points."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the dot product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the same direction as a reference vector. "
-"The function has three vector parameters : N, the vector to orient, I, the "
-"incident vector, and Nref, the reference vector. If the dot product of I and "
-"Nref is smaller than zero the return value is N. Otherwise -N is returned."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the length of a vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors using scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the normalize product of vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the direction of reflection ( a : incident "
-"vector, b : normal vector )."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the vector that points in the direction of refraction."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( vector(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds vector to vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts vector from vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, with custom amount of input and "
-"output ports. This is a direct injection of code into the vertex/fragment/"
-"light function, do not use it to write the function declarations inside."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns falloff based on the dot product of surface normal and view "
-"direction of camera (pass associated inputs to it)."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, which is placed on top of the "
-"resulted shader. You can place various function definitions inside and call "
-"it later in the Expressions. You can also declare varyings, uniforms and "
-"constants."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "A reference to an existing uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Scalar derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Vector derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "VisualShader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Edit Visual Property:"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Mode Changed"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Runnable"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Exporting All"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Path"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Presets"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_settings_editor.cpp
-msgid "Add..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"If checked, the preset will be available for use in one-click deploy.\n"
-"Only one preset per platform may be marked as runnable."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export all resources in the project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected scenes (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected resources (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources to export:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to export non-resource files/folders\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to exclude files/folders from project\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Features"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Custom (comma-separated):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Feature List:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Script"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Compiled Bytecode (Faster Loading)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Encrypted (Provide Key Below)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Encryption Key (256-bits as hexadecimal):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Note: Encryption key needs to be stored in the binary,\n"
-"you need to build the export templates from source."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "More Info..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_manager.cpp
-msgid "ZIP File"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Manage Export Templates"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export With Debug"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The path specified doesn't exist."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file (it's not in ZIP format)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose an empty folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose a \"project.godot\" or \".zip\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "This directory already contains a Godot project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Game Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Imported Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "There is already a folder in this path with the specified name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "It would be a good idea to name your project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project path (changed anything?)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file, not in ZIP format."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The following files failed extraction from package:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Package installed successfully!"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Rename Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Existing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install Project:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Name:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Installation Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 3.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Not supported by your GPU drivers."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Higher visual quality\n"
-"All features available\n"
-"Incompatible with older hardware\n"
-"Not recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 2.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Lower visual quality\n"
-"Some features not available\n"
-"Works on most hardware\n"
-"Recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer can be changed later, but scenes may need to be adjusted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Missing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error: Project is missing on the filesystem."
-msgstr ""
-
-#: editor/project_manager.cpp editor/scene_tree_dock.cpp
-msgid "Local"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Local Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Asset Library Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't open project at '%s'."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to open more than one project?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file does not specify the version of Godot "
-"through which it was created.\n"
-"\n"
-"%s\n"
-"\n"
-"If you proceed with opening it, it will be converted to Godot's current "
-"configuration file format.\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file was generated by an older engine "
-"version, and needs to be converted for this version:\n"
-"\n"
-"%s\n"
-"\n"
-"Do you want to convert it?\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The project settings were created by a newer engine version, whose settings "
-"are not compatible with this version."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: no main scene defined.\n"
-"Please edit the project and set the main scene in the Project Settings under "
-"the \"Application\" category."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: Assets need to be imported.\n"
-"Please edit the project to trigger the initial import."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to run %d projects at once?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove %d projects from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove this project from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Remove all missing projects from the list?\n"
-"The project folders' contents won't be modified."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Language changed.\n"
-"The interface will update after restarting the editor or project manager."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Are you sure to scan %s folders for existing Godot projects?\n"
-"This could take a while."
-msgstr ""
-
-#. TRANSLATORS: This refers to the application where users manage their Godot projects.
-#: editor/project_manager.cpp
-msgctxt "Application"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Edit Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Run Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Select a Folder to Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Missing"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "About"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Restart Now"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove All"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Also delete project contents (no undo!)"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't run project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"You currently don't have any projects.\n"
-"Would you like to explore official example projects in the Asset Library?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Filter projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"This field filters projects by name and last path component.\n"
-"To filter projects by name and full path, the query must contain at least "
-"one `/` character."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Physical Key"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Key "
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Axis"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "An action with the name '%s' already exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Rename Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Action deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "All Devices"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid " (Physical)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Press a Key..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 1"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 2"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Axis Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Global Property"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Select a setting item first!"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "No property '%s' exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Delete Item"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Error saving settings."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Settings saved OK."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Moved Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override for Feature"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add %d Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Translation"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Path(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Remap(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Resource Remap Language"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap Option"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter Mode"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Project Settings (project.godot)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "General"
-msgstr "Төп"
-
-#: editor/project_settings_editor.cpp
-msgid "Override For..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "The editor must be restarted for changes to take effect."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Input Map"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Action:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp
-msgid "Deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Device:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Localization"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Resources:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps by Locale:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show All Locales"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show Selected Locales Only"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Filter mode:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "AutoLoad"
-msgstr ""
-
-#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Plugins"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Import Defaults"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Zero"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing In-Out"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing Out-In"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "File..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Dir..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Assign"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Select Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Pick a Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Property"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Method"
-msgstr ""
-
-#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Batch Rename"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Prefix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Suffix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Use Regular Expressions"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Advanced Options"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Substitute"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node's parent name, if available"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node type"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Current scene name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Root node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Sequential integer counter.\n"
-"Compare counter options."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Per-level Counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "If set, the counter restarts for each group of child nodes."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Initial value for the counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Amount by which counter is incremented for each node"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Padding"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Minimum number of digits for the counter.\n"
-"Missing digits are padded with leading zeros."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Post-Process"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Style"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Keep"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "PascalCase to snake_case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "snake_case to PascalCase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Lowercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Uppercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Reset"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Regular Expression Error:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "At character %s"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent Node"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Reparent Location (Select new Parent):"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Keep Global Transform"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Run Mode:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp
-msgid "Current Scene"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Main Scene Arguments:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Scene Run Settings"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "No parent to instance the scenes at."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error loading scene from %s"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one "
-"of its nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Scene(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Replace with Branch Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Child Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't paste root node into the same scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Paste Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on the tree root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Node In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Nodes In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Node must belong to the edited scene to become root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instantiated scenes can't become root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make node as Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes and any children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete the root node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\" and its children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires having a scene open in the editor."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires selecting only one node, but you have "
-"selected %d nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the root node branch as an instanced scene.\n"
-"To create an editable copy of the current scene, duplicate it using the "
-"FileSystem dock context menu\n"
-"or create an inherited scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the branch of an already instanced scene.\n"
-"To create a variation of a scene, you can make an inherited scene based on "
-"the instanced scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is a child of an already instantiated scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is part of an inherited scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Save New Scene As..."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Disabling \"editable_instance\" will cause all properties of the node to be "
-"reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
-"cause all properties of the node to be reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Local"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Another node already uses this unique name in the scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Enable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Disable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "New Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Create Root Node:"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "2D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "3D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "User Interface"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Other Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes from a foreign scene!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes the current scene inherits from!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on instanced scenes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Cut Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remove Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change type of node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Couldn't save new scene. Likely dependencies (instances) couldn't be "
-"satisfied."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error saving scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error duplicating scene to save it."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Sub-Resources"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Access as Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Editable Children"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Load As Placeholder"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot attach a script: there are no languages registered.\n"
-"This is probably because this editor was built with all language modules "
-"disabled."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add Child Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Expand/Collapse All"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change Type"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Reparent to New Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Merge From Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Save Branch as Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Copy Node Path"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete (No Confirm)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Instance a scene file as a Node. Creates an inherited scene if no root node "
-"exists."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach a new or existing script to the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach the script from the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remote"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"If selected, the Remote scene tree dock will cause the project to stutter "
-"every time it updates.\n"
-"Switch back to the Local scene tree dock to improve performance."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance? (No Undo!)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Show Scene Tree Root Selection"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Derive Script Globals By Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Use Favorites Root Selection"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Unlock Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Button Group"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "(Connecting From)"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node configuration warning:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"This node can be accessed from within anywhere in the scene by preceding it "
-"with the '%s' prefix in a node path.\n"
-"Click to disable this."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s) and %s group(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is in %s group(s).\n"
-"Click to show groups dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Open Script:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is locked.\n"
-"Click to unlock it."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Children are not selectable.\n"
-"Click to make selectable."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visibility"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"AnimationPlayer is pinned.\n"
-"Click to unpin."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Invalid node name, the following characters are not allowed:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Rename Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Scene Tree (Nodes):"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node Configuration Warning!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Select a Node"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Filename is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is not local."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid base path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "A directory with the same name exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File does not exist."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid extension."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Wrong extension chosen."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading template '%s'"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error - Could not create script in filesystem."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading script from %s"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Overrides"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "N/A"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script / Choose Location"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File exists, it will be reused."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid class name."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid inherited parent name or path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script path/name is valid."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Allowed: a-z, A-Z, 0-9, _ and ."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in script (into scene file)."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will create a new script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will load an existing script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script file already exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Note: Built-in scripts have some limitations and can't be edited using an "
-"external editor."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Warning: Having the script name be the same as a built-in type is usually "
-"not desired."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Class Name:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Template:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in Script:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Attach Node Script"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Bytes:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Warning:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Errors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Child process connected."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Copy Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Open C++ Source on GitHub"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Video RAM"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Skip Breakpoints"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Previous Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Next Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Frames"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Filter stack variables"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Inspect Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Network Profiler"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitor"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "List of Video Memory Usage by Resource:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Total:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export list to a CSV file"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource Path"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_effect_record.cpp
-msgid "Format"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/main/viewport.cpp
-msgid "Usage"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp servers/visual_server.cpp
-msgid "Misc"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control Type:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Live Edit Root:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Set From Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export measures as CSV"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Erase Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Restore Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Change Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Editor Settings"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Shortcuts"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Binding"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Light Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Stream Player 3D"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/gltf/gltf_node.cpp
-#: platform/osx/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Camera"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera FOV"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera Size"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Visibility Notifier"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Reflection Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "GI Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Baked Indirect Light"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Sphere Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Box Shape Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body A"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body B"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Overlap"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Room Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-msgid "Portal Margin"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Arrow"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Portal Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Occluder"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Polygon Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Hole Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Hole"
-msgstr ""
-
-#: main/main.cpp
-msgid "Godot Physics"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "Use BVH"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "BVH Collision Margin"
-msgstr ""
-
-#: main/main.cpp
-msgid "Crash Handler"
-msgstr ""
-
-#: main/main.cpp
-msgid "Multithreaded Server"
-msgstr ""
-
-#: main/main.cpp
-msgid "RID Pool Prealloc"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debugger stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Chars Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Messages Per Frame"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Errors Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Warnings Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Flush stdout On Print"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Log Path"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Log Files"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver Name"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fallback To GLES2"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
-
-#: main/main.cpp
-msgid "DPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allow hiDPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Per Pixel Transparency"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allowed"
-msgstr ""
-
-#: main/main.cpp
-msgid "Intended Usage"
-msgstr ""
-
-#: main/main.cpp
-msgid "Framebuffer Allocation"
-msgstr ""
-
-#: main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Energy Saving"
-msgstr ""
-
-#: main/main.cpp
-msgid "Threads"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-msgid "Thread Model"
-msgstr ""
-
-#: main/main.cpp
-msgid "Thread Safe BVH"
-msgstr ""
-
-#: main/main.cpp
-msgid "Handheld"
-msgstr ""
-
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Orientation"
-msgstr ""
-
-#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
-#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-#, fuzzy
-msgid "Common"
-msgstr "Җәмәгать"
-
-#: main/main.cpp
-msgid "Physics FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Force FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Pause Aware Picking"
-msgstr ""
-
-#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
-#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
-#: scene/main/viewport.cpp scene/register_scene_types.cpp
-msgid "GUI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
-
-#: main/main.cpp
-msgid "stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Print FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Verbose stdout"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-msgid "Physics Interpolation"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Warnings"
-msgstr ""
-
-#: main/main.cpp
-msgid "Frame Delay Msec"
-msgstr ""
-
-#: main/main.cpp
-msgid "Low Processor Mode"
-msgstr ""
-
-#: main/main.cpp
-msgid "Delta Sync After Draw"
-msgstr ""
-
-#: main/main.cpp
-msgid "iOS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Hide Home Indicator"
-msgstr ""
-
-#: main/main.cpp
-msgid "Input Devices"
-msgstr ""
-
-#: main/main.cpp
-msgid "Pointing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Touch Delay"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "GLES3"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Shaders"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debug Shader Fallbacks"
-msgstr ""
-
-#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
-#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
-#: scene/resources/world.cpp
-msgid "Environment"
-msgstr ""
-
-#: main/main.cpp
-msgid "Default Clear Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "Boot Splash"
-msgstr ""
-
-#: main/main.cpp
-msgid "Show Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fullsize"
-msgstr ""
-
-#: main/main.cpp scene/resources/dynamic_font.cpp
-msgid "Use Filter"
-msgstr ""
-
-#: main/main.cpp scene/resources/style_box.cpp
-msgid "BG Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "macOS Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Windows Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Buffering"
-msgstr ""
-
-#: main/main.cpp
-msgid "Agile Event Flushing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Touch From Mouse"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Mouse From Touch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Mouse Cursor"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image Hotspot"
-msgstr ""
-
-#: main/main.cpp
-msgid "Tooltip Position Offset"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Debugger Agent"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait For Debugger"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait Timeout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Runtime"
-msgstr ""
-
-#: main/main.cpp
-msgid "Unhandled Exception Policy"
-msgstr ""
-
-#: main/main.cpp
-msgid "Main Loop Type"
-msgstr ""
-
-#: main/main.cpp scene/gui/texture_progress.cpp
-#: scene/gui/viewport_container.cpp
-msgid "Stretch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Aspect"
-msgstr ""
-
-#: main/main.cpp
-msgid "Shrink"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Auto Accept Quit"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Quit On Go Back"
-msgstr ""
-
-#: main/main.cpp scene/main/viewport.cpp
-msgid "Snap Controls To Pixels"
-msgstr ""
-
-#: main/main.cpp
-msgid "Dynamic Fonts"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Oversampling"
-msgstr ""
-
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-msgid "Active Soft World"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "CSG"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Height"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Operation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Calculate Tangents"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Use Collision"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-msgid "Collision Layer"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
-#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
-#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-msgid "Collision Mask"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Invert Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
-#: scene/3d/navigation_obstacle.cpp scene/3d/vehicle_body.cpp
-#: scene/animation/root_motion_view.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/circle_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/sphere_shape.cpp
-msgid "Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Radial Segments"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Rings"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Smooth Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Cone"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Ring Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
-#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-msgid "Polygon"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Degrees"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Node"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval Type"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Simplify Angle"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Rotation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Local"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Continuous U"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path U Distance"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Joined"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Compression Mode"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Transfer Channel"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Channel Count"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Always Ordered"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Server Relay"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Verify"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Hostname"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Use DTLS"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FBX"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Use FBX"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Config File"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Load Once"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Symbol Prefix"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Reloadable"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select the dynamic library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select dependencies of the library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Remove current entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Double click to create a new entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform:"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dynamic Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Add an architecture entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "GDNativeLibrary"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Enabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Disabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Class Name"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Script Class"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Icon Path"
-msgstr ""
-
-#: modules/gdnative/register_types.cpp
-msgid "GDNative"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript.cpp
-msgid "GDScript"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Function Definition Color"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Node Path Color"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
-msgid "Max Call Stack"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Treat Warnings As Errors"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Exclude Addons"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Autocomplete Setters And Getters"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Step argument is zero!"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not a script with an instance"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a script"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a resource file"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (missing @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (can't load script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (invalid script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary (invalid subclasses)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Object can't provide a length."
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Language Server"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Enable Smart Resolve"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Show Native Symbols In Editor"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Use Thread"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Mesh GLTF2"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export GLTF..."
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Normalized"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Min"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Max"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Buffer"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Length"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Stride"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Indices"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "FOV Size"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Zfar"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Znear"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/animation/root_motion_view.cpp scene/gui/color_picker.cpp
-#: scene/gui/color_rect.cpp scene/gui/rich_text_effect.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp
-msgid "Color"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
-#: scene/resources/environment.cpp
-msgid "Intensity"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-msgid "Range"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Inner Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Outer Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Blend Weights"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Instance Materials"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-msgid "Parent"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Xform"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
-msgid "Skin"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-msgid "Translation"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Children"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Roots"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
-msgid "Unique Names"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp
-msgid "Godot Bone Node"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Skin Root"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joints Original"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Inverse Binds"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Non Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Bone I"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Name"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Godot Skin"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Img"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Gloss Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Specular Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Spec Gloss Img"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Json"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Major Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Minor Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "GLB Data"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Use Named Skin Binds"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Buffer Views"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Accessors"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Scene Name"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Root Nodes"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-msgid "Textures"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
-msgid "Images"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Cameras"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-msgid "Lights"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Unique Animation Names"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeletons"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeleton To Node"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Animations"
-msgstr ""
-
-#: modules/gltf/gltf_texture.cpp
-msgid "Src Image"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Mesh Library"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Physics Material"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-msgid "Use In Baked Light"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
-msgid "Cell"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Octant Size"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center X"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Y"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Z"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/resources/material.cpp
-msgid "Mask"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Plane:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Floor:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Delete Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paste Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paint"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Snap View"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Disabled"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Above"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Below"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit X Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Y Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Z Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Clear Rotation"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Paste Selects"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clear Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Settings"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Filter meshes"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Begin Bake"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Preparing data structures"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Generate buffers"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Direct lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Indirect lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Post processing"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Plotting lightmaps"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "CPU Lightmapper"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Low Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Medium Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "High Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Ultra Quality Ray Count"
-msgstr ""
-
-#: modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-msgid "Loop Offset"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Eye Height"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "IOD"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display Width"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display To Lens"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Oversample"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K1"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K2"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Class name can't be a reserved keyword"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Build Solution"
-msgstr ""
-
-#: modules/mono/editor/csharp_project.cpp
-msgid "Auto Update Project"
-msgstr ""
-
-#: modules/mono/mono_gd/gd_mono_utils.cpp
-msgid "End of inner exception stack trace"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-#: scene/3d/navigation_mesh_instance.cpp
-msgid "A NavigationMesh resource must be set or created for this node to work."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Bake NavMesh"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Seamless"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "As Normal Map"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Bump Strength"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise Offset"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Octaves"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Period"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Persistence"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Lacunarity"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Subject"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Names"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Strings"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Multicast If"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Local Port"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover IPv6"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Description URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Control URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Our Addr"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Status"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"A node yielded without working memory, please read the docs on how to yield "
-"properly!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Node yielded, but did not return a function state in the first working "
-"memory."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Return value must be assigned to first element of node working memory! Fix "
-"your node please."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Found sequence bit but not the node in the stack, report bug!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Visual Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Signal Arguments"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Default Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Override an existing built-in function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Variables:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new variable."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new signal."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name is not a valid identifier:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name already in use by another func/var/signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete input port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't copy the function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Duplicate VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Preload Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s) From Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid ""
-"Can't drop properties because script '%s' is not used in this scene.\n"
-"Drop holding 'Shift' to just copy the signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Getter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Setter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Move Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Disconnect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Data"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Script already has function '%s'"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Input Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Resize Comment"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function with a function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function of nodes from nodes of multiple functions."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select at least one node with sequence port."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Try to only have one sequence input in selection."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Tool:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Members:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Nodes..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "function_name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select or create a function to edit its graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete Selected"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Find Node Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Copy Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Cut Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Refresh Graph"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Member"
-msgstr ""
-
-#: modules/visual_script/visual_script_expression.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Enabled"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "if (cond) is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "while (cond):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "for (elem) in (input):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "in order:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Steps"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "'input' is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Type Cast"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Is %s?"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Node Path"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Use Default Args"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Validate"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "RPC Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Subtract %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Multiply %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Divide %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Mod %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftLeft %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftRight %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitAnd %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitOr %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitXor %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Set Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Assign Op"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Get %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base object is not a Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Path does not lead to Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name '%s' in node %s."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Emit %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Compose Array"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Operator"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "a if cond, else b"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Var Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Preload"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Global Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Class Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Math Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Engine Singleton"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "CustomNode"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Custom node has no _step() method, can't process graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ""
-"Invalid return value from _step(), must be integer (seq out), or string "
-"(error)."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "SubCall"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
-msgid "Title"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Construct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Action %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Deconstruct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search VisualScript"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Yield"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Wait"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Physics Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "%s sec(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-msgid "Wait Time"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitNodeSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitInstanceSignal"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.cpp
-msgid "Write Mode"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "WebRTC"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "Max Channel In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Verify SSL"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Trusted SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Client"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Server"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Bind IP"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Private Key"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
-msgid "SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "CA Chain"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Handshake Timeout"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Session Mode"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Required Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Optional Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Requested Reference Space Types"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Reference Space Type"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Visibility State"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Bounds Geometry"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "XR Standard Mapping"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Android SDK Path"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore Pass"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Force System User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Shutdown ADB On Exit"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Launcher Icons"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Main 192 X 192"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Foreground 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Background 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package name is missing."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package segments must be of non-zero length."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' is not allowed in Android application package names."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A digit cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The package must have at least one '.' separator."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Use Custom Build"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Export Format"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-msgid "Architectures"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Keystore"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Debug Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "One Click Deploy"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Clear Previous Install"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Package"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Unique Name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signed"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Classify As Game"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Retain Data On Uninstall"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exclude From Recents"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Graphics"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "OpenGL Debug"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Features"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking Frequency"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Passthrough"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Immersive Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Small"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Normal"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Large"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Xlarge"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "User Data Backup"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Allow"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
-msgid "Command Line"
-msgstr "Җәмәгать"
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Extra Args"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Salt"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Public Key"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Custom Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Select device from the list"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Uninstalling..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Installing to device, please wait..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not install to device: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on device..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not execute on device."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build template not installed in the project. Install it from the "
-"Project menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Debug Keystore, Debug User AND Debug Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Release Keystore, Release User AND Release Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release keystore incorrectly configured in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A valid Android SDK path is required in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid Android SDK path in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'platform-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK platform-tools' adb command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Please check in the Android SDK directory specified in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'build-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK build-tools' apksigner command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid public key for APK expansion."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid package name:"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
-"project setting (changed in Godot 3.2.2).\n"
-"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
-"Note that the singleton was also renamed from \"GodotPayments\" to "
-"\"GodotGooglePlayBilling\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Use Custom Build\" must be enabled to use the plugins."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
-"or \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing debug %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing release %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not find keystore, unable to export."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' returned with error #%d"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Verifying %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' verification of %s failed."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting for Android"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android App Bundle requires the *.aab extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion not compatible with Android App Bundle."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android APK requires the *.apk extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Trying to build from a custom built template, but no version info for it "
-"exists. Please reinstall from the 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
-"Please reinstall Android build template from 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not write expansion package file!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Building Android Project (gradle)"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Building of Android project failed, check output for the error.\n"
-"Alternatively visit docs.godotengine.org for Android build documentation."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Moving output"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to copy and rename export file, check gradle project directory for "
-"outputs."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Creating APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
-"Please build a template with all required libraries, or uncheck the missing "
-"architectures in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adding files..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Aligning APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not unzip temporary unaligned APK."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier is missing."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "The character '%s' is not allowed in Identifier."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Landscape Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2436 X 1125"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2208 X 1242"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1024 X 768"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 2048 X 1536"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Portrait Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 960"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 1136"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 750 X 1334"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1125 X 2436"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 768 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1536 X 2048"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1242 X 2208"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Targeted Device Family"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Info"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Signature"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Short Version"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Copyright"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Capabilities"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Access Wi-Fi"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Push Notifications"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "User Data"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From Files App"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From iTunes Sharing"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Privacy"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Camera Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Microphone Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Photolibrary Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 120 X 120"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 180 X 180"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 76 X 76"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 152 X 152"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 167 X 167"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store 1024 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 40 X 40"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 80 X 80"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Launch Screen Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Image Scale Mode"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @2x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @3x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID not specified - cannot configure the project."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Invalid Identifier:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Stop HTTP Server"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run in Browser"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run exported HTML in the system's default browser."
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Variant"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Type"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "VRAM Texture Compression"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Desktop"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Mobile"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTML"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Icon"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Custom HTML Shell"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Head Include"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Canvas Resize Policy"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Focus Canvas On Start"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Experimental Virtual Keyboard"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Progressive Web App"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Offline Page"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 144 X 144"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 180 X 180"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 512 X 512"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Web"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Host"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Port"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Use SSL"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "SSL Key"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't get filesystem access."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get Info.plist hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no exe name."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no bundle id."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, can't load."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create \"%s\" subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to extract thin binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid binary format."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Already signed!"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to process nested resources."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get CodeResources hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-msgid "Invalid entitlements file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid executable file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't resize signature load command."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create fat binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown bundle type."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown object type."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Category"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "High Res"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Location Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendar Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Desktop Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Documents Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Downloads Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Removable Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Codesign"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Identity"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Timestamp"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Hardened Runtime"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Replace Existing Signature"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Entitlements"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Custom File"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow JIT Code Execution"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Unsigned Executable Memory"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Dyld Environment Variables"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Disable Library Validation"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Audio Input"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendars"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Events"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Debugging"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Sandbox"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Server"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Client"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device USB"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device Bluetooth"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Downloads"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Pictures"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Music"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Movies"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Custom Options"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Name"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Password"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Team ID"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"You can check progress manually by opening a Terminal and running the "
-"following command:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Run the following command to staple the notarization ticket to the exported "
-"application (optional):"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "No identity found."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Creating app bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Relative symlinks are not supported on this OS, the exported project might "
-"be broken!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
-"template archive."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making PKG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Ad-hoc signed applications require the 'Disable Library Validation' "
-"entitlement to load dynamic libraries."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making ZIP"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Notarization requires the app to be archived first, select the DMG or ZIP "
-"export format instead."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Sending archive for notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Invalid bundle identifier:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
-"signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Xcode command line tools are not installed, using built-in "
-"\"codesign\". Code signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Code signing is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Hardened runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID name not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID password not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is disabled. The exported project will be blocked by "
-"Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Code signing is disabled. The exported project will not run on Macs with "
-"enabled Gatekeeper and Apple Silicon powered Macs."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Hardened Runtime is not compatible with ad-hoc signature, and will be "
-"disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is not supported from this OS. The exported project "
-"will be blocked by Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Microphone access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Camera access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Location information access is enabled, but usage description is "
-"not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Address book access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Calendar access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Photo library access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "macOS"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Force Builtin Codesign"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Architecture"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Short Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Product GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Signing"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Algorithm"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Major"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Minor"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Build"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Revision"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Store Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 44 X 44 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 71 X 71 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 150 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 310 X 310 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Wide 310 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Splash Screen"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Tiles"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 150 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Wide 310 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 310 X 310"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package short name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package unique name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package publisher display name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid product GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid publisher GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid background color."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid Store Logo image dimensions (should be 50x50)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 44x44 logo image dimensions (should be 44x44)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 71x71 logo image dimensions (should be 71x71)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 150x150 logo image dimensions (should be 150x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 310x310 logo image dimensions (should be 310x310)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid splash screen image dimensions (should be 620x300)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "UWP"
-msgstr ""
-
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Signtool"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Identity Type"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Timestamp Server URL"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Digest Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Modify Resources"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Company Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Description"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Trademarks"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid ""
-"The rcedit tool must be configured in the Editor Settings (Export > Windows "
-"> Rcedit) to change the icon or app information data."
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid icon path:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid file version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid product version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Windows"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Rcedit"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Osslsigncode"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Wine"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/texture.cpp
-msgid "Frames"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite to display frames."
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Speed Scale"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
-#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Playing"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Centered"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip H"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip V"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitoring"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitorable"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Physics Overrides"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Space Override"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Point"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Distance Scale"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Vec"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Gravity"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Linear Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Angular Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Audio Bus"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Override"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
-#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-msgid "Volume dB"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Pitch Scale"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Autoplay"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Stream Paused"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
-msgid "Max Distance"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
-msgid "Attenuation"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Bus"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-msgid "Area Mask"
-msgstr ""
-
-#: scene/2d/back_buffer_copy.cpp
-msgid "Copy Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Anchor Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Rotating"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
-#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
-msgid "Current"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-msgid "Zoom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
-msgid "Custom Viewport"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
-msgid "Process Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Limit"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Left"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Right"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp
-msgid "Bottom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothed"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin H Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin V Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothing"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "H"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "V"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Screen"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Limits"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Drag Margin"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Blend Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Light Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Animation"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim H Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim V Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim Loop"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-msgid "Visibility"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
-#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-msgid "Visible"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Self Modulate"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show Behind Parent"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show On Top"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Light Mask"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Use Parent Material"
-msgstr ""
-
-#: scene/2d/canvas_modulate.cpp
-msgid ""
-"Only one visible CanvasModulate is allowed per scene (or set of instanced "
-"scenes). The first created one will work, while the rest will be ignored."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
-"define its shape."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid "Pickable"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid ""
-"CollisionPolygon2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "An empty CollisionPolygon2D has no effect on collision."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid ""
-"The One Way Collision property will be ignored when the parent is an Area2D."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Build Mode"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
-#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Disabled"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision Margin"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"CollisionShape2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"A shape must be provided for CollisionShape2D to function. Please create a "
-"shape resource for it!"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"Polygon-based shapes are not meant be used nor edited directly through the "
-"CollisionShape2D node. Please use the CollisionPolygon2D node instead."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid ""
-"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Emitting"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Lifetime"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-msgid "One Shot"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Preprocess"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Explosiveness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Lifetime Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fixed FPS"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fract Delta"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Drawing"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Local Coords"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Draw Order"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Emission Shape"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Sphere Radius"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid "Rect Extents"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Normals"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Align Y"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Direction"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Spread"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Initial Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Angular Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Orbit Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Linear Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Radial Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Tangential Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Damping"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Initial Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Hue Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Curve"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node B must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Joint is not connected to two PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be different PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node A"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node B"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/resources/environment.cpp
-msgid "Bias"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Disable Collision"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Softness"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Initial Offset"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
-msgid "Rest Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-msgid "Stiffness"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid ""
-"A texture with the shape of the light must be supplied to the \"Texture\" "
-"property."
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-msgid "Editor Only"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Texture Scale"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-msgid "Energy"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Item Cull Mask"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-msgid "Shadow"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Buffer Size"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Gradient Length"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Filter Smooth"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "Closed"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
-msgid "Cull Mode"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid ""
-"An occluder polygon must be set (or drawn) for this occluder to take effect."
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Width Curve"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Default Color"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Fill"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Gradient"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Texture Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Capping"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Joint Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Begin Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "End Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-msgid "Border"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Sharp Limit"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Round Precision"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/resources/dynamic_font.cpp
-msgid "Antialiased"
-msgstr ""
-
-#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-msgid "Multimesh"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
-#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
-#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Cell Size"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-msgid "Edge Connection Margin"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp
-msgid ""
-"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-msgid "Estimate Radius"
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp
-msgid ""
-"The NavigationObstacle2D only serves to provide collision avoidance to a "
-"Node2D object."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"A NavigationPolygon resource must be set or created for this node to work. "
-"Please set a property or draw a polygon."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Scale"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-msgid "Global Transform"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Z As Relative"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Offset"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Scale"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit Begin"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit End"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Ignore Camera Zoom"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid ""
-"ParallaxLayer node only works when set as child of a ParallaxBackground node."
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid "Mirroring"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles2D node instead. You can use the \"Convert to "
-"CPUParticles2D\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"On macOS, Particles2D rendering is much slower than CPUParticles2D due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles2D instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles2D\" toolbar option for this "
-"purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid ""
-"A material to process the particles is not assigned, so no behavior is "
-"imprinted."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"Particles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid "Visibility Rect"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid "Process Material"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
-#: scene/resources/texture.cpp
-msgid "Curve"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "PathFollow2D only works when set as a child of a Path2D node."
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Unit Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "H Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "V Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Cubic Interp"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "Lookahead"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-msgid "Layers"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Linear Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Angular Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Friction"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Bounce"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Physics Material Override"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid ""
-"Size changes to RigidBody2D (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Mass"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Inertia"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Weight"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Gravity Scale"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Custom Integrator"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Continuous CD"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contacts Reported"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contact Monitor"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Sleeping"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Can Sleep"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Damp"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Angular"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Applied Forces"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Torque"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Safe Margin"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Sync To Physics"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Moving Platform"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Apply Velocity On Leave"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-msgid "Normal"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Remainder"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Local Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider ID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider RID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Shape Index"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Metadata"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Invert"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Vertex Colors"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Internal Vertex Count"
-msgstr ""
-
-#: scene/2d/position_2d.cpp
-msgid "Gizmo Extents"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Exclude Parent"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Cast To"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Collide With"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Areas"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Bodies"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp
-msgid "Path property must point to a valid Node2D node to work."
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Remote Path"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Use Global Coordinates"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
-msgid "Rest"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "Default Length"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid ""
-"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Hframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Vframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Frame Coords"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/resources/texture.cpp
-msgid "Filter Clip"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid ""
-"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
-"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
-"KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Set"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Quadrant Size"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Custom Transform"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Half Offset"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Origin"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Y Sort"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Show Collision"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Compatibility Mode"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Centered Textures"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Cell Clip UV"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Parent"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Kinematic"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Centered"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Visible"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Passby Press"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Visibility Mode"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid ""
-"VisibilityEnabler2D works best when used with the edited scene root directly "
-"as parent."
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Pause Animations"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Freeze Bodies"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Particles"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Animated Sprites"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Process Parent"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Physics Process Parent"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Reverb Bus"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Uniformity"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRCamera must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Controller ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
-msgid "Rumble"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The controller ID must not be 0 or this controller won't be bound to an "
-"actual controller."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Anchor ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The anchor ID must not be 0 or this anchor won't be bound to an actual "
-"anchor."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-msgid "World Scale"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Model"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit Size"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Max dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Out Of Range Mode"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Emission Angle"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Degrees"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Filter Attenuation dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Filter"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Cutoff Hz"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Doppler"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Tracking"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp
-msgid "Interior"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Finding meshes and lights"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing geometry (%d/%d)"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing environment"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generating capture"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Saving lightmaps"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Done"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp
-#: scene/resources/rectangle_shape_2d.cpp
-msgid "Extents"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Tweaks"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounces"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounce Indirect Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Denoiser"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Use HDR"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Default Texels Per Unit"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Atlas"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-#, fuzzy
-msgid "Generate"
-msgstr "Төп"
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Max Size"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky Rotation Degrees"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-msgid "Custom Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Min Light"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Propagation"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Image Path"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Light Data"
-msgstr ""
-
-#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-msgid "Bone Name"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Keep Aspect"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
-msgid "Cull Mask"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Doppler Tracking"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Projection"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "FOV"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Frustum Offset"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Near"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Far"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/shape.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Margin"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Clip To"
-msgstr ""
-
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-msgid "Ray Pickable"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid "Capture On Drag"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape or CollisionPolygon as a child to define "
-"its shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid ""
-"CollisionPolygon only serves to provide a collision shape to a "
-"CollisionObject derived node. Please only use it as a child of Area, "
-"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid "An empty CollisionPolygon has no effect on collision."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"CollisionShape only serves to provide a collision shape to a CollisionObject "
-"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
-"KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"A shape must be provided for CollisionShape to function. Please create a "
-"shape resource for it."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"Plane shapes don't work well and will be removed in future versions. Please "
-"don't use them."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"ConcavePolygonShape doesn't support RigidBody in another mode than static."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid "Nothing is visible because no mesh has been assigned."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid ""
-"CPUParticles animation requires the usage of a SpatialMaterial whose "
-"Billboard Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Box Extents"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Inner Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Height"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Axis"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Rotate Y"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Disable Z"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Flatness"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-msgid "Portals"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Portal Mode"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Include In Bound"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Allow Merging"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Autoplace Priority"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Plotting Meshes"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Finishing Plot"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"GIProbes are not supported by the GLES2 video driver.\n"
-"Use a BakedLightmap instead."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"The GIProbe Compress property has been deprecated due to known bugs and no "
-"longer has any effect.\n"
-"To remove this warning, disable the GIProbe's Compress property."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Subdiv"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Dynamic Range"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp scene/3d/light.cpp
-msgid "Normal Bias"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Pixel Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Billboard"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Shaded"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Double Sided"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "No Depth Test"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Fixed Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Alpha Cut"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/material.cpp
-msgid "Alpha Scissor Threshold"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Modulate"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-msgid "Font"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-msgid "Horizontal Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Vertical Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
-msgid "Autowrap"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Indirect Energy"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Negative"
-msgstr ""
-
-#: scene/3d/light.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Specular"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bake Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Contact"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Reverse Cull Face"
-msgstr ""
-
-#: scene/3d/light.cpp servers/visual_server.cpp
-msgid "Directional Shadow"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 1"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 2"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 3"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Blend Splits"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bias Split Scale"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Depth Range"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Omni"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Detail"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Spot"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Angle Attenuation"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Software Skinning"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Transform Normals"
-msgstr ""
-
-#: scene/3d/navigation.cpp scene/resources/curve.cpp
-msgid "Up Vector"
-msgstr ""
-
-#: scene/3d/navigation.cpp
-msgid "Cell Height"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Agent Height Offset"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Ignore Y"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid ""
-"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-msgid "NavMesh"
-msgstr ""
-
-#: scene/3d/navigation_obstacle.cpp
-msgid ""
-"The NavigationObstacle only serves to provide collision avoidance to a "
-"Spatial inheriting parent object."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "No shape is set."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "Only uniform scales are supported."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles node instead. You can use the \"Convert to "
-"CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"On macOS, Particles rendering is much slower than CPUParticles due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Particles animation requires the usage of a SpatialMaterial whose Billboard "
-"Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Visibility AABB"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Draw Passes"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Passes"
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "PathFollow only works when set as a child of a Path node."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid ""
-"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
-"parent Path's Curve resource."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "Rotation Mode"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid ""
-"Size changes to RigidBody (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Axis Lock"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Joint Constraints"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Impulse Clamp"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Swing Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Twist Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Bias"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "ERP"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Body Offset"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node B must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Joint is not connected to any PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be different PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Solver"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Exclude Nodes"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Params"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Motor"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Target Velocity"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Max Impulse"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Restitution"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Force Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Z"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "The RoomManager should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A Room should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A RoomGroup should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Portal Active"
-msgstr ""
-
-#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
-msgid "Two Way"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Linked Room"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Use Default Margin"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Group Name"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Dispatch Mode"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Grid Radius"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp
-msgid "Debug Shape"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
-msgid "Thickness"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-msgid "Update Mode"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Origin Offset"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Box Projection"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Enable Shadows"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Color"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Energy"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Contrib"
-msgstr ""
-
-#: scene/3d/remote_transform.cpp
-msgid ""
-"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
-"derived node to work."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A Room cannot have another Room as a child or grandchild."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "The RoomManager should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A RoomGroup should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid ""
-"Room convex hull contains a large number of planes.\n"
-"Consider simplifying the room bound in order to increase performance."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Use Default Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp scene/3d/room_manager.cpp
-msgid "Room Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Bound"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "Roomgroup Priority"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "The RoomManager should not be placed inside a RoomGroup."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList has not been assigned."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList node should be a Spatial (or derived from Spatial)."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal Depth Limit is set to Zero.\n"
-"Only the Room that the Camera is in will render."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "There should only be one RoomManager in the SceneTree."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Main"
-msgstr ""
-
-#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Active"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roomlist"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Mode"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Filename"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "Gameplay"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Gameplay Monitor"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Use Secondary PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Merge Meshes"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Show Margins"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Debug Sprawl"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Overlap Warning Threshold"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Preview Camera"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal Depth Limit"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Default Portal Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roaming Expansion Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"RoomList path is invalid.\n"
-"Please check the RoomList branch has been assigned in the RoomManager."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "RoomList contains no Rooms, aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Misnamed nodes detected, check output log for details. Aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal link room not found, check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal autolink failed, check output log for details.\n"
-"Check the portal is facing outwards from the source room."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Room overlap detected, cameras may work incorrectly in overlapping area.\n"
-"Check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Error calculating room bounds.\n"
-"Ensure all rooms contain geometry or manual bounds."
-msgstr ""
-
-#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-msgid "Pose"
-msgstr ""
-
-#: scene/3d/skeleton.cpp
-msgid "Bound Children"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pinned Points"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Attachments"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Point Index"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Spatial Attachment Path"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Physics Enabled"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Parent Collision Ignore"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Simulation Precision"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Total Mass"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Linear Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Areaangular Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Volume Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pressure Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Damping Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Drag Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pose Matching Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "This body will be ignored until you set a mesh."
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid ""
-"Size changes to SoftBody will be overridden by the physics engine when "
-"running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Matrix"
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Gizmo"
-msgstr ""
-
-#: scene/3d/spatial_velocity_tracker.cpp
-msgid "Track Physics Step"
-msgstr ""
-
-#: scene/3d/spring_arm.cpp
-msgid "Spring Length"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-msgid "Opacity"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Transparent"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite3D to display frames."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid ""
-"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
-"it as a child of a VehicleBody."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Per-Wheel Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Engine Force"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Brake"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "VehicleBody Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Traction"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Wheel"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Roll Influence"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Friction Slip"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Suspension"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Max Force"
-msgstr ""
-
-#: scene/3d/visibility_notifier.cpp
-msgid "AABB"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
-msgid "Geometry"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Override"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Overlay"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Cast Shadow"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Extra Cull Margin"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Baked Light"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Generate Lightmap"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Lightmap Scale"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "LOD"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
-#: scene/resources/material.cpp
-msgid "Min Distance"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Min Hysteresis"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Max Hysteresis"
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"WorldEnvironment requires its \"Environment\" property to contain an "
-"Environment to have a visible effect."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set "
-"this environment's Background Mode to Canvas (for 2D scenes)."
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Mix Mode"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadein Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadeout Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Auto Restart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Autorestart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Random Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Add Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Blend Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Seek Position"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Input Count"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Xfade Time"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Switch Mode"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Auto Advance"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Advance Condition"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Anim Apply Reset"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Assigned Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Reset On Save"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Length"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Position"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Playback Options"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Default Blend Time"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Method Call Mode"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "In node '%s', invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Nothing connected to input '%s' of node '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "No root AnimationNode for the graph is set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path to an AnimationPlayer node containing animations is not set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "The AnimationPlayer root node is not a valid node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Tree Root"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Anim Player"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Root Motion"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Track"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "This node has been deprecated. Use AnimationTree instead."
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Playback"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Master Player"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Base Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Animation Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Zero Y"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Root Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Tip Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Interpolation"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Override Tip Basis"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Use Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Target Node"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Max Iterations"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Process Mode"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Speed"
-msgstr ""
-
-#: scene/audio/audio_stream_player.cpp
-msgid "Mix Target"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Ratio"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp
-#: scene/gui/texture_rect.cpp
-msgid "Stretch Mode"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
-msgid "Alignment"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Shortcut In Tooltip"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Action Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Enabled Focus Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Keep Pressed Outside"
-msgstr ""
-
-#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
-msgid "Shortcut"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Group"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp
-msgid "Clip Text"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
-#: scene/gui/spin_box.cpp
-msgid "Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Icon Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Expand Icon"
-msgstr ""
-
-#: scene/gui/center_container.cpp
-msgid "Use Top Left"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid ""
-"Color: #%s\n"
-"LMB: Apply color\n"
-"RMB: Remove preset"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Edit Alpha"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Deferred Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Enabled"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Visible"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Pick a color from the editor window."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Switch between hexadecimal and code values."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Add current color as a preset."
-msgstr ""
-
-#: scene/gui/container.cpp
-msgid ""
-"Container by itself serves no purpose unless a script configures its "
-"children placement behavior.\n"
-"If you don't intend to add a script, use a plain Control node instead."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Overrides"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid ""
-"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
-"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Anchor"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Grow Direction"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Min Size"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pivot Offset"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Clip Content"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Hint"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Tooltip"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Focus"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Left"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Top"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Right"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Bottom"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Next"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Previous"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Mouse"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Default Cursor Shape"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pass On Modal Close Click"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Size Flags"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Stretch Ratio"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Type Variation"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Window Title"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Dialog"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Hide On OK"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Alert!"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Please Confirm..."
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Mode Overrides Title"
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Must use a valid extension."
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Right Disconnects"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Scroll Offset"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Snap Distance"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Min"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Max"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Step"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Show Zoom Label"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimap"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Enable grid minimap."
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Show Close"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/gui/option_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Comment"
-msgstr "Җәмәгать"
-
-#: scene/gui/graph_node.cpp
-msgid "Overlay"
-msgstr ""
-
-#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp
-#: scene/gui/tree.cpp scene/main/viewport.cpp
-msgid "Timers"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
-msgid "Incremental Search Max Interval Msec"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow Reselect"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow RMB Select"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Text Lines"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Auto Height"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Same Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Icon Scale"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Icon Size"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "V Align"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Visible Characters"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Percent Visible"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Lines Skipped"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Max Lines Visible"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
-msgid "Max Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret Character"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Expand To Text Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Context Menu Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Virtual Keyboard Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Clear Button Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Shortcut Keys Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Middle Mouse Paste Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Selecting Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
-#: scene/gui/text_edit.cpp
-msgid "Deselect On Focus Loss Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Right Icon"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Placeholder"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Alpha"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Caret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink Speed"
-msgstr ""
-
-#: scene/gui/link_button.cpp
-msgid "Underline"
-msgstr ""
-
-#: scene/gui/menu_button.cpp
-msgid "Switch On Hover"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Draw Center"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Region Rect"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid "Patch Margin"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Axis Stretch"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid ""
-"The Tile and Tile Fit options for Axis Stretch properties are only effective "
-"when using the GLES3 rendering backend.\n"
-"The GLES2 backend is currently in use, so these modes will act like Stretch "
-"instead."
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Popup"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Exclusive"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid ""
-"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine, but they will hide upon "
-"running."
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Checkable Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On State Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Submenu Popup Delay"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Allow Search"
-msgstr ""
-
-#: scene/gui/progress_bar.cpp
-msgid "Percent"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Min Value"
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-msgid "Max Value"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Page"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Exp Edit"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Rounded"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Greater"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Lesser"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp
-msgid "Border Color"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp scene/resources/style_box.cpp
-msgid "Border Width"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Relative Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Absolute Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Elapsed Time"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Env"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Character"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "BBCode"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Meta Underlined"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Tab Size"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Fit Content Height"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Active"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Following"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Selection Enabled"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-msgid "Override Selected Font Color"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Custom Effects"
-msgstr ""
-
-#: scene/gui/scroll_bar.cpp
-msgid "Custom Step"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid ""
-"ScrollContainer is intended to work with a single child control.\n"
-"Use a container as child (VBox, HBox, etc.), or a Control and set the custom "
-"minimum size manually."
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Follow Focus"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Horizontal Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Vertical Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Default Scroll Deadzone"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Scrollable"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Tick Count"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Ticks On Borders"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Prefix"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Suffix"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Split Offset"
-msgstr ""
-
-#: scene/gui/split_container.cpp scene/gui/tree.cpp
-msgid "Collapsed"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Dragger Visibility"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Tab Align"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Current Tab"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Tabs Visible"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "All Tabs In Front"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Drag To Rearrange Enabled"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Use Hidden Tabs For Min Size"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Tab Close Display Policy"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Scrolling Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Readonly"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Bookmark Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Breakpoint Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Fold Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Hiding Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Wrap Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Vertical"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Horizontal"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Draw"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Block Mode"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Moving By Right Click"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Idle Detect (sec)"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Undo Stack Max Size"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Hover"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Focused"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Click Mask"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-#: scene/gui/video_player.cpp
-msgid "Expand"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Under"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Over"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Mode"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/material.cpp
-msgid "Tint"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Radial Fill"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Initial Angle"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Degrees"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
-msgid "Center Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Nine Patch Stretch"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Left"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Top"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Right"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Bottom"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Custom Minimum Height"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "(Other)"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Column Titles Visible"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Folding"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Root"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Drop Mode Flags"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Audio Track"
-msgstr ""
-
-#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Paused"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Buffering Msec"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Stream Position"
-msgstr ""
-
-#: scene/gui/viewport_container.cpp
-msgid "Stretch Shrink"
-msgstr ""
-
-#: scene/main/canvas_layer.cpp
-msgid "Follow Viewport"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download File"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download Chunk Size"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Body Size Limit"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Max Redirects"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Timeout"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid ""
-"Setting node name '%s' to be unique within scene for '%s', but it's already "
-"claimed by '%s'. This node is no longer set unique."
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Num Separator"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Casing"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Editor Description"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Pause Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Physics Interpolation Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Display Folded"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Filename"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Owner"
-msgstr ""
-
-#: scene/main/node.cpp scene/main/scene_tree.cpp
-msgid "Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Custom Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Process Priority"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Time Left"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Collisions Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Navigation Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Font Oversampling"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Edited Scene Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Multiplayer Poll"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Shapes"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Shape Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Contact Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Disabled Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Max Contacts Displayed"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-msgid "Draw 2D Outlines"
-msgstr ""
-
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Reflections"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Size"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Subdiv"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "MSAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use FXAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Debanding"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "HDR"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "Use 32 BPC Depth"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Default Environment"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid ""
-"Default Environment as specified in Project Settings (Rendering -> "
-"Environment -> Default Environment) could not be loaded."
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Enable Object Picking"
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid ""
-"Very low timer wait times (< 0.05 seconds) may behave in significantly "
-"different ways depending on the rendered or physics frame rate.\n"
-"Consider using a script's process loop instead of relying on a Timer for "
-"very low wait times."
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid "Autostart"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Viewport Path"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "ARVR"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Size Override Stretch"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Own World"
-msgstr ""
-
-#: scene/main/viewport.cpp scene/resources/world_2d.cpp
-msgid "World"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "World 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Transparent BG"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Handle Input Locally"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "FXAA"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debanding"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Keep 3D Linear"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Direct To Screen"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debug Draw"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Target"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "V Flip"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Clear Mode"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Object Picking"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable Input"
-msgstr ""
-
-#: scene/main/viewport.cpp servers/visual_server.cpp
-msgid "Shadow Atlas"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 0"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 1"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 2"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 3"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Global Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Tooltip Delay (sec)"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Swap OK Cancel"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Layer Names"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Use hiDPI"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom Font"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp
-msgid "Mix Rate"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-msgid "Stereo"
-msgstr ""
-
-#: scene/resources/concave_polygon_shape_2d.cpp
-msgid "Segments"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Resolution"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Interval"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Underline Spacing"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Check V Adjust"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Shadow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Outline Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset X"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset Y"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow As Outline"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Selected"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Uneditable"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimum Spaces"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/world.cpp
-#: scene/resources/world_2d.cpp
-msgid "Space"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folded"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Fold"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Readonly"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Completion Lines"
-msgstr "Җәмәгать"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Max Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Slider"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tick"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Updown"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scaleborder Size"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close H Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close V Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Parent Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Toggle Hidden"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Accel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Frame"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Default Frame"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Default Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Comment Focus"
-msgstr "Җәмәгать"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Unfocused"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Normal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Select Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Collapsed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Guide Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Drop Position Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Relationship Line Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Font Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Item Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Relationship Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Guides"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Border"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Speed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Icon Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Side Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Top Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Large"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Files Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Screen Picker"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Add Preset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Hue"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Sample"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Overbright Indicator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG Icon"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Normal Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Mono Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Top"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Bottom"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Autohide"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "More"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Minor"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Major"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Fill"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Stroke"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Activity"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Pos"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Neg"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Horizontal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Vertical"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Hinting"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Override Oversampling"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Path"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Size"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Color"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Use Mipmaps"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Extra Spacing"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Char"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Data"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Background"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/sky.cpp
-msgid "Sky"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Custom FOV"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Orientation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation Degrees"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Canvas Max Layer"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/texture.cpp
-msgid "Camera Feed ID"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Ambient Light"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Contribution"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fog"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Color"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Amount"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Begin"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth End"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Min"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Max"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Tonemap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "White"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Auto Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Min Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SS Reflections"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Steps"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade In"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade Out"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Tolerance"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Roughness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SSAO"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Radius 2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Intensity 2"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Light Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "AO Channel Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Edge Sharpness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Far Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Distance"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transition"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Near Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Glow"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Levels"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "1"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "3"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "4"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "5"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "6"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "7"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bloom"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Threshold"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Luminance Cap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Scale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bicubic Upscale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Adjustments"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Brightness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Saturation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Color Correction"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Ascent"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Distance Field"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Raw Data"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Offsets"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Width"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Depth"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Data"
-msgstr ""
-
-#: scene/resources/line_shape_2d.cpp
-msgid "D"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Next Pass"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Shadow To Opacity"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Unshaded"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Lighting"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "World Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex Force sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Do Not Receive Shadows"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Disable Ambient Light"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ensure Correct Normals"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex MSDF"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Color"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use As Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Is sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Parameters"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Diffuse Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Specular Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Depth Draw Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Line Width"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Keep Scale"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow Amount"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Alpha Scissor"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Particles Anim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "H Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "V Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Metallic"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Texture Channel"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Emission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "On UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "NormalMap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Rim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Clearcoat"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Gloss"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Anisotropy"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flowmap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ambient Occlusion"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Deep Parallax"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Min Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Max Layers"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Tangent"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Binormal"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Subsurf Scatter"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Transmission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Refraction"
-msgstr ""
-
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
-msgid "Detail"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV Layer"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV1"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar Sharpness"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Proximity Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Distance Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Async Mode"
-msgstr ""
-
-#: scene/resources/mesh.cpp
-msgid "Lightmap Size Hint"
-msgstr ""
-
-#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
-msgid "Custom AABB"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "Mesh Transform"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "NavMesh Transform"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Color Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Transform Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Custom Data Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Instance Count"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Visible Instance Count"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Parsed Geometry Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Geometry Mode"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Group Name"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Climb"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Slope"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Merge Size"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Verts Per Poly"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Distance"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Low Hanging Obstacles"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Ledge Spans"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "OccluderShapeSphere Set Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Polygon Points"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Hole Points"
-msgstr ""
-
-#: scene/resources/packed_scene.cpp
-msgid "Bundled"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Trail"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Divisor"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Size Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Normal Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Count"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Random"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Curve"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Rough"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Absorbent"
-msgstr ""
-
-#: scene/resources/plane_shape.cpp
-msgid "Plane"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Flip Faces"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Mid Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Width"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Depth"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Top Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Bottom Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Left To Right"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Is Hemisphere"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Curve Step"
-msgstr ""
-
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Slips On Slope"
-msgstr ""
-
-#: scene/resources/segment_shape_2d.cpp
-msgid "A"
-msgstr ""
-
-#: scene/resources/shape_2d.cpp
-msgid "Custom Solver Bias"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind Count"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bone"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Radiance Size"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Panorama"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Top Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Horizon Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Ground"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Bottom Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Sun"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Latitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Longitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Min"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Max"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Content Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Expand Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Skew"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Radius"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Detail"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Anti Aliasing"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow Begin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow End"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Load Path"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base Texture"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Image Size"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Side"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Front"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Back"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Storage Mode"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Lossy Storage Quality"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "From"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "To"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Current Frame"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Pause"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Which Feed"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Camera Is Active"
-msgstr ""
-
-#: scene/resources/theme.cpp
-msgid "Default Font"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Output Port For Preview"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Depth Draw"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Cull"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Diffuse"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Async"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Modes"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Input Name"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Uniform Name"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid ""
-"The sampler port is connected but not used. Consider changing the source to "
-"'SamplerPort'."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for preview."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for shader."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Texture Type"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Cube Map"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Default Value Enabled"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Default Value"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Color Default"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid comparison function for that type."
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Fallback Environment"
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Scenario"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Direct Space State"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity Vector"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Linear Damp"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Angular Damp"
-msgstr ""
-
-#: scene/resources/world_2d.cpp
-msgid "Canvas"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Primary"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Initialized"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "AR"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Anchor Detection Enabled"
-msgstr ""
-
-#: servers/arvr_server.cpp
-msgid "Primary Interface"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Audio Stream"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Random Pitch"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_capture.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#: servers/audio/effects/audio_stream_generator.cpp
-msgid "Buffer Length"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice Count"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Dry"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Wet"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Delay (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Rate Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Depth (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Level dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_panner.cpp
-msgid "Pan"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Attack (µs)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Release (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Mix"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Sidechain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 1"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 2"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Feedback"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Low-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Pre Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Keep Hf Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Drive"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Post Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Resonance"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Ceiling dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Threshold dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip Ratio"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Min Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Max Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Oversampling"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "FFT Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Predelay"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Msec"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Room Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "High-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "Tap Back Pos"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Pan Pullout"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Time Pullout (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Surround"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Enable Audio Input"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Output Latency"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Threshold dB"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Time"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Video Delay Compensation (ms)"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Bus Count"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Capture Device"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Global Rate Scale"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Feed"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Is Active"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Linear"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Angular"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Time Before Sleep"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "BP Hash Table Size"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Large Object Surface Threshold In Cells"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Mass"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Inertia"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Angular Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Linear Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Gravity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Linear Velocity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Exclude"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Shape RID"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Bodies"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Areas"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion Remainder"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Point"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Normal"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Depth"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Safe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Unsafe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Physics Engine"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Center Of Mass"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Principal Inertia Axes"
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Varying may not be assigned in the '%s' function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'vertex' function may not be reassigned in "
-"'fragment' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'fragment' function may not be reassigned in "
-"'vertex' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to uniform."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Constants cannot be modified."
-msgstr ""
-
-#: servers/visual/visual_server_scene.cpp
-msgid "Spatial Partitioning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Render Loop Enabled"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "VRAM Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import BPTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import S3TC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import PVRTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Lossless Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force PNG"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "WebP Compression Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Time Rollover Secs"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Cubemap Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 0 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 1 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 2 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 3 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shadows"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Filter Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Texture Array Reflections"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "High Quality GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Irradiance Max Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Vertex Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Lambert Over Burley"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Blinn Over GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Mesh Storage"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Split Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Physical Light Attenuation"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Depth Prepass"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable For Vendors"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Anisotropic Filter Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Nearest Mipmap Filter"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Software Skinning Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Ninepatch Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "OpenGL"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Send Null"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Orphan Buffers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching In Editor"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Single Rect Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Item Commands"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Colored Vertex Format Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Scissor Area Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Items"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batch Buffer Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Item Reordering Lookahead"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flash Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Diagnose Frame"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "GLES2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Compatibility"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable Half Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Enable High Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Precision"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract Amount"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Simple PVS"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "PVS Logging"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Signals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Remove Danglers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flip Imported Portals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Occlusion Culling"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Spheres"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Polygons"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Compilation Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Simultaneous Compiles"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Log Active Async Compiles Count"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Cache Size (MB)"
-msgstr ""
diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po
deleted file mode 100644
index 9c4f11e7eb..0000000000
--- a/editor/translations/tzm.po
+++ /dev/null
@@ -1,25671 +0,0 @@
-# Central Atlas Tamazight translation of the Godot Engine editor
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
-# This file is distributed under the same license as the Godot source code.
-#
-# Hakim Oubouali <hakim.oubouali.skr@gmail.com>, 2020.
-msgid ""
-msgstr ""
-"Project-Id-Version: Godot Engine editor\n"
-"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2020-10-18 14:21+0000\n"
-"Last-Translator: Hakim Oubouali <hakim.oubouali.skr@gmail.com>\n"
-"Language-Team: Central Atlas Tamazight <https://hosted.weblate.org/projects/"
-"godot-engine/godot/tzm/>\n"
-"Language: tzm\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=n >= 2 && (n < 11 || n > 99);\n"
-"X-Generator: Weblate 4.3.1-dev\n"
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Tablet Driver"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Clipboard"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Current Screen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Exit Code"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "V-Sync Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "V-Sync Via Compositor"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Delta Smoothing"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Keep Screen On"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Min Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Max Window Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Screen Orientation"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Window"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Borderless"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Per Pixel Transparency Enabled"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp
-msgid "Fullscreen"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Maximized"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Minimized"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
-#: scene/gui/graph_node.cpp
-msgid "Resizable"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
-#: scene/gui/control.cpp scene/gui/line_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Position"
-msgstr ""
-
-#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
-#: main/main.cpp modules/gridmap/grid_map.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
-#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-msgid "Size"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Endian Swap"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Editor Hint"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Print Error Messages"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Iterations Per Second"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Target FPS"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Time Scale"
-msgstr ""
-
-#: core/bind/core_bind.cpp main/main.cpp
-msgid "Physics Jitter Fix"
-msgstr ""
-
-#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Error"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error String"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Error Line"
-msgstr ""
-
-#: core/bind/core_bind.cpp
-msgid "Result"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
-msgid "Memory"
-msgstr ""
-
-#: core/command_queue_mt.cpp core/message_queue.cpp
-#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#: servers/visual_server.cpp
-msgid "Limits"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Command Queue"
-msgstr ""
-
-#: core/command_queue_mt.cpp
-msgid "Multithreading Queue Size (KB)"
-msgstr ""
-
-#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Function"
-msgstr ""
-
-#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Data"
-msgstr ""
-
-#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-msgid "Network"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Remote FS"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Size"
-msgstr ""
-
-#: core/io/file_access_network.cpp
-msgid "Page Read Ahead"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Blocking Mode Enabled"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Connection"
-msgstr ""
-
-#: core/io/http_client.cpp
-msgid "Read Chunk Size"
-msgstr ""
-
-#: core/io/marshalls.cpp
-msgid "Object ID"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-msgid "Allow Object Decoding"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Refuse New Network Connections"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-msgid "Network Peer"
-msgstr ""
-
-#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-msgid "Root Node"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Refuse New Connections"
-msgstr ""
-
-#: core/io/networked_multiplayer_peer.cpp
-msgid "Transfer Mode"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Encode Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Input Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Output Buffer Max Size"
-msgstr ""
-
-#: core/io/packet_peer.cpp
-msgid "Stream Peer"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Big Endian"
-msgstr ""
-
-#: core/io/stream_peer.cpp
-msgid "Data Array"
-msgstr ""
-
-#: core/io/stream_peer_ssl.cpp
-msgid "Blocking Handshake"
-msgstr ""
-
-#: core/io/udp_server.cpp
-msgid "Max Pending Connections"
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-msgid "Expected a string of length 1 (a character)."
-msgstr ""
-
-#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
-#: modules/mono/glue/gd_glue.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "self can't be used because instance is null (not passed)"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid index of type %s for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid named index '%s' for base type %s"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "Invalid arguments to construct '%s'"
-msgstr ""
-
-#: core/math/expression.cpp
-msgid "On call to '%s':"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Seed"
-msgstr ""
-
-#: core/math/random_number_generator.cpp
-msgid "State"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Message Queue"
-msgstr ""
-
-#: core/message_queue.cpp
-msgid "Max Size (KB)"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: servers/audio_server.cpp
-msgid "Device"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Alt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Shift"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Control"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Meta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Command"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
-#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Pressed"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Physical Scancode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Unicode"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Echo"
-msgstr ""
-
-#: core/os/input_event.cpp scene/gui/base_button.cpp
-msgid "Button Mask"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-msgid "Global Position"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Factor"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Button Index"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Doubleclick"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Tilt"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pressure"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Relative"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
-#: scene/animation/animation_player.cpp scene/resources/environment.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: scene/3d/sprite_3d.cpp
-msgid "Axis"
-msgstr ""
-
-#: core/os/input_event.cpp
-#, fuzzy
-msgid "Axis Value"
-msgstr "Azal:"
-
-#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-msgid "Index"
-msgstr ""
-
-#: core/os/input_event.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/touch_screen_button.cpp
-msgid "Action"
-msgstr ""
-
-#: core/os/input_event.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Strength"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Delta"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Channel"
-msgstr ""
-
-#: core/os/input_event.cpp main/main.cpp
-msgid "Message"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Pitch"
-msgstr ""
-
-#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-msgid "Velocity"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Instrument"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Number"
-msgstr ""
-
-#: core/os/input_event.cpp
-msgid "Controller Value"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Application"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-msgid "Config"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Project Settings Override"
-msgstr ""
-
-#: core/project_settings.cpp core/resource.cpp
-#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
-#: editor/editor_help_search.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_profiler.cpp editor/plugins/tile_set_editor_plugin.cpp
-#: editor/project_manager.cpp editor/settings_config_dialog.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/area_2d.cpp scene/3d/area.cpp
-#: scene/3d/skeleton.cpp scene/main/node.cpp scene/resources/mesh_library.cpp
-#: scene/resources/skin.cpp
-msgid "Name"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_help.cpp
-#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Description"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
-msgid "Run"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/run_settings_dialog.cpp main/main.cpp
-msgid "Main Scene"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stdout"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Disable stderr"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Hidden Project Data Directory"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Use Custom User Dir"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Custom User Dir Name"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
-#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
-#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Width"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Test Height"
-msgstr ""
-
-#: core/project_settings.cpp editor/animation_track_editor.cpp
-#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
-msgid "Audio"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Default Bus Layout"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp
-#: editor/editor_file_system.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/script_create_dialog.cpp
-#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
-msgid "Editor"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Main Run Args"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Search In File Extensions"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Script Templates Search Path"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr ""
-
-#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
-#: scene/3d/collision_object.cpp scene/gui/control.cpp
-msgid "Input"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Accept"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Select"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Cancel"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Next"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Focus Prev"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Left"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Right"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Up"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Page Down"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI Home"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "UI End"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
-#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/main/scene_tree.cpp scene/main/viewport.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#: servers/physics/space_sw.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Physics"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp main/main.cpp
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-#: scene/3d/physics_body.cpp scene/resources/world.cpp
-#: servers/physics/space_sw.cpp servers/physics_server.cpp
-msgid "3D"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Smooth Trimesh Collision"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp
-#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Rendering"
-msgstr ""
-
-#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp
-#: modules/lightmapper_cpu/register_types.cpp scene/3d/baked_lightmap.cpp
-#: scene/main/scene_tree.cpp scene/resources/environment.cpp
-#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
-#: servers/visual_server.cpp
-msgid "Quality"
-msgstr ""
-
-#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Filters"
-msgstr ""
-
-#: core/project_settings.cpp scene/main/viewport.cpp
-msgid "Sharpen Intensity"
-msgstr ""
-
-#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/project_export.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp scene/3d/room_manager.cpp
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-#: servers/visual_server.cpp
-msgid "Debug"
-msgstr ""
-
-#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
-#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-msgid "Settings"
-msgstr ""
-
-#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Profiler"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Max Functions"
-msgstr ""
-
-#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-msgid "Compression"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Formats"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zstd"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Long Distance Matching"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Compression Level"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Window Log Size"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Zlib"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Gzip"
-msgstr ""
-
-#: core/project_settings.cpp platform/android/export/export.cpp
-msgid "Android"
-msgstr ""
-
-#: core/project_settings.cpp
-msgid "Modules"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "TCP"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Connect Timeout Seconds"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Packet Peer Stream"
-msgstr ""
-
-#: core/register_core_types.cpp
-msgid "Max Buffer (Power of 2)"
-msgstr ""
-
-#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
-msgid "SSL"
-msgstr ""
-
-#: core/register_core_types.cpp main/main.cpp
-msgid "Certificates"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_resource_picker.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource"
-msgstr ""
-
-#: core/resource.cpp
-msgid "Local To Scene"
-msgstr ""
-
-#: core/resource.cpp editor/dependency_editor.cpp
-#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/project_manager.cpp editor/project_settings_editor.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Path"
-msgstr ""
-
-#: core/script_language.cpp
-msgid "Source Code"
-msgstr ""
-
-#: core/translation.cpp editor/project_settings_editor.cpp
-msgid "Locale"
-msgstr ""
-
-#: core/translation.cpp
-msgid "Test"
-msgstr ""
-
-#: core/translation.cpp scene/resources/font.cpp
-msgid "Fallback"
-msgstr ""
-
-#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
-msgid "B"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "KiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "MiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "GiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "TiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "PiB"
-msgstr ""
-
-#: core/ustring.cpp
-msgid "EiB"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
-msgid "Buffers"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp main/main.cpp
-#: scene/2d/physics_body_2d.cpp scene/resources/world_2d.cpp
-#: servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/physics_2d/physics_2d_server_wrap_mt.h
-#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
-#: servers/visual_server.cpp
-msgid "2D"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Snapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
-#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-msgid "Use GPU Pixel Snap"
-msgstr ""
-
-#: drivers/gles2/rasterizer_scene_gles2.cpp
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Immediate Buffer Size (KB)"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Lightmapping"
-msgstr ""
-
-#: drivers/gles2/rasterizer_storage_gles2.cpp
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Use Bicubic Sampling"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Elements"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Lights"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Renderable Reflections"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Max Lights Per Object"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Subsurface Scattering"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/node_2d.cpp scene/2d/parallax_layer.cpp scene/2d/polygon_2d.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp
-#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp
-#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-msgid "Scale"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Follow Surface"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Weight Samples"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp
-msgid "Voxel Cone Tracing"
-msgstr ""
-
-#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
-msgid "High Quality"
-msgstr ""
-
-#: drivers/gles3/rasterizer_storage_gles3.cpp
-msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Free"
-msgstr "Amcix"
-
-#: editor/animation_bezier_editor.cpp
-msgid "Balanced"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Mirror"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
-msgid "Time:"
-msgstr "Akud:"
-
-#: editor/animation_bezier_editor.cpp
-msgid "Value:"
-msgstr "Azal:"
-
-#: editor/animation_bezier_editor.cpp
-msgid "Insert Key Here"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Duplicate Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Delete Selected Key(s)"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Add Bezier Point"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp
-msgid "Move Bezier Points"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr ""
-
-#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
-msgid "Anim Delete Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Frame"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#: scene/resources/particles_material.cpp servers/visual_server.cpp
-msgid "Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: platform/osx/export/export.cpp
-msgid "Location"
-msgstr ""
-
-#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
-#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-msgid "Rotation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
-msgid "Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Arg Count"
-msgstr ""
-
-#: editor/animation_track_editor.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp
-msgid "Args"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
-#: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Type"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "In Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Out Handle"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/import/resource_importer_texture.cpp
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Stream"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "End Offset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/sprite.cpp scene/3d/cpu_particles.cpp scene/3d/sprite_3d.cpp
-#: scene/animation/animation_blend_tree.cpp
-#: scene/resources/particles_material.cpp
-msgid "Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Easing"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Time"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transition"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Keyframe Value"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Multi Change Call"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Length"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation Loop"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Property Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "3D Transform Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Call Method Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier Curve Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Playback Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (frames)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation length (seconds)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation Looping"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Audio Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Clips:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Track Path"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle this track on/off."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Update Mode (How this property is set)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
-msgid "Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove this track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Toggle Track Enabled"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Continuous"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Discrete"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Trigger"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp
-msgid "Capture"
-msgstr "Amẓ"
-
-#: editor/animation_track_editor.cpp
-msgid "Nearest"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp
-msgid "Linear"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Cubic"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clamp Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Wrap Loop Interp"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add RESET Value(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Key(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Update Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Interpolation Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Loop Mode"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove Anim Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editors"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-msgid "Confirm Insert Track"
-msgstr ""
-
-#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
-#: editor/animation_track_editor.cpp
-msgid "Create NEW track for %s and insert key?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create %d NEW tracks and insert keys?"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "node '%s'"
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
-
-#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
-#: editor/animation_track_editor.cpp
-msgid "property '%s'"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Create & Insert"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Track & Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Insert Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Change Animation Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Rearrange Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"Audio tracks can only point to nodes of type:\n"
-"-AudioStreamPlayer\n"
-"-AudioStreamPlayer2D\n"
-"-AudioStreamPlayer3D"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Not possible to add a new track without a root"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Bezier Track"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track is not of type Spatial, can't insert key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Transform Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Track path is invalid, so can't add a method key."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Add Method Track Key"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Move Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp scene/2d/node_2d.cpp
-#: scene/3d/spatial.cpp scene/main/canvas_layer.cpp
-#: servers/camera/camera_feed.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Transform"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_help.cpp
-msgid "Methods"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Bezier"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Clipboard is empty!"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Paste Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Scale Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This option does not work for Bezier editing, as it's only a single track."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim Add RESET Keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid ""
-"This animation belongs to an imported scene, so changes to imported tracks "
-"will not be saved.\n"
-"\n"
-"To enable the ability to add custom tracks, navigate to the scene's import "
-"settings and set\n"
-"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom "
-"Tracks\", then re-import.\n"
-"Alternatively, use an import preset that imports animations to separate "
-"files."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Warning: Editing imported animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select an AnimationPlayer node to create and edit animations."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Only show tracks from nodes selected in tree."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Group tracks by node or display them as plain list."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Snap:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation step value."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Seconds"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp main/main.cpp
-#: scene/resources/texture.cpp
-msgid "FPS"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp
-#: editor/editor_resource_picker.cpp editor/import/resource_importer_wav.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Animation properties."
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Copy Tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale From Cursor"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Duplicate Transposed"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Delete Selection"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Next Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Go to Previous Step"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Apply Reset"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Pick the node that will be animated:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Use Bezier Curves"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Create RESET Track(s)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Anim. Optimizer"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Linear Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max. Angular Error:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Max Optimizable Angle:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Optimize"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove invalid keys"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Remove unresolved and empty tracks"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-up all animations"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Clean-Up"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Scale Ratio:"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select Tracks to Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp editor/editor_log.cpp
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
-#: editor/animation_track_editor.cpp
-msgid "Select All/None"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Add Audio Track Clip"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip Start Offset"
-msgstr ""
-
-#: editor/animation_track_editor_plugins.cpp
-msgid "Change Audio Track Clip End Offset"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Resize Array"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value Type"
-msgstr ""
-
-#: editor/array_property_edit.cpp
-msgid "Change Array Value"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Go to Line"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line Number:"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "%d replaced."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d match."
-msgstr ""
-
-#: editor/code_editor.cpp editor/editor_help.cpp
-msgid "%d matches."
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Match Case"
-msgstr ""
-
-#: editor/code_editor.cpp editor/find_in_files.cpp
-msgid "Whole Words"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Replace All"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Selection Only"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-msgid "Standard"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Toggle Scripts Panel"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom In"
-msgstr ""
-
-#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Out"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Reset Zoom"
-msgstr ""
-
-#: editor/code_editor.cpp modules/gdscript/gdscript.cpp
-msgid "Warnings"
-msgstr ""
-
-#: editor/code_editor.cpp
-msgid "Line and column numbers."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method in target node must be specified."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Method name must be a valid identifier."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Target method not found. Specify a valid method or attach a script to the "
-"target node."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Node:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect to Script:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "From Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Scene does not contain any script."
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
-#: editor/groups_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-msgid "Add"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
-#: editor/project_settings_editor.cpp
-msgid "Remove"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Add Extra Call Argument:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Extra Call Arguments:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Receiver Method:"
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/3d/room_manager.cpp
-#: servers/visual_server.cpp
-msgid "Advanced"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Deferred"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid ""
-"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
-
-#: editor/connections_dialog.cpp scene/resources/texture.cpp
-msgid "Oneshot"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnects the signal after its first emission."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Cannot connect signal"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.cpp editor/groups_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/property_editor.cpp
-#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Signal:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect '%s' to '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect all from signal: '%s'"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Disconnect"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Connect a Signal to a Method"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit Connection:"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
-msgid "Signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Filter signals"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Are you sure you want to remove all connections from this signal?"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Disconnect All"
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Edit..."
-msgstr ""
-
-#: editor/connections_dialog.cpp
-msgid "Go to Method"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Change %s Type"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/project_settings_editor.cpp
-msgid "Change"
-msgstr ""
-
-#: editor/create_dialog.cpp
-msgid "Create New %s"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "No results for \"%s\"."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/property_selector.cpp
-msgid "No description available for %s."
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp
-msgid "Favorites:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
-msgid "Recent:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Matches:"
-msgstr ""
-
-#: editor/create_dialog.cpp editor/editor_feature_profile.cpp
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Description:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies For:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Scene '%s' is currently being edited.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Resource '%s' is in use.\n"
-"Changes will only take effect when reloaded."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Broken"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Dependency Editor"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Search Replacement Resource:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Open"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"Remove the selected files from the project? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid ""
-"The files being removed are required by other resources in order for them to "
-"work.\n"
-"Remove them anyway? (Cannot be undone.)\n"
-"Depending on your filesystem configuration, the files will either be moved "
-"to the system trash or deleted permanently."
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Cannot remove:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Error loading:"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Load failed due to missing dependencies:"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_node.cpp
-msgid "Open Anyway"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Which action should be taken?"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Fix Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Errors loading!"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Show Dependencies"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Orphan Resource Explorer"
-msgstr ""
-
-#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
-#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
-msgid "Delete"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Owns"
-msgstr ""
-
-#: editor/dependency_editor.cpp
-msgid "Resources Without Explicit Ownership:"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Key"
-msgstr ""
-
-#: editor/dictionary_property_edit.cpp
-msgid "Change Dictionary Value"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Thanks from the Godot community!"
-msgstr ""
-
-#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp
-msgid "Click to copy."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Godot Engine contributors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Project Founders"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Lead Developer"
-msgstr ""
-
-#. TRANSLATORS: This refers to a job title.
-#: editor/editor_about.cpp
-msgctxt "Job Title"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Developers"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Authors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Platinum Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Mini Sponsors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Gold Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Silver Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Bronze Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Donors"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "License"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Third-party Licenses"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid ""
-"Godot Engine relies on a number of third-party free and open source "
-"libraries, all compatible with the terms of its MIT license. The following "
-"is an exhaustive list of all such third-party components with their "
-"respective copyright statements and license terms."
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "All Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Components"
-msgstr ""
-
-#: editor/editor_about.cpp
-msgid "Licenses"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "%s (already exists)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Contents of asset \"%s\" - No files conflict with your project:"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Uncompressing Assets"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "The following files failed extraction from asset \"%s\":"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "(and %s more files)"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset \"%s\" installed successfully!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Success!"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp editor/editor_node.cpp
-msgid "Install"
-msgstr ""
-
-#: editor/editor_asset_installer.cpp
-msgid "Asset Installer"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Speakers"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Rename Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Change Audio Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Toggle Audio Bus Bypass Effects"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Select Audio Bus Send"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Bus Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Drag & drop to rearrange."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Solo"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Mute"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bypass"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Bus Options"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Effect"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Master bus can't be deleted!"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Delete Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Duplicate Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Reset Bus Volume"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Move Audio Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save Audio Bus Layout As..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Location for New Layout..."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Open Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "There is no '%s' file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Invalid file, not an audio bus layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Error saving file: %s"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add Bus"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Add a new Audio Bus to this layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Load"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load an existing Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save As"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Save this Bus Layout to a file."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp editor/import_dock.cpp
-msgid "Load Default"
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Load the default Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Create a new Bus Layout."
-msgstr ""
-
-#: editor/editor_audio_buses.cpp
-msgid "Audio Bus Layout"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Invalid name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Cannot begin with a digit."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Valid characters:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing engine class name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing built-in type name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing global constant name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Keyword cannot be used as an autoload name."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp
-#: modules/gdscript/gdscript.cpp platform/android/export/export_plugin.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/3d/reflection_probe.cpp scene/main/canvas_layer.cpp
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Enable"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Can't add autoload:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. File does not exist."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "%s is an invalid path. Not in resource path (res://)."
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Path:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Node Name:"
-msgstr ""
-
-#: editor/editor_autoload_settings.cpp
-msgid "Global Variable"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating Scene"
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Storing local changes..."
-msgstr ""
-
-#: editor/editor_data.cpp
-msgid "Updating scene..."
-msgstr ""
-
-#: editor/editor_data.cpp editor/editor_resource_picker.cpp
-msgid "[empty]"
-msgstr ""
-
-#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp
-#: editor/plugins/text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "[unsaved]"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Please select a base directory first."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose a Directory"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Create Folder"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#: editor/script_create_dialog.cpp
-#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp
-msgid "Name:"
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
-#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp
-msgid "Could not create folder."
-msgstr ""
-
-#: editor/editor_dir_dialog.cpp
-msgid "Choose"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Storing File:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No export template found at the expected path:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Packing"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
-"Etc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' texture compression for GLES3. Enable "
-"'Import Etc 2' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for GLES2. Enable "
-"'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. "
-"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid ""
-"Target platform requires 'PVRTC' texture compression for the driver fallback "
-"to GLES2.\n"
-"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback "
-"Enabled'."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom Template"
-msgstr ""
-
-#: editor/editor_export.cpp editor/project_export.cpp
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Release"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Binary Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "64 Bits"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Embed PCK"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "Texture Format"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "BPTC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "S3TC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC"
-msgstr ""
-
-#: editor/editor_export.cpp platform/osx/export/export.cpp
-msgid "ETC2"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "No BPTC Fallbacks"
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom debug template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-msgid "Custom release template not found."
-msgstr ""
-
-#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
-msgstr ""
-
-#: editor/editor_export.cpp
-msgid "Convert Text Resources To Binary On Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "3D Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Script Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Asset Library"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Scene Tree Editing"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Node Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "FileSystem Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Dock"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to view and edit 3D scenes."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to edit scripts using the integrated script editor."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Provides built-in access to the Asset Library."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows editing the node hierarchy in the Scene dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to work with signals and groups of the node selected in the Scene "
-"dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Allows to browse the local file system via a dedicated dock."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Allows to configure import settings for individual assets. Requires the "
-"FileSystem dock to function."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(current)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(none)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove currently selected profile, '%s'? Cannot be undone."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Profile with this name already exists."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Properties Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "(Editor Disabled)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enable Contextual Editor"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Class Properties:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Main Features:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Nodes and Classes:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "File '%s' format is invalid, import aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid ""
-"Profile '%s' already exists. Remove it first before importing, import "
-"aborted."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Error saving profile to path: '%s'."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Reset to Default"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Current Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Remove Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Available Profiles:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Make Current"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/editor_node.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Import"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Configure Selected Profile:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Extra Options:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Create or import a profile to edit available classes and properties."
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "New profile name:"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Godot Feature Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Import Profile(s)"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Export Profile"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Manage Editor Feature Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Default Feature Profile"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select Current Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "File exists, overwrite?"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Select This Folder"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Copy Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "Open in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/project_manager.cpp
-msgid "Show in File Manager"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "New Folder..."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/find_in_files.cpp
-msgid "Refresh"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Recognized"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "All Files (*)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open File(s)"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Open a File or Directory"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/editor_resource_picker.cpp editor/import_defaults_editor.cpp
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "Save"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Save a File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Access"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-msgid "Display Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/csg/csg_shape.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/light_2d.cpp scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/light.cpp scene/3d/physics_body.cpp
-#: scene/gui/control.cpp scene/gui/file_dialog.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Dir"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current File"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Current Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#: scene/gui/file_dialog.cpp
-msgid "Show Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Disable Overwrite Warning"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Back"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Forward"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Hidden Files"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Toggle Favorite"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/editor_resource_picker.cpp
-#: scene/gui/base_button.cpp
-msgid "Toggle Mode"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Focus Path"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Up"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Move Favorite Down"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to previous folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "Go to next folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Go to parent folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Refresh files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-msgid "(Un)favorite current folder."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Toggle the visibility of hidden files."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "View items as a list."
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Directories & Files:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
-#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp
-msgid "Preview:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp
-msgid "File:"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "ScanSources"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid ""
-"There are multiple importers for different types pointing to file %s, import "
-"aborted"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "(Re)Importing Assets"
-msgstr ""
-
-#: editor/editor_file_system.cpp
-msgid "Reimport Missing Imported Files"
-msgstr ""
-
-#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Top"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Class:"
-msgstr ""
-
-#: editor/editor_help.cpp editor/scene_tree_editor.cpp
-#: editor/script_create_dialog.cpp
-msgid "Inherits:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Inherited by:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Properties"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "overrides %s:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "default:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Theme Properties"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/gradient.cpp
-msgid "Colors"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constants"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Fonts"
-msgstr ""
-
-#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Icons"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Styles"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Enumerations"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Property Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "(value)"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this property. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Method Descriptions"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid ""
-"There is currently no description for this method. Please help us by "
-"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_settings.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript_editor.cpp
-msgid "Text Editor"
-msgstr ""
-
-#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Help"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Sort Functions Alphabetically"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Help"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Case Sensitive"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Show Hierarchy"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Display All"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Classes Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Methods Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Signals Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Constants Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Properties Only"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Member Type"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Class"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Method"
-msgstr ""
-
-#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Signal"
-msgstr ""
-
-#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Constant"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Property"
-msgstr ""
-
-#: editor/editor_help_search.cpp
-msgid "Theme Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
-msgid "Property:"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-msgid "Label"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Read Only"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-msgid "Checkable"
-msgstr ""
-
-#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Draw Red"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Keying"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid ""
-"Pinning a value forces it to be saved even if it's equal to the default."
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Set %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Set Multiple:"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Pinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Unpinned %s"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Paste Property"
-msgstr ""
-
-#: editor/editor_inspector.cpp
-msgid "Copy Property Path"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Output:"
-msgstr ""
-
-#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Copy Selection"
-msgstr ""
-
-#: editor/editor_log.cpp editor/editor_network_profiler.cpp
-#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/property_editor.cpp editor/scene_tree_dock.cpp
-#: editor/script_editor_debugger.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Clear"
-msgstr ""
-
-#: editor/editor_log.cpp
-msgid "Clear Output"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: editor/editor_profiler.cpp
-msgid "Stop"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
-#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
-msgid "Start"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "%s/s"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Down"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Up"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp editor/editor_node.cpp
-#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Incoming RSET"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RPC"
-msgstr ""
-
-#: editor/editor_network_profiler.cpp
-msgid "Outgoing RSET"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "New Window"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Unnamed Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Spins when the editor window redraws.\n"
-"Update Continuously is enabled, which can increase power usage. Click to "
-"disable it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Spins when the editor window redraws."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Imported resources can't be saved."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Error saving resource!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource can't be saved because it does not belong to the edited scene. "
-"Make it unique first."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save Resource As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't open file for writing:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Requested file format unknown:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while saving."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while parsing '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unexpected end of file '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Missing '%s' or its dependencies."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error while loading '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Saving Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Analyzing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Creating Thumbnail"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a tree root."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene can't be saved because there is a cyclic instancing inclusion.\n"
-"Please resolve it and then attempt to save again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
-"be satisfied."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not save one or more scenes!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save All Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp editor/scene_tree_dock.cpp
-msgid "Can't overwrite scene that is still open!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load MeshLibrary for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving MeshLibrary!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't load TileSet for merging!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Error saving TileSet!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"An error occurred while trying to save the editor layout.\n"
-"Make sure the editor's user data path is writable."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Default editor layout overridden.\n"
-"To restore the Default layout to its base settings, use the Delete Layout "
-"option and delete the Default layout."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Layout name not found!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restored the Default layout to its base settings."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was imported, so it's not editable.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource belongs to a scene that was instanced or inherited.\n"
-"Changes to it won't be kept when saving the current scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This resource was imported, so it's not editable. Change its settings in the "
-"import panel and then re-import."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This scene was imported, so changes to it won't be kept.\n"
-"Instancing it or inheriting will allow making changes to it.\n"
-"Please read the documentation relevant to importing scenes to better "
-"understand this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This is a remote object, so changes to it won't be kept.\n"
-"Please read the documentation relevant to debugging to better understand "
-"this workflow."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "There is no defined scene to run."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save scene before running..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Could not start subprocess!"
-msgstr ""
-
-#: editor/editor_node.cpp editor/filesystem_dock.cpp
-msgid "Open Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Base Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Open Script..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Reload"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Close"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to '%s' before closing?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%s no longer exists! Please specify a new save location."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has no root node, but %d modified external resource(s) "
-"were saved anyway."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"A root node is required to save the scene. You can add a root node using the "
-"Scene tree dock."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene As..."
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "This operation can't be done without a scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Mesh Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a root node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export Tile Set"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "This operation can't be done without a selected node."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Current scene not saved. Open anyway?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't undo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to undo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't redo while mouse buttons are pressed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Nothing to redo."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Redo: %s"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Can't reload a scene that was never saved."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Saved Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The current scene has unsaved changes.\n"
-"Reload the saved scene anyway? This action cannot be undone."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quick Run Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Yes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Exit the editor?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before reloading?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save & Quit"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before quitting?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save changes to the following scene(s) before opening Project Manager?"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This option is deprecated. Situations where refresh must be forced are now "
-"considered a bug. Please report."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pick a Main Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reopen Closed Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s'."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s'. This might be due to a code "
-"error in that script.\n"
-"Disabling the addon at '%s' to prevent further errors."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Scene '%s' was automatically imported, so it can't be modified.\n"
-"To make changes to it, a new inherited scene can be created."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to "
-"open the scene, then save it inside the project path."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene '%s' has broken dependencies:"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Clear Recent Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"No main scene has ever been defined, select one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' does not exist, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Selected scene '%s' is not a scene file, select a valid one?\n"
-"You can change it later in \"Project Settings\" under the 'application' "
-"category."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Delete Layout"
-msgstr ""
-
-#: editor/editor_node.cpp editor/import_dock.cpp
-#: editor/script_create_dialog.cpp
-msgid "Default"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_resource_picker.cpp
-#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-msgid "Show in FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play This Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Undo Close Tab"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Close Other Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close Tabs to the Right"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Close All Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Switch Scene Tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files or folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more folders"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "%d more files"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"Unable to write to file '%s', file in use, locked or lacking permissions."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#: servers/arvr/arvr_interface.cpp
-msgid "Interface"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Scene Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Always Show Close Button"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Resize If Many Tabs"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Minimum Width"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Output"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Clear Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Open Output On Play"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Always Close Output On Stop"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save On Focus Loss"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Save Each Scene On Quit"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Quit Confirmation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Show Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Continuously"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Only"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Localize Settings"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Restore Scenes On Load"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Show Thumbnail On Hover"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Property Name Style"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Float Step"
-msgstr ""
-
-#: editor/editor_node.cpp scene/gui/tree.cpp
-msgid "Disable Folding"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Auto Unfold Foreign Scenes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector2 Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Horizontal Vector Types Editing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Resources In Current Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Resources To Open In New Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Default Color Picker Mode"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Username"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Public Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Private Key Path"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Dock Position"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_plugin.cpp
-msgid "Distraction Free Mode"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle distraction-free mode."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Add a new scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to previously opened scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Text"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Next tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Previous tab"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Filter Files..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Operations with scene files."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Scene..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Open Recent"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Convert To..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "MeshLibrary..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "TileSet..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Undo"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Redo"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Miscellaneous project or scene-wide tools."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-#: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp
-msgid "Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Project Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-msgid "Set Up Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Shut Down Version Control"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Export..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install Android Build Template..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open User Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tools"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Orphan Resource Explorer..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Reload Current Project"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Quit to Project List"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Deploy with Remote Debug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy will make the executable "
-"attempt to connect to this computer's IP so the running project can be "
-"debugged.\n"
-"This option is intended to be used for remote debugging (typically with a "
-"mobile device).\n"
-"You don't need to enable it to use the GDScript debugger locally."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Small Deploy with Network Filesystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, using one-click deploy for Android will only "
-"export an executable without the project data.\n"
-"The filesystem will be provided from the project by the editor over the "
-"network.\n"
-"On Android, deploying will use the USB cable for faster performance. This "
-"option speeds up testing for projects with large assets."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Collision Shapes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, collision shapes and raycast nodes (for 2D and "
-"3D) will be visible in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Visible Navigation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, navigation meshes and polygons will be visible "
-"in the running project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Force Shader Fallbacks"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, shaders will be used in their fallback form "
-"(either visible via an ubershader or hidden) during all the run time.\n"
-"This is useful for verifying the look and performance of fallbacks, which "
-"are normally displayed briefly.\n"
-"Asynchronous shader compilation must be enabled in the project settings for "
-"this option to make a difference."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Scene Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any changes made to the scene in the editor "
-"will be replicated in the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Synchronize Script Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"When this option is enabled, any script that is saved will be reloaded in "
-"the running project.\n"
-"When used remotely on a device, this is more efficient when the network "
-"filesystem option is enabled."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Settings..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Editor Layout"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Take Screenshot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Toggle Fullscreen"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data/Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Data Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Editor Settings Folder"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Editor Features..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Export Templates..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Online Documentation"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Questions & Answers"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Report a Bug"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Suggest a Feature"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Send Docs Feedback"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
-msgid "Community"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "About Godot"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Support Godot Development"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the project."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause the scene execution for debugging."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Pause Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Stop the scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play the edited scene."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play custom scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Play Custom Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changing the video driver requires restarting the editor."
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_settings_editor.cpp
-#: editor/settings_config_dialog.cpp
-msgid "Save & Restart"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update All Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Vital Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Hide Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp editor/editor_settings.cpp
-#: editor/fileserver/editor_file_server.cpp
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FileSystem"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Expand Bottom Panel"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Don't Save"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Android build template is missing, please install relevant templates."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Manage Templates"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Install from file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select android sources file"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"This will set up your project for custom Android builds by installing the "
-"source template to \"res://android/build\".\n"
-"You can then apply modifications and build your own custom APK on export "
-"(adding modules, changing the AndroidManifest.xml, etc.).\n"
-"Note that in order to make custom builds instead of using pre-built APKs, "
-"the \"Use Custom Build\" option should be enabled in the Android export "
-"preset."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The Android build template is already installed in this project and it won't "
-"be overwritten.\n"
-"Remove the \"res://android/build\" directory manually before attempting this "
-"operation again."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Import Templates From ZIP File"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Template Package"
-msgstr ""
-
-#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Merge With Existing"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Apply MeshInstance Transforms"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open & Run a Script"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Reload"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Resave"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "New Inherited"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load Errors"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Select"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Select Current"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 2D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open 3D Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open Script Editor"
-msgstr ""
-
-#: editor/editor_node.cpp editor/project_manager.cpp
-msgid "Open Asset Library"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the next Editor"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open the previous Editor"
-msgstr ""
-
-#: editor/editor_node.h
-msgid "Warning!"
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "No sub-resources found."
-msgstr ""
-
-#: editor/editor_path.cpp
-msgid "Open a list of sub-resources."
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Creating Mesh Previews"
-msgstr ""
-
-#: editor/editor_plugin.cpp
-msgid "Thumbnail..."
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Main Script:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Edit Plugin"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Update"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Version"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-msgid "Author"
-msgstr ""
-
-#: editor/editor_plugin_settings.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Measure:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Average Time (ms)"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Physics Frame %"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Inclusive"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Self"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid ""
-"Inclusive: Includes time from other functions called by this function.\n"
-"Use this to spot bottlenecks.\n"
-"\n"
-"Self: Only count the time spent in the function itself, not in other "
-"functions called by that function.\n"
-"Use this to find individual functions to optimize."
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Frame #:"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Calls"
-msgstr ""
-
-#: editor/editor_profiler.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Debugger"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame History Size"
-msgstr ""
-
-#: editor/editor_profiler.cpp
-msgid "Profiler Frame Max Functions"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Edit Text:"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/script_create_dialog.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On"
-msgstr ""
-
-#: editor/editor_properties.cpp modules/gridmap/grid_map.cpp
-#: scene/2d/collision_object_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Layer"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Bit %d, value %d"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
-msgid "Assign..."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid "Invalid RID"
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on resources saved as a file.\n"
-"Resource needs to belong to a scene."
-msgstr ""
-
-#: editor/editor_properties.cpp
-msgid ""
-"Can't create a ViewportTexture on this resource because it's not set as "
-"local to scene.\n"
-"Please switch on the 'local to scene' property on it (and all resources "
-"containing it up to a node)."
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/editor_properties.cpp editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid ""
-"The selected resource (%s) does not match any type expected for this "
-"property (%s)."
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Quick Load"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
-#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "Convert to %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/plugins/theme_editor_plugin.cpp
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Base Type"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Edited Resource"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
-#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-msgid "Editable"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-msgid "New Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp
-msgid "Extend Script"
-msgstr ""
-
-#: editor/editor_resource_picker.cpp
-msgid "Script Owner"
-msgstr ""
-
-#: editor/editor_run_native.cpp
-msgid ""
-"No runnable export preset found for this platform.\n"
-"Please add a runnable preset in the Export menu or define an existing preset "
-"as runnable."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Write your logic in the _run() method."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "There is an edited scene already."
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't instance script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the 'tool' keyword?"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Couldn't run script:"
-msgstr ""
-
-#: editor/editor_run_script.cpp
-msgid "Did you forget the '_run' method?"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor Language"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Display Scale"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Antialiased"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Hinting"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Main Font Bold"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Font"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Dim Editor On Dialog Popup"
-msgstr ""
-
-#: editor/editor_settings.cpp main/main.cpp
-msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Separate Distraction Mode"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Automatically Open Screenshots"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Max Array Dictionary Items Per Page"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
-#: scene/register_scene_types.cpp
-msgid "Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/import_dock.cpp
-msgid "Preset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Icon And Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Accent Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/environment.cpp
-msgid "Contrast"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Relationship Line Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Highlight Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Border Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Graph Node Headers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Additional Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Custom Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Script Button"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Directories"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autoscan Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Project Path"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Compress Binary Resources"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Safe Save On Backup Then Rename"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "File Dialog"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Thumbnail Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Docks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scene Tree"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Start Create Dialog Fully Expanded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Always Show Folders"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Property Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Refresh Interval"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Subresource Hue Tint"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Color Theme"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/3d/label_3d.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Spacing"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Syntax Highlighting"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight All Occurrences"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Highlight Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Highlight Type Safe Lines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-msgid "Auto Indent"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Convert Indent On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Tabs"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Draw Spaces"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
-msgid "Navigation"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Smooth Scrolling"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "V Scroll Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Minimap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Appearance"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-msgid "Show Line Numbers"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Numbers Zero Padded"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Bookmark Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Breakpoint Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Info Gutter"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Folding"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Word Wrap"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Line Length Guidelines"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Soft Column"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Hard Column"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Script List"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Members Overview"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Files"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Trim Trailing Whitespace On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Autosave Interval Secs"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Restore Scripts On Load"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Reload Scripts On External Change"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Create Signal Callbacks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sort Members Outline Alphabetically"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Cursor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll Past End Of File"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Block Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Caret Blink Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Right Click Moves Caret"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
-#: modules/gdscript/gdscript_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Idle Parse Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Brace Complete"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Code Complete Delay"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Callhint Tooltip Offset"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Complete File Paths"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-msgid "Add Type Hints"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Use Single Quotes"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Show Help Index"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Source Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Help Title Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Grid Map"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Preview Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Secondary Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Selection Box Color"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "3D Gizmos"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Gizmo Colors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Instanced"
-msgstr ""
-
-#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/physics_body.cpp
-msgid "Joint"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/collision_shape.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/occluder.cpp scene/3d/spring_arm.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Shape"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Primary Grid Steps"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Max"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Min"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid Division Level Bias"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid XY Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Grid YZ Plane"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default FOV"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Near"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Z Far"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert Y Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Invert X Axis"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Style"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate Numpad"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Emulate 3 Button Mouse"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-msgid "Warped Mouse Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Navigation Feel"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Orbit Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Translation Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Zoom Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Freelook"
-msgstr "Amcix"
-
-#: editor/editor_settings.cpp
-msgid "Freelook Navigation Scheme"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Sensitivity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Inertia"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Base Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Activation Modifier"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Freelook Speed Zoom Link"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-msgid "Grid Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Guides Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Smart Snapping Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Width"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 1"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Color 2"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone IK Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Bone Outline Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Viewport Border Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Constrain Editor View"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Simple Panning"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Scroll To Pan"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Pan Speed"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Poly Editor"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Point Grab Radius"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Previous Outline"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-msgid "Autorename Animation Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Bezier Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Default Create Reset Tracks"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Past Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Onion Layers Future Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Visual Editors"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Minimap Opacity"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Window Placement"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/control.cpp
-msgid "Rect"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Rect Custom Position"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
-msgid "Screen"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Auto Save"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Save Before Running"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Font Size"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Host"
-msgstr ""
-
-#: editor/editor_settings.cpp
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Remote Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Editor SSL Certificates"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "HTTP Proxy"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Host"
-msgstr ""
-
-#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Project Manager"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Sorting Order"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Symbol Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Control Flow Keyword Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Base Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Engine Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "User Type Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Comment Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "String Color"
-msgstr ""
-
-#: editor/editor_settings.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Existing Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Completion Font Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Safe Line Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Caret Background Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Text Selected Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Selection Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Brace Mismatch Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Current Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Line Length Guideline Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Word Highlighted Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Number Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Function Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Member Variable Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Mark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Bookmark Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Executing Line Color"
-msgstr ""
-
-#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Code Folding Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Color"
-msgstr ""
-
-#: editor/editor_settings.cpp
-msgid "Search Result Border Color"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hold %s to round to integers. Hold Shift for more precise changes."
-msgstr ""
-
-#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-msgid "Flat"
-msgstr ""
-
-#: editor/editor_spin_slider.cpp
-msgid "Hide Slider"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Select Node(s) to Import"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp editor/project_manager.cpp
-msgid "Browse"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Scene Path:"
-msgstr ""
-
-#: editor/editor_sub_scene.cpp
-msgid "Import From Node:"
-msgstr ""
-
-#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
-#: editor/editor_vcs_interface.cpp
-msgid "%s Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall these templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "There are no mirrors available."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Retrieving the mirror list..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Starting the download..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error requesting URL:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connecting to the mirror..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't resolve the requested address."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't connect to the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No response from the mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request ended up in a redirect loop."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Request failed:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download complete; extracting templates..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cannot remove temporary file:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Templates installation failed.\n"
-"The problematic templates archives can be found at '%s'."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error getting the list of mirrors."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Best available mirror"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"No download links found for this version. Direct download is only available "
-"for official releases."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Disconnected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Resolving"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Resolve"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connecting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't Connect"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connected"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Requesting..."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Downloading"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Connection Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "SSL Handshake Error"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Can't open the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside the export templates file: %s."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "No version.txt found inside the export templates file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Error creating path for extracting templates:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Extracting Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Importing:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Remove templates for the version '%s'?"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uncompressing Android Build Sources"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export Template Manager"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Current Version:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are missing. Download them or install from a file."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Export templates are installed and ready to be used."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open Folder"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open the folder containing installed templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall templates for the current version."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download from:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Open in Web Browser"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Copy Mirror URL"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Download and Install"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"Download and install templates for the current version from the best "
-"possible mirror."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Official export templates aren't available for development builds."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install from File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Install templates from a local file."
-msgstr ""
-
-#: editor/export_template_manager.cpp editor/find_in_files.cpp
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Cancel the download of the templates."
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Other Installed Versions:"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Uninstall Template"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Select Template File"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid "Godot Export Templates"
-msgstr ""
-
-#: editor/export_template_manager.cpp
-msgid ""
-"The templates will continue to download.\n"
-"You may experience a short editor freeze when they finish."
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-msgid "File Server"
-msgstr ""
-
-#: editor/fileserver/editor_file_server.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Password"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Status: Import of file failed. Please fix file and reimport manually."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Importing has been disabled for this file, so it can't be opened for editing."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move/rename resources root."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Cannot move a folder into itself."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error moving:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Error duplicating:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Unable to update dependencies:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
-msgid "No name provided."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Provided name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "A file or folder with this name already exists."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Name contains invalid characters."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"This file extension is not recognized by the editor.\n"
-"If you want to rename it anyway, use your operating system's file manager.\n"
-"After renaming to an unknown extension, the file won't be shown in the "
-"editor anymore."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"The following files or folders conflict with items in the target location "
-"'%s':\n"
-"\n"
-"%s\n"
-"\n"
-"Do you wish to overwrite them?"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Renaming folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating file:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Duplicating folder:"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Inherited Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Set As Main Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Open Scenes"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Instance"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Add to Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Remove from Favorites"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Edit Dependencies..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "View Owners..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move To..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Scene..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "New Script..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "New Resource..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Expand All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Collapse All"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Name (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Ascending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Type (Descending)"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by Last Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Sort by First Modified"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Rename..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Focus the search box"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Previous Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Next Folder/File"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Re-Scan Filesystem"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Toggle Split Mode"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Search files"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid ""
-"Scanning Files,\n"
-"Please Wait..."
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Move"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/project_manager.cpp editor/rename_dialog.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Rename"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Overwrite"
-msgstr ""
-
-#: editor/filesystem_dock.cpp
-msgid "Create Scene"
-msgstr ""
-
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Find in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find:"
-msgstr ""
-
-#: editor/find_in_files.cpp editor/rename_dialog.cpp
-msgid "Replace:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Folder:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Filters:"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid ""
-"Include the files with the following extensions. Add or remove them in "
-"ProjectSettings."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
-
-#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Replace in Files"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace All (NO UNDO)"
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Searching..."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d match in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d file."
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "%d matches in %d files."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Add to Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Remove from Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group name already exists."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Invalid group name."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Rename Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Delete Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/node_dock.cpp
-msgid "Groups"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes Not in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Nodes in Group"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Empty groups will be automatically removed."
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Group Editor"
-msgstr ""
-
-#: editor/groups_editor.cpp
-msgid "Manage Groups"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Collada"
-msgstr ""
-
-#: editor/import/editor_import_collada.cpp
-msgid "Use Ambient"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-msgid "Create From"
-msgstr ""
-
-#: editor/import/resource_importer_bitmask.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Threshold"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_scene.cpp
-#: editor/import/resource_importer_texture.cpp
-#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-msgid "Compress"
-msgstr ""
-
-#: editor/import/resource_importer_csv_translation.cpp
-msgid "Delimiter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "ColorCorrect"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "No BPTC If RGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/material.cpp scene/resources/particles_material.cpp
-#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
-msgid "Flags"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
-#: scene/resources/texture.cpp
-msgid "Repeat"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Filter"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Mipmaps"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "Anisotropic"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: editor/import/resource_importer_texture.cpp
-msgid "sRGB"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-msgid "Slices"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Horizontal"
-msgstr ""
-
-#: editor/import/resource_importer_layered_texture.cpp
-#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
-#: scene/resources/style_box.cpp
-msgid "Vertical"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Generate Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Scale Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Offset Mesh"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-#: editor/import/resource_importer_scene.cpp
-msgid "Octahedral Compression"
-msgstr ""
-
-#: editor/import/resource_importer_obj.cpp
-msgid "Optimize Mesh Flags"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Single Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import with Separate Objects+Materials+Animations"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Import as Multiple Scenes+Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#: scene/3d/physics_joint.cpp
-msgid "Nodes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Type"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Name"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Root Scale"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Custom Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-msgid "Storage"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Legacy Names"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Materials"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep On Reimport"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Meshes"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Ensure Tangents"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Light Baking"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Lightmap Texel Size"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-msgid "Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Use Named Skins"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "External Files"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Store In Subdir"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Filter Script"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Keep Custom Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Optimizer"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
-#: modules/mono/mono_gd/gd_mono.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp scene/2d/camera_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/navigation_polygon.cpp scene/2d/ray_cast_2d.cpp scene/2d/sprite.cpp
-#: scene/2d/y_sort.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/baked_lightmap.cpp scene/3d/interpolated_camera.cpp
-#: scene/3d/light.cpp scene/3d/navigation_mesh_instance.cpp
-#: scene/3d/physics_joint.cpp scene/3d/ray_cast.cpp scene/3d/skeleton.cpp
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Enabled"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Linear Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Max Angular Error"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#, fuzzy
-msgid "Max Angle"
-msgstr "Azal:"
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Remove Unused Tracks"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Clips"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/particles.cpp scene/resources/environment.cpp
-msgid "Amount"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import Scene"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Importing Scene..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating Lightmaps"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Running Custom Script..."
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Couldn't load post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Invalid/broken script for post-import (check console):"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Error running post-import script:"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Did you return a Node-derived object in the `post_import()` method?"
-msgstr ""
-
-#: editor/import/resource_importer_scene.cpp
-msgid "Saving..."
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "2D Pixel"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
-msgid "Lossy Quality"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "HDR Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "BPTC LDR"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
-#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
-msgid "Normal Map"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Process"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Fix Alpha Border"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Premult Alpha"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Hdr As Srgb"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Invert Color"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Normal Map Invert Y"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Size Limit"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "Detect 3D"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid "SVG"
-msgstr ""
-
-#: editor/import/resource_importer_texture.cpp
-msgid ""
-"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
-"texture will not display correctly on PC."
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Atlas File"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Import Mode"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Crop To Region"
-msgstr ""
-
-#: editor/import/resource_importer_texture_atlas.cpp
-msgid "Trim Alpha Border From Region"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-msgid "Force"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "8 Bit"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp main/main.cpp
-#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Mono"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#, fuzzy
-msgid "Max Rate"
-msgstr "Azal:"
-
-#: editor/import/resource_importer_wav.cpp
-#, fuzzy
-msgid "Max Rate Hz"
-msgstr "Azal:"
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Trim"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-msgid "Normalize"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Mode"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop Begin"
-msgstr ""
-
-#: editor/import/resource_importer_wav.cpp
-#: scene/resources/audio_stream_sample.cpp
-msgid "Loop End"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Select Importer"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Importer:"
-msgstr ""
-
-#: editor/import_defaults_editor.cpp
-msgid "Reset to Defaults"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Keep File (No Import)"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "%d Files"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Set as Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Clear Default for '%s'"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Reimport"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"You have pending changes that haven't been applied yet. Click Reimport to "
-"apply changes made to the import options.\n"
-"Selecting another resource in the FileSystem dock without clicking Reimport "
-"first will discard changes made in the Import dock."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Import As:"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Save Scenes, Re-Import, and Restart"
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid "Changing the type of an imported file requires editor restart."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"WARNING: Assets exist that use this resource, they may stop loading properly."
-msgstr ""
-
-#: editor/import_dock.cpp
-msgid ""
-"Select a resource file in the filesystem or in the inspector to adjust "
-"import settings."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Property Name Style"
-msgstr ""
-
-#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
-msgid "Raw"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Capitalized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localized"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Localization not available for current language."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Paste Properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Extra resource options."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Edit Resource from Clipboard"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Make Resource Built-In"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Open documentation for this object."
-msgstr ""
-
-#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp
-msgid "Open Documentation"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Filter properties"
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Manage object properties."
-msgstr ""
-
-#: editor/inspector_dock.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
-#: editor/multi_node_edit.cpp
-msgid "MultiNode Set"
-msgstr ""
-
-#: editor/node_dock.cpp
-msgid "Select a single node to edit its signals and groups."
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Edit a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Create a Plugin"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Plugin Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Subfolder:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Author:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Version:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp
-msgid "Language:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Script Name:"
-msgstr ""
-
-#: editor/plugin_config_dialog.cpp
-msgid "Activate now?"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid ""
-"Edit points.\n"
-"LMB: Move Point\n"
-"RMB: Erase Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Erase points."
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Insert Point"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Edit Polygon (Remove Point)"
-msgstr ""
-
-#: editor/plugins/abstract_polygon_2d_editor.cpp
-msgid "Remove Polygon And Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Add %s"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Load..."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Move Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Change BlendSpace1D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "This type of node can't be used. Only root nodes are allowed."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Animation Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Remove BlendSpace1D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-msgid "Move BlendSpace1D Node Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"AnimationTree is inactive.\n"
-"Activate to enable playback, check node warnings if activation fails."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Set the blending position within the space"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Select and move points, create points with RMB."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
-msgid "Enable snap and show grid."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Open Editor"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_1d_editor.cpp
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Open Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Triangle already exists."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Add Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Limits"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Change BlendSpace2D Labels"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Point"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Remove BlendSpace2D Triangle"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "BlendSpace2D does not belong to an AnimationTree node."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "No triangles exist, so no blending can take place."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Toggle Auto Triangles"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Create triangles by connecting points."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Erase points and triangles."
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-msgid "Generate blend triangles automatically (instead of manually)"
-msgstr ""
-
-#: editor/plugins/animation_blend_space_2d_editor.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Parameter Changed:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Output node can't be added to the blend tree."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Add Node to BlendTree"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Node Moved"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Unable to connect, port may be in use or connection may be invalid."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Connected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Nodes Disconnected"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Set Animation"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Node"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Toggle Filter On/Off"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Change Filter"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "No animation player set, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Player path set is invalid, so unable to retrieve track names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid ""
-"Animation player has no valid root node path, so unable to retrieve track "
-"names."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Anim Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Audio Clips"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Functions"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Renamed"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node..."
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Edit Filtered Tracks:"
-msgstr ""
-
-#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-msgid "Enable Filtering"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Toggle Autoplay"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "New Anim"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Animation?"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Remove Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Invalid animation name!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation name already exists!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Duplicate Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Next Changed"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Change Blend Time"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "No animation resource on clipboard!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pasted Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from current pos. (A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Stop animation playback. (S)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from start. (Shift+D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Play selected animation from current pos. (D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation position (in seconds)."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Scale animation playback globally for the node."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "New"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Paste As Reference"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Transitions..."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Open in Inspector"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Enable Onion Skinning"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Onion Skinning Options"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Directions"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Past"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Future"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/3d/collision_polygon.cpp scene/main/scene_tree.cpp
-#: scene/resources/material.cpp scene/resources/primitive_meshes.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Depth"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "1 step"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "2 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "3 steps"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Differences Only"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Force White Modulate"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Include Gizmos (3D)"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Pin AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Name:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-msgid "Error!"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Blend Times:"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Next (Auto Queue):"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Cross-Animation Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Move Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition exists!"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Add Transition"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Immediate"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/animation/animation_blend_tree.cpp
-msgid "Sync"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "At End"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Travel"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Start and end nodes are needed for a sub-transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "No playback resource set at path: %s."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Node Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition Removed"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set Start Node (Autoplay)"
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid ""
-"Select and move nodes.\n"
-"RMB to add new nodes.\n"
-"Shift+LMB to create connections."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Create new nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Connect nodes."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Remove selected node or transition."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Toggle autoplay this animation on start, restart or seek to zero."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Set the end animation. This is useful for sub-transitions."
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
-
-#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Play Mode:"
-msgstr ""
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "New name:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade In (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Fade Out (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader.cpp
-msgid "Blend"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Auto Restart:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Random Restart (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Start!"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Amount:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 0:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend 1:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "X-Fade Time (s):"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Clear Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Set Auto-Advance"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Delete Input"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is valid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation tree is invalid."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Animation Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "OneShot Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Mix Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend2 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend3 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Blend4 Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeScale Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "TimeSeek Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Transition Node"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Import Animations..."
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Edit Node Filters"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
-msgid "Filters..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
-msgid "Use Threads"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Contents:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "View Files"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connection error, please try again."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't connect to host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response from host:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "No response."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve hostname:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Can't resolve."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, return code:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Cannot save response to:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Write error."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, too many redirects"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Redirect loop."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Request failed, timeout"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Timeout."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Bad download hash, assuming file has been tampered with."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Expected:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Got:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed SHA-256 hash check"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Asset Download Error:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading (%s / %s)..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Downloading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Resolving..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Error making request"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Idle"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Install..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Retry"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download Error"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Available URLs"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Download for this asset is already in progress!"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Least Recently Updated"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Name (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (A-Z)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "License (Z-A)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Loading..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "First"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Previous"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Next"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgctxt "Pagination"
-msgid "Last"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "All"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search templates, projects, and demos"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Search assets (excluding templates, projects, and demos)"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Import..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Plugins..."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
-msgid "Sort:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Category:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Site:"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Support"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Official"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Testing"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Failed to get repository configuration."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Assets ZIP File"
-msgstr ""
-
-#: editor/plugins/audio_stream_editor_plugin.cpp
-msgid "Audio Preview Play/Pause"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Can't determine a save path for lightmap images.\n"
-"Save your scene and try again."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"No meshes to bake. Make sure they contain an UV2 channel and that the 'Use "
-"In Baked Light' and 'Generate Lightmap' flags are on."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed creating lightmap images, make sure path is writable."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Failed determining lightmap size. Maximum lightmap size too small?"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Some mesh is invalid. Make sure the UV2 channel values are contained within "
-"the [0.0,1.0] square region."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid ""
-"Godot editor was built without ray tracing support, lightmaps can't be baked."
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Bake Lightmaps"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "LightMap Bake"
-msgstr ""
-
-#: editor/plugins/baked_lightmap_editor_plugin.cpp
-msgid "Select lightmap bake file:"
-msgstr ""
-
-#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/resources/mesh_library.cpp
-msgid "Preview"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Configure Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Grid Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Primary Line Every:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "steps"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Offset:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Step:"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Vertical Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Remove Horizontal Guide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Horizontal and Vertical Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotate CanvasItem \"%s\" to %d degrees"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale Node2D \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Resize Control \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move %d CanvasItems"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move CanvasItem \"%s\" to (%d, %d)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Locked"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Grouped"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Children of containers have their anchors and margins values overridden by "
-"their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Presets for the anchors and margins values of a Control node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"When active, moving Control nodes changes their anchors instead of their "
-"margins."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Top Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp
-msgid "Bottom Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Left"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Top"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Right"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Bottom"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Left Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Top Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Right Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Bottom Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "VCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "HCenter Wide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Full Rect"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Keep Ratio"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Anchors only"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors and Margins"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Anchors"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"Overrides the running project's camera with the editor viewport camera."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Project Camera Override\n"
-"No project instance running. Run the project from the editor to use this "
-"feature."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Paste Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Create Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Warning: Children of a container get their position and size determined only "
-"by their parent."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Zoom Reset"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/item_list.cpp
-#: scene/gui/tree.cpp
-msgid "Select Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Drag: Rotate selected node around pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Move selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Alt+Drag: Scale selected node."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "V: Set selected node's pivot position."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "RMB: Add node at position clicked."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Move Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Shift: Scale proportionally."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Show a list of all objects at the position clicked\n"
-"(same as Alt+RMB in select mode)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Click to change object's rotation pivot."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Ruler Mode"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle smart snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Smart Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle grid snapping."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Grid Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Rotation Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Scale Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap Relative"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Use Pixel Snap"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Smart Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Configure Snap..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Parent"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Anchor"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Sides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Node Center"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Other Nodes"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snap to Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock the selected object in place (can't be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock the selected object (can be moved)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unlock Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Makes sure the object's children are not selectable."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Group Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Restores the object's children's ability to be selected."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Ungroup Selected Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Skeleton Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Custom Bone(s) from Node(s)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Custom Bones"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show When Snapping"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Hide"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggle Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Helpers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Rulers"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Guides"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Origin"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Viewport"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Group And Lock Icons"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Center Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Frame Selection"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Preview Canvas Scale"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Translation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Rotation mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Scale mask for inserting keys."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert keys (based on mask)."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Auto insert keys when objects are translated, rotated or scaled (based on "
-"mask).\n"
-"Keys are only added to existing tracks, no new tracks will be created.\n"
-"Keys must be inserted manually for the first time."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Auto Insert Key"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation Key and Pose Options"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key (Existing Tracks)"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Copy Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Pose"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Add Node Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Instance Scene Here"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Multiply grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Divide grid step by 2"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Pan View"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 3.125%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 6.25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 12.5%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 25%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 50%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 100%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 200%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 400%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 800%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Zoom to 1600%"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Adding %s..."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Cannot instantiate multiple nodes without root."
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Create Node"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Error instancing scene from %s"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Change Default Type"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid ""
-"Drag & drop + Shift : Add node as sibling\n"
-"Drag & drop + Alt : Change node type"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Create Polygon3D"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly"
-msgstr ""
-
-#: editor/plugins/collision_polygon_editor_plugin.cpp
-msgid "Edit Poly (Remove Point)"
-msgstr ""
-
-#: editor/plugins/collision_shape_2d_editor_plugin.cpp
-msgid "Set Handle"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Load Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Restart"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Clear Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-msgid "Particles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generated Point Count:"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Mask"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Solid Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Directed Border Pixels"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Capture from Pixel"
-msgstr ""
-
-#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Emission Colors"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-msgid "CPUParticles"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr ""
-
-#: editor/plugins/cpu_particles_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 0"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Flat 1"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease In"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
-msgid "Ease Out"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Smoothstep"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Modify Curve Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Curve Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Add Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Left Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right Linear"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Load Preset"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Remove Curve Point"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Toggle Curve Linear Tangent"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Hold Shift to edit tangents individually"
-msgstr ""
-
-#: editor/plugins/curve_editor_plugin.cpp
-msgid "Right click to add point"
-msgstr ""
-
-#: editor/plugins/gi_probe_editor_plugin.cpp
-msgid "Bake GI Probe"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Gradient Edited"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Swap Gradient Fill Points"
-msgstr ""
-
-#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-msgid "Toggle Grid Snap"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
-#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
-#: scene/gui/label.cpp scene/gui/line_edit.cpp scene/gui/link_button.cpp
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Text"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp main/main.cpp
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#: scene/gui/button.cpp scene/gui/item_list.cpp
-msgid "Icon"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "ID"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separator"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item %d"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Items"
-msgstr ""
-
-#: editor/plugins/item_list_editor_plugin.cpp
-msgid "Item List Editor"
-msgstr ""
-
-#: editor/plugins/light_occluder_2d_editor_plugin.cpp
-msgid "Create Occluder Polygon"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh is empty!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a Trimesh collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Static Trimesh Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "This doesn't work on scene root!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create a single convex collision shape for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create a single convex collision shape."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Shape"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Can't create multiple convex collision shapes for the scene root."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Couldn't create any collision shapes."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Shapes"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Navigation Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Contained Mesh is not of type ArrayMesh."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "No mesh to debug."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has no UV in layer %d."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "MeshInstance lacks a Mesh!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh has not surface to create outlines from!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Could not create outline!"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gltf/gltf_mesh.cpp modules/gltf/gltf_node.cpp
-#: scene/2d/mesh_instance_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/mesh_library.cpp
-#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Static Body"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a StaticBody and assigns a polygon-based collision shape to it "
-"automatically.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Trimesh Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is the most accurate (but slowest) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Single Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a single convex collision shape.\n"
-"This is the fastest (but least accurate) option for collision detection."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Simplified Convex Collision Sibling"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a simplified convex collision shape.\n"
-"This is similar to single collision shape, but can result in a simpler "
-"geometry in some cases, at the cost of accuracy."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Multiple Convex Collision Siblings"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a polygon-based collision shape.\n"
-"This is a performance middle-ground between a single convex collision and a "
-"polygon-based collision."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh..."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid ""
-"Creates a static outline mesh. The outline mesh will have its normals "
-"flipped automatically.\n"
-"This can be used instead of the SpatialMaterial Grow property when using "
-"that property isn't possible."
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV1"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "View UV2"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Unwrap UV2 for Lightmap/AO"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Outline Size:"
-msgstr ""
-
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "UV Channel Debug"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid ""
-"Update from existing scene?:\n"
-"%s"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "MeshLibrary"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Ignore Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Import from Scene (Apply Transforms)"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply without Transforms"
-msgstr ""
-
-#: editor/plugins/mesh_library_editor_plugin.cpp
-msgid "Apply with Transforms"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "No surface source specified."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (invalid path)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no geometry)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Surface source is invalid (no faces)."
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Select a Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate Surface"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate MultiMesh"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Target Surface:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Source Mesh:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "X-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Y-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Z-Axis"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Mesh Up Axis:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Rotation:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Tilt:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Random Scale:"
-msgstr ""
-
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Populate"
-msgstr ""
-
-#: editor/plugins/navigation_polygon_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Convert to CPUParticles"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generating Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Generate Visibility Rect"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Can only set point into a ParticlesMaterial process material"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "Convert to CPUParticles2D"
-msgstr ""
-
-#: editor/plugins/particles_2d_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generation Time (sec):"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry's faces don't contain any area."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "The geometry doesn't contain any faces."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "\"%s\" doesn't contain face geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp scene/gui/video_player.cpp
-msgid "Volume"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generating AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate Visibility AABB"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Point from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove Out-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Remove In-Control from Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point to Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Split Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Point in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move In-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Move Out-Control in Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Select Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Shift+Drag: Select Control Points"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Click: Add Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Left Click: Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Right Click: Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-msgid "Select Control Points (Shift+Drag)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Add Point (in empty space)"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Delete Point"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Close Curve"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-#: editor/plugins/theme_editor_preview.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp
-#: main/main.cpp servers/visual_server.cpp
-msgid "Options"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Angles"
-msgstr ""
-
-#: editor/plugins/path_2d_editor_plugin.cpp
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Mirror Handle Lengths"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Curve Point #"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Point Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve In Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Out Position"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Path"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Path Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove Out-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Remove In-Control Point"
-msgstr ""
-
-#: editor/plugins/path_editor_plugin.cpp
-msgid "Split Segment (in curve)"
-msgstr ""
-
-#: editor/plugins/physical_bone_plugin.cpp
-msgid "Move Joint"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"No texture in this polygon.\n"
-"Set a texture to be able to edit UV."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Polygon 2D has internal vertices, so it can no longer be edited in the "
-"viewport."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Polygon & UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Internal Vertex"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Invalid Polygon (need 3 different vertices)"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Add Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Remove Custom Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform UV Map"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Transform Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint Bone Weights"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Open Polygon 2D UV editor."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Polygon 2D UV Editor"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/line_2d.cpp scene/3d/cpu_particles.cpp scene/3d/portal.cpp
-#: scene/3d/room.cpp scene/resources/convex_polygon_shape.cpp
-#: scene/resources/convex_polygon_shape_2d.cpp
-msgid "Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
-msgid "Polygons"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp scene/3d/skeleton.cpp
-msgid "Bones"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Points"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Command: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift: Move All"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Command: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Ctrl: Rotate"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Shift+Ctrl: Scale"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Move Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Rotate Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Scale Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Create a custom polygon. Enables custom polygon rendering."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid ""
-"Remove a custom polygon. If none remain, custom polygon rendering is "
-"disabled."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Paint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Unpaint weights with specified intensity."
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Radius:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy Polygon to UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Copy UV to Polygon"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Clear UV"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Settings"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Enable Snap"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Show Grid"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Configure Grid:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Offset Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step X:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Grid Step Y:"
-msgstr ""
-
-#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Sync Bones to Polygon"
-msgstr ""
-
-#: editor/plugins/ray_cast_2d_editor_plugin.cpp
-msgid "Set cast_to"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ERROR: Couldn't load resource!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Add Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Rename Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Delete Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Resource clipboard is empty!"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_editor.cpp
-msgid "Instance:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Open in Editor"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Load Resource"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portals"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Room Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Generate Points"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Flip Portal"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Occluder Set Transform"
-msgstr ""
-
-#: editor/plugins/room_manager_editor_plugin.cpp
-msgid "Center Node"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
-
-#: editor/plugins/root_motion_editor_plugin.cpp
-msgid "Path to AnimationPlayer is invalid"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Files"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close and save changes?"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error writing TextFile:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Could not load file at:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving file!"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error importing theme."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error Importing"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "New Text File..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save File As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Can't obtain the script for running."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script failed reloading, check console for errors."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script is not in tool mode, will not be able to run."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"To run this script, it must inherit EditorScript and be set to tool mode."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error while saving theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Error saving"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme As..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "%s Class Reference"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter scripts"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Filter methods"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp scene/2d/y_sort.cpp
-msgid "Sort"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Up"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Move Down"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Next Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Previous Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reopen Closed Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Soft Reload Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Copy Script Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Previous"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "History Next"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Import Theme..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Reload Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close All"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Close Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Search"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Break"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: editor/script_editor_debugger.cpp
-msgid "Continue"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Keep Debugger Open"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Debug with External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/shader_editor_plugin.cpp
-msgid "Online Docs"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Godot online documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search the reference documentation."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to previous edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Go to next edited document."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Discard"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid ""
-"The following files are newer on disk.\n"
-"What action should be taken?:"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Search Results"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Open Dominant Script On Scene Change"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "External"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Use External Editor"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Path"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature Enabled"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Highlight Current Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Script Temperature History Size"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Current Script Background Color"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Group Help Pages"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Sort Scripts By"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "List Script Names As"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Exec Flags"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-msgid "Clear Recent Scripts"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Connections to method:"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Source"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp platform/uwp/export/export.cpp
-#: scene/3d/interpolated_camera.cpp scene/animation/skeleton_ik.cpp
-msgid "Target"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid ""
-"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "[Ignore]"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Only resources from filesystem can be dropped."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't drop nodes because script '%s' is not used in this scene."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Lookup Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Convert Case"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-#: scene/3d/label_3d.cpp scene/gui/label.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Uppercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Lowercase"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Capitalize"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
-msgid "Syntax Highlighter"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
-msgid "Go To"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Cut"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Delete Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Left"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Indent Right"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Comment"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold/Unfold Line"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Fold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Unfold All Lines"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Complete Symbol"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Evaluate Selection"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Trim Trailing Whitespace"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Spaces"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Convert Indent to Tabs"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Find in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Replace in Files..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Contextual Help"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Bookmark"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Bookmarks"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Function..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Line..."
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Toggle Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Remove All Breakpoints"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Next Breakpoint"
-msgstr ""
-
-#: editor/plugins/script_text_editor.cpp
-msgid "Go to Previous Breakpoint"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp
-msgid ""
-"This shader has been modified on on disk.\n"
-"What action should be taken?"
-msgstr ""
-
-#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp
-msgid "Shader"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "This skeleton has no bones, create some children Bone2D nodes."
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Set Rest Pose to Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Create Rest Pose from Bones"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Skeleton2D"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Reset to Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_2d_editor_plugin.cpp
-msgid "Overwrite Rest Pose"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical bones"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp editor/spatial_editor_gizmos.cpp
-#: modules/gltf/gltf_node.cpp modules/gltf/gltf_skin.cpp
-#: scene/2d/polygon_2d.cpp scene/3d/mesh_instance.cpp
-msgid "Skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_editor_plugin.cpp
-msgid "Create physical skeleton"
-msgstr ""
-
-#: editor/plugins/skeleton_ik_editor_plugin.cpp
-msgid "Play IK"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
-msgid "Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front Perspective"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Orthogonal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear Perspective"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [auto]"
-msgstr ""
-
-#. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid " [portals active]"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Aborted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "X-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Y-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Z-Axis Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp
-msgid "None"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/2d/path_2d.cpp
-msgid "Rotate"
-msgstr ""
-
-#. TRANSLATORS: This refers to the movement that changes the position of an object.
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotating %s degrees."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Keying is disabled (no key inserted)."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Animation Key Inserted."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pitch:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Yaw:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Objects Drawn:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Material Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Shader Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Surface Changes:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Draw Calls:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Vertices:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "FPS: %d (%s ms)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Transform with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Align Rotation with View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "No parent to instance a child at."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "This operation requires a single selected node."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Auto Orthogonal Enabled"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Lock View Rotation"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Normal"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Wireframe"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Overdraw"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Display Unshaded"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Environment"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Information"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View FPS"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Half Resolution"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/main/viewport.cpp
-msgid "Audio Listener"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Enable Doppler"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Cinematic Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "(Not in GLES2)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Forward"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Backwards"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Speed Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Freelook Slow Modifier"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Camera Preview"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Rotation Locked"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"To zoom further, change the camera's clipping planes (View -> Settings...)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Note: The FPS value displayed is the editor's framerate.\n"
-"It cannot be used as a reliable indication of in-game performance."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Convert Rooms"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "XForm Dialog"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid ""
-"Click to toggle between visibility states.\n"
-"\n"
-"Open eye: Gizmo is visible.\n"
-"Closed eye: Gizmo is hidden.\n"
-"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Nodes to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Use Local Space"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp scene/gui/graph_edit.cpp
-msgid "Use Snap"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Converts rooms for portal culling."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Bottom View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Top View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rear View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Front View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Left View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Right View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Down"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Left"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Right"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View Up"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Orbit View 180"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Switch Perspective/Orthogonal View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Insert Animation Key"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Focus Selection"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Toggle Freelook"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Decrease Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Increase Field of View"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Reset Field of View to Default"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Object to Floor"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Dialog..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "1 Viewport"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "2 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "3 Viewports (Alt)"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "4 Viewports"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Gizmos"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Origin"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Grid"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Portal Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Occlusion Culling"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Settings..."
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate Snap:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate Snap (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale Snap (%):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Viewport Settings"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Perspective FOV (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Near:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "View Z-Far:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Change"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translate:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Rotate (deg.):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scale (ratio):"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Type"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Pre"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Post"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Size"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Manipulator Gizmo Opacity"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Show Viewport Rotation Gizmo"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Unnamed Gizmo"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Mesh2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Polygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "CollisionPolygon2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "LightOccluder2D Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite is empty!"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Can't convert a sprite using animation frames to mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't replace by mesh."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Polygon2D"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create collision polygon."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create CollisionPolygon2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Invalid geometry, can't create light occluder."
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Create LightOccluder2D Sibling"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Sprite"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Update Preview"
-msgstr ""
-
-#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Settings:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "No Frames Selected"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add %d Frame(s)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Unable to load images"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "ERROR: Couldn't load frame resource!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Resource clipboard is empty or not a texture!"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Paste Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Empty"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Change Animation FPS"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "(empty)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move Frame"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animations:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "New Animation"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Speed:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: modules/gltf/gltf_animation.cpp modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp scene/2d/path_2d.cpp
-#: scene/3d/path.cpp scene/resources/animation.cpp scene/resources/material.cpp
-msgid "Loop"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Animation Frames:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add a Texture from File"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Frames from a Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Insert Empty (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (Before)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Move (After)"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Horizontal:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Vertical:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Offset:"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Select/Clear All Frames"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Create Frames from Sprite Sheet"
-msgstr ""
-
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "SpriteFrames"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Region Rect"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Set Margin"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Snap Mode:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Pixel Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Grid Snap"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Auto Slice"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Step:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "TextureRegion"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Styleboxes"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} color(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No colors found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} constant(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No constants found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} font(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No fonts found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} icon(s)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No icons found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} stylebox(es)"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "No styleboxes found."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "{num} currently selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Nothing was selected for the import."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Importing items {n}/{n}"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Updating the editor"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Finalizing"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select by data type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible color items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible color items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible constant items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible constant items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible font items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible font items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible icon items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible icon items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all visible stylebox items and their data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all visible stylebox items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Caution: Adding icon data may considerably increase the size of your Theme "
-"resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Collapse types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Expand types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select With Data"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select all Theme items with item data."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Deselect all Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Selected"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Import Items tab has some items selected. Selection will be lost upon "
-"closing this window.\n"
-"Close anyway?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Select a theme type from the list to edit its items.\n"
-"You can add a custom type or import a type with its items from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Color Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Constant Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Font Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Icon Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All StyleBox Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"This theme type is empty.\n"
-"Add more items to it manually or by importing from another theme."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Theme Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Color Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Constant Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Font Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Icon Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Rename Stylebox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, not a Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Invalid file, same as the edited Theme resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Theme Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Edit Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add StyleBox Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Items:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Class Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Custom Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove All Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Theme Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Old Name:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Import Items"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Editor Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select Another Theme Resource:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme Resource"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Another Theme"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Filter the list of types or create a new custom type:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Available Node-based types:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Type name is empty!"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Are you sure you want to create an empty type?"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Confirm Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Cancel Item Rename"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Unpin this StyleBox as a main style."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"Pin this StyleBox as a main style. Editing its properties will update the "
-"same properties in all other StyleBoxes of this type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Variation Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Set Base Type"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show Default"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Show default type items alongside items that have been overridden."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override All"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Override all default type items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select the variation base type from a list of available types."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid ""
-"A type associated with a built-in class cannot be marked as a variation of "
-"another type."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme:"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Manage Items..."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add, remove, organize and import Theme items."
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Default Preview"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Select UI Scene:"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid ""
-"Toggle the control picker, allowing to visually select control types for "
-"edit."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Toggle Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Button"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp
-msgid "Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Check Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Checked Radio Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Named Separator"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Submenu"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subitem 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Many"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Disabled LineEdit"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 1"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 2"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Tab 3"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Editable Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Subtree"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Has,Many,Options"
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid path, the PackedScene resource was probably moved or removed."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid PackedScene resource, must have a Control node at its root."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Invalid file, not a PackedScene resource."
-msgstr ""
-
-#: editor/plugins/theme_editor_preview.cpp
-msgid "Reload the scene to reflect its most actual state."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Fix Invalid Tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cut Selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Line Draw"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase TileMap"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Disable Autotile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Enable Priority"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Filter tiles"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Give a TileSet resource to this TileMap to use its tiles."
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Paint Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Command+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid ""
-"Shift+LMB: Line Draw\n"
-"Shift+Ctrl+LMB: Rectangle Paint"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Left"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Rotate Right"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Horizontally"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Flip Vertically"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Clear Transform"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Tile Map"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Palette Min Width"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Palette Item H Separation"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Names"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Show Tile Ids"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Sort Tiles By Name"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket Fill Preview"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Editor Side"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Display Grid"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Axis Color"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Texture(s) to TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected Texture from TileSet."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Single Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Autotile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Atlas"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Next Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the next shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Previous Coordinate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select the previous shape, subtile, or Tile."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
-msgid "Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp
-#: scene/3d/collision_object.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/soft_body.cpp scene/main/scene_tree.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp
-msgid "Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/area_2d.cpp
-#: scene/3d/area.cpp scene/3d/physics_joint.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/node_2d.cpp
-msgid "Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Region Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Collision Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occlusion Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Priority Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/item_list.cpp
-msgid "Icon Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Z Index Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Copy bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Erase bitmask."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new rectangle."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Rectangle"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create a new polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "New Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete Selected Shape"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Keep polygon inside region Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Enable snap and show grid (configurable via the Inspector)."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Display Tile Names (Hold Alt Key)"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Add or select a texture on the left panel to edit the tiles bound to it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove selected texture? This will remove all tiles which use it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "You haven't selected a texture to remove."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene? This will overwrite all current tiles."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "%s file(s) were not added because was already on the list."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Drag handles to edit Rect.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete selected Rect."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select current edited sub-tile.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Delete polygon."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"LMB: Set bit on.\n"
-"RMB: Set bit off.\n"
-"Shift+LMB: Set wildcard bit.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its priority.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid ""
-"Select sub-tile to change its z index.\n"
-"Click on another Tile to edit it."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Region"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Set Tile Icon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Paste Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Clear Tile Bitmask"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Polygon Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Navigation Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Priority"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Edit Tile Z Index"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Convex"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Make Concave"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Collision Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create Occlusion Polygon"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "This property can't be changed."
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Snap Options"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
-#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
-#: scene/2d/parallax_background.cpp scene/2d/parallax_layer.cpp
-#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
-#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-msgid "Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
-#: scene/gui/range.cpp scene/resources/animation.cpp
-#: scene/resources/visual_shader_nodes.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Step"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Separation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Tile"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
-#: scene/2d/multimesh_instance_2d.cpp scene/2d/particles_2d.cpp
-#: scene/2d/polygon_2d.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Texture"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tex Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
-#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
-#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
-msgid "Material"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-msgid "Modulate"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotile Bitmask Mode"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Size"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Subtile Spacing"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Occluder Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Navigation Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Offset"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Shape Transform"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Collision One Way Margin"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Navigation"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Selected Occlusion"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tileset Script"
-msgstr ""
-
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "TileSet"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No VCS plugins are available."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid ""
-"Remote settings are empty. VCS features that use the network may not work."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "No commit message was provided."
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Staged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstaged Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Date:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Subtitle:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s branch?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Do you want to remove the %s remote?"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Apply"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control System"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Initialize"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Login"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH public key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Select SSH private key path"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "SSH Passphrase"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Detect new changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Discard all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Stage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unstage all changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Message"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit Changes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit List"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Commit list size"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branches"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Branch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Branch Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remotes"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Create New Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remove Remote"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote Name"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Remote URL"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Fetch"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Pull"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Force Push"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Modified"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Renamed"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Deleted"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Typechange"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unmerged"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "View:"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Split"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Unified"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(GLES3 only)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Output"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sampler"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port type"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change input port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Change output port name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove input port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Remove output port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set expression"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Resize VisualShader node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Uniform Name"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Set Input Default Port"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Add Node to Visual Shader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Node(s) Moved"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Duplicate Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Delete Nodes"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Input Type Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "UniformRef Name Changed"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vertex"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Fragment"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp modules/gltf/gltf_node.cpp
-#: scene/3d/light.cpp
-msgid "Light"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Show resulted shader code."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Create Shader Node"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Grayscale function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sepia function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Burn operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Darken operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Difference operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Dodge operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "HardLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Lighten operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Overlay operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Screen operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "SoftLight operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Color uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the %s comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Equal (==)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than (>)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Greater Than or Equal (>=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided scalars are equal, greater or "
-"less."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between NaN and a scalar "
-"parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than (<)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Less Than or Equal (<=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Not Equal (!=)"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated vector if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns an associated scalar if the provided boolean value is true or false."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the boolean result of the comparison between two parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the boolean result of the comparison between INF (or NaN) and a "
-"scalar parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Input parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'%s' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the absolute value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the arc-tangent of the parameters."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Constrains a value to lie between two further values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic cosine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in radians to degrees."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-e Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 Exponential."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Computes the fractional part of the argument."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Natural logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Base-2 logarithm."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the greater of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the lesser of two values."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the opposite value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Converts a quantity in degrees to radians."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / scalar"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the nearest even integer to the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Extracts the sign of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic sine of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the square root of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), scalar(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the hyperbolic tangent of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Finds the truncated value of the parameter."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds scalar to scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies scalar by scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts scalar from scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Scalar uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the cubic texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Perform the texture lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Cubic texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "2D texture uniform lookup with triplanar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Calculate the outer product of a pair of vectors.\n"
-"\n"
-"OuterProduct treats the first parameter 'c' as a column vector (matrix with "
-"one column) and the second parameter 'r' as a row vector (matrix with one "
-"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix "
-"whose number of rows is the number of components in 'c' and whose number of "
-"columns is the number of components in 'r'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes transform from four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes transform to four vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the determinant of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the inverse of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the transpose of a transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies transform by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by transform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Transform uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector operator."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Composes vector from three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Decomposes vector to three scalars."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the cross product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the distance between two points."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the dot product of two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the same direction as a reference vector. "
-"The function has three vector parameters : N, the vector to orient, I, the "
-"incident vector, and Nref, the reference vector. If the dot product of I and "
-"Nref is smaller than zero the return value is N. Otherwise -N is returned."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the length of a vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Linear interpolation between two vectors using scalar."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Calculates the normalize product of vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 - vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "1.0 / vector"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns the vector that points in the direction of reflection ( a : incident "
-"vector, b : normal vector )."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the vector that points in the direction of refraction."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
-"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
-"using Hermite polynomials."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( vector(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Step function( scalar(edge), vector(x) ).\n"
-"\n"
-"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Adds vector to vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Divides vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Multiplies vector by vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Returns the remainder of the two vectors."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Subtracts vector from vector."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector constant."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Vector uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, with custom amount of input and "
-"output ports. This is a direct injection of code into the vertex/fragment/"
-"light function, do not use it to write the function declarations inside."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Returns falloff based on the dot product of surface normal and view "
-"direction of camera (pass associated inputs to it)."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"Custom Godot Shader Language expression, which is placed on top of the "
-"resulted shader. You can place various function definitions inside and call "
-"it later in the Expressions. You can also declare varyings, uniforms and "
-"constants."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "A reference to an existing uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Scalar derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "(Fragment/Light mode only) Vector derivative function."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
-"differencing."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid ""
-"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
-"'y'."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "VisualShader"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Edit Visual Property:"
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "Visual Shader Mode Changed"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Runnable"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Exporting All"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Path"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Presets"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_settings_editor.cpp
-msgid "Add..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"If checked, the preset will be available for use in one-click deploy.\n"
-"Only one preset per platform may be marked as runnable."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export all resources in the project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected scenes (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export selected resources (and dependencies)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Resources to export:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to export non-resource files/folders\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Filters to exclude files/folders from project\n"
-"(comma-separated, e.g: *.json, *.txt, docs/*)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Features"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Custom (comma-separated):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Feature List:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Script"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Export Mode:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Compiled Bytecode (Faster Loading)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Encrypted (Provide Key Below)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "GDScript Encryption Key (256-bits as hexadecimal):"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid ""
-"Note: Encryption key needs to be stored in the binary,\n"
-"you need to build the export templates from source."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "More Info..."
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export All"
-msgstr ""
-
-#: editor/project_export.cpp editor/project_manager.cpp
-msgid "ZIP File"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Manage Export Templates"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export With Debug"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The path specified doesn't exist."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file (it's not in ZIP format)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose an empty folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Please choose a \"project.godot\" or \".zip\" file."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "This directory already contains a Godot project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Game Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Imported Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create folder."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "There is already a folder in this path with the specified name."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "It would be a good idea to name your project."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Invalid project path (changed anything?)."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Couldn't create project.godot in project path."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error opening package file, not in ZIP format."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "The following files failed extraction from package:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Package installed successfully!"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Rename Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Existing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Create & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install Project:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Install & Edit"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Name:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Project Installation Path:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer:"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 3.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Not supported by your GPU drivers."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Higher visual quality\n"
-"All features available\n"
-"Incompatible with older hardware\n"
-"Not recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "OpenGL ES 2.0"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Lower visual quality\n"
-"Some features not available\n"
-"Works on most hardware\n"
-"Recommended for web games"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Renderer can be changed later, but scenes may need to be adjusted."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Missing Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Error: Project is missing on the filesystem."
-msgstr ""
-
-#: editor/project_manager.cpp editor/scene_tree_dock.cpp
-msgid "Local"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Local Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Asset Library Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't open project at '%s'."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to open more than one project?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file does not specify the version of Godot "
-"through which it was created.\n"
-"\n"
-"%s\n"
-"\n"
-"If you proceed with opening it, it will be converted to Godot's current "
-"configuration file format.\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The following project settings file was generated by an older engine "
-"version, and needs to be converted for this version:\n"
-"\n"
-"%s\n"
-"\n"
-"Do you want to convert it?\n"
-"Warning: You won't be able to open the project with previous versions of the "
-"engine anymore."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"The project settings were created by a newer engine version, whose settings "
-"are not compatible with this version."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: no main scene defined.\n"
-"Please edit the project and set the main scene in the Project Settings under "
-"the \"Application\" category."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Can't run project: Assets need to be imported.\n"
-"Please edit the project to trigger the initial import."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Are you sure to run %d projects at once?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove %d projects from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove this project from the list?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Remove all missing projects from the list?\n"
-"The project folders' contents won't be modified."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Language changed.\n"
-"The interface will update after restarting the editor or project manager."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"Are you sure to scan %s folders for existing Godot projects?\n"
-"This could take a while."
-msgstr ""
-
-#. TRANSLATORS: This refers to the application where users manage their Godot projects.
-#: editor/project_manager.cpp
-msgctxt "Application"
-msgid "Project Manager"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Edit Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Run Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Scan Projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Select a Folder to Scan"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "New Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Import Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove Missing"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "About"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Restart Now"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Remove All"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Also delete project contents (no undo!)"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Can't run project"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"You currently don't have any projects.\n"
-"Would you like to explore official example projects in the Asset Library?"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid "Filter projects"
-msgstr ""
-
-#: editor/project_manager.cpp
-msgid ""
-"This field filters projects by name and last path component.\n"
-"To filter projects by name and full path, the query must contain at least "
-"one `/` character."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Physical Key"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Key "
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joy Axis"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "An action with the name '%s' already exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Rename Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Action deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "All Devices"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid " (Physical)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Press a Key..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Mouse Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Left Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Right Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 1"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "X Button 2"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Axis Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Joypad Button Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Erase Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Left Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Right Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Middle Button."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Up."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Wheel Down."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Global Property"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Select a setting item first!"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "No property '%s' exists."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Delete Item"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add Input Action"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Error saving settings."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Settings saved OK."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Moved Input Action Event"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override for Feature"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Add %d Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Translation"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Path(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translation Resource Remap: Add %d Remap(s)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Change Resource Remap Language"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remove Resource Remap Option"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Changed Locale Filter Mode"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Project Settings (project.godot)"
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "General"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Override For..."
-msgstr ""
-
-#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "The editor must be restarted for changes to take effect."
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Input Map"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Action:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp
-msgid "Deadzone"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Device:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Index:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Localization"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Translations:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Resources:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Remaps by Locale:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales Filter"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show All Locales"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Show Selected Locales Only"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Filter mode:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Locales:"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "AutoLoad"
-msgstr ""
-
-#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp
-#: platform/iphone/export/export.cpp
-msgid "Plugins"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
-msgid "Import Defaults"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Zero"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing In-Out"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Easing Out-In"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "File..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Dir..."
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Assign"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Select Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Pick a Node"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Property"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
-msgstr ""
-
-#: editor/property_selector.cpp
-msgid "Select Method"
-msgstr ""
-
-#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Batch Rename"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Prefix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Suffix:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Use Regular Expressions"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Advanced Options"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Substitute"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node's parent name, if available"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Node type"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Current scene name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Root node name"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Sequential integer counter.\n"
-"Compare counter options."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Per-level Counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "If set, the counter restarts for each group of child nodes."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Initial value for the counter"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Amount by which counter is incremented for each node"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Padding"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid ""
-"Minimum number of digits for the counter.\n"
-"Missing digits are padded with leading zeros."
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Post-Process"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Style"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Keep"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "PascalCase to snake_case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "snake_case to PascalCase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Case"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Lowercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "To Uppercase"
-msgstr ""
-
-#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Reset"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "Regular Expression Error:"
-msgstr ""
-
-#: editor/rename_dialog.cpp
-msgid "At character %s"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent Node"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Reparent Location (Select new Parent):"
-msgstr ""
-
-#: editor/reparent_dialog.cpp
-msgid "Keep Global Transform"
-msgstr ""
-
-#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
-msgid "Reparent"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Run Mode:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp
-msgid "Current Scene"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Main Scene Arguments:"
-msgstr ""
-
-#: editor/run_settings_dialog.cpp
-msgid "Scene Run Settings"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "No parent to instance the scenes at."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error loading scene from %s"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one "
-"of its nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Scene(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Replace with Branch Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instance Child Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't paste root node into the same scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Paste Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on the tree root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Node In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Move Nodes In Parent"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Duplicate Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Node must belong to the edited scene to become root."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Instantiated scenes can't become root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make node as Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes and any children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete %d nodes?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete the root node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\" and its children?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete node \"%s\"?"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires having a scene open in the editor."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Saving the branch as a scene requires selecting only one node, but you have "
-"selected %d nodes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the root node branch as an instanced scene.\n"
-"To create an editable copy of the current scene, duplicate it using the "
-"FileSystem dock context menu\n"
-"or create an inherited scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save the branch of an already instanced scene.\n"
-"To create a variation of a scene, you can make an inherited scene based on "
-"the instanced scene using Scene > New Inherited Scene... instead."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is a child of an already instantiated scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Can't save a branch which is part of an inherited scene.\n"
-"To save this branch into its own scene, open the original scene, right click "
-"on this branch, and select \"Save Branch as Scene\"."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Save New Scene As..."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Disabling \"editable_instance\" will cause all properties of the node to be "
-"reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
-"cause all properties of the node to be reverted to their default."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Local"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Another node already uses this unique name in the scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Enable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-msgid "Disable Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "New Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Create Root Node:"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "2D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "3D Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "User Interface"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Other Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes from a foreign scene!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Can't operate on nodes the current scene inherits from!"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "This operation can't be done on instanced scenes."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Cut Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remove Node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change type of node(s)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Couldn't save new scene. Likely dependencies (instances) couldn't be "
-"satisfied."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error saving scene."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Error duplicating scene to save it."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Sub-Resources"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Access as Scene Unique Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Editable Children"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Load As Placeholder"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Cannot attach a script: there are no languages registered.\n"
-"This is probably because this editor was built with all language modules "
-"disabled."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add Child Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Expand/Collapse All"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Change Type"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Reparent to New Node"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Make Scene Root"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Merge From Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Save Branch as Scene"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
-msgid "Copy Node Path"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Delete (No Confirm)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"Instance a scene file as a Node. Creates an inherited scene if no root node "
-"exists."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach a new or existing script to the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Detach the script from the selected node."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Remote"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid ""
-"If selected, the Remote scene tree dock will cause the project to stutter "
-"every time it updates.\n"
-"Switch back to the Local scene tree dock to improve performance."
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Inheritance? (No Undo!)"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Show Scene Tree Root Selection"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Derive Script Globals By Name"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Use Favorites Root Selection"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Unlock Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Button Group"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "(Connecting From)"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node configuration warning:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"This node can be accessed from within anywhere in the scene by preceding it "
-"with the '%s' prefix in a node path.\n"
-"Click to disable this."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s) and %s group(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node has %s connection(s).\n"
-"Click to show signals dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is in %s group(s).\n"
-"Click to show groups dock."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Open Script:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Node is locked.\n"
-"Click to unlock it."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"Children are not selectable.\n"
-"Click to make selectable."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Visibility"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid ""
-"AnimationPlayer is pinned.\n"
-"Click to unpin."
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Invalid node name, the following characters are not allowed:"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Rename Node"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Scene Tree (Nodes):"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Node Configuration Warning!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Select a Node"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Filename is empty."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Path is not local."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid base path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "A directory with the same name exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File does not exist."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid extension."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Wrong extension chosen."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading template '%s'"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error - Could not create script in filesystem."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Error loading script from %s"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Overrides"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "N/A"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script / Choose Location"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Open Script"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "File exists, it will be reused."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid class name."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Invalid inherited parent name or path."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script path/name is valid."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Allowed: a-z, A-Z, 0-9, _ and ."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in script (into scene file)."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will create a new script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Will load an existing script file."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Script file already exists."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Note: Built-in scripts have some limitations and can't be edited using an "
-"external editor."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid ""
-"Warning: Having the script name be the same as a built-in type is usually "
-"not desired."
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Class Name:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Template:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Built-in Script:"
-msgstr ""
-
-#: editor/script_create_dialog.cpp
-msgid "Attach Node Script"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Bytes:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Warning:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Error:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "C++ Source:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Errors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Child process connected."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Copy Error"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Open C++ Source on GitHub"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Video RAM"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Skip Breakpoints"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Previous Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Inspect Next Instance"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Stack Frames"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Filter stack variables"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Remote Inspect Refresh Interval"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Network Profiler"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitor"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Monitors"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "List of Video Memory Usage by Resource:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Total:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export list to a CSV file"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Resource Path"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_effect_record.cpp
-msgid "Format"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp scene/main/viewport.cpp
-msgid "Usage"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp servers/visual_server.cpp
-msgid "Misc"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Clicked Control Type:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Live Edit Root:"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Set From Tree"
-msgstr ""
-
-#: editor/script_editor_debugger.cpp
-msgid "Export measures as CSV"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Erase Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Restore Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Change Shortcut"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Editor Settings"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Shortcuts"
-msgstr ""
-
-#: editor/settings_config_dialog.cpp
-msgid "Binding"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Light Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Stream Player 3D"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/gltf/gltf_node.cpp
-#: platform/osx/export/export.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Camera"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera FOV"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Camera Size"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Visibility Notifier"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Reflection Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "GI Probe"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Baked Indirect Light"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Sphere Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-msgid "Change Box Shape Extents"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Capsule Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Cylinder Shape Height"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Edge Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Navigation Solid Disabled"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body A"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Joint Body B"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Room Overlap"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Room Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-msgid "Portal Margin"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Edge"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Arrow"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Portal Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Portal Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Occluder"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Radius"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Sphere Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Polygon Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Set Occluder Hole Point Position"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Front"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Polygon Back"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Occluder Hole"
-msgstr ""
-
-#: main/main.cpp
-msgid "Godot Physics"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "Use BVH"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
-#: servers/visual/visual_server_scene.cpp
-msgid "BVH Collision Margin"
-msgstr ""
-
-#: main/main.cpp
-msgid "Crash Handler"
-msgstr ""
-
-#: main/main.cpp
-msgid "Multithreaded Server"
-msgstr ""
-
-#: main/main.cpp
-msgid "RID Pool Prealloc"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debugger stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Chars Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Messages Per Frame"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Errors Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Warnings Per Second"
-msgstr ""
-
-#: main/main.cpp
-msgid "Flush stdout On Print"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable File Logging"
-msgstr ""
-
-#: main/main.cpp
-msgid "Log Path"
-msgstr ""
-
-#: main/main.cpp
-msgid "Max Log Files"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver"
-msgstr ""
-
-#: main/main.cpp
-msgid "Driver Name"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fallback To GLES2"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
-
-#: main/main.cpp
-msgid "DPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allow hiDPI"
-msgstr ""
-
-#: main/main.cpp
-msgid "V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use V-Sync"
-msgstr ""
-
-#: main/main.cpp
-msgid "Per Pixel Transparency"
-msgstr ""
-
-#: main/main.cpp
-msgid "Allowed"
-msgstr ""
-
-#: main/main.cpp
-msgid "Intended Usage"
-msgstr ""
-
-#: main/main.cpp
-msgid "Framebuffer Allocation"
-msgstr ""
-
-#: main/main.cpp platform/uwp/os_uwp.cpp
-msgid "Energy Saving"
-msgstr ""
-
-#: main/main.cpp
-msgid "Threads"
-msgstr ""
-
-#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-msgid "Thread Model"
-msgstr ""
-
-#: main/main.cpp
-msgid "Thread Safe BVH"
-msgstr ""
-
-#: main/main.cpp
-msgid "Handheld"
-msgstr ""
-
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/uwp/export/export.cpp
-msgid "Orientation"
-msgstr ""
-
-#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
-#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-msgid "Common"
-msgstr ""
-
-#: main/main.cpp
-msgid "Physics FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Force FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Pause Aware Picking"
-msgstr ""
-
-#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
-#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
-#: scene/main/viewport.cpp scene/register_scene_types.cpp
-msgid "GUI"
-msgstr ""
-
-#: main/main.cpp
-msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
-
-#: main/main.cpp
-msgid "stdout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Print FPS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Verbose stdout"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-msgid "Physics Interpolation"
-msgstr ""
-
-#: main/main.cpp
-msgid "Enable Warnings"
-msgstr ""
-
-#: main/main.cpp
-msgid "Frame Delay Msec"
-msgstr ""
-
-#: main/main.cpp
-msgid "Low Processor Mode"
-msgstr ""
-
-#: main/main.cpp
-msgid "Delta Sync After Draw"
-msgstr ""
-
-#: main/main.cpp
-msgid "iOS"
-msgstr ""
-
-#: main/main.cpp
-msgid "Hide Home Indicator"
-msgstr ""
-
-#: main/main.cpp
-msgid "Input Devices"
-msgstr ""
-
-#: main/main.cpp
-msgid "Pointing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Touch Delay"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "GLES3"
-msgstr ""
-
-#: main/main.cpp servers/visual_server.cpp
-msgid "Shaders"
-msgstr ""
-
-#: main/main.cpp
-msgid "Debug Shader Fallbacks"
-msgstr ""
-
-#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
-#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
-#: scene/resources/world.cpp
-msgid "Environment"
-msgstr ""
-
-#: main/main.cpp
-msgid "Default Clear Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "Boot Splash"
-msgstr ""
-
-#: main/main.cpp
-msgid "Show Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Fullsize"
-msgstr ""
-
-#: main/main.cpp scene/resources/dynamic_font.cpp
-msgid "Use Filter"
-msgstr ""
-
-#: main/main.cpp scene/resources/style_box.cpp
-msgid "BG Color"
-msgstr ""
-
-#: main/main.cpp
-msgid "macOS Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Windows Native Icon"
-msgstr ""
-
-#: main/main.cpp
-msgid "Buffering"
-msgstr ""
-
-#: main/main.cpp
-msgid "Agile Event Flushing"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Touch From Mouse"
-msgstr ""
-
-#: main/main.cpp
-msgid "Emulate Mouse From Touch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Mouse Cursor"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image"
-msgstr ""
-
-#: main/main.cpp
-msgid "Custom Image Hotspot"
-msgstr ""
-
-#: main/main.cpp
-msgid "Tooltip Position Offset"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Debugger Agent"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait For Debugger"
-msgstr ""
-
-#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-msgid "Wait Timeout"
-msgstr ""
-
-#: main/main.cpp
-msgid "Runtime"
-msgstr ""
-
-#: main/main.cpp
-msgid "Unhandled Exception Policy"
-msgstr ""
-
-#: main/main.cpp
-msgid "Main Loop Type"
-msgstr ""
-
-#: main/main.cpp scene/gui/texture_progress.cpp
-#: scene/gui/viewport_container.cpp
-msgid "Stretch"
-msgstr ""
-
-#: main/main.cpp
-msgid "Aspect"
-msgstr ""
-
-#: main/main.cpp
-msgid "Shrink"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Auto Accept Quit"
-msgstr ""
-
-#: main/main.cpp scene/main/scene_tree.cpp
-msgid "Quit On Go Back"
-msgstr ""
-
-#: main/main.cpp scene/main/viewport.cpp
-msgid "Snap Controls To Pixels"
-msgstr ""
-
-#: main/main.cpp
-msgid "Dynamic Fonts"
-msgstr ""
-
-#: main/main.cpp
-msgid "Use Oversampling"
-msgstr ""
-
-#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
-msgid "Active Soft World"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "CSG"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Cylinder Height"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_gizmos.cpp
-msgid "Change Torus Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Operation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Calculate Tangents"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Use Collision"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-msgid "Collision Layer"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
-#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
-#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-msgid "Collision Mask"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Invert Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
-#: scene/3d/navigation_obstacle.cpp scene/3d/vehicle_body.cpp
-#: scene/animation/root_motion_view.cpp scene/resources/capsule_shape.cpp
-#: scene/resources/capsule_shape_2d.cpp scene/resources/circle_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/sphere_shape.cpp
-msgid "Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Radial Segments"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-msgid "Rings"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Smooth Faces"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Cone"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Inner Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Outer Radius"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Ring Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
-#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
-msgid "Polygon"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Degrees"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Spin Sides"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Node"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval Type"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Interval"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Simplify Angle"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Rotation"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Local"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Continuous U"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path U Distance"
-msgstr ""
-
-#: modules/csg/csg_shape.cpp
-msgid "Path Joined"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Compression Mode"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Transfer Channel"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Channel Count"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Always Ordered"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Server Relay"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Verify"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "DTLS Hostname"
-msgstr ""
-
-#: modules/enet/networked_multiplayer_enet.cpp
-msgid "Use DTLS"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "FBX"
-msgstr ""
-
-#: modules/fbx/editor_scene_importer_fbx.cpp
-msgid "Use FBX"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Config File"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Load Once"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Symbol Prefix"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-msgid "Reloadable"
-msgstr ""
-
-#: modules/gdnative/gdnative.cpp
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select the dynamic library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Select dependencies of the library for this entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Remove current entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Double click to create a new entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform:"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Platform"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Dynamic Library"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "Add an architecture entry"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_editor_plugin.cpp
-msgid "GDNativeLibrary"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Enabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Disabled GDNative Singleton"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Class Name"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Script Class"
-msgstr ""
-
-#: modules/gdnative/nativescript/nativescript.cpp
-msgid "Icon Path"
-msgstr ""
-
-#: modules/gdnative/register_types.cpp
-msgid "GDNative"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-#: modules/gdscript/gdscript.cpp
-msgid "GDScript"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Function Definition Color"
-msgstr ""
-
-#: modules/gdscript/editor/gdscript_highlighter.cpp
-msgid "Node Path Color"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
-msgid "Max Call Stack"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Treat Warnings As Errors"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Exclude Addons"
-msgstr ""
-
-#: modules/gdscript/gdscript.cpp
-msgid "Autocomplete Setters And Getters"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Step argument is zero!"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not a script with an instance"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a script"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Not based on a resource file"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (missing @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (can't load script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary format (invalid script at @path)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Invalid instance dictionary (invalid subclasses)"
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
-msgid "Object can't provide a length."
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Language Server"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Enable Smart Resolve"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Show Native Symbols In Editor"
-msgstr ""
-
-#: modules/gdscript/language_server/gdscript_language_server.cpp
-msgid "Use Thread"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export Mesh GLTF2"
-msgstr ""
-
-#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
-msgid "Export GLTF..."
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Normalized"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Min"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Max"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Count"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Indices Component Type"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Buffer View"
-msgstr ""
-
-#: modules/gltf/gltf_accessor.cpp
-msgid "Sparse Values Byte Offset"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Buffer"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Length"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Byte Stride"
-msgstr ""
-
-#: modules/gltf/gltf_buffer_view.cpp
-msgid "Indices"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "FOV Size"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Zfar"
-msgstr ""
-
-#: modules/gltf/gltf_camera.cpp
-msgid "Znear"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
-#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/animation/root_motion_view.cpp scene/gui/color_picker.cpp
-#: scene/gui/color_rect.cpp scene/gui/rich_text_effect.cpp
-#: scene/resources/environment.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/sky.cpp
-#: scene/resources/style_box.cpp
-msgid "Color"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
-#: scene/resources/environment.cpp
-msgid "Intensity"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-msgid "Range"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Inner Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_light.cpp
-msgid "Outer Cone Angle"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Blend Weights"
-msgstr ""
-
-#: modules/gltf/gltf_mesh.cpp
-msgid "Instance Materials"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-msgid "Parent"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Xform"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
-msgid "Skin"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-msgid "Translation"
-msgstr ""
-
-#: modules/gltf/gltf_node.cpp
-msgid "Children"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-msgid "Roots"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
-msgid "Unique Names"
-msgstr ""
-
-#: modules/gltf/gltf_skeleton.cpp
-msgid "Godot Bone Node"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Skin Root"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joints Original"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Inverse Binds"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Non Joints"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Bone I"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Joint I To Name"
-msgstr ""
-
-#: modules/gltf/gltf_skin.cpp
-msgid "Godot Skin"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Img"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Diffuse Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Gloss Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Specular Factor"
-msgstr ""
-
-#: modules/gltf/gltf_spec_gloss.cpp
-msgid "Spec Gloss Img"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Json"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Major Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Minor Version"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "GLB Data"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Use Named Skin Binds"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Buffer Views"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Accessors"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Scene Name"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Root Nodes"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-msgid "Textures"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
-msgid "Images"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Cameras"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-msgid "Lights"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Unique Animation Names"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeletons"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Skeleton To Node"
-msgstr ""
-
-#: modules/gltf/gltf_state.cpp
-msgid "Animations"
-msgstr ""
-
-#: modules/gltf/gltf_texture.cpp
-msgid "Src Image"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Mesh Library"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Physics Material"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-msgid "Use In Baked Light"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
-msgid "Cell"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Octant Size"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center X"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Y"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp
-msgid "Center Z"
-msgstr ""
-
-#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
-#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-#: scene/resources/material.cpp
-msgid "Mask"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Plane"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Plane:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Next Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Previous Floor"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Floor:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Delete Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paste Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Paint"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Snap View"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Disabled"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Above"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clip Below"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit X Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Y Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Edit Z Axis"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate X"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Y"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Back Rotate Z"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Cursor Clear Rotation"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Paste Selects"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Clear Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Fill Selection"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "GridMap Settings"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Pick Distance:"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Filter meshes"
-msgstr ""
-
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Begin Bake"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Preparing data structures"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Generate buffers"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Direct lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Indirect lighting"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Post processing"
-msgstr ""
-
-#: modules/lightmapper_cpu/lightmapper_cpu.cpp
-msgid "Plotting lightmaps"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "CPU Lightmapper"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Low Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Medium Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "High Quality Ray Count"
-msgstr ""
-
-#: modules/lightmapper_cpu/register_types.cpp
-msgid "Ultra Quality Ray Count"
-msgstr ""
-
-#: modules/minimp3/audio_stream_mp3.cpp
-#: modules/minimp3/resource_importer_mp3.cpp
-#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
-#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-msgid "Loop Offset"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Eye Height"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "IOD"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display Width"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Display To Lens"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "Oversample"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K1"
-msgstr ""
-
-#: modules/mobile_vr/mobile_vr_interface.cpp
-msgid "K2"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Class name can't be a reserved keyword"
-msgstr ""
-
-#: modules/mono/csharp_script.cpp
-msgid "Build Solution"
-msgstr ""
-
-#: modules/mono/editor/csharp_project.cpp
-msgid "Auto Update Project"
-msgstr ""
-
-#: modules/mono/mono_gd/gd_mono_utils.cpp
-msgid "End of inner exception stack trace"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-#: scene/3d/navigation_mesh_instance.cpp
-msgid "A NavigationMesh resource must be set or created for this node to work."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Bake NavMesh"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: modules/navigation/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Seamless"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "As Normal Map"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Bump Strength"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise"
-msgstr ""
-
-#: modules/opensimplex/noise_texture.cpp
-msgid "Noise Offset"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Octaves"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Period"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Persistence"
-msgstr ""
-
-#: modules/opensimplex/open_simplex_noise.cpp
-msgid "Lacunarity"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Subject"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Names"
-msgstr ""
-
-#: modules/regex/regex.cpp
-msgid "Strings"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Multicast If"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover Local Port"
-msgstr ""
-
-#: modules/upnp/upnp.cpp
-msgid "Discover IPv6"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Description URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Control URL"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Service Type"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Our Addr"
-msgstr ""
-
-#: modules/upnp/upnp_device.cpp
-msgid "IGD Status"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"A node yielded without working memory, please read the docs on how to yield "
-"properly!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Node yielded, but did not return a function state in the first working "
-"memory."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid ""
-"Return value must be assigned to first element of node working memory! Fix "
-"your node please."
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Found sequence bit but not the node in the stack, report bug!"
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr ""
-
-#: modules/visual_script/visual_script.cpp
-msgid "Visual Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Signal Arguments"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Argument name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Default Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Set Variable Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Port Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Override an existing built-in function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new function."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Variables:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new variable."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create a new signal."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name is not a valid identifier:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Name already in use by another func/var/signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Rename Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete input port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Input Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Output Port"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't copy the function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Paste VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Duplicate VisualScript Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a simple reference to the node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold %s to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Hold Ctrl to drop a Variable Setter."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Preload Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Node(s) From Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid ""
-"Can't drop properties because script '%s' is not used in this scene.\n"
-"Drop holding 'Shift' to just copy the signature."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Getter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Setter Property"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Move Node(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove VisualScript Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Disconnect Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Data"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Connect Node Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Script already has function '%s'"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Input Value"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Resize Comment"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function with a function node."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Can't create function of nodes from nodes of multiple functions."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select at least one node with sequence port."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Try to only have one sequence input in selection."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Create Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Signal"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Signal:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Tool:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Members:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Change Base Type:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Nodes..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Add Function..."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "function_name"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Select or create a function to edit its graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Delete Selected"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Find Node Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Copy Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Cut Nodes"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Make Function"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Refresh Graph"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Member"
-msgstr ""
-
-#: modules/visual_script/visual_script_expression.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Expression"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Enabled"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Return Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "if (cond) is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "while (cond):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "for (elem) in (input):"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "in order:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Steps"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "'input' is:"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Type Cast"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Is %s?"
-msgstr ""
-
-#: modules/visual_script/visual_script_flow_control.cpp
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base Script"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "On Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Type"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Node Path"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Use Default Args"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Validate"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "RPC Call Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Subtract %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Multiply %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Divide %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Mod %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftLeft %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "ShiftRight %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitAnd %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitOr %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "BitXor %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Set Mode"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Assign Op"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-#: modules/visual_script/visual_script_nodes.cpp
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Get %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Base object is not a Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Path does not lead to Node!"
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Invalid index property name '%s' in node %s."
-msgstr ""
-
-#: modules/visual_script/visual_script_func_nodes.cpp
-msgid "Emit %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Compose Array"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Operator"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "a if cond, else b"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Var Name"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Preload"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Index"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Global Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Class Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Basic Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Math Constant"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Engine Singleton"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Node"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Scene Tree"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Self"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "CustomNode"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Custom node has no _step() method, can't process graph."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid ""
-"Invalid return value from _step(), must be integer (seq out), or string "
-"(error)."
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "SubCall"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
-msgid "Title"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Construct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Get Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Set Local Var"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Action %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_nodes.cpp
-msgid "Deconstruct %s"
-msgstr ""
-
-#: modules/visual_script/visual_script_property_selector.cpp
-msgid "Search VisualScript"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Yield"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Wait"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "Next Physics Frame"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "%s sec(s)"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-msgid "Wait Time"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitNodeSignal"
-msgstr ""
-
-#: modules/visual_script/visual_script_yield_nodes.cpp
-msgid "WaitInstanceSignal"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.cpp
-msgid "Write Mode"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "WebRTC"
-msgstr ""
-
-#: modules/webrtc/webrtc_data_channel.h
-msgid "Max Channel In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Verify SSL"
-msgstr ""
-
-#: modules/websocket/websocket_client.cpp
-msgid "Trusted SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Client"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max In Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Buffer (KB)"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "Max Out Packets"
-msgstr ""
-
-#: modules/websocket/websocket_macros.h
-msgid "WebSocket Server"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Bind IP"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Private Key"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
-msgid "SSL Certificate"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "CA Chain"
-msgstr ""
-
-#: modules/websocket/websocket_server.cpp
-msgid "Handshake Timeout"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Session Mode"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Required Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Optional Features"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Requested Reference Space Types"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Reference Space Type"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Visibility State"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "Bounds Geometry"
-msgstr ""
-
-#: modules/webxr/webxr_interface.cpp
-msgid "XR Standard Mapping"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Android SDK Path"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Debug Keystore Pass"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Force System User"
-msgstr ""
-
-#: platform/android/export/export.cpp
-msgid "Shutdown ADB On Exit"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Launcher Icons"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Main 192 X 192"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Foreground 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adaptive Background 432 X 432"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package name is missing."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package segments must be of non-zero length."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' is not allowed in Android application package names."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A digit cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The character '%s' cannot be the first character in a package segment."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "The package must have at least one '.' separator."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Use Custom Build"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Export Format"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-msgid "Architectures"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Keystore"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Debug Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release User"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release Password"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "One Click Deploy"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Clear Previous Install"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Code"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Package"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Unique Name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signed"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Classify As Game"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Retain Data On Uninstall"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exclude From Recents"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Graphics"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "OpenGL Debug"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Features"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "XR Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Hand Tracking Frequency"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Passthrough"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Immersive Mode"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Small"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Normal"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Large"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Support Xlarge"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "User Data Backup"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Allow"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Command Line"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-msgid "Extra Args"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Salt"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Public Key"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Custom Permissions"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Select device from the list"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Uninstalling..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Installing to device, please wait..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not install to device: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Running on device..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not execute on device."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build template not installed in the project. Install it from the "
-"Project menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Debug Keystore, Debug User AND Debug Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Either Release Keystore, Release User AND Release Password settings must be "
-"configured OR none of them."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Release keystore incorrectly configured in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "A valid Android SDK path is required in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid Android SDK path in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'platform-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK platform-tools' adb command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Please check in the Android SDK directory specified in Editor Settings."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Missing 'build-tools' directory!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unable to find Android SDK build-tools' apksigner command."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid public key for APK expansion."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid package name:"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
-"project setting (changed in Godot 3.2.2).\n"
-"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
-"Note that the singleton was also renamed from \"GodotPayments\" to "
-"\"GodotGooglePlayBilling\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Use Custom Build\" must be enabled to use the plugins."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
-"or \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing debug %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Signing release %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not find keystore, unable to export."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' returned with error #%d"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Verifying %s..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "'apksigner' verification of %s failed."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Exporting for Android"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android App Bundle requires the *.aab extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "APK Expansion not compatible with Android App Bundle."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Invalid filename! Android APK requires the *.apk extension."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Trying to build from a custom built template, but no version info for it "
-"exists. Please reinstall from the 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
-"Please reinstall Android build template from 'Project' menu."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not write expansion package file!"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Building Android Project (gradle)"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Building of Android project failed, check output for the error.\n"
-"Alternatively visit docs.godotengine.org for Android build documentation."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Moving output"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Unable to copy and rename export file, check gradle project directory for "
-"outputs."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Creating APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
-"Please build a template with all required libraries, or uncheck the missing "
-"architectures in the export preset."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Adding files..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Aligning APK..."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
-msgid "Could not unzip temporary unaligned APK."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier is missing."
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "The character '%s' is not allowed in Identifier."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Landscape Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2436 X 1125"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 2208 X 1242"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1024 X 768"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 2048 X 1536"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Portrait Launch Screens"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 960"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 640 X 1136"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 750 X 1334"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1125 X 2436"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 768 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 1536 X 2048"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 1242 X 2208"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Debug"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Provisioning Profile UUID Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Code Sign Identity Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Export Method Release"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Targeted Device Family"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Info"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Identifier"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
-msgid "Signature"
-msgstr "Amẓ"
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Short Version"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Copyright"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Capabilities"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Access Wi-Fi"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Push Notifications"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "User Data"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From Files App"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Accessible From iTunes Sharing"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Privacy"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Camera Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-msgid "Microphone Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Photolibrary Usage Description"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 120 X 120"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPhone 180 X 180"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 76 X 76"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 152 X 152"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "iPad 167 X 167"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store 1024 X 1024"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 40 X 40"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Spotlight 80 X 80"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Launch Screen Storyboard"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Image Scale Mode"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @2x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom Image @3x"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Use Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Custom BG Color"
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "App Store Team ID not specified - cannot configure the project."
-msgstr ""
-
-#: platform/iphone/export/export.cpp
-msgid "Invalid Identifier:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Stop HTTP Server"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run in Browser"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Run exported HTML in the system's default browser."
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Variant"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Type"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "VRAM Texture Compression"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Desktop"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "For Mobile"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTML"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Export Icon"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Custom HTML Shell"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Head Include"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Canvas Resize Policy"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Focus Canvas On Start"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Experimental Virtual Keyboard"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Progressive Web App"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Offline Page"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 144 X 144"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 180 X 180"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Icon 512 X 512"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Web"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Host"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "HTTP Port"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "Use SSL"
-msgstr ""
-
-#: platform/javascript/export/export.cpp
-msgid "SSL Key"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't get filesystem access."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get Info.plist hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no exe name."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, no bundle id."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid Info.plist, can't load."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create \"%s\" subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to extract thin binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid binary format."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Already signed!"
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to process nested resources."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to get CodeResources hash."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-msgid "Invalid entitlements file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Invalid executable file."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Can't resize signature load command."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Failed to create fat binary."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown bundle type."
-msgstr ""
-
-#: platform/osx/export/codesign.cpp
-msgid "Unknown object type."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Category"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "High Res"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Location Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendar Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Desktop Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Documents Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Downloads Folder Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Removable Volumes Usage Description"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Codesign"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
-msgid "Identity"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
-msgid "Timestamp"
-msgstr "Akud:"
-
-#: platform/osx/export/export.cpp
-msgid "Hardened Runtime"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Replace Existing Signature"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Entitlements"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Custom File"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow JIT Code Execution"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Unsigned Executable Memory"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Allow Dyld Environment Variables"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Disable Library Validation"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Audio Input"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Address Book"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Calendars"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Photos Library"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Events"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Debugging"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "App Sandbox"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Server"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Network Client"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device USB"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Device Bluetooth"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Downloads"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Pictures"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Music"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Files Movies"
-msgstr ""
-
-#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-msgid "Custom Options"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Name"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple ID Password"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Apple Team ID"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"You can check progress manually by opening a Terminal and running the "
-"following command:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Run the following command to staple the notarization ticket to the exported "
-"application (optional):"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "No identity found."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Creating app bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Relative symlinks are not supported on this OS, the exported project might "
-"be broken!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
-"template archive."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making PKG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Ad-hoc signed applications require the 'Disable Library Validation' "
-"entitlement to load dynamic libraries."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing bundle"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Code signing DMG"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Making ZIP"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Notarization requires the app to be archived first, select the DMG or ZIP "
-"export format instead."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Sending archive for notarization"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Invalid bundle identifier:"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
-"signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Xcode command line tools are not installed, using built-in "
-"\"codesign\". Code signing is limited to ad-hoc signature only."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Code signing is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Hardened runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID name not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Notarization: Apple ID password not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is disabled. The exported project will be blocked by "
-"Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Code signing is disabled. The exported project will not run on Macs with "
-"enabled Gatekeeper and Apple Silicon powered Macs."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Hardened Runtime is not compatible with ad-hoc signature, and will be "
-"disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Warning: Notarization is not supported from this OS. The exported project "
-"will be blocked by Gatekeeper if it's downloaded from an unknown source."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Microphone access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Camera access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Location information access is enabled, but usage description is "
-"not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Address book access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Calendar access is enabled, but usage description is not specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid ""
-"Privacy: Photo library access is enabled, but usage description is not "
-"specified."
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "macOS"
-msgstr ""
-
-#: platform/osx/export/export.cpp
-msgid "Force Builtin Codesign"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Architecture"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Short Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher Display Name"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Product GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Publisher GUID"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Signing"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Algorithm"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Major"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Minor"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Build"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Revision"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Landscape Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Portrait Flipped"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Store Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 44 X 44 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 71 X 71 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 150 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Square 310 X 310 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Wide 310 X 150 Logo"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Splash Screen"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Tiles"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 150 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Wide 310 X 150"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Show Name On Square 310 X 310"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package short name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package unique name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid package publisher display name."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid product GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid publisher GUID."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid background color."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid Store Logo image dimensions (should be 50x50)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 44x44 logo image dimensions (should be 44x44)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 71x71 logo image dimensions (should be 71x71)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 150x150 logo image dimensions (should be 150x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid square 310x310 logo image dimensions (should be 310x310)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Invalid splash screen image dimensions (should be 620x300)."
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "UWP"
-msgstr ""
-
-#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-msgid "Signtool"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Certificate"
-msgstr ""
-
-#: platform/uwp/export/export.cpp
-msgid "Debug Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Identity Type"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Timestamp Server URL"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Digest Algorithm"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Modify Resources"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Version"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Company Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Product Name"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "File Description"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Trademarks"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid ""
-"The rcedit tool must be configured in the Editor Settings (Export > Windows "
-"> Rcedit) to change the icon or app information data."
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid icon path:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid file version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Invalid product version:"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Windows"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Rcedit"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Osslsigncode"
-msgstr ""
-
-#: platform/windows/export/export.cpp
-msgid "Wine"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/texture.cpp
-msgid "Frames"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite to display frames."
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
-#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Speed Scale"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
-#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Playing"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Centered"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip H"
-msgstr ""
-
-#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-msgid "Flip V"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitoring"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Monitorable"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Physics Overrides"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Space Override"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Point"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Distance Scale"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Gravity Vec"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Gravity"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Linear Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Angular Damp"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Audio Bus"
-msgstr ""
-
-#: scene/2d/area_2d.cpp scene/3d/area.cpp
-msgid "Override"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
-#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-msgid "Volume dB"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Pitch Scale"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Autoplay"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp
-msgid "Stream Paused"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
-msgid "Max Distance"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
-msgid "Attenuation"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-msgid "Bus"
-msgstr ""
-
-#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
-msgid "Area Mask"
-msgstr ""
-
-#: scene/2d/back_buffer_copy.cpp
-msgid "Copy Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Anchor Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Rotating"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
-#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
-msgid "Current"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-msgid "Zoom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
-msgid "Custom Viewport"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
-msgid "Process Mode"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Limit"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Left"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/style_box.cpp scene/resources/texture.cpp
-msgid "Right"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp
-msgid "Bottom"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothed"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin H Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin V Enabled"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Smoothing"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "H"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "V"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Drag Margin"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Screen"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Limits"
-msgstr ""
-
-#: scene/2d/camera_2d.cpp
-msgid "Draw Drag Margin"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp
-msgid "Blend Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Light Mode"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Animation"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim H Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim V Frames"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Particles Anim Loop"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-msgid "Visibility"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
-#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-msgid "Visible"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Self Modulate"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show Behind Parent"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Show On Top"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
-#: scene/2d/tile_map.cpp
-msgid "Light Mask"
-msgstr ""
-
-#: scene/2d/canvas_item.cpp
-msgid "Use Parent Material"
-msgstr ""
-
-#: scene/2d/canvas_modulate.cpp
-msgid ""
-"Only one visible CanvasModulate is allowed per scene (or set of instanced "
-"scenes). The first created one will work, while the rest will be ignored."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
-"define its shape."
-msgstr ""
-
-#: scene/2d/collision_object_2d.cpp
-msgid "Pickable"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid ""
-"CollisionPolygon2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "An empty CollisionPolygon2D has no effect on collision."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid ""
-"The One Way Collision property will be ignored when the parent is an Area2D."
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp
-msgid "Build Mode"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
-#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Disabled"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision"
-msgstr ""
-
-#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
-msgid "One Way Collision Margin"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"CollisionShape2D only serves to provide a collision shape to a "
-"CollisionObject2D derived node. Please only use it as a child of Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"A shape must be provided for CollisionShape2D to function. Please create a "
-"shape resource for it!"
-msgstr ""
-
-#: scene/2d/collision_shape_2d.cpp
-msgid ""
-"Polygon-based shapes are not meant be used nor edited directly through the "
-"CollisionShape2D node. Please use the CollisionPolygon2D node instead."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid ""
-"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Emitting"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Lifetime"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
-msgid "One Shot"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Preprocess"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Explosiveness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Lifetime Randomness"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fixed FPS"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Fract Delta"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Drawing"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Local Coords"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-msgid "Draw Order"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Emission Shape"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Sphere Radius"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp
-msgid "Rect Extents"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Normals"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Align Y"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Direction"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Spread"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Initial Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Angular Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Velocity Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Orbit Velocity"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Linear Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Accel Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Radial Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Tangential Accel"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
-#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
-#: scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-#: scene/resources/particles_material.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Damping"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Damping Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Angle Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-msgid "Scale Amount Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Color Initial Ramp"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Hue Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Variation Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Speed Curve"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Random"
-msgstr ""
-
-#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#: scene/resources/particles_material.cpp
-msgid "Offset Curve"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node B must be a PhysicsBody2D"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Joint is not connected to two PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Node A and Node B must be different PhysicsBody2Ds"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node A"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-msgid "Node B"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/resources/environment.cpp
-msgid "Bias"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Disable Collision"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Softness"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp
-msgid "Initial Offset"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
-msgid "Rest Length"
-msgstr ""
-
-#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
-msgid "Stiffness"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid ""
-"A texture with the shape of the light must be supplied to the \"Texture\" "
-"property."
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-msgid "Editor Only"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Texture Scale"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/light.cpp scene/resources/environment.cpp
-#: scene/resources/material.cpp scene/resources/sky.cpp
-msgid "Energy"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Z Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Min"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Layer Max"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Item Cull Mask"
-msgstr ""
-
-#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-msgid "Shadow"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Buffer Size"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Gradient Length"
-msgstr ""
-
-#: scene/2d/light_2d.cpp
-msgid "Filter Smooth"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "Closed"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
-msgid "Cull Mode"
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid ""
-"An occluder polygon must be set (or drawn) for this occluder to take effect."
-msgstr ""
-
-#: scene/2d/light_occluder_2d.cpp
-msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Width Curve"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Default Color"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Fill"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-msgid "Gradient"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Texture Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Capping"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Joint Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Begin Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "End Cap Mode"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-msgid "Border"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Sharp Limit"
-msgstr ""
-
-#: scene/2d/line_2d.cpp
-msgid "Round Precision"
-msgstr ""
-
-#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/resources/dynamic_font.cpp
-msgid "Antialiased"
-msgstr ""
-
-#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-msgid "Multimesh"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
-#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
-#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Cell Size"
-msgstr ""
-
-#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-msgid "Edge Connection Margin"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Target Desired Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Avoidance Enabled"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp
-msgid ""
-"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-msgid "Estimate Radius"
-msgstr ""
-
-#: scene/2d/navigation_obstacle_2d.cpp
-msgid ""
-"The NavigationObstacle2D only serves to provide collision avoidance to a "
-"Node2D object."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"A NavigationPolygon resource must be set or created for this node to work. "
-"Please set a property or draw a polygon."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
-#: scene/main/canvas_layer.cpp
-msgid "Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Rotation Degrees"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Global Scale"
-msgstr ""
-
-#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-msgid "Global Transform"
-msgstr ""
-
-#: scene/2d/node_2d.cpp
-msgid "Z As Relative"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Offset"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Base Scale"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit Begin"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Limit End"
-msgstr ""
-
-#: scene/2d/parallax_background.cpp
-msgid "Ignore Camera Zoom"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid ""
-"ParallaxLayer node only works when set as child of a ParallaxBackground node."
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp
-#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion"
-msgstr ""
-
-#: scene/2d/parallax_layer.cpp
-msgid "Mirroring"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles2D node instead. You can use the \"Convert to "
-"CPUParticles2D\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"On macOS, Particles2D rendering is much slower than CPUParticles2D due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles2D instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles2D\" toolbar option for this "
-"purpose."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid ""
-"A material to process the particles is not assigned, so no behavior is "
-"imprinted."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid ""
-"Particles2D animation requires the usage of a CanvasItemMaterial with "
-"\"Particles Animation\" enabled."
-msgstr ""
-
-#: scene/2d/particles_2d.cpp
-msgid "Visibility Rect"
-msgstr ""
-
-#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
-msgid "Process Material"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
-#: scene/resources/texture.cpp
-msgid "Curve"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "PathFollow2D only works when set as a child of a Path2D node."
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Unit Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "H Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-msgid "V Offset"
-msgstr ""
-
-#: scene/2d/path_2d.cpp scene/3d/path.cpp
-msgid "Cubic Interp"
-msgstr ""
-
-#: scene/2d/path_2d.cpp
-msgid "Lookahead"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-msgid "Layers"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Linear Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Constant Angular Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Friction"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
-#: scene/resources/physics_material.cpp
-msgid "Bounce"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Physics Material Override"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid ""
-"Size changes to RigidBody2D (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Mass"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Inertia"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Weight"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Gravity Scale"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Custom Integrator"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Continuous CD"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contacts Reported"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Contact Monitor"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Sleeping"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Can Sleep"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Damp"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Angular"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Applied Forces"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp
-msgid "Torque"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Safe Margin"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Sync To Physics"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Moving Platform"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Apply Velocity On Leave"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
-#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-msgid "Normal"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Remainder"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Local Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider ID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider RID"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Shape"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Shape Index"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collider Velocity"
-msgstr ""
-
-#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-msgid "Collider Metadata"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Invert"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Vertex Colors"
-msgstr ""
-
-#: scene/2d/polygon_2d.cpp
-msgid "Internal Vertex Count"
-msgstr ""
-
-#: scene/2d/position_2d.cpp
-msgid "Gizmo Extents"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Exclude Parent"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Cast To"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
-msgid "Collide With"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Areas"
-msgstr ""
-
-#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
-msgid "Bodies"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp
-msgid "Path property must point to a valid Node2D node to work."
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Remote Path"
-msgstr ""
-
-#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-msgid "Use Global Coordinates"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
-msgid "Rest"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "Default Length"
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
-msgstr ""
-
-#: scene/2d/skeleton_2d.cpp
-msgid ""
-"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Hframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Vframes"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-msgid "Frame Coords"
-msgstr ""
-
-#: scene/2d/sprite.cpp scene/resources/texture.cpp
-msgid "Filter Clip"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid ""
-"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
-"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
-"KinematicBody2D, etc. to give them a shape."
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Set"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Quadrant Size"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Custom Transform"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Half Offset"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Tile Origin"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Y Sort"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Show Collision"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Compatibility Mode"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Centered Textures"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Cell Clip UV"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Parent"
-msgstr ""
-
-#: scene/2d/tile_map.cpp
-msgid "Use Kinematic"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Centered"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Shape Visible"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Passby Press"
-msgstr ""
-
-#: scene/2d/touch_screen_button.cpp
-msgid "Visibility Mode"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid ""
-"VisibilityEnabler2D works best when used with the edited scene root directly "
-"as parent."
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Pause Animations"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-msgid "Freeze Bodies"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Particles"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Pause Animated Sprites"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Process Parent"
-msgstr ""
-
-#: scene/2d/visibility_notifier_2d.cpp
-msgid "Physics Process Parent"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Reverb Bus"
-msgstr ""
-
-#: scene/3d/area.cpp
-msgid "Uniformity"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRCamera must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Controller ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
-msgid "Rumble"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The controller ID must not be 0 or this controller won't be bound to an "
-"actual controller."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "Anchor ID"
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid ""
-"The anchor ID must not be 0 or this anchor won't be bound to an actual "
-"anchor."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp
-msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr ""
-
-#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-msgid "World Scale"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Model"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Unit Size"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Max dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Out Of Range Mode"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Emission Angle"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Degrees"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Filter Attenuation dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Attenuation Filter"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Cutoff Hz"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "dB"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Doppler"
-msgstr ""
-
-#: scene/3d/audio_stream_player_3d.cpp
-msgid "Tracking"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp
-msgid "Interior"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Finding meshes and lights"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing geometry (%d/%d)"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Preparing environment"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generating capture"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Saving lightmaps"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Done"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp
-#: scene/resources/rectangle_shape_2d.cpp
-msgid "Extents"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Tweaks"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounces"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Bounce Indirect Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Denoiser"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Use HDR"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Use Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Default Texels Per Unit"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-msgid "Atlas"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Generate"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Max Size"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Sky Rotation Degrees"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-msgid "Custom Color"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Custom Energy"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Min Light"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
-msgid "Propagation"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Image Path"
-msgstr ""
-
-#: scene/3d/baked_lightmap.cpp
-msgid "Light Data"
-msgstr ""
-
-#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-msgid "Bone Name"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Keep Aspect"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
-msgid "Cull Mask"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Doppler Tracking"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Projection"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "FOV"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Frustum Offset"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Near"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Far"
-msgstr ""
-
-#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/shape.cpp scene/resources/style_box.cpp
-#: scene/resources/texture.cpp servers/physics_2d_server.cpp
-#: servers/physics_server.cpp
-msgid "Margin"
-msgstr ""
-
-#: scene/3d/camera.cpp
-msgid "Clip To"
-msgstr ""
-
-#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
-msgid "Ray Pickable"
-msgstr ""
-
-#: scene/3d/collision_object.cpp
-#, fuzzy
-msgid "Capture On Drag"
-msgstr "Amẓ"
-
-#: scene/3d/collision_object.cpp
-msgid ""
-"This node has no shape, so it can't collide or interact with other objects.\n"
-"Consider adding a CollisionShape or CollisionPolygon as a child to define "
-"its shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid ""
-"CollisionPolygon only serves to provide a collision shape to a "
-"CollisionObject derived node. Please only use it as a child of Area, "
-"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_polygon.cpp
-msgid "An empty CollisionPolygon has no effect on collision."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"CollisionShape only serves to provide a collision shape to a CollisionObject "
-"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
-"KinematicBody, etc. to give them a shape."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"A shape must be provided for CollisionShape to function. Please create a "
-"shape resource for it."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"Plane shapes don't work well and will be removed in future versions. Please "
-"don't use them."
-msgstr ""
-
-#: scene/3d/collision_shape.cpp
-msgid ""
-"ConcavePolygonShape doesn't support RigidBody in another mode than static."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid "Nothing is visible because no mesh has been assigned."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp
-msgid ""
-"CPUParticles animation requires the usage of a SpatialMaterial whose "
-"Billboard Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Box Extents"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Inner Radius"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Height"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Ring Axis"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Rotate Y"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Disable Z"
-msgstr ""
-
-#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-msgid "Flatness"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-msgid "Portals"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Portal Mode"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Include In Bound"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Allow Merging"
-msgstr ""
-
-#: scene/3d/cull_instance.cpp
-msgid "Autoplace Priority"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Plotting Meshes"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Finishing Plot"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"GIProbes are not supported by the GLES2 video driver.\n"
-"Use a BakedLightmap instead."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid ""
-"The GIProbe Compress property has been deprecated due to known bugs and no "
-"longer has any effect.\n"
-"To remove this warning, disable the GIProbe's Compress property."
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Subdiv"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp
-msgid "Dynamic Range"
-msgstr ""
-
-#: scene/3d/gi_probe.cpp scene/3d/light.cpp
-msgid "Normal Bias"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-#: scene/resources/primitive_meshes.cpp
-msgid "Pixel Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Billboard"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Shaded"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Double Sided"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "No Depth Test"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Fixed Size"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
-msgid "Alpha Cut"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/material.cpp
-msgid "Alpha Scissor Threshold"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Render Priority"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Outline Modulate"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-msgid "Font"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-msgid "Horizontal Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp
-msgid "Vertical Alignment"
-msgstr ""
-
-#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
-msgid "Autowrap"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Indirect Energy"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Negative"
-msgstr ""
-
-#: scene/3d/light.cpp scene/resources/material.cpp
-#: scene/resources/visual_shader.cpp
-msgid "Specular"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bake Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Contact"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Reverse Cull Face"
-msgstr ""
-
-#: scene/3d/light.cpp servers/visual_server.cpp
-msgid "Directional Shadow"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 1"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 2"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Split 3"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Blend Splits"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Bias Split Scale"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Depth Range"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Omni"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Mode"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Shadow Detail"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Spot"
-msgstr ""
-
-#: scene/3d/light.cpp
-msgid "Angle Attenuation"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Software Skinning"
-msgstr ""
-
-#: scene/3d/mesh_instance.cpp
-msgid "Transform Normals"
-msgstr ""
-
-#: scene/3d/navigation.cpp scene/resources/curve.cpp
-msgid "Up Vector"
-msgstr ""
-
-#: scene/3d/navigation.cpp
-msgid "Cell Height"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Agent Height Offset"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid "Ignore Y"
-msgstr ""
-
-#: scene/3d/navigation_agent.cpp
-msgid ""
-"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
-#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-msgid "NavMesh"
-msgstr ""
-
-#: scene/3d/navigation_obstacle.cpp
-msgid ""
-"The NavigationObstacle only serves to provide collision avoidance to a "
-"Spatial inheriting parent object."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "No shape is set."
-msgstr ""
-
-#: scene/3d/occluder.cpp
-msgid "Only uniform scales are supported."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"GPU-based particles are not supported by the GLES2 video driver.\n"
-"Use the CPUParticles node instead. You can use the \"Convert to "
-"CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"On macOS, Particles rendering is much slower than CPUParticles due to "
-"transform feedback being implemented on the CPU instead of the GPU.\n"
-"Consider using CPUParticles instead when targeting macOS.\n"
-"You can use the \"Convert to CPUParticles\" toolbar option for this purpose."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid ""
-"Particles animation requires the usage of a SpatialMaterial whose Billboard "
-"Mode is set to \"Particle Billboard\"."
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Visibility AABB"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Draw Passes"
-msgstr ""
-
-#: scene/3d/particles.cpp
-msgid "Passes"
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "PathFollow only works when set as a child of a Path node."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid ""
-"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
-"parent Path's Curve resource."
-msgstr ""
-
-#: scene/3d/path.cpp
-msgid "Rotation Mode"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid ""
-"Size changes to RigidBody (in character or rigid modes) will be overridden "
-"by the physics engine when running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Axis Lock"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Motion Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Joint Constraints"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Impulse Clamp"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Swing Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "Twist Span"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-#: scene/3d/vehicle_body.cpp
-msgid "Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Bias"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Relaxation"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Upper"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Lower"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Softness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Limit Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "X"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Y"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Z"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Limit Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Linear Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Restitution"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
-msgid "ERP"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Enabled"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Stiffness"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Spring Damping"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Angular Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_body.cpp
-msgid "Body Offset"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node B must be a PhysicsBody"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Joint is not connected to any PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Node A and Node B must be different PhysicsBodies"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Solver"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Exclude Nodes"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Params"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Motor"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Target Velocity"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-#, fuzzy
-msgid "Max Impulse"
-msgstr "Azal:"
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Distance"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Restitution"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Upper Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Lower Angle"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motion"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Ortho"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Force Limit"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Equilibrium Point"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring X"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Y"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Linear Spring Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Limit Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Motor Z"
-msgstr ""
-
-#: scene/3d/physics_joint.cpp
-msgid "Angular Spring Z"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "The RoomManager should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A Room should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "A RoomGroup should not be a child or grandchild of a Portal."
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Portal Active"
-msgstr ""
-
-#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
-msgid "Two Way"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Linked Room"
-msgstr ""
-
-#: scene/3d/portal.cpp
-msgid "Use Default Margin"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Group Name"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Dispatch Mode"
-msgstr ""
-
-#: scene/3d/proximity_group.cpp
-msgid "Grid Radius"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp
-msgid "Debug Shape"
-msgstr ""
-
-#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
-msgid "Thickness"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
-msgid "Update Mode"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Origin Offset"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Box Projection"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Enable Shadows"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Color"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Energy"
-msgstr ""
-
-#: scene/3d/reflection_probe.cpp
-msgid "Ambient Contrib"
-msgstr ""
-
-#: scene/3d/remote_transform.cpp
-msgid ""
-"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
-"derived node to work."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A Room cannot have another Room as a child or grandchild."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "The RoomManager should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "A RoomGroup should not be placed inside a Room."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid ""
-"Room convex hull contains a large number of planes.\n"
-"Consider simplifying the room bound in order to increase performance."
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Use Default Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp scene/3d/room_manager.cpp
-msgid "Room Simplify"
-msgstr ""
-
-#: scene/3d/room.cpp
-msgid "Bound"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "Roomgroup Priority"
-msgstr ""
-
-#: scene/3d/room_group.cpp
-msgid "The RoomManager should not be placed inside a RoomGroup."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList has not been assigned."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "The RoomList node should be a Spatial (or derived from Spatial)."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal Depth Limit is set to Zero.\n"
-"Only the Room that the Camera is in will render."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "There should only be one RoomManager in the SceneTree."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Main"
-msgstr ""
-
-#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
-#: scene/animation/animation_tree_player.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Active"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roomlist"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Mode"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "PVS Filename"
-msgstr ""
-
-#: scene/3d/room_manager.cpp servers/visual_server.cpp
-msgid "Gameplay"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Gameplay Monitor"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Use Secondary PVS"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Merge Meshes"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Show Margins"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Debug Sprawl"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Overlap Warning Threshold"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Preview Camera"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal Depth Limit"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Default Portal Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Roaming Expansion Margin"
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"RoomList path is invalid.\n"
-"Please check the RoomList branch has been assigned in the RoomManager."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "RoomList contains no Rooms, aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Misnamed nodes detected, check output log for details. Aborting."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid "Portal link room not found, check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Portal autolink failed, check output log for details.\n"
-"Check the portal is facing outwards from the source room."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Room overlap detected, cameras may work incorrectly in overlapping area.\n"
-"Check output log for details."
-msgstr ""
-
-#: scene/3d/room_manager.cpp
-msgid ""
-"Error calculating room bounds.\n"
-"Ensure all rooms contain geometry or manual bounds."
-msgstr ""
-
-#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-msgid "Pose"
-msgstr ""
-
-#: scene/3d/skeleton.cpp
-msgid "Bound Children"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pinned Points"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Attachments"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Point Index"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Spatial Attachment Path"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Physics Enabled"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Parent Collision Ignore"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Simulation Precision"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Total Mass"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Linear Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Areaangular Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Volume Stiffness"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pressure Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Damping Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Drag Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "Pose Matching Coefficient"
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid "This body will be ignored until you set a mesh."
-msgstr ""
-
-#: scene/3d/soft_body.cpp
-msgid ""
-"Size changes to SoftBody will be overridden by the physics engine when "
-"running.\n"
-"Change the size in children collision shapes instead."
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Matrix"
-msgstr ""
-
-#: scene/3d/spatial.cpp
-msgid "Gizmo"
-msgstr ""
-
-#: scene/3d/spatial_velocity_tracker.cpp
-msgid "Track Physics Step"
-msgstr ""
-
-#: scene/3d/spring_arm.cpp
-msgid "Spring Length"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
-msgid "Opacity"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
-msgid "Transparent"
-msgstr ""
-
-#: scene/3d/sprite_3d.cpp
-msgid ""
-"A SpriteFrames resource must be created or set in the \"Frames\" property in "
-"order for AnimatedSprite3D to display frames."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid ""
-"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
-"it as a child of a VehicleBody."
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Per-Wheel Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Engine Force"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Brake"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "VehicleBody Motion"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Traction"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Use As Steering"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Wheel"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Roll Influence"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Friction Slip"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Suspension"
-msgstr ""
-
-#: scene/3d/vehicle_body.cpp
-msgid "Max Force"
-msgstr ""
-
-#: scene/3d/visibility_notifier.cpp
-msgid "AABB"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
-msgid "Geometry"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Override"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Material Overlay"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Cast Shadow"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Extra Cull Margin"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Baked Light"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Generate Lightmap"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Lightmap Scale"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "LOD"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
-#: scene/resources/material.cpp
-msgid "Min Distance"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Min Hysteresis"
-msgstr ""
-
-#: scene/3d/visual_instance.cpp
-msgid "Max Hysteresis"
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"WorldEnvironment requires its \"Environment\" property to contain an "
-"Environment to have a visible effect."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
-msgstr ""
-
-#: scene/3d/world_environment.cpp
-msgid ""
-"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set "
-"this environment's Background Mode to Canvas (for 2D scenes)."
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Animation not found: '%s'"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Mix Mode"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadein Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Fadeout Time"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Auto Restart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Autorestart"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Random Delay"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Add Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Blend Amount"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Seek Position"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-msgid "Input Count"
-msgstr ""
-
-#: scene/animation/animation_blend_tree.cpp
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Xfade Time"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Switch Mode"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Auto Advance"
-msgstr ""
-
-#: scene/animation/animation_node_state_machine.cpp
-msgid "Advance Condition"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Anim Apply Reset"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Assigned Animation"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Reset On Save"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Length"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Current Animation Position"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Playback Options"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Default Blend Time"
-msgstr ""
-
-#: scene/animation/animation_player.cpp
-msgid "Method Call Mode"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "In node '%s', invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Invalid animation: '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Nothing connected to input '%s' of node '%s'."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "No root AnimationNode for the graph is set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path to an AnimationPlayer node containing animations is not set."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "The AnimationPlayer root node is not a valid node."
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Tree Root"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Anim Player"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Root Motion"
-msgstr ""
-
-#: scene/animation/animation_tree.cpp
-msgid "Track"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "This node has been deprecated. Use AnimationTree instead."
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Playback"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Master Player"
-msgstr ""
-
-#: scene/animation/animation_tree_player.cpp
-msgid "Base Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Animation Path"
-msgstr ""
-
-#: scene/animation/root_motion_view.cpp
-msgid "Zero Y"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Root Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Tip Bone"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Interpolation"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Override Tip Basis"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Use Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Magnet"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Target Node"
-msgstr ""
-
-#: scene/animation/skeleton_ik.cpp
-msgid "Max Iterations"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Process Mode"
-msgstr ""
-
-#: scene/animation/tween.cpp
-msgid "Playback Speed"
-msgstr ""
-
-#: scene/audio/audio_stream_player.cpp
-msgid "Mix Target"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Ratio"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp
-#: scene/gui/texture_rect.cpp
-msgid "Stretch Mode"
-msgstr ""
-
-#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
-msgid "Alignment"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Shortcut In Tooltip"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Action Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Enabled Focus Mode"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Keep Pressed Outside"
-msgstr ""
-
-#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
-msgid "Shortcut"
-msgstr ""
-
-#: scene/gui/base_button.cpp
-msgid "Group"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp
-msgid "Clip Text"
-msgstr ""
-
-#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
-#: scene/gui/spin_box.cpp
-msgid "Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Icon Align"
-msgstr ""
-
-#: scene/gui/button.cpp
-msgid "Expand Icon"
-msgstr ""
-
-#: scene/gui/center_container.cpp
-msgid "Use Top Left"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid ""
-"Color: #%s\n"
-"LMB: Apply color\n"
-"RMB: Remove preset"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Edit Alpha"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Deferred Mode"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Enabled"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Presets Visible"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Pick a color from the editor window."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "HSV"
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Switch between hexadecimal and code values."
-msgstr ""
-
-#: scene/gui/color_picker.cpp
-msgid "Add current color as a preset."
-msgstr ""
-
-#: scene/gui/container.cpp
-msgid ""
-"Container by itself serves no purpose unless a script configures its "
-"children placement behavior.\n"
-"If you don't intend to add a script, use a plain Control node instead."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Overrides"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid ""
-"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
-"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Anchor"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Grow Direction"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-msgid "Min Size"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pivot Offset"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Clip Content"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp
-msgid "Hint"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Tooltip"
-msgstr ""
-
-#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Focus"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Left"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Top"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Right"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Neighbour Bottom"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Next"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Previous"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Mouse"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Default Cursor Shape"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Pass On Modal Close Click"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Size Flags"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Stretch Ratio"
-msgstr ""
-
-#: scene/gui/control.cpp
-msgid "Theme Type Variation"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Window Title"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Dialog"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Hide On OK"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Alert!"
-msgstr ""
-
-#: scene/gui/dialogs.cpp
-msgid "Please Confirm..."
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Mode Overrides Title"
-msgstr ""
-
-#: scene/gui/file_dialog.cpp
-msgid "Must use a valid extension."
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Right Disconnects"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Scroll Offset"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Snap Distance"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Min"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Max"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Zoom Step"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Show Zoom Label"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimap"
-msgstr ""
-
-#: scene/gui/graph_edit.cpp
-msgid "Enable grid minimap."
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Show Close"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/gui/option_button.cpp
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected"
-msgstr ""
-
-#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Comment"
-msgstr ""
-
-#: scene/gui/graph_node.cpp
-msgid "Overlay"
-msgstr ""
-
-#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp
-#: scene/gui/tree.cpp scene/main/viewport.cpp
-#, fuzzy
-msgid "Timers"
-msgstr "Akud:"
-
-#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
-msgid "Incremental Search Max Interval Msec"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow Reselect"
-msgstr ""
-
-#: scene/gui/item_list.cpp scene/gui/tree.cpp
-msgid "Allow RMB Select"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Text Lines"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Auto Height"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Max Columns"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Same Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Column Width"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Icon Scale"
-msgstr ""
-
-#: scene/gui/item_list.cpp
-msgid "Fixed Icon Size"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "V Align"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Visible Characters"
-msgstr ""
-
-#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-msgid "Percent Visible"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Lines Skipped"
-msgstr ""
-
-#: scene/gui/label.cpp
-msgid "Max Lines Visible"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
-msgid "Max Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Secret Character"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Expand To Text Length"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Context Menu Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Virtual Keyboard Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Clear Button Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Shortcut Keys Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Middle Mouse Paste Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Selecting Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
-#: scene/gui/text_edit.cpp
-msgid "Deselect On Focus Loss Enabled"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Right Icon"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Placeholder"
-msgstr ""
-
-#: scene/gui/line_edit.cpp
-msgid "Alpha"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Caret"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink"
-msgstr ""
-
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Blink Speed"
-msgstr ""
-
-#: scene/gui/link_button.cpp
-msgid "Underline"
-msgstr ""
-
-#: scene/gui/menu_button.cpp
-msgid "Switch On Hover"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Draw Center"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Region Rect"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid "Patch Margin"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
-msgid "Axis Stretch"
-msgstr ""
-
-#: scene/gui/nine_patch_rect.cpp
-msgid ""
-"The Tile and Tile Fit options for Axis Stretch properties are only effective "
-"when using the GLES3 rendering backend.\n"
-"The GLES2 backend is currently in use, so these modes will act like Stretch "
-"instead."
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Popup"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid "Exclusive"
-msgstr ""
-
-#: scene/gui/popup.cpp
-msgid ""
-"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine, but they will hide upon "
-"running."
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On Checkable Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Hide On State Item Selection"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Submenu Popup Delay"
-msgstr ""
-
-#: scene/gui/popup_menu.cpp
-msgid "Allow Search"
-msgstr ""
-
-#: scene/gui/progress_bar.cpp
-msgid "Percent"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr ""
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-#, fuzzy
-msgid "Min Value"
-msgstr "Azal:"
-
-#: scene/gui/range.cpp scene/resources/curve.cpp
-#, fuzzy
-msgid "Max Value"
-msgstr "Azal:"
-
-#: scene/gui/range.cpp
-msgid "Page"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Exp Edit"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Rounded"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Greater"
-msgstr ""
-
-#: scene/gui/range.cpp
-msgid "Allow Lesser"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp
-msgid "Border Color"
-msgstr ""
-
-#: scene/gui/reference_rect.cpp scene/resources/style_box.cpp
-msgid "Border Width"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Relative Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Absolute Index"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Elapsed Time"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Env"
-msgstr ""
-
-#: scene/gui/rich_text_effect.cpp
-msgid "Character"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "BBCode"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Meta Underlined"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Tab Size"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Fit Content Height"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Active"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Scroll Following"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Selection Enabled"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-msgid "Override Selected Font Color"
-msgstr ""
-
-#: scene/gui/rich_text_label.cpp
-msgid "Custom Effects"
-msgstr ""
-
-#: scene/gui/scroll_bar.cpp
-msgid "Custom Step"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid ""
-"ScrollContainer is intended to work with a single child control.\n"
-"Use a container as child (VBox, HBox, etc.), or a Control and set the custom "
-"minimum size manually."
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Follow Focus"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Horizontal Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Vertical Enabled"
-msgstr ""
-
-#: scene/gui/scroll_container.cpp
-msgid "Default Scroll Deadzone"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Scrollable"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Tick Count"
-msgstr ""
-
-#: scene/gui/slider.cpp
-msgid "Ticks On Borders"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Prefix"
-msgstr ""
-
-#: scene/gui/spin_box.cpp
-msgid "Suffix"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Split Offset"
-msgstr ""
-
-#: scene/gui/split_container.cpp scene/gui/tree.cpp
-msgid "Collapsed"
-msgstr ""
-
-#: scene/gui/split_container.cpp
-msgid "Dragger Visibility"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Tab Align"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Current Tab"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Tabs Visible"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "All Tabs In Front"
-msgstr ""
-
-#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-msgid "Drag To Rearrange Enabled"
-msgstr ""
-
-#: scene/gui/tab_container.cpp
-msgid "Use Hidden Tabs For Min Size"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Tab Close Display Policy"
-msgstr ""
-
-#: scene/gui/tabs.cpp
-msgid "Scrolling Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Readonly"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Bookmark Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Breakpoint Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Fold Gutter"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Hiding Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Wrap Enabled"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Vertical"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Scroll Horizontal"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Draw"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Block Mode"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Moving By Right Click"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Idle Detect (sec)"
-msgstr ""
-
-#: scene/gui/text_edit.cpp
-msgid "Text Edit Undo Stack Max Size"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-msgid "Hover"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Focused"
-msgstr ""
-
-#: scene/gui/texture_button.cpp
-msgid "Click Mask"
-msgstr ""
-
-#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
-#: scene/gui/video_player.cpp
-msgid "Expand"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Under"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Over"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Progress Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Mode"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/material.cpp
-msgid "Tint"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Radial Fill"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Initial Angle"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Fill Degrees"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
-msgid "Center Offset"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Nine Patch Stretch"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Left"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Top"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Right"
-msgstr ""
-
-#: scene/gui/texture_progress.cpp
-msgid "Stretch Margin Bottom"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Custom Minimum Height"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "(Other)"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Column Titles Visible"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Folding"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Hide Root"
-msgstr ""
-
-#: scene/gui/tree.cpp
-msgid "Drop Mode Flags"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Audio Track"
-msgstr ""
-
-#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Paused"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Buffering Msec"
-msgstr ""
-
-#: scene/gui/video_player.cpp
-msgid "Stream Position"
-msgstr ""
-
-#: scene/gui/viewport_container.cpp
-msgid "Stretch Shrink"
-msgstr ""
-
-#: scene/main/canvas_layer.cpp
-msgid "Follow Viewport"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download File"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Download Chunk Size"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Body Size Limit"
-msgstr ""
-
-#: scene/main/http_request.cpp
-msgid "Max Redirects"
-msgstr ""
-
-#: scene/main/http_request.cpp
-#, fuzzy
-msgid "Timeout"
-msgstr "Akud:"
-
-#: scene/main/node.cpp
-msgid ""
-"Setting node name '%s' to be unique within scene for '%s', but it's already "
-"claimed by '%s'. This node is no longer set unique."
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Num Separator"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Name Casing"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Editor Description"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Pause Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Physics Interpolation Mode"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Display Folded"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Filename"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Owner"
-msgstr ""
-
-#: scene/main/node.cpp scene/main/scene_tree.cpp
-msgid "Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Custom Multiplayer"
-msgstr ""
-
-#: scene/main/node.cpp
-msgid "Process Priority"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/timer.cpp
-msgid "Time Left"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Collisions Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Debug Navigation Hint"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Font Oversampling"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Edited Scene Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Root"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Multiplayer Poll"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
-#: scene/resources/shape_2d.cpp
-msgid "Shapes"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Shape Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Contact Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Disabled Geometry Color"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Max Contacts Displayed"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
-msgid "Draw 2D Outlines"
-msgstr ""
-
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-msgid "Reflections"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Size"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Atlas Subdiv"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "MSAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use FXAA"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Use Debanding"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "HDR"
-msgstr ""
-
-#: scene/main/scene_tree.cpp scene/main/viewport.cpp
-msgid "Use 32 BPC Depth"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Default Environment"
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid ""
-"Default Environment as specified in Project Settings (Rendering -> "
-"Environment -> Default Environment) could not be loaded."
-msgstr ""
-
-#: scene/main/scene_tree.cpp
-msgid "Enable Object Picking"
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid ""
-"Very low timer wait times (< 0.05 seconds) may behave in significantly "
-"different ways depending on the rendered or physics frame rate.\n"
-"Consider using a script's process loop instead of relying on a Timer for "
-"very low wait times."
-msgstr ""
-
-#: scene/main/timer.cpp
-msgid "Autostart"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Viewport Path"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "ARVR"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Size Override Stretch"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Own World"
-msgstr ""
-
-#: scene/main/viewport.cpp scene/resources/world_2d.cpp
-msgid "World"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "World 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Transparent BG"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Handle Input Locally"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "FXAA"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debanding"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Keep 3D Linear"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Direct To Screen"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Debug Draw"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Render Target"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "V Flip"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Clear Mode"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 2D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Enable 3D"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Object Picking"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Disable Input"
-msgstr ""
-
-#: scene/main/viewport.cpp servers/visual_server.cpp
-msgid "Shadow Atlas"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 0"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 1"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 2"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Quad 3"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Global Canvas Transform"
-msgstr ""
-
-#: scene/main/viewport.cpp
-msgid "Tooltip Delay (sec)"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Swap OK Cancel"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Layer Names"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Render"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "2D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "3D Physics"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Use hiDPI"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom"
-msgstr ""
-
-#: scene/register_scene_types.cpp
-msgid "Custom Font"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-#: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp
-msgid "Mix Rate"
-msgstr ""
-
-#: scene/resources/audio_stream_sample.cpp
-msgid "Stereo"
-msgstr ""
-
-#: scene/resources/concave_polygon_shape_2d.cpp
-msgid "Segments"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Resolution"
-msgstr ""
-
-#: scene/resources/curve.cpp
-msgid "Bake Interval"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Underline Spacing"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Checked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Radio Unchecked Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Hover Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Check V Adjust"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "On Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Off Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Shadow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Outline Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset X"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow Offset Y"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Shadow As Outline"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Selected"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Uneditable"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Clear Button Color Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minimum Spaces"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#: scene/resources/dynamic_font.cpp scene/resources/world.cpp
-#: scene/resources/world_2d.cpp
-msgid "Space"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folded"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Fold"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Readonly"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Max Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Completion Scroll Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Increment Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Decrement Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Slider"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Area Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grabber Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tick"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Updown"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scaleborder Size"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close H Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close V Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Parent Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Toggle Hidden"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Panel Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Labeled Separator Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Accel"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color Separator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Frame"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Default Frame"
-msgstr "Azal:"
-
-#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
-msgid "Default Focus"
-msgstr "Azal:"
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Comment Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Breakpoint"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Resizer Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Close Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Offset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "BG Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selected Focus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Cursor Unfocused"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Normal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Pressed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Hover"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Select Arrow"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Arrow Collapsed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Title Button Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Guide Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Drop Position Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Relationship Line Color"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Custom Button Font Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Item Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Button Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Relationship Lines"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Draw Guides"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Border"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Scroll Speed"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Icon Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Line Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Tab Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Menu Highlight"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Font Color BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Side Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Top Margin"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label V Align BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Large"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Folder Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "File Icon Modulate"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Files Disabled"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "SV Height"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "H Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Label Width"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Screen Picker"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Add Preset"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Hue"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Color Sample"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Overbright Indicator"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset FG"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Preset BG Icon"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Normal Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bold Italics Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Mono Font"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table H Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Table V Separation"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Left"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Top"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Right"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Margin Bottom"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Autohide"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Minus"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "More"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Minor"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Grid Major"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Fill"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Selection Stroke"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Activity"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Pos"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Bezier Len Neg"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Horizontal"
-msgstr ""
-
-#: scene/resources/default_theme/default_theme.cpp
-msgid "Port Grab Distance Vertical"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Hinting"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Override Oversampling"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Path"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Size"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Outline Color"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Use Mipmaps"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Extra Spacing"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Char"
-msgstr ""
-
-#: scene/resources/dynamic_font.cpp
-msgid "Font Data"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Background"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/sky.cpp
-msgid "Sky"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Custom FOV"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Orientation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Rotation Degrees"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Canvas Max Layer"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/texture.cpp
-msgid "Camera Feed ID"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Ambient Light"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sky Contribution"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fog"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Color"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Sun Amount"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Begin"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth End"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transmit Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Enabled"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Min"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Max"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Height Curve"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Tonemap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "White"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Auto Exposure"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Min Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Luma"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SS Reflections"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Max Steps"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade In"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Fade Out"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Depth Tolerance"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Roughness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "SSAO"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Radius 2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Intensity 2"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Light Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "AO Channel Affect"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Edge Sharpness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Far Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp scene/resources/material.cpp
-msgid "Distance"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Transition"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "DOF Near Blur"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Glow"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Levels"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "1"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "2"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "3"
-msgstr ""
-
-#: scene/resources/environment.cpp
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "4"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "5"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "6"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "7"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bloom"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Threshold"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Luminance Cap"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "HDR Scale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Bicubic Upscale"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Adjustments"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Brightness"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Saturation"
-msgstr ""
-
-#: scene/resources/environment.cpp
-msgid "Color Correction"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Ascent"
-msgstr ""
-
-#: scene/resources/font.cpp
-msgid "Distance Field"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Raw Data"
-msgstr ""
-
-#: scene/resources/gradient.cpp
-msgid "Offsets"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Width"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Depth"
-msgstr ""
-
-#: scene/resources/height_map_shape.cpp
-msgid "Map Data"
-msgstr ""
-
-#: scene/resources/line_shape_2d.cpp
-msgid "D"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Next Pass"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Shadow To Opacity"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Unshaded"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Lighting"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "World Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex Force sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Do Not Receive Shadows"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Disable Ambient Light"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ensure Correct Normals"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo Tex MSDF"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Vertex Color"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use As Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Is sRGB"
-msgstr ""
-
-#: scene/resources/material.cpp servers/visual_server.cpp
-msgid "Parameters"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Diffuse Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Specular Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Depth Draw Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Line Width"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Point Size"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Mode"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Billboard Keep Scale"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Grow Amount"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Use Alpha Scissor"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Particles Anim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "H Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "V Frames"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Albedo"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Metallic"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Texture Channel"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Emission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "On UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "NormalMap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Rim"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Clearcoat"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Gloss"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Anisotropy"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flowmap"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Ambient Occlusion"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Deep Parallax"
-msgstr ""
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Min Layers"
-msgstr "Azal:"
-
-#: scene/resources/material.cpp
-#, fuzzy
-msgid "Max Layers"
-msgstr "Azal:"
-
-#: scene/resources/material.cpp
-msgid "Flip Tangent"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Flip Binormal"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Subsurf Scatter"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Transmission"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Refraction"
-msgstr ""
-
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
-msgid "Detail"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV Layer"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV1"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Triplanar Sharpness"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "UV2"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Proximity Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Distance Fade"
-msgstr ""
-
-#: scene/resources/material.cpp
-msgid "Async Mode"
-msgstr ""
-
-#: scene/resources/mesh.cpp
-msgid "Lightmap Size Hint"
-msgstr ""
-
-#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
-msgid "Custom AABB"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "Mesh Transform"
-msgstr ""
-
-#: scene/resources/mesh_library.cpp
-msgid "NavMesh Transform"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Color Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Transform Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Custom Data Format"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Instance Count"
-msgstr ""
-
-#: scene/resources/multimesh.cpp
-msgid "Visible Instance Count"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Parsed Geometry Type"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Geometry Mode"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Source Group Name"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Climb"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Slope"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Merge Size"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Verts Per Poly"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Distance"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Sample Max Error"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Low Hanging Obstacles"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Ledge Spans"
-msgstr ""
-
-#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape.cpp
-msgid "OccluderShapeSphere Set Spheres"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Polygon Points"
-msgstr ""
-
-#: scene/resources/occluder_shape_polygon.cpp
-msgid "Hole Points"
-msgstr ""
-
-#: scene/resources/packed_scene.cpp
-msgid "Bundled"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Trail"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Divisor"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Size Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Modifier"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Normal Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Color Texture"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Point Count"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Random"
-msgstr ""
-
-#: scene/resources/particles_material.cpp
-msgid "Scale Curve"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Rough"
-msgstr ""
-
-#: scene/resources/physics_material.cpp
-msgid "Absorbent"
-msgstr ""
-
-#: scene/resources/plane_shape.cpp
-msgid "Plane"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Flip Faces"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Mid Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Width"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Height"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Subdivide Depth"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Top Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Bottom Radius"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Left To Right"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Is Hemisphere"
-msgstr ""
-
-#: scene/resources/primitive_meshes.cpp
-msgid "Curve Step"
-msgstr ""
-
-#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
-msgid "Slips On Slope"
-msgstr ""
-
-#: scene/resources/segment_shape_2d.cpp
-msgid "A"
-msgstr ""
-
-#: scene/resources/shape_2d.cpp
-msgid "Custom Solver Bias"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind Count"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bind"
-msgstr ""
-
-#: scene/resources/skin.cpp
-msgid "Bone"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Radiance Size"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Panorama"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Top Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Horizon Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Ground"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Bottom Color"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Sun"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Latitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Longitude"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Min"
-msgstr ""
-
-#: scene/resources/sky.cpp
-msgid "Angle Max"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Content Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Expand Margin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Skew"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Radius"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Corner Detail"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Anti Aliasing"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow Begin"
-msgstr ""
-
-#: scene/resources/style_box.cpp
-msgid "Grow End"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Load Path"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base Texture"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Image Size"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Side"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Front"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Back"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Storage Mode"
-msgstr ""
-
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Lossy Storage Quality"
-msgstr "Amẓ"
-
-#: scene/resources/texture.cpp
-msgid "From"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "To"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Base"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Current Frame"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Pause"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Which Feed"
-msgstr ""
-
-#: scene/resources/texture.cpp
-msgid "Camera Is Active"
-msgstr ""
-
-#: scene/resources/theme.cpp
-msgid "Default Font"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Output Port For Preview"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Depth Draw"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Cull"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Diffuse"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Async"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Modes"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Input Name"
-msgstr ""
-
-#: scene/resources/visual_shader.cpp
-msgid "Uniform Name"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid ""
-"The sampler port is connected but not used. Consider changing the source to "
-"'SamplerPort'."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for preview."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid source for shader."
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Texture Type"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Cube Map"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Default Value Enabled"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
-msgid "Default Value"
-msgstr "Azal:"
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Color Default"
-msgstr ""
-
-#: scene/resources/visual_shader_nodes.cpp
-msgid "Invalid comparison function for that type."
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Fallback Environment"
-msgstr ""
-
-#: scene/resources/world.cpp
-msgid "Scenario"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Direct Space State"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Gravity Vector"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Linear Damp"
-msgstr ""
-
-#: scene/resources/world.cpp scene/resources/world_2d.cpp
-msgid "Default Angular Damp"
-msgstr ""
-
-#: scene/resources/world_2d.cpp
-msgid "Canvas"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Primary"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Initialized"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "AR"
-msgstr ""
-
-#: servers/arvr/arvr_interface.cpp
-msgid "Is Anchor Detection Enabled"
-msgstr ""
-
-#: servers/arvr_server.cpp
-msgid "Primary Interface"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Audio Stream"
-msgstr ""
-
-#: servers/audio/audio_stream.cpp
-msgid "Random Pitch"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_capture.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#: servers/audio/effects/audio_stream_generator.cpp
-msgid "Buffer Length"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice Count"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Dry"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Wet"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Voice"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Delay (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Rate Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-msgid "Depth (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Level dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_chorus.cpp
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_panner.cpp
-msgid "Pan"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Attack (µs)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Release (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Mix"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_compressor.cpp
-msgid "Sidechain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 1"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Tap 2"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-#: servers/audio/effects/audio_effect_phaser.cpp
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Feedback"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_delay.cpp
-msgid "Low-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Pre Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Keep Hf Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Drive"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_distortion.cpp
-msgid "Post Gain"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_filter.cpp
-msgid "Resonance"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Ceiling dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Threshold dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip dB"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_limiter.cpp
-msgid "Soft Clip Ratio"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Min Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_phaser.cpp
-msgid "Range Max Hz"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-msgid "Oversampling"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "FFT Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Predelay"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Msec"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "Room Size"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_reverb.cpp
-msgid "High-pass"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-msgid "Tap Back Pos"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Pan Pullout"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Time Pullout (ms)"
-msgstr ""
-
-#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-msgid "Surround"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Enable Audio Input"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Output Latency"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Threshold dB"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Channel Disable Time"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Video Delay Compensation (ms)"
-msgstr ""
-
-#: servers/audio_server.cpp
-msgid "Bus Count"
-msgstr ""
-
-#: servers/audio_server.cpp
-#, fuzzy
-msgid "Capture Device"
-msgstr "Amẓ"
-
-#: servers/audio_server.cpp
-msgid "Global Rate Scale"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Feed"
-msgstr ""
-
-#: servers/camera/camera_feed.cpp
-msgid "Is Active"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Linear"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Sleep Threshold Angular"
-msgstr ""
-
-#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
-msgid "Time Before Sleep"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "BP Hash Table Size"
-msgstr ""
-
-#: servers/physics_2d/physics_2d_server_sw.cpp
-msgid "Large Object Surface Threshold In Cells"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Mass"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Inverse Inertia"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Angular Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Linear Damp"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Total Gravity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Linear Velocity"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Exclude"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Shape RID"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Bodies"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collide With Areas"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Motion Remainder"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Point"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Normal"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Depth"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Safe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Collision Unsafe Fraction"
-msgstr ""
-
-#: servers/physics_2d_server.cpp servers/physics_server.cpp
-msgid "Physics Engine"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Center Of Mass"
-msgstr ""
-
-#: servers/physics_server.cpp
-msgid "Principal Inertia Axes"
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Varying may not be assigned in the '%s' function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'vertex' function may not be reassigned in "
-"'fragment' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid ""
-"Varyings which were assigned in 'fragment' function may not be reassigned in "
-"'vertex' or 'light'."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to function."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Assignment to uniform."
-msgstr ""
-
-#: servers/visual/shader_language.cpp
-msgid "Constants cannot be modified."
-msgstr ""
-
-#: servers/visual/visual_server_scene.cpp
-msgid "Spatial Partitioning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Render Loop Enabled"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "VRAM Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import BPTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import S3TC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import ETC2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Import PVRTC"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Lossless Compression"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force PNG"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "WebP Compression Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Time Rollover Secs"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Cubemap Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 0 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 1 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 2 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Quadrant 3 Subdiv"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shadows"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Filter Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Texture Array Reflections"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "High Quality GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Irradiance Max Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Vertex Shading"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Lambert Over Burley"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Blinn Over GGX"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Mesh Storage"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Split Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Physical Light Attenuation"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Depth Prepass"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable For Vendors"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Anisotropic Filter Level"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Nearest Mipmap Filter"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Software Skinning Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Force Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Software Skinning"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Ninepatch Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "OpenGL"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Send Null"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Orphan Buffers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Legacy Stream"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Batching In Editor"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Single Rect Fallback"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Item Commands"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Colored Vertex Format Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Scissor Area Threshold"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Join Items"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Batch Buffer Size"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Item Reordering Lookahead"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flash Batching"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Diagnose Frame"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "GLES2"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Compatibility"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Disable Half Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Enable High Float"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Precision"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "UV Contract Amount"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Simple PVS"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "PVS Logging"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Use Signals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Remove Danglers"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Flip Imported Portals"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Occlusion Culling"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Spheres"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Active Polygons"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Compilation Mode"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Max Simultaneous Compiles"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Log Active Async Compiles Count"
-msgstr ""
-
-#: servers/visual_server.cpp
-msgid "Shader Cache Size (MB)"
-msgstr ""
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index 44531951cc..d87aa168d7 100644
--- a/editor/translations/uk.po
+++ b/editor/translations/uk.po
@@ -23,13 +23,14 @@
# Wald Sin <naaveranos@gmail.com>, 2022.
# Гліб Соколов <ramithes@i.ua>, 2022.
# Max Donchenko <maxx.donchenko@gmail.com>, 2022.
+# Artem <artem@molotov.work>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-23 21:52+0000\n"
-"Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n"
+"PO-Revision-Date: 2022-07-26 01:55+0000\n"
+"Last-Translator: Artem <artem@molotov.work>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
"Language: uk\n"
@@ -38,7 +39,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -222,9 +223,10 @@ msgid "Data"
msgstr "Дані"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Мережа"
@@ -330,8 +332,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Недостатньо байтів для їх декодування або вказано некоректний формат."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "Некоректні вхідні дані %i (не передано) у виразі"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "Некоректні вхідні дані %d (не передано) у виразі"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -376,6 +378,14 @@ msgstr "Черга повідомлень"
msgid "Max Size (KB)"
msgstr "Макс. розмір (кБ)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "Режим миші"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "Використати накопичувальне введення"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -401,6 +411,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Команда"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr " (фізичний)"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -452,6 +467,11 @@ msgid "Pressure"
msgstr "Тиск"
#: core/os/input_event.cpp
+#, fuzzy
+msgid "Pen Inverted"
+msgstr "Інвертувати"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Відносний"
@@ -555,7 +575,8 @@ msgstr "Опис"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Запустити"
@@ -638,6 +659,10 @@ msgid "Main Run Args"
msgstr "Аргументи основного запуску"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "Іменування сцен"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "Розширення пошуку у файлах"
@@ -645,18 +670,13 @@ msgstr "Розширення пошуку у файлах"
msgid "Script Templates Search Path"
msgstr "Шлях пошуку для шаблонів скриптів"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Керування версіями"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "Автоматично завантажувати під час запуску"
+msgid "Version Control Autoload On Startup"
+msgstr "Автоматичне завантаження керування версіями під час запуску"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Назва додатка"
+msgid "Version Control Plugin Name"
+msgstr "Назва додатка керування версіями"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -763,7 +783,8 @@ msgid "Quality"
msgstr "Якість"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Фільтри"
@@ -1030,6 +1051,7 @@ msgstr "Висока якість"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "Макс. розмір буфера форми злиття (кБ)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Вільні"
@@ -1046,7 +1068,7 @@ msgstr "Віддзеркалені"
msgid "Time:"
msgstr "Час:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Значення:"
@@ -1128,9 +1150,8 @@ msgid "Value"
msgstr "Значення"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Кількість"
+msgstr "Кількість аргументів"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -1145,14 +1166,12 @@ msgid "Type"
msgstr "Тип"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Встановити обробник"
+msgstr "Дескриптор входу"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Встановити обробник"
+msgstr "Дескриптор виходу"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1162,14 +1181,12 @@ msgid "Stream"
msgstr "Потік"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Відступ точки обертання"
+msgstr "Початковий відступ"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Гор. зміщення"
+msgstr "Кінцевий відступ"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1182,9 +1199,8 @@ msgid "Animation"
msgstr "Анімація"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Перейти у-з"
+msgstr "Пом'якшення"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1293,8 +1309,62 @@ msgid "Remove this track."
msgstr "Вилучити цю доріжку."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "Час (с): "
+msgid "Time (s):"
+msgstr "Час (с):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "Розташування:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "Обертання:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Масштаб:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Тип:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(Некоректний, очікуваний тип: %s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "Пом'якшення:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "Дескриптор входу:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "Дескриптор виходу:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "Потік:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "Початок (сек.):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "Кінець (сек.):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "Кліп анімації:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1509,8 +1579,8 @@ msgid "Add Method Track Key"
msgstr "Додати ключ доріжки методів"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "Не знайдено метод у об'єкті: "
+msgid "Method not found in object:"
+msgstr "Не знайдено метод у об'єкті:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2046,14 +2116,15 @@ msgstr "Вибране:"
msgid "Recent:"
msgstr "Нещодавні:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Пошук:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Збіги:"
@@ -2113,8 +2184,8 @@ msgstr "Знайти замінний ресурс:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2122,8 +2193,8 @@ msgid "Open"
msgstr "Відкрити"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Власники:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "Власник: %s (Загалом: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2426,7 +2497,7 @@ msgid "Bus Options"
msgstr "Параметри шини"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Дублювати"
@@ -2478,9 +2549,9 @@ msgstr "Відкрити компонування аудіо шини"
msgid "There is no '%s' file."
msgstr "Немає файла «%s»."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "Макет"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "Компонування:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2682,6 +2753,23 @@ msgid "Choose"
msgstr "Оберіть"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "Експортування проєкту для платформи:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Завершено з помилками."
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "Завершено успішно."
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "Помилка."
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Збереження файлу:"
@@ -2694,6 +2782,26 @@ msgid "Packing"
msgstr "Пакування"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "Зберегти PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "Не вдалося створити файл «%s»."
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "Не вдалося експортувати файли проєкту."
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Не вдалося відкрити файл для читання зі шляху «%s»."
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr "Зберегти ZIP"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2810,9 +2918,26 @@ msgstr "Нетипового шаблону діагностики не знай
msgid "Custom release template not found."
msgstr "Нетипового шаблону випуску не знайдено."
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr "Приготувати шаблон"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "Вказаного шляху для експортування не існує."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "Файл шаблону не знайдено:"
+msgid "Template file not found: \"%s\"."
+msgstr "Не знайдено файла шаблона: «%s»."
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "Не вдалося скопіювати шаблон експортування."
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "Вбудовування PCK"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -2993,9 +3118,9 @@ msgid "Import"
msgstr "Імпорт"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Експортування"
@@ -4146,14 +4271,6 @@ msgstr ""
"Не вдалося записати до файла «%s», файл використовує інша програма, його "
"заблоковано або у вас немає відповідних прав доступу до нього."
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Сцена"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "Іменування сцен"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4268,6 +4385,10 @@ msgid "Default Color Picker Mode"
msgstr "Типовий режим піпетки кольорів"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Керування версіями"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Користувач"
@@ -4295,6 +4416,10 @@ msgstr "Перемкнути режим без відволікання."
msgid "Add a new scene."
msgstr "Додати нову сцену."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Сцена"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Перейти до раніше відкритої сцени."
@@ -4982,12 +5107,14 @@ msgid "Selected node is not a Viewport!"
msgstr "Позначений вузол не є панеллю перегляду!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "Розмір: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "Розмір:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "Сторінка: "
+msgid "Page:"
+msgstr "Сторінка:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5084,6 +5211,10 @@ msgstr ""
"Будь ласка, додайте придатний до використання набір параметрів за допомогою "
"меню «Експорт» або визначне наявний набір як придатний до використання."
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr "Запуск проєкту"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Напишіть свою логіку в методі _run ()."
@@ -5339,7 +5470,9 @@ msgid "Draw Spaces"
msgstr "Візуалізація пробілів"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Навігація"
@@ -5364,6 +5497,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Додаткові кнопки миші для навігації журналом"
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Вибір GridMap"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Вигляд"
@@ -5871,10 +6013,12 @@ msgstr "Вузол"
msgid "Port"
msgstr "Порт"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Керування проєктами"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "Режим упорядковування"
@@ -6625,14 +6769,6 @@ msgid "Replace in Files"
msgstr "Замінити у файлах"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Знайти: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Замінити: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "Замінити всі (БЕЗ СКАСУВАННЯ)"
@@ -6758,7 +6894,7 @@ msgstr "Повторення"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "Фільтр"
@@ -6992,8 +7128,8 @@ msgid "Generating Lightmaps"
msgstr "Створення карт освітлення"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "Створення для сітки: "
+msgid "Generating for Mesh:"
+msgstr "Створення для сітки:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7020,6 +7156,24 @@ msgid "Saving..."
msgstr "Збереження..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+"%s: виявлено текстуру, як використано як нормальну карту у просторовій "
+"формі. Вмикаємо стискання червоно-зеленої текстури для зменшення споживання "
+"пам'яті (канал синього відкинуто)."
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+"%s: виявлено, що текстуру використано у просторовій формі. Вмикаємо "
+"фільтрування, повторення, створення множинного відтворення та стискання "
+"текстур у відеопам'яті."
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr "2D, виявити 3D"
@@ -7697,11 +7851,20 @@ msgid "New Anim"
msgstr "Нова анімація"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Створити нову анімацію"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Змінити ім'я анімації:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Перейменувати анімацію"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Видалити анімацію?"
@@ -7719,11 +7882,6 @@ msgid "Animation name already exists!"
msgstr "Анімація із такою назвою вже існує!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Перейменувати анімацію"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Дублювати анімацію"
@@ -7821,10 +7979,12 @@ msgstr "Параметри калькування"
msgid "Directions"
msgstr "Напрямки"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Минулі"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Майбутні"
@@ -7865,10 +8025,6 @@ msgid "Pin AnimationPlayer"
msgstr "Пришпилити AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Створити нову анімацію"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Назва анімації:"
@@ -7984,8 +8140,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Встановити кінець анімації. Корисно для допоміжних переходів."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "Перехід: "
+msgid "Transition:"
+msgstr "Перехід:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8001,11 +8157,6 @@ msgid "New name:"
msgstr "Нова назва:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Масштаб:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Наростання (с):"
@@ -8914,6 +9065,7 @@ msgstr "Створити нетипові кістки з вузлів"
msgid "Clear Custom Bones"
msgstr "Очистити нетипові кістки"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8977,6 +9129,10 @@ msgid "Preview Canvas Scale"
msgstr "Попередній перегляд масштабованого полотна"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Макет"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "Маска перенесення для вставляння ключових кадрів."
@@ -9308,9 +9464,8 @@ msgid "Icon"
msgstr "Піктограма"
#: editor/plugins/item_list_editor_plugin.cpp
-#, fuzzy
msgid "ID"
-msgstr "IOD"
+msgstr "Ідентифікатор"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -9745,8 +9900,8 @@ msgid "Volume"
msgstr "Об'єм"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "Джерело випромінювання: "
+msgid "Emission Source:"
+msgstr "Джерело випромінювання:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -9979,6 +10134,7 @@ msgid "Points"
msgstr "Точки"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Полігони"
@@ -10135,13 +10291,6 @@ msgid "Instance:"
msgstr "Екземпляр:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Тип:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Відкрити в редакторі"
@@ -10150,10 +10299,6 @@ msgstr "Відкрити в редакторі"
msgid "Load Resource"
msgstr "Завантажити ресурс"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "Передзавантажувач ресурсів"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "Віддзеркалити портали"
@@ -10850,13 +10995,15 @@ msgstr "Обертати"
msgid "Translate"
msgstr "Пересунути"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "Масштаб: "
+msgid "Scaling:"
+msgstr "Масштаб:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "Перенесення: "
+msgid "Translating:"
+msgstr "Перенесення:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10879,11 +11026,6 @@ msgid "Yaw:"
msgstr "Рискання:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "Розмір:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "Намальовано об'єктів:"
@@ -11372,8 +11514,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Некоректна геометрія, неможливо замінити сіткою."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr "Перетворити на Mesh2D"
+msgid "Convert to MeshInstance2D"
+msgstr "Перетворити на MeshInstance2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11404,16 +11546,16 @@ msgid "Sprite"
msgstr "Спрайт"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "Спрощення: "
+msgid "Simplification:"
+msgstr "Спрощення:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "Стискання (пікселі): "
+msgid "Shrink (Pixels):"
+msgstr "Стискання (пікселі):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "Зростання (пікселі): "
+msgid "Grow (Pixels):"
+msgstr "Зростання (пікселі):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11476,6 +11618,11 @@ msgid "New Animation"
msgstr "Нова анімація"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Фільтрувати методи"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Швидкість:"
@@ -12355,8 +12502,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Вибір попередньої форми, підплитки або плитки."
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Область"
@@ -12650,9 +12796,8 @@ msgid "This property can't be changed."
msgstr "Значення цієї властивості не можна змінювати."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
-msgstr "Параметри прив'язки"
+msgstr "Параметри прилипання"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
@@ -12679,9 +12824,8 @@ msgid "Separation"
msgstr "Розділення"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Позначено"
+msgstr "Позначена плитка"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12694,9 +12838,8 @@ msgid "Texture"
msgstr "Текстура"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "Відступ заголовка"
+msgstr "Відступ текстури"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12710,74 +12853,60 @@ msgid "Modulate"
msgstr "модуляція"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Перемкнути режим"
+msgstr "Режим плитки"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "Режим бітової маски"
+msgstr "Режим бітової маски автоплитки"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "Розмір обведення"
+msgstr "Розмір субтитрів"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "Інтервал між рядками"
+msgstr "Інтервал субтитрів"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "Створено затінювальний полігон"
+msgstr "Зсув покриття"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "Поведінка навігації"
+msgstr "Відступ навігації"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Базове зміщення"
+msgstr "Відступ форми"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Перетворення"
+msgstr "Перетворення форми"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "Зіткнення"
+msgstr "Позначене зіткнення"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "Тільки виділити"
+msgstr "Позначене односпрямоване зіткнення"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "Поле зіткнення BVH"
+msgstr "Поле позначеного односпрямованого зіткнення"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "Видимі навігації"
+msgstr "Позначена навігація"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "Фокус позначення"
+msgstr "Позначене зіткнення"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Filter Script (Фільтрувальний скрипт)"
+msgstr "Скрипт набору плиток"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -13866,41 +13995,24 @@ msgid "Runnable"
msgstr "Активний"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "Вилучити набір «%s»?"
+msgid "Export the project for all the presets defined."
+msgstr "Експортувати проєкт для усіх визначених наборів."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Не вдалося експортувати проєкт для платформи «%s».\n"
-"Здається, шаблони експортування пропущено або вони є некоректними."
+"Щоб можна було скористатися пунктом «Експортувати усе», має бути визначено "
+"шлях для експортування для усіх наборів."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"Не вдалося експортувати проєкт для платформи «%s».\n"
-"Причиною може бути помилка у налаштуваннях у наборі налаштувань для "
-"експортування або параметрах експортування."
+msgid "Delete preset '%s'?"
+msgstr "Вилучити набір «%s»?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Експортування усього"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Вказаного шляху для експортування не існує:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Не вистачає шаблонів експортування для платформи або шаблони пошкоджено:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Шлях експорту"
@@ -14010,34 +14122,42 @@ msgid "More Info..."
msgstr "Додаткова інформація…"
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "Експортувати PCK/Zip"
+msgid "Export PCK/Zip..."
+msgstr "Експортувати PCK/Zip…"
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "Експортувати проєкт"
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Режим експортування?"
+msgid "Export Project..."
+msgstr "Експортувати проєкт…"
#: editor/project_export.cpp
msgid "Export All"
msgstr "Експортувати усе"
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr "Виберіть режим експортування:"
+
+#: editor/project_export.cpp
+msgid "Export All..."
+msgstr "Експортувати усе…"
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "Файл ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr "Пакунок гри Godot"
+msgid "Godot Project Pack"
+msgstr "Пакунок проєкту Godot"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "Немає шаблонів експортування для цієї платформи:"
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr "Експортування проєкту"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Управління шаблонами експорту"
@@ -14353,14 +14473,14 @@ msgid "Project Manager"
msgstr "Керування проєктами"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Завантаження. Будь ласка, зачекайте..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Востаннє змінено"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Завантаження. Будь ласка, зачекайте..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "Редагувати проєкт"
@@ -15586,8 +15706,8 @@ msgid "Attach Node Script"
msgstr "Долучити скрипт вузла"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "Віддалений "
+msgid "Remote %s:"
+msgstr "Віддалений %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16402,7 +16522,7 @@ msgstr "Сторони Кільця"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr "Багатокутник"
@@ -16472,7 +16592,7 @@ msgstr "Перемикання сервера"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Verify"
-msgstr ""
+msgstr "Перевірка DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Hostname"
@@ -16562,8 +16682,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Вимкнений одинак GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "Бібліотеки: "
+msgid "Libraries:"
+msgstr "Бібліотеки:"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
@@ -16588,7 +16708,7 @@ msgstr "Скрипт"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
-msgstr ""
+msgstr "Колір визначення функції"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Node Path Color"
@@ -16596,7 +16716,7 @@ msgstr "Копіювати вузол шляху"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
-msgstr ""
+msgstr "Максимум стеку викликів"
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
@@ -16604,11 +16724,11 @@ msgstr "вважати попередження помилками"
#: modules/gdscript/gdscript.cpp
msgid "Exclude Addons"
-msgstr ""
+msgstr "Виключити додатки"
#: modules/gdscript/gdscript.cpp
msgid "Autocomplete Setters And Getters"
-msgstr ""
+msgstr "Автоматичне доповнення встановлювачів і отримувачів"
#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
@@ -16706,11 +16826,11 @@ msgstr "Кількість розсіювання"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
-msgstr ""
+msgstr "Перегляд буфера розріджених індексів"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Byte Offset"
-msgstr ""
+msgstr "Байтовий зсув розріджених індексів"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Component Type"
@@ -16842,11 +16962,11 @@ msgstr "Без з'єднань"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
-msgstr ""
+msgstr "З'єднання I З Кісткою I"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Name"
-msgstr ""
+msgstr "З'єднання I З Іменем"
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
@@ -16931,7 +17051,7 @@ msgstr "Унікальні назви анімації"
#: modules/gltf/gltf_state.cpp
msgid "Skeletons"
-msgstr "Каркас"
+msgstr "Скелети"
#: modules/gltf/gltf_state.cpp
msgid "Skeleton To Node"
@@ -16958,7 +17078,6 @@ msgid "Use In Baked Light"
msgstr "Використовувати у запеченому світлі"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr "Мобільний"
@@ -16984,6 +17103,19 @@ msgstr "Центр за Z"
msgid "Mask"
msgstr "Маска"
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Навігація"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Поведінка навігації"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Наступна площина"
@@ -17387,8 +17519,8 @@ msgstr ""
"вузла! Будь ласка, виправте ваш вузол."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "Вузлом повернуто некоректну послідовність даних: "
+msgid "Node returned an invalid sequence output:"
+msgstr "Вузлом повернуто некоректну послідовність даних:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
@@ -17396,8 +17528,8 @@ msgstr ""
"Виявлено біт послідовності, але не вузол у стеку. Повідомте про цю ваду!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "Переповнення стека, глибина стека: "
+msgid "Stack overflow with stack depth:"
+msgstr "Переповнення стека, глибина стека:"
#: modules/visual_script/visual_script.cpp
msgid "Visual Script"
@@ -17765,16 +17897,16 @@ msgid "for (elem) in (input):"
msgstr "для (elem) у (input):"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "Тип вводу не ітерабельний: "
+msgid "Input type not iterable:"
+msgstr "Ітерація за вхідним типом неможлива:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "Ітератор став недійсним"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "Ітератор став недійсним: "
+msgid "Iterator became invalid:"
+msgstr "Ітератор став некоректним:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -17926,12 +18058,12 @@ msgid "Operator"
msgstr "Оператор"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": Неправильний тип аргументу: "
+msgid "Invalid argument of type:"
+msgstr "Некоректний тип аргументу:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": Неприпустимі аргументи: "
+msgid "Invalid arguments:"
+msgstr "Некоректні аргументи:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17942,12 +18074,12 @@ msgid "Var Name"
msgstr "Назва змінної"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "Не знайдено VariableGet у скрипті: "
+msgid "VariableGet not found in script:"
+msgstr "Не знайдено VariableGet у скрипті:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "Не знайдено VariableSet у скрипті: "
+msgid "VariableSet not found in script:"
+msgstr "Не знайдено VariableSet у скрипті:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18241,6 +18373,11 @@ msgid "The package must have at least one '.' separator."
msgstr "У назві пакунка має бути принаймні один роздільник «.»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Нетипова збірка"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr "Нетипова збірка"
@@ -18248,6 +18385,14 @@ msgstr "Нетипова збірка"
msgid "Export Format"
msgstr "Формат експортування"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "Мін. SDK"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "SDK призначення"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18285,14 +18430,6 @@ msgstr "Вилучити попередньо встановлене"
msgid "Code"
msgstr "Код"
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr "Мін. SDK"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr "SDK призначення"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr "Пакунок"
@@ -18434,10 +18571,6 @@ msgid "Could not execute on device."
msgstr "Не вдалося виконати на пристрої."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Не вдалося знайти програму apksigner."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18534,15 +18667,17 @@ msgstr ""
"«Використовувати нетипову збірку»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"«Стеженням за руками» можна скористатися, лише якщо «Режим Xr» дорівнює "
"«Oculus Mobile VR» або «OpenXR»."
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"«Стеженням за руками» можна скористатися, лише якщо «Режим Xr» дорівнює "
"«OpenXR»."
@@ -18554,30 +18689,58 @@ msgstr ""
"нетипове збирання»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Пункт «Мін. SDK» є чинним, лише якщо увімкнено «Використовувати нетипове "
"збирання»."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"Пункт «SDK цілі» є чинним, лише якщо увімкнено «Використовувати нетипове "
"збирання»."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr "Версія «SDK цілі» має бути більшою або рівною за версію «Мін. SDK»."
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "DMG із підписуванням коду"
+
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
"Не вдалося знайти «apksigner».\n"
"Будь ласка, перевірте, чи є програма доступною у каталозі build-tools набору "
@@ -18597,6 +18760,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Не вдалося знайти сховище ключів. Неможливо виконати експортування."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Не вдалося запустити підпроцес!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "«apksigner» повернуто повідомлення про помилку із номером %d"
@@ -18628,7 +18796,8 @@ msgstr ""
"Некоректна назва файла! Пакунок Android APK повинен мати суфікс назви *.apk."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+#, fuzzy
+msgid "Unsupported export format!"
msgstr "Непідтримуваний формат експортування!\n"
#: platform/android/export/export_plugin.cpp
@@ -18641,10 +18810,9 @@ msgstr ""
"допомогою меню «Проєкт»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Невідповідність версія для збирання для Android:\n"
@@ -18654,13 +18822,15 @@ msgstr ""
"меню «Проєкт»."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Не вдалося перезаписати файли res://android/build/res/*.xml із назвою проєкту"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
+#, fuzzy
+msgid "Could not export project files to gradle project."
msgstr "Не вдалося експортувати файли проєкту до проєкту gradle\n"
#: platform/android/export/export_plugin.cpp
@@ -18672,8 +18842,9 @@ msgid "Building Android Project (gradle)"
msgstr "Збирання проєкту Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Не вдалося виконати збирання проєкту Android. Ознайомтеся із виведеними "
@@ -18694,7 +18865,8 @@ msgstr ""
"дані можна знайти у каталозі проєкту gradle."
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+#, fuzzy
+msgid "Package not found: \"%s\"."
msgstr "Пакунок не знайдено: %s"
#: platform/android/export/export_plugin.cpp
@@ -18702,17 +18874,16 @@ msgid "Creating APK..."
msgstr "Створення APK…"
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr ""
"Не вдалося знайти шаблон APK для експортування:\n"
"%s"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18725,7 +18896,8 @@ msgid "Adding files..."
msgstr "Додавання файлів…"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
+#, fuzzy
+msgid "Could not export project files."
msgstr "Не вдалося експортувати файли проєкту"
#: platform/android/export/export_plugin.cpp
@@ -18898,7 +19070,7 @@ msgstr "Опис використання мікрофона"
#: platform/iphone/export/export.cpp
msgid "Photolibrary Usage Description"
-msgstr "Опис використання бібліотеки фотографій"
+msgstr "Опис використання бібліотеки світлин"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
@@ -18960,6 +19132,17 @@ msgstr "Нетиповий колір тла"
msgid "Custom BG Color"
msgstr "Нетиповий колір тла"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Керування шаблонами"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Нетипового шаблону випуску не знайдено."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18982,22 +19165,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Виконати експортований HTML у браузері за умовчанням системи."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Не вдалося відкрити шаблон для експорту:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Неправильний шаблон експорту:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Не вдалося записати файл:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Поле піктограми"
+
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
+#, fuzzy
+msgid "Could not read file: \"%s\"."
msgstr "Не вдалося прочитати файл:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
msgid "Variant"
msgstr "Варіант"
@@ -19066,15 +19262,18 @@ msgid "Icon 512 X 512"
msgstr "Піктограма 512⨯12"
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
+#, fuzzy
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Не вдалося прочитати оболонку HTML:"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+#, fuzzy
+msgid "Could not create HTTP server directory: %s."
msgstr "Не вдалося створити каталог на сервері HTTP:"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+#, fuzzy
+msgid "Error starting HTTP server: %d."
msgstr "Помилка під час спроби запуску сервера HTTP:"
#: platform/javascript/export/export.cpp
@@ -19191,7 +19390,7 @@ msgstr "Опис використання календаря"
#: platform/osx/export/export.cpp
msgid "Photos Library Usage Description"
-msgstr "Опис використання бібліотеки фотографій"
+msgstr "Опис використання бібліотеки світлин"
#: platform/osx/export/export.cpp
msgid "Desktop Folder Usage Description"
@@ -19272,7 +19471,7 @@ msgstr "Календарі"
#: platform/osx/export/export.cpp
msgid "Photos Library"
-msgstr "Бібліотека фотографій"
+msgstr "Бібліотека світлин"
#: platform/osx/export/export.cpp
msgid "Apple Events"
@@ -19328,7 +19527,7 @@ msgstr "Засвідчення"
#: platform/osx/export/export.cpp
msgid "Apple ID Name"
-msgstr ""
+msgstr "Ім'я Apple ID"
#: platform/osx/export/export.cpp
msgid "Apple ID Password"
@@ -19339,9 +19538,29 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Не вдалося експортувати файли проєкту"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Не вдалося запустити підпроцес!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Засвідчення"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
"Зауваження: процедура засвідчення, загалом, триває не більше години. Щойно "
"процедуру буде завершено, ви отримаєте повідомлення електронною поштою."
@@ -19363,18 +19582,83 @@ msgstr ""
"програми (необов'язкова процедура):"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Використання часових позначок є несумісним із одноразовим підписом — його "
+"буде вимкнено!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+"Стійке середовище запуску є несумісним із одноразовим підписом — його буде "
+"вимкнено!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "Не знайдено профілю."
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Помилка під час збереження файла: %s"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+"У цій операційній системі не передбачено підтримки відносних символічних "
+"посилань. Експортований проєкт може виявитися непрацездатним!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Напрямок"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Не вдалося запустити підпроцес!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "Створюємо комплект програми"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
msgstr "Не вдалося знайти програму-шаблон для експортування:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Неправильний шаблон експорту:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19383,8 +19667,9 @@ msgstr ""
"посилань. Експортований проєкт може виявитися непрацездатним!"
#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
"Не знайдено двійкового файла шаблона «%s». Ймовірно, його немає у вашому "
@@ -19431,6 +19716,16 @@ msgid "Sending archive for notarization"
msgstr "Надсилаємо архів для засвідчення"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "Проєкція"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Не вдалося експортувати файли проєкту до проєкту gradle\n"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "Некоректний ідентифікатор пакунка:"
@@ -19561,7 +19856,7 @@ msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
-"Конфіденційність: увімкнено доступ до бібліотеки фотографій, але опис "
+"Конфіденційність: увімкнено доступ до бібліотеки світлин, але опис "
"використання не вказано."
#: platform/osx/export/export.cpp
@@ -19767,6 +20062,11 @@ msgid "Debug Algorithm"
msgstr "Алгоритм діагностики"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Не вдалося вилучити тимчасовий файл:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr "Тип профілю"
@@ -19807,6 +20107,78 @@ msgid "Trademarks"
msgstr "Торгівельні марки"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Імпульсні сповіщення"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Не вдалося знайти сховище ключів. Неможливо виконати експортування."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Не вдалося знайти сховище ключів. Неможливо виконати експортування."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"Щоб мати змогу змінювати піктограму або дані щодо програми, має бути "
+"налаштовано інструмент rcedit у параметрах редактора (Експорт > Windows > "
+"Rcedit)."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Некоректний виконуваний файл."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Не вдалося знайти сховище ключів. Неможливо виконати експортування."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Не вдалося знайти сховище ключів. Неможливо виконати експортування."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Тип профілю"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Некоректна назва."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"Щоб мати змогу змінювати піктограму або дані щодо програми, має бути "
+"налаштовано інструмент rcedit у параметрах редактора (Експорт > Windows > "
+"Rcedit)."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Некоректний виконуваний файл."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Не вдалося вилучити тимчасовий файл:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19828,6 +20200,23 @@ msgid "Invalid product version:"
msgstr "Некоректна версія продукту:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Некоректний виконуваний файл."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr "Вікна"
@@ -19843,6 +20232,10 @@ msgstr ""
msgid "Wine"
msgstr "Вино"
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19953,7 +20346,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "Макс. відстань"
@@ -19995,7 +20389,7 @@ msgstr "Масштаб"
msgid "Custom Viewport"
msgstr "1 панель перегляду"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20674,11 +21068,42 @@ msgstr "Розмір комірки"
msgid "Edge Connection Margin"
msgstr "Поле з'єднання ребер"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Палітурка"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "U-відстань контуру"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr "Макс. відстань контуру"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Додатково"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Приховування увімкнено"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -20694,15 +21119,6 @@ msgstr "Віддзеркалити горизонтально"
msgid "Max Speed"
msgstr "Макс. швидкість"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr "Макс. відстань контуру"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Приховування увімкнено"
-
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
msgid ""
@@ -20731,23 +21147,25 @@ msgstr ""
"намалюйте багатокутник."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance має бути дочірнім елементом вузла Navigation2D або "
-"елементом ще нижчої підпорядкованості. Він надає лише навігаційні дані."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "За центром внизу"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Подорож"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "Грудуси обертання"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr "Загальна стала"
@@ -21832,6 +22250,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Перетворити нормалі"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr "Вектор"
@@ -21854,14 +22279,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr "NavigationAgent можна використовувати лише під просторовим вузлом."
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance має бути дочірнім елементом вузла Navigation або "
-"елементом ще нижчої підпорядкованості. Він надає лише навігаційні дані."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr "NavMesh"
@@ -22708,6 +23125,11 @@ msgstr ""
"Замість цієї зміни, вам варто змінити розміри дочірніх форм зіткнення."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Зберегти загальне перетворення"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr "Матриця"
@@ -22906,9 +23328,8 @@ msgid "Delay"
msgstr "Затримка торкання"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Random Delay"
-msgstr "Випадковий нахил:"
+msgstr "Випадкова затримка"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -23815,6 +24236,11 @@ msgid "Fold Gutter"
msgstr "Міжстовпцевий проміжок згортання"
#: scene/gui/text_edit.cpp
+#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Увімкнено позначення"
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr "Приховування увімкнено"
@@ -24173,18 +24599,6 @@ msgstr "Шлях до панелі перегляду"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"Ця панель показу не є ціллю обробки зображення. Якщо ви хочете, щоб її вміст "
-"було безпосередньо показано на екрані, зробіть її дочірньою для вузла "
-"Control, щоб у неї був розмір. Крім того, можна зробити її RenderTarget і "
-"пов'язати її внутрішню текстуру з одним із вузлів для показу."
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr ""
@@ -24192,6 +24606,15 @@ msgstr ""
"або рівним 2 пікселям в обох вимірах."
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr "ARVR"
@@ -24328,6 +24751,16 @@ msgid "3D Physics"
msgstr "Просторова фізика"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Навігація"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Навігація"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr "Використовувати hiDPI"
@@ -25466,11 +25899,11 @@ msgstr "Розмір крапки"
#: scene/resources/material.cpp
msgid "Billboard Mode"
-msgstr "Режим афіші"
+msgstr "Режим розголосника"
#: scene/resources/material.cpp
msgid "Billboard Keep Scale"
-msgstr "Зберегти масштаб афіші"
+msgstr "Зберегти масштаб розголосника"
#: scene/resources/material.cpp
msgid "Grow"
@@ -25576,7 +26009,7 @@ msgstr "Перехід"
msgid "Refraction"
msgstr "Заломлення"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr "Подробиці"
@@ -25651,7 +26084,13 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
+#, fuzzy
+msgid "Sampling"
+msgstr "Масштаб:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Встановити базовий тип змінної"
#: scene/resources/navigation_mesh.cpp
@@ -25667,7 +26106,13 @@ msgid "Source Group Name"
msgstr "Назва групи джерел"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+#, fuzzy
+msgid "Cells"
+msgstr "Мобільний"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
msgstr "АГЕНТ"
#: scene/resources/navigation_mesh.cpp
@@ -25679,11 +26124,17 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "Область"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr "Об'єднати зі сцени"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+#, fuzzy
+msgid "Edges"
msgstr "Край"
#: scene/resources/navigation_mesh.cpp
@@ -25695,6 +26146,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Подробиці"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr "Відстань дискретизації"
@@ -25711,9 +26167,19 @@ msgid "Ledge Spans"
msgstr "Розміри планки"
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Створення AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Базове зміщення"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26085,6 +26551,11 @@ msgid "Scenario"
msgstr "Сценарій"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Навігація"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26100,6 +26571,26 @@ msgstr "Лівий лінійний"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Типовий крок пересування"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Розмір комірки"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Висота комірки"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Поле з'єднання ребер"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr "Полотно"
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index 550e778651..a428250cc7 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -212,9 +212,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr ".تمام کا انتخاب"
@@ -328,7 +329,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "یا تو ڈیکوڈ کرنے کے لئے بائیٹس کم ہیں یا پھر ناقص فارمیٹ ھے."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+msgid "Invalid input %d (not passed) in expression"
msgstr ""
#: core/math/expression.cpp
@@ -372,6 +373,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "ایکشن منتقل کریں"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -398,6 +408,11 @@ msgstr ""
msgid "Command"
msgstr "کمیونٹی"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "سب سکریپشن بنائیں"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -450,6 +465,10 @@ msgid "Pressure"
msgstr ""
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -560,7 +579,8 @@ msgstr "سب سکریپشن بنائیں"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr ""
@@ -644,24 +664,23 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-msgid "Search In File Extensions"
+msgid "Scene Naming"
msgstr ""
#: core/project_settings.cpp
-msgid "Script Templates Search Path"
+msgid "Search In File Extensions"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
+#: core/project_settings.cpp
+msgid "Script Templates Search Path"
msgstr ""
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+msgid "Version Control Autoload On Startup"
msgstr ""
#: core/project_settings.cpp
-msgid "Plugin Name"
+msgid "Version Control Plugin Name"
msgstr ""
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
@@ -770,7 +789,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "سب سکریپشن بنائیں"
@@ -1044,6 +1064,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -1060,7 +1081,7 @@ msgstr ""
msgid "Time:"
msgstr ""
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr ""
@@ -1308,10 +1329,68 @@ msgid "Remove this track."
msgstr ".تمام کا انتخاب"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+msgid "Time (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr ".تمام کا انتخاب"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "مستقل"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "ایکشن منتقل کریں"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr ""
@@ -1521,7 +1600,7 @@ msgid "Add Method Track Key"
msgstr ""
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2053,14 +2132,15 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr ""
@@ -2116,8 +2196,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2125,7 +2205,7 @@ msgid "Open"
msgstr ""
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2421,7 +2501,7 @@ msgid "Bus Options"
msgstr "سب سکریپشن بنائیں"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -2474,8 +2554,8 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -2680,6 +2760,23 @@ msgid "Choose"
msgstr ""
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr ".تمام کا انتخاب"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr ""
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2692,6 +2789,28 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr ""
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2795,8 +2914,27 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr ".تمام کا انتخاب"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr ""
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+msgid "Template file not found: \"%s\"."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr ".تمام کا انتخاب"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -2975,9 +3113,9 @@ msgid "Import"
msgstr "درآمد"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr ""
@@ -4083,14 +4221,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr ""
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4210,6 +4340,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Username"
msgstr ".تمام کا انتخاب"
@@ -4238,6 +4372,10 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr ""
@@ -4881,11 +5019,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -4983,6 +5123,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "سب سکریپشن بنائیں"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5245,7 +5390,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "سب سکریپشن بنائیں"
@@ -5271,6 +5418,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr ".تمام کا انتخاب"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -5803,10 +5959,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr ""
@@ -6552,14 +6710,6 @@ msgid "Replace in Files"
msgstr "سب سکریپشن بنائیں"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr ""
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr ""
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr ""
@@ -6690,7 +6840,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "سب سکریپشن بنائیں"
@@ -6942,7 +7092,7 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+msgid "Generating for Mesh:"
msgstr ""
#: editor/import/resource_importer_scene.cpp
@@ -6970,6 +7120,18 @@ msgid "Saving..."
msgstr ""
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7657,11 +7819,20 @@ msgid "New Anim"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -7679,11 +7850,6 @@ msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -7781,10 +7947,12 @@ msgstr ""
msgid "Directions"
msgstr "سب سکریپشن بنائیں"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr ""
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -7825,10 +7993,6 @@ msgid "Pin AnimationPlayer"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -7943,8 +8107,9 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr ""
+#, fuzzy
+msgid "Transition:"
+msgstr "سب سکریپشن بنائیں"
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
@@ -7961,11 +8126,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -8880,6 +9040,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr ""
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8943,6 +9104,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9698,7 +9863,7 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Emission Source:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -9938,6 +10103,7 @@ msgid "Points"
msgstr ".تمام کا انتخاب"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "سب سکریپشن بنائیں"
@@ -10094,13 +10260,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10109,10 +10268,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -10819,13 +10974,17 @@ msgstr ""
msgid "Translate"
msgstr ""
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "ایکشن منتقل کریں"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "سب سکریپشن بنائیں"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10848,11 +11007,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11341,8 +11495,9 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr ""
+#, fuzzy
+msgid "Convert to MeshInstance2D"
+msgstr ".تمام کا انتخاب"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11375,15 +11530,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "ایکشن منتقل کریں"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11449,6 +11605,11 @@ msgid "New Animation"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12351,8 +12512,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "ایکشن منتقل کریں"
@@ -13833,20 +13993,15 @@ msgid "Runnable"
msgstr ""
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
@@ -13854,14 +14009,6 @@ msgid "Exporting All"
msgstr ""
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr ""
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr ""
@@ -13963,35 +14110,48 @@ msgid "More Info..."
msgstr ""
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr ""
+#, fuzzy
+msgid "Export PCK/Zip..."
+msgstr ".سپورٹ"
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr ".تمام کا انتخاب"
#: editor/project_export.cpp
-msgid "Export mode?"
+msgid "Export All"
msgstr ""
#: editor/project_export.cpp
-msgid "Export All"
+msgid "Choose an export mode:"
msgstr ""
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
+msgstr ".سپورٹ"
+
#: editor/project_export.cpp editor/project_manager.cpp
#, fuzzy
msgid "ZIP File"
msgstr "اثاثہ کی زپ فائل"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr ".تمام کا انتخاب"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -14269,11 +14429,11 @@ msgid "Project Manager"
msgstr "سب سکریپشن بنائیں"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
+msgid "Last Modified"
msgstr ""
#: editor/project_manager.cpp
-msgid "Last Modified"
+msgid "Loading, please wait..."
msgstr ""
#: editor/project_manager.cpp
@@ -15458,7 +15618,8 @@ msgid "Attach Node Script"
msgstr "سب سکریپشن بنائیں"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
+#, fuzzy
+msgid "Remote %s:"
msgstr "ریموٹ "
#: editor/script_editor_debugger.cpp
@@ -16309,7 +16470,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "سب سکریپشن بنائیں"
@@ -16481,7 +16642,7 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+msgid "Libraries:"
msgstr ""
#: modules/gdnative/nativescript/nativescript.cpp
@@ -16896,7 +17057,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -16926,6 +17086,19 @@ msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "سب سکریپشن بنائیں"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "سب سکریپشن بنائیں"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr ""
@@ -17336,7 +17509,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17344,7 +17517,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -17729,7 +17902,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17737,7 +17910,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -17896,12 +18069,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "'%s' کی تعمیر کے لیے غلط دلائل"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "'%s' کی تعمیر کے لیے غلط دلائل"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17912,11 +18087,11 @@ msgid "Var Name"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -18223,6 +18398,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "ایکشن منتقل کریں"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18231,6 +18411,16 @@ msgstr ""
msgid "Export Format"
msgstr "سب سکریپشن بنائیں"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -18267,16 +18457,6 @@ msgstr ""
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "سب سکریپشن بنائیں"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18437,10 +18617,6 @@ msgid "Could not execute on device."
msgstr "سب سکریپشن بنائیں"
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18517,12 +18693,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18531,25 +18707,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr ".تمام کا انتخاب"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18565,6 +18765,10 @@ msgid "Could not find keystore, unable to export."
msgstr ""
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -18593,7 +18797,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18604,20 +18808,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "سب سکریپشن بنائیں"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18629,7 +18832,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -18644,7 +18847,7 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18652,15 +18855,13 @@ msgid "Creating APK..."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "سب سکریپشن بنائیں"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -18672,7 +18873,7 @@ msgstr ".تمام کا انتخاب"
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "سب سکریپشن بنائیں"
#: platform/android/export/export_plugin.cpp
@@ -18908,6 +19109,16 @@ msgstr "ایکشن منتقل کریں"
msgid "Custom BG Color"
msgstr "ایکشن منتقل کریں"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr ".تمام کا انتخاب"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr ""
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -18929,24 +19140,34 @@ msgid "Run exported HTML in the system's default browser."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr ""
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
+msgstr ".تمام کا انتخاب"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "سب سکریپشن بنائیں"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr ".تمام کا انتخاب"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "سب سکریپشن بنائیں"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr ".تمام کا انتخاب"
@@ -19022,15 +19243,15 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "سب سکریپشن بنائیں"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr ""
#: platform/javascript/export/export.cpp
@@ -19314,9 +19535,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19332,18 +19572,72 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Creating app bundle"
+msgid "Cannot sign file %s."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
msgstr ""
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
+#, fuzzy
+msgid "DMG Creation"
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Creating app bundle"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not find template app to export: \"%s\"."
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -19351,7 +19645,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19392,6 +19686,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr ""
@@ -19697,6 +20000,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "سب سکریپشن بنائیں"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -19741,6 +20049,62 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "مستقل"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "'%s' کی تعمیر کے لیے غلط دلائل"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -19759,6 +20123,22 @@ msgid "Invalid product version:"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -19774,6 +20154,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -19888,7 +20272,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr ""
@@ -19935,7 +20320,7 @@ msgstr ""
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20626,34 +21011,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr ".تمام کا انتخاب"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "مستقل"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "ایک مینو منظر چنیں"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "سب سکریپشن بنائیں"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "سب سکریپشن بنائیں"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "سب سکریپشن بنائیں"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -20677,13 +21084,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -20691,7 +21101,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "مستقل"
@@ -21774,6 +22184,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "سب سکریپشن بنائیں"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr ""
@@ -21795,12 +22212,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -22614,6 +23025,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "سب سکریپشن بنائیں"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -23749,6 +24165,11 @@ msgstr ""
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr ".تمام کا انتخاب"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "سب سکریپشن بنائیں"
@@ -24128,16 +24549,17 @@ msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -24284,6 +24706,16 @@ msgid "3D Physics"
msgstr ""
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "سب سکریپشن بنائیں"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "سب سکریپشن بنائیں"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25637,7 +26069,7 @@ msgstr ""
msgid "Refraction"
msgstr ".تمام کا انتخاب"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -25715,7 +26147,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "ایکشن منتقل کریں"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr ".نوٹفئر کے اکسٹنٹ کو تبدیل کیجیۓ"
#: scene/resources/navigation_mesh.cpp
@@ -25731,10 +26168,15 @@ msgid "Source Group Name"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "سب سکریپشن بنائیں"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -25743,11 +26185,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "ایکشن منتقل کریں"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -25759,6 +26206,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr ".نوٹفئر کے اکسٹنٹ کو تبدیل کیجیۓ"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -25776,9 +26228,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr ".تمام کا انتخاب"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26167,6 +26628,11 @@ msgid "Scenario"
msgstr ""
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "سب سکریپشن بنائیں"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -26183,6 +26649,26 @@ msgstr ".نوٹفئر کے اکسٹنٹ کو تبدیل کیجیۓ"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr ".نوٹفئر کے اکسٹنٹ کو تبدیل کیجیۓ"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr ".نوٹفئر کے اکسٹنٹ کو تبدیل کیجیۓ"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr ".نوٹفئر کے اکسٹنٹ کو تبدیل کیجیۓ"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr ".تمام کا انتخاب"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index a2b7fd269c..0a6885872f 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -222,9 +222,10 @@ msgid "Data"
msgstr "Dữ liệu"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "Mạng"
@@ -331,7 +332,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Không đủ byte để giải mã, hoặc định dạng không hợp lệ."
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+#, fuzzy
+msgid "Invalid input %d (not passed) in expression"
msgstr "Đầu vào %i không hợp lệ (không được thông qua) trong biểu thức"
#: core/math/expression.cpp
@@ -375,6 +377,16 @@ msgstr "Hàng chờ thông điệp"
msgid "Max Size (KB)"
msgstr "Kích cỡ tối đa (KB)"
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "Chế độ Di chuyển"
+
+#: core/os/input.cpp
+#, fuzzy
+msgid "Use Accumulated Input"
+msgstr "Xoá Input"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -400,6 +412,11 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "Vật lí"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -453,6 +470,10 @@ msgid "Pressure"
msgstr "Áp lực"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "Tương đối"
@@ -558,7 +579,8 @@ msgstr "Mô tả"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "Chạy"
@@ -646,6 +668,11 @@ msgid "Main Run Args"
msgstr "Tham số Cảnh chính:"
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "Đường dẫn Cảnh:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -653,18 +680,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr "Đường dẫn tìm kiếm bản mẫu kịch bản"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "Theo dõi phiên bản"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
+#, fuzzy
+msgid "Version Control Autoload On Startup"
msgstr "Tự nạp khi khởi động"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "Tên trình cắm"
+#, fuzzy
+msgid "Version Control Plugin Name"
+msgstr "Theo dõi phiên bản"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -775,7 +799,8 @@ msgid "Quality"
msgstr "Chất lượng"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "Bộ lọc"
@@ -1045,6 +1070,7 @@ msgstr "Chất lượng cao"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Tự do"
@@ -1061,7 +1087,7 @@ msgstr "Phản chiếu"
msgid "Time:"
msgstr "Thời gian:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "Giá trị:"
@@ -1310,10 +1336,75 @@ msgid "Remove this track."
msgstr "Bỏ track này."
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
+#, fuzzy
+msgid "Time (s):"
msgstr "Thời gian (s): "
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Position:"
+msgstr "Vị trí"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "Bước xoay:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "Tỷ lệ:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "Kiểu:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "Bản mẫu xuất không hợp lệ:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "Cảnh báo:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "In-Handle:"
+msgstr "Đặt tay nắm"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Out-Handle:"
+msgstr "Đặt tay nắm"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "Trình nghe âm thanh"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "Khởi động lại (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "End (s):"
+msgstr "Mờ dần (s):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "Các hoạt hình:"
+
+#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
msgstr "Bật tắt kích hoạt Track"
@@ -1525,7 +1616,8 @@ msgid "Add Method Track Key"
msgstr "Thêm khoá Method Track"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+#, fuzzy
+msgid "Method not found in object:"
msgstr "Không tìm thấy phương thức trong đối tượng: "
#: editor/animation_track_editor.cpp
@@ -2057,14 +2149,15 @@ msgstr "Ưa thích:"
msgid "Recent:"
msgstr "Gần đây:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Tìm kiếm:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "Phù hợp:"
@@ -2124,8 +2217,8 @@ msgstr "Tìm kiếm tài nguyên thay thế:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2133,8 +2226,8 @@ msgid "Open"
msgstr "Mở"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "Sở hữu của:"
+msgid "Owners of: %s (Total: %d)"
+msgstr ""
#: editor/dependency_editor.cpp
#, fuzzy
@@ -2440,7 +2533,7 @@ msgid "Bus Options"
msgstr "Tùy chọn Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Nhân đôi"
@@ -2492,8 +2585,9 @@ msgstr "Mở bố cục Bus âm thanh"
msgid "There is no '%s' file."
msgstr "Không có tệp tin '%s'."
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "Bố cục"
#: editor/editor_audio_buses.cpp
@@ -2698,6 +2792,25 @@ msgid "Choose"
msgstr "Chọn"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "Sao chép đường dẫn nút"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed successfully."
+msgstr "Cài đặt gói thành công!"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "Thất bại:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "Lưu trữ tệp tin:"
@@ -2710,6 +2823,31 @@ msgid "Packing"
msgstr "Đóng gói"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "Lưu thành"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "Không thể tạo folder."
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "Không viết được file:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Không thể mở tệp để ghi:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "Lưu thành"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2824,11 +2962,33 @@ msgstr "Không tìm thấy bản mẫu gỡ lỗi tuỳ chỉnh."
msgid "Custom release template not found."
msgstr "Không tìm thấy bản mẫu phát hành tùy chỉnh."
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "Quản lý bản mẫu"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "Đường dẫn xuất không tồn tại:"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
msgstr "Không tìm thấy tệp bản mẫu:"
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "Bản mẫu xuất không hợp lệ:"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+#, fuzzy
+msgid "PCK Embedding"
+msgstr "Đệm"
+
+#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Ở các bản xuất 32-bit thì PCK được nhúng vào không thể lớn hơn 4 GiB."
@@ -2995,9 +3155,9 @@ msgid "Import"
msgstr "Nhập"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "Xuất ra"
@@ -4127,15 +4287,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "Cảnh"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "Đường dẫn Cảnh:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4258,6 +4409,10 @@ msgid "Default Color Picker Mode"
msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "Theo dõi phiên bản"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "Tên người dùng"
@@ -4285,6 +4440,10 @@ msgstr "Bật tắt chế độ tập trung."
msgid "Add a new scene."
msgstr "Thêm cảnh mới."
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "Cảnh"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "Trở về cảnh đã mở trước đó."
@@ -4946,11 +5105,15 @@ msgid "Selected node is not a Viewport!"
msgstr "Nút được chọn không phải Cổng xem!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Size:"
msgstr "Kích thước: "
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+#, fuzzy
+msgid "Page:"
msgstr "Trang: "
#: editor/editor_properties_array_dict.cpp
@@ -5044,6 +5207,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "Dự Án"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "Ghi logic của bạn trong hàm _run()."
@@ -5306,7 +5474,9 @@ msgid "Draw Spaces"
msgstr "Lượt gọi"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "Điều hướng"
@@ -5332,6 +5502,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "Chọn tất cả"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "Ngoại hình"
@@ -5889,10 +6068,12 @@ msgstr ""
msgid "Port"
msgstr "Cổng"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "Trình quản lý Dự án"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6674,14 +6855,6 @@ msgid "Replace in Files"
msgstr "Thay thế tất cả"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "Tìm: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "Thay thế: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "Thay thế tất cả"
@@ -6811,7 +6984,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "Lọc:"
@@ -7075,7 +7248,8 @@ msgid "Generating Lightmaps"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "Tạo cho lưới: "
#: editor/import/resource_importer_scene.cpp
@@ -7104,6 +7278,18 @@ msgid "Saving..."
msgstr "Đang lưu ..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -7786,11 +7972,20 @@ msgid "New Anim"
msgstr "Hoạt ảnh mới"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "Tạo Hoạt ảnh mới"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "Đổi tên Hoạt ảnh:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "Đổi tên hoạt hình"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Xoá hoạt hình?"
@@ -7808,11 +8003,6 @@ msgid "Animation name already exists!"
msgstr "Tên Hoạt ảnh đã tồn tại!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "Đổi tên hoạt hình"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "Nhân đôi hoạt hình"
@@ -7911,10 +8101,12 @@ msgstr "Khung hình Liên tiếp"
msgid "Directions"
msgstr "Hướng đi"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "Quá khứ"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "Tương lai"
@@ -7955,10 +8147,6 @@ msgid "Pin AnimationPlayer"
msgstr "Ghim AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "Tạo Hoạt ảnh mới"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "Tên hoạt hình:"
@@ -8074,7 +8262,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Đặt kết thúc hoạt ảnh. Hữu dụng cho sub-transitions."
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
+#, fuzzy
+msgid "Transition:"
msgstr "Chuyển tiếp: "
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8091,11 +8280,6 @@ msgid "New name:"
msgstr "Tên mới:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "Tỷ lệ:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Mờ dần (s):"
@@ -9003,6 +9187,7 @@ msgstr "Tạo xương tuỳ chọn từ các nút"
msgid "Clear Custom Bones"
msgstr "Xoá sạch các xương tuỳ chỉnh"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9069,6 +9254,10 @@ msgid "Preview Canvas Scale"
msgstr "Xem trước tỉ lệ bức vẽ"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "Bố cục"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -9846,7 +10035,8 @@ msgid "Volume"
msgstr "Âm lượng"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+#, fuzzy
+msgid "Emission Source:"
msgstr "Nguồn phát ra: "
#: editor/plugins/particles_editor_plugin.cpp
@@ -10082,6 +10272,7 @@ msgid "Points"
msgstr "Các Điểm"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "Đa giác"
@@ -10236,13 +10427,6 @@ msgid "Instance:"
msgstr "Thế:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "Kiểu:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Mở trong Trình biên soạn"
@@ -10251,10 +10435,6 @@ msgstr "Mở trong Trình biên soạn"
msgid "Load Resource"
msgstr "Nạp tài nguyên"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr ""
-
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
msgid "Flip Portals"
@@ -10979,13 +11159,17 @@ msgstr "Chế độ Xoay"
msgid "Translate"
msgstr "Bản dịch"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "Tỷ lệ:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr ""
+#, fuzzy
+msgid "Translating:"
+msgstr "Bản dịch:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11008,12 +11192,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Size:"
-msgstr "Kích thước: "
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11507,7 +11685,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Hình không hợp lệ, không thể thay thế bằng lưới."
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
+#, fuzzy
+msgid "Convert to MeshInstance2D"
msgstr "Chuyển thành Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11539,15 +11718,18 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
+#, fuzzy
+msgid "Simplification:"
msgstr "Đơn giản hóa: "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+#, fuzzy
+msgid "Shrink (Pixels):"
msgstr "Thu nhỏ (Điểm ảnh): "
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+#, fuzzy
+msgid "Grow (Pixels):"
msgstr "Phóng to (Điểm ảnh): "
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11611,6 +11793,11 @@ msgid "New Animation"
msgstr "Hoạt hình mới"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "Lọc phương thức"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "Tốc độ:"
@@ -12557,8 +12744,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "Khu vực"
@@ -14039,40 +14225,22 @@ msgid "Runnable"
msgstr "Chạy được"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
-"Không thể xuất dự án cho nền tảng '%s'.\n"
-"Bản mẫu xuất dường như bị thiếu hoặc không hợp lệ."
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "Delete preset '%s'?"
msgstr ""
-"Không thể xuất dự án cho nền tảng '%s'.\n"
-"Có thể là do vấn đề cấu hình trong cài đặt xuất bản hoặc cài đặt xuất bản "
-"của bạn."
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "Đang xuất tất cả"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "Đường dẫn xuất không tồn tại:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Các bản mẫu xuất cho nền tảng này bị thiếu/hỏng:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "Đường dẫn xuất"
@@ -14181,19 +14349,27 @@ msgid "More Info..."
msgstr "Di chuyển đến..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
+#, fuzzy
+msgid "Export PCK/Zip..."
msgstr "Xuất PCK/Zip"
#: editor/project_export.cpp
-msgid "Export Project"
+#, fuzzy
+msgid "Export Project..."
msgstr "Xuất bản Dự án"
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "Chế độ xuất?"
+msgid "Export All"
+msgstr "Xuất tất cả"
#: editor/project_export.cpp
-msgid "Export All"
+#, fuzzy
+msgid "Choose an export mode:"
+msgstr "Hãy chọn một thư mục trống."
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "Xuất tất cả"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14201,7 +14377,8 @@ msgid "ZIP File"
msgstr "Tệp ZIP"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
+#, fuzzy
+msgid "Godot Project Pack"
msgstr "Gói trò chơi Godot"
#: editor/project_export.cpp
@@ -14209,6 +14386,11 @@ msgid "Export templates for this platform are missing:"
msgstr "Các mẫu xuất bản cho nền tảng này bị thiếu:"
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "Các đồng sáng lập dự án"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Quản lí bản mẫu xuất"
@@ -14525,14 +14707,14 @@ msgid "Project Manager"
msgstr "Trình quản lý Dự án"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "Đang tải, đợi xíu..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "Sửa đổi lần cuối"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "Đang tải, đợi xíu..."
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "Xuất bản Dự án"
@@ -15752,8 +15934,9 @@ msgid "Attach Node Script"
msgstr "Đính kèm tập lệnh của nút"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr ""
+#, fuzzy
+msgid "Remote %s:"
+msgstr "Từ xa"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16634,7 +16817,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "Đa giác"
@@ -16811,7 +16994,8 @@ msgid "Disabled GDNative Singleton"
msgstr "Tắt đơn nhất GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
+#, fuzzy
+msgid "Libraries:"
msgstr "Thư viện: "
#: modules/gdnative/nativescript/nativescript.cpp
@@ -17252,7 +17436,6 @@ msgid "Use In Baked Light"
msgstr "Ánh sáng"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17282,6 +17465,19 @@ msgstr "Giữa"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "Điều hướng"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "Chế độ di chuyển"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "Mặt phẳng tiếp theo"
@@ -17703,7 +17899,8 @@ msgstr ""
"nút! Sửa lại nút của bạn."
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+#, fuzzy
+msgid "Node returned an invalid sequence output:"
msgstr "Nút trả về chuỗi không hợp lệ: "
#: modules/visual_script/visual_script.cpp
@@ -17712,7 +17909,8 @@ msgstr ""
"Tìm thấy chuỗi bit nhưng không phải là nút trong ngăn xếp, báo cáo lỗi!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+#, fuzzy
+msgid "Stack overflow with stack depth:"
msgstr "Tràn ngăn xếp ở ngăn xếp tầng: "
#: modules/visual_script/visual_script.cpp
@@ -18078,7 +18276,8 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+#, fuzzy
+msgid "Input type not iterable:"
msgstr "Kiểu đầu vào không lặp được: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18086,7 +18285,8 @@ msgid "Iterator became invalid"
msgstr "Trỏ lặp không còn hợp lệ"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+#, fuzzy
+msgid "Iterator became invalid:"
msgstr "Trỏ lặp không còn hợp lệ: "
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18258,11 +18458,13 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
+#, fuzzy
+msgid "Invalid argument of type:"
msgstr ": Tham số có loại không hợp lệ: "
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
+#, fuzzy
+msgid "Invalid arguments:"
msgstr ": Tham số không hợp lệ: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18275,12 +18477,13 @@ msgid "Var Name"
msgstr "Tên"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+#, fuzzy
+msgid "VariableGet not found in script:"
msgstr "Không tìm thấy VariableGet trong tệp lệnh: "
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr "Không tìm thấy VariableSet trong tệp lệnh: "
#: modules/visual_script/visual_script_nodes.cpp
@@ -18607,6 +18810,11 @@ msgid "The package must have at least one '.' separator."
msgstr "Kí tự phân cách '.' phải xuất hiện ít nhất một lần trong tên gói."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "Cắt các nút"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18615,6 +18823,16 @@ msgstr ""
msgid "Export Format"
msgstr "Đường dẫn xuất"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "Kích cỡ viền:"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "Bề mặt mục tiêu:"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18657,16 +18875,6 @@ msgstr "Cửa sổ trước"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "Kích cỡ viền:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "Bề mặt mục tiêu:"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -18833,10 +19041,6 @@ msgid "Could not execute on device."
msgstr "Không thể tạo folder."
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "Không tìm thấy công cụ 'apksigner'."
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18917,7 +19121,7 @@ msgstr "\"Sử dụng Bản dựng tùy chỉnh\" phải được bật để s
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"\"Theo dõi chuyển động tay\" chỉ dùng được khi \"Xr Mode\" là \"Oculus "
@@ -18925,7 +19129,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Theo dõi chuyển động tay\" chỉ dùng được khi \"Xr Mode\" là \"Oculus "
"Mobile VR\"."
@@ -18938,28 +19142,52 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Xuất AAB\" chỉ dùng được khi \"Sử dụng Bản dựng tùy chỉnh\" được bật."
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
"\"Xuất AAB\" chỉ dùng được khi \"Sử dụng Bản dựng tùy chỉnh\" được bật."
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "Tín hiệu"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -18979,6 +19207,11 @@ msgid "Could not find keystore, unable to export."
msgstr "Không thể mở bản mẫu để xuất:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Could not start apksigner executable."
+msgstr "Không thể bắt đầu quá trình phụ!"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19009,7 +19242,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Tên tệp không hợp lệ! Android APK cần đuôi *.apk ở cuối."
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19021,10 +19254,9 @@ msgstr ""
"phiên bản nào tồn tại. Vui lòng cài đặt lại từ bảng chọn'Dự án'."
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
"Phiên bản dựng Android không khớp:\n"
@@ -19034,12 +19266,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files to gradle project\n"
+msgid "Could not export project files to gradle project."
msgstr "Không thể chỉnh sửa 'project.godot' trong đường dẫn dự án."
#: platform/android/export/export_plugin.cpp
@@ -19052,8 +19284,9 @@ msgid "Building Android Project (gradle)"
msgstr "Đang dựng dự án Android (gradle)"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
"Xây dựng dự án Android thất bại, hãy kiểm tra đầu ra để biết lỗi.\n"
@@ -19073,7 +19306,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "Không tìm thấy Animation: '%s'"
#: platform/android/export/export_plugin.cpp
@@ -19082,15 +19315,14 @@ msgid "Creating APK..."
msgstr "Tạo đường viền ..."
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+#, fuzzy
+msgid "Could not find template APK to export: \"%s\"."
msgstr "Không thể tìm APK bản mẫu để xuất:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19105,7 +19337,7 @@ msgstr "Đang thêm %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "Không viết được file:"
#: platform/android/export/export_plugin.cpp
@@ -19347,6 +19579,17 @@ msgstr "Cắt các nút"
msgid "Custom BG Color"
msgstr "Cắt các nút"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "Quản lý bản mẫu"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Không tìm thấy bản mẫu phát hành tùy chỉnh."
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "App Store Team ID không được chỉ định - không thể cấu hình dự án."
@@ -19368,23 +19611,35 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Chạy HTML được xuất với trình duyệt mặc định của máy."
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
+#, fuzzy
+msgid "Could not open template for export: \"%s\"."
msgstr "Không thể mở bản mẫu để xuất:"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
+#, fuzzy
+msgid "Invalid export template: \"%s\"."
msgstr "Bản mẫu xuất không hợp lệ:"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
+#, fuzzy
+msgid "Could not write file: \"%s\"."
msgstr "Không viết được file:"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "Đặt Lề"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "Không viết được file:"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "Thu phóng (theo tỉ lệ):"
@@ -19460,17 +19715,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "Không đọc được file hình khởi động:"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "Không thể tạo folder."
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "Lỗi khi lưu scene."
#: platform/javascript/export/export.cpp
@@ -19770,9 +20025,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "Không viết được file:"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "Không thể bắt đầu quá trình phụ!"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "Bản địa hoá"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19788,29 +20062,85 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "Không tìm thấy tài nguyên phụ."
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "Lỗi lưu tệp: %s"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "Hướng đi"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start hdiutil executable."
+msgstr "Không thể bắt đầu quá trình phụ!"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "Tạo hình thu nhỏ"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "Không thể mở bản mẫu để xuất:"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "Bản mẫu xuất không hợp lệ:"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
"Không thấy tệp nhị phân bản mẫu được yêu cầu '%s'. Nó có thể bị thiếu trong "
@@ -19854,6 +20184,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "Dự Án"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Không thể chỉnh sửa 'project.godot' trong đường dẫn dự án."
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "Định danh không hợp lệ:"
@@ -20166,6 +20506,11 @@ msgid "Debug Algorithm"
msgstr "Trình gỡ lỗi"
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Không thể gỡ bỏ tệp tạm thời:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20213,6 +20558,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "Xoay ngẫu nhiên:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Không thể mở bản mẫu để xuất:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Không thể mở bản mẫu để xuất:"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "Tên đuôi không hợp lệ."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Không thể mở bản mẫu để xuất:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Không thể mở bản mẫu để xuất:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "Định danh không hợp lệ:"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "Tên không hợp lệ."
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "Tên đuôi không hợp lệ."
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Không thể gỡ bỏ tệp tạm thời:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20234,6 +20643,23 @@ msgid "Invalid product version:"
msgstr "GUID sản phẩm không hợp lệ."
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "Tên đuôi không hợp lệ."
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
#, fuzzy
msgid "Windows"
msgstr "Cửa sổ mới"
@@ -20250,6 +20676,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20377,7 +20807,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Thêm vào Cảnh"
@@ -20428,7 +20859,7 @@ msgstr "Phóng to"
msgid "Custom Viewport"
msgstr "1 Cổng xem"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21177,11 +21608,42 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "Chỉnh sửa kết nối:"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "Đệm"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "Chọn ô"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "Nâng cao"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "Mở"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21199,15 +21661,6 @@ msgstr "Lật Ngang"
msgid "Max Speed"
msgstr "Tốc độ:"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr ""
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "Mở"
-
#: scene/2d/navigation_agent_2d.cpp
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
@@ -21233,24 +21686,26 @@ msgstr ""
"chạy được. Vui lòng đặt thuộc tính hoặc vẽ một đa giác."
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance phải là nút con hoặc cháu của nút Navigation2D. Nó "
-"chỉ cung cấp dữ liệu điều hướng."
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "Dưới giữa"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "Di chuyển"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
msgstr "Xoay %s độ."
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "Hằng số"
@@ -22435,6 +22890,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "Hủy Biến đổi."
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22459,14 +22921,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance phải là nút con hoặc cháu một nút Navigation. Nó chỉ "
-"cung cấp dữ liệu điều hướng."
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -23338,6 +23792,11 @@ msgstr ""
"Hãy sửa kích cỡ khối va chạm của nút con ý."
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "Xóa biến đổi"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24559,6 +25018,11 @@ msgstr "Thư mục:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "Chỉ chọn"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "Mở"
@@ -24963,16 +25427,17 @@ msgstr "Đường dẫn xuất"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
msgstr ""
#: scene/main/viewport.cpp
msgid ""
-"The Viewport size must be greater than or equal to 2 pixels on both "
-"dimensions to render anything."
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
msgstr ""
#: scene/main/viewport.cpp
@@ -25134,6 +25599,16 @@ msgid "3D Physics"
msgstr "Vật lí"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "Điều hướng"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "Điều hướng"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26551,7 +27026,7 @@ msgstr "Chuyển tiếp: "
msgid "Refraction"
msgstr "Thu phóng (theo tỉ lệ):"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26634,7 +27109,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "Tỷ lệ:"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "Đặt loại biến"
#: scene/resources/navigation_mesh.cpp
@@ -26651,10 +27131,15 @@ msgid "Source Group Name"
msgstr "Nguồn"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "Tham số Cảnh chính:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26664,11 +27149,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "Khu vực"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "Gộp từ Scene"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26681,6 +27171,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "Nạp mặc định"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26697,9 +27192,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "Đang sinh AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "Độ dời:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27111,6 +27616,11 @@ msgid "Scenario"
msgstr "Cảnh"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "Điều hướng"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27128,6 +27638,26 @@ msgstr "Tịnh tuyến trái"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "Mặc định"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "Cập nhật bản xem trước"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "Kiểm tra"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "Chỉnh sửa kết nối:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index 9a33984627..f25a372128 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -89,7 +89,7 @@ msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2022-05-23 21:52+0000\n"
+"PO-Revision-Date: 2022-07-29 01:36+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
@@ -98,7 +98,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -282,9 +282,10 @@ msgid "Data"
msgstr "数据"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "网络"
@@ -388,8 +389,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "解码字节数不够,或格式无效。"
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "表达式的输入 %i 无效(未传递)"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "表达式的输入 %d 无效(未传递)"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -432,6 +433,14 @@ msgstr "消息队列"
msgid "Max Size (KB)"
msgstr "最大大小(KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "鼠标模式"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "使用累积输入"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -457,6 +466,10 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "物理"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -508,6 +521,10 @@ msgid "Pressure"
msgstr "压力"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "笔触翻转"
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr "相对"
@@ -611,7 +628,8 @@ msgstr "描述"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "运行"
@@ -694,6 +712,10 @@ msgid "Main Run Args"
msgstr "主运行参数"
#: core/project_settings.cpp
+msgid "Scene Naming"
+msgstr "场景命名"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr "搜索文件扩展名"
@@ -701,18 +723,13 @@ msgstr "搜索文件扩展名"
msgid "Script Templates Search Path"
msgstr "脚本模板搜索路径"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "版本控制"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "启动时自动加载"
+msgid "Version Control Autoload On Startup"
+msgstr "启动时自动加载版本控制"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "插件名"
+msgid "Version Control Plugin Name"
+msgstr "版本控制插件名"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -819,7 +836,8 @@ msgid "Quality"
msgstr "质量"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "过滤"
@@ -1086,6 +1104,7 @@ msgstr "高质量"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "混合形状最大缓冲区大小(KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "自由"
@@ -1102,7 +1121,7 @@ msgstr "镜像"
msgid "Time:"
msgstr "时间:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "值:"
@@ -1184,9 +1203,8 @@ msgid "Value"
msgstr "值"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "数量"
+msgstr "参数个数"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -1201,14 +1219,12 @@ msgid "Type"
msgstr "类型"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "设置处理程序"
+msgstr "入点手柄"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "设置处理程序"
+msgstr "出点手柄"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1218,14 +1234,12 @@ msgid "Stream"
msgstr "流"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "端口偏移"
+msgstr "起点偏移"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "水平偏移"
+msgstr "终点偏移"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1238,7 +1252,6 @@ msgid "Animation"
msgstr "动画"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
msgstr "缓入缓出"
@@ -1349,8 +1362,62 @@ msgid "Remove this track."
msgstr "移除该轨道。"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "时间(秒): "
+msgid "Time (s):"
+msgstr "时间(秒):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "位置:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "旋转:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "缩放:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "类型:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(无效,期望类型:%s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "缓动:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "入点手柄:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "出点手柄:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "流:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "开始(秒):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "结束(秒):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "动画剪辑:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1563,8 +1630,8 @@ msgid "Add Method Track Key"
msgstr "添加方法轨道帧"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "对象方法未找到: "
+msgid "Method not found in object:"
+msgstr "对象方法未找到:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2089,14 +2156,15 @@ msgstr "收藏:"
msgid "Recent:"
msgstr "最近使用:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "搜索:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "匹配项:"
@@ -2156,8 +2224,8 @@ msgstr "查找替换资源:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2165,8 +2233,8 @@ msgid "Open"
msgstr "打开"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "拥有者:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "%s 的所有者(总计:%d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2463,7 +2531,7 @@ msgid "Bus Options"
msgstr "总线选项"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "创建副本"
@@ -2515,9 +2583,9 @@ msgstr "打开音频总线布局"
msgid "There is no '%s' file."
msgstr "文件 “%s” 不存在。"
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "布局"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "布局:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2719,6 +2787,23 @@ msgid "Choose"
msgstr "选择"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "针对平台导出项目:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "已完成,存在错误。"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "成功完成。"
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "失败。"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "保存文件:"
@@ -2731,6 +2816,26 @@ msgid "Packing"
msgstr "打包中"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "保存 PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "无法创建文件“%s”。"
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "导出项目文件失败。"
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "无法打开位于“%s”的文件用于读取。"
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr "保存 ZIP"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2839,9 +2944,26 @@ msgstr "找不到自定义调试模板。"
msgid "Custom release template not found."
msgstr "找不到自定义发布模板。"
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr "准备模板"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "给定的导出路径不存在。"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "找不到模板文件:"
+msgid "Template file not found: \"%s\"."
+msgstr "模板文件不存在:“%s”。"
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "复制导出模板失败。"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "PCK 内嵌"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3010,9 +3132,9 @@ msgid "Import"
msgstr "导入"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "导出"
@@ -4123,14 +4245,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr "无法写入文件“%s”,文件被占用、已锁定、或权限不足。"
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "场景"
-
-#: editor/editor_node.cpp
-msgid "Scene Naming"
-msgstr "场景命名"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4245,6 +4359,10 @@ msgid "Default Color Picker Mode"
msgstr "默认取色器模式"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr "版本控制"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
msgstr "用户名"
@@ -4272,6 +4390,10 @@ msgstr "切换专注模式。"
msgid "Add a new scene."
msgstr "添加新场景。"
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "场景"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "转到上一个打开的场景。"
@@ -4935,12 +5057,14 @@ msgid "Selected node is not a Viewport!"
msgstr "选定节点不是 Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "大小: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "大小:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "页: "
+msgid "Page:"
+msgstr "页:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5033,6 +5157,10 @@ msgstr ""
"没有对应该平台的可执行导出预设。\n"
"请在导出菜单中添加可执行预设,或将已有预设设为可执行。"
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr "项目运行"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "在 _run() 方法中填写逻辑代码。"
@@ -5286,7 +5414,9 @@ msgid "Draw Spaces"
msgstr "绘制空格"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "导航"
@@ -5311,6 +5441,14 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "使用专门鼠标按键查看历史"
#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr "拖放选中内容"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr "选中节点时保持脚本编辑器"
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "外观"
@@ -5542,7 +5680,7 @@ msgstr "网格细分级别下限"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr "网格细分级别偏倚"
+msgstr "网格细分级别偏置"
#: editor/editor_settings.cpp
msgid "Grid XZ Plane"
@@ -5818,10 +5956,12 @@ msgstr "主机"
msgid "Port"
msgstr "端口"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "项目管理器"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Sorting Order"
msgstr "排序方式"
@@ -6553,14 +6693,6 @@ msgid "Replace in Files"
msgstr "在文件中替换"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "查找: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "替换: "
-
-#: editor/find_in_files.cpp
msgid "Replace All (NO UNDO)"
msgstr "全部替换(无法撤销)"
@@ -6686,7 +6818,7 @@ msgstr "重复"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
msgid "Filter"
msgstr "过滤"
@@ -6920,8 +7052,8 @@ msgid "Generating Lightmaps"
msgstr "正在生成光照贴图"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "正在生成网格: "
+msgid "Generating for Mesh:"
+msgstr "正在生成网格:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -6948,6 +7080,21 @@ msgid "Saving..."
msgstr "保存中..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+"%s:检测到纹理被用于 3D 法线贴图。正在启用红绿纹理压缩,降低内存使用(蓝通道"
+"被丢弃)。"
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+"%s:检测到纹理被用于 3D。正在启用过滤、重复、Mipmap 生成和 VRAM 纹理压缩。"
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr "2D、检测 3D"
@@ -7606,11 +7753,20 @@ msgid "New Anim"
msgstr "新建动画"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "创建新动画"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "修改动画名称:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "重命名动画"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "是否删除动画?"
@@ -7628,11 +7784,6 @@ msgid "Animation name already exists!"
msgstr "动画名称已存在!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "重命名动画"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "复制动画"
@@ -7729,10 +7880,12 @@ msgstr "洋葱皮选项"
msgid "Directions"
msgstr "方向"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "过去"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "未来"
@@ -7773,10 +7926,6 @@ msgid "Pin AnimationPlayer"
msgstr "固定 AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "创建新动画"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "动画名称:"
@@ -7890,8 +8039,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "设置终点结束动画。适用于子过渡动画。"
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "过渡: "
+msgid "Transition:"
+msgstr "过渡:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -7907,11 +8056,6 @@ msgid "New name:"
msgstr "新名称:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "缩放:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "淡入(秒):"
@@ -8803,6 +8947,7 @@ msgstr "从节点制作自定义骨骼"
msgid "Clear Custom Bones"
msgstr "清除自定义骨骼"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -8866,6 +9011,10 @@ msgid "Preview Canvas Scale"
msgstr "预览画布缩放"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "布局"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "用于插入键的转换掩码。"
@@ -9194,9 +9343,8 @@ msgid "Icon"
msgstr "图标"
#: editor/plugins/item_list_editor_plugin.cpp
-#, fuzzy
msgid "ID"
-msgstr "IOD"
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -9625,8 +9773,8 @@ msgid "Volume"
msgstr "体积"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "发射源: "
+msgid "Emission Source:"
+msgstr "发射源:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -9857,6 +10005,7 @@ msgid "Points"
msgstr "点"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "多边形"
@@ -10010,13 +10159,6 @@ msgid "Instance:"
msgstr "实例:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "类型:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "在编辑器中打开"
@@ -10025,10 +10167,6 @@ msgstr "在编辑器中打开"
msgid "Load Resource"
msgstr "加载资源"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "预加载资源"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "翻转入口"
@@ -10567,7 +10705,7 @@ msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"此着色器已在磁盘上修改。\n"
+"这个着色器已在磁盘上修改。\n"
"应该采取什么行动?"
#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp
@@ -10717,13 +10855,15 @@ msgstr "旋转"
msgid "Translate"
msgstr "平移"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "缩放: "
+msgid "Scaling:"
+msgstr "缩放:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "移动: "
+msgid "Translating:"
+msgstr "移动:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -10746,11 +10886,6 @@ msgid "Yaw:"
msgstr "偏航角:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "大小:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "绘制对象:"
@@ -11232,8 +11367,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "无效的几何体,无法使用网格替换。"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr "转换为 Mesh2D"
+msgid "Convert to MeshInstance2D"
+msgstr "转换为 MeshInstance2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11264,16 +11399,16 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "简化: "
+msgid "Simplification:"
+msgstr "简化:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "收缩(像素): "
+msgid "Shrink (Pixels):"
+msgstr "收缩(像素):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "扩展(像素): "
+msgid "Grow (Pixels):"
+msgstr "扩展(像素):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11336,6 +11471,10 @@ msgid "New Animation"
msgstr "新建动画"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Filter animations"
+msgstr "筛选动画"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "速度:"
@@ -12201,8 +12340,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "选择上一个形状、子图块、图块。"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "区域"
@@ -12488,7 +12626,6 @@ msgid "This property can't be changed."
msgstr "不能修改该属性。"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "吸附选项"
@@ -12517,9 +12654,8 @@ msgid "Separation"
msgstr "间距"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "选中"
+msgstr "所选图块"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12532,9 +12668,8 @@ msgid "Texture"
msgstr "纹理"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "标题偏移"
+msgstr "纹理偏移"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12548,74 +12683,60 @@ msgid "Modulate"
msgstr "调制"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "切换模式"
+msgstr "图块模式"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "位掩码模式"
+msgstr "自动图块位掩码模式"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "轮廓大小"
+msgstr "子图块大小"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "行间距"
+msgstr "子图块间距"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "遮挡器空洞"
+msgstr "遮挡器偏移"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "导航体验"
+msgstr "导航偏移"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "基础偏移"
+msgstr "形状偏移"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "变换"
+msgstr "形状变换"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "使用碰撞"
+msgstr "所选碰撞"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "仅选中"
+msgstr "所选碰撞单向"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "BVH 碰撞边距"
+msgstr "所选碰撞单向边距"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "显示导航"
+msgstr "所选导航"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "选中项聚焦"
+msgstr "所选遮挡"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "筛选脚本"
+msgstr "图块集脚本"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -13663,39 +13784,22 @@ msgid "Runnable"
msgstr "可执行的"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "是否删除预设 “%s”?"
+msgid "Export the project for all the presets defined."
+msgstr "为定义的每一个预设导出该项目。"
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
-msgstr ""
-"无法为平台 “%s” 导出项目。\n"
-"导出模板似乎缺失或无效。"
+msgid "All presets must have an export path defined for Export All to work."
+msgstr "所有预设必须都定义导出路径,才能进行“全部导出”。"
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"无法为平台 “%s” 导出项目。\n"
-"原因可能是导出预设或导出设置内的配置有问题。"
+msgid "Delete preset '%s'?"
+msgstr "是否删除预设 “%s”?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "全部导出"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "指定导出路径不存在:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "该平台的导出模板缺失或损坏:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "导出路径"
@@ -13804,34 +13908,42 @@ msgid "More Info..."
msgstr "更多信息..."
#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "导出 PCK/ZIP"
+msgid "Export PCK/Zip..."
+msgstr "导出 PCK/Zip..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "导出项目"
-
-#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "导出模式?"
+msgid "Export Project..."
+msgstr "导出项目..."
#: editor/project_export.cpp
msgid "Export All"
msgstr "全部导出"
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr "请选择导出模式:"
+
+#: editor/project_export.cpp
+msgid "Export All..."
+msgstr "全部导出..."
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "ZIP 文件"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr "Godot 游戏包"
+msgid "Godot Project Pack"
+msgstr "Godot 项目包"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "该平台的导出模板缺失:"
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr "项目导出"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "管理导出模板"
@@ -14080,7 +14192,7 @@ msgid ""
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"无法运行项目:未定义主场景。 \n"
+"无法运行项目:未定义主场景。\n"
"请编辑项目并在 “项目设置” 的 “Application” 类别下设置主场景。"
#: editor/project_manager.cpp
@@ -14134,14 +14246,14 @@ msgid "Project Manager"
msgstr "项目管理器"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "正在加载,请稍候……"
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "修改时间"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "正在加载,请稍候……"
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "编辑项目"
@@ -15332,8 +15444,8 @@ msgid "Attach Node Script"
msgstr "设置节点的脚本"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "远程 "
+msgid "Remote %s:"
+msgstr "远程 %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -16148,7 +16260,7 @@ msgstr "环边数"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
msgid "Polygon"
msgstr "多边形"
@@ -16308,8 +16420,8 @@ msgid "Disabled GDNative Singleton"
msgstr "禁用的 GDNative 单例"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "库: "
+msgid "Libraries:"
+msgstr "库:"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Class Name"
@@ -16702,7 +16814,6 @@ msgid "Use In Baked Light"
msgstr "用于烘焙光照"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr "单元格"
@@ -16728,6 +16839,17 @@ msgstr "Z 轴居中"
msgid "Mask"
msgstr "遮罩"
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+msgid "Bake Navigation"
+msgstr "烘焙导航"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "Navigation Layers"
+msgstr "导航层"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "下一平面"
@@ -17125,16 +17247,16 @@ msgid ""
msgstr "节点工作内存的第一个节点的返回值必须被赋值!请修正节点。"
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "节点返回了一个无效的连续输出: "
+msgid "Node returned an invalid sequence output:"
+msgstr "节点返回了一个无效的序列输出:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "在非堆栈中的节点中找到连续比特,请回报 Bug!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "堆栈深度溢出: "
+msgid "Stack overflow with stack depth:"
+msgstr "堆栈深度溢出:"
#: modules/visual_script/visual_script.cpp
msgid "Visual Script"
@@ -17495,16 +17617,16 @@ msgid "for (elem) in (input):"
msgstr "对 input 中的每一个 elem:"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "输入类型不可迭代: "
+msgid "Input type not iterable:"
+msgstr "输入类型不可迭代:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "迭代器失效"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "迭代器失效: "
+msgid "Iterator became invalid:"
+msgstr "迭代器失效:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -17634,7 +17756,6 @@ msgid "Base object is not a Node!"
msgstr "基础对象不是一个节点!"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Path does not lead to Node!"
msgstr "路径必须指向节点!"
@@ -17656,12 +17777,12 @@ msgid "Operator"
msgstr "操作符"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": 无效参数类型: "
+msgid "Invalid argument of type:"
+msgstr "无效参数类型:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": 无效参数: "
+msgid "Invalid arguments:"
+msgstr "无效参数:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -17672,12 +17793,12 @@ msgid "Var Name"
msgstr "变量名称"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "脚本中未找到 VariableGet: "
+msgid "VariableGet not found in script:"
+msgstr "脚本中未找到 VariableGet:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "脚本中未找到 VariableSet: "
+msgid "VariableSet not found in script:"
+msgstr "脚本中未找到 VariableSet:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -17927,20 +18048,19 @@ msgstr "退出时关闭 ADB"
#: platform/android/export/export_plugin.cpp
msgid "Launcher Icons"
-msgstr ""
+msgstr "启动器图标"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Main 192 X 192"
-msgstr "iPhone 120×120"
+msgstr "主图标 192×192"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Foreground 432 X 432"
-msgstr ""
+msgstr "自适应前景 432×432"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Background 432 X 432"
-msgstr ""
+msgstr "自适应背景 432×432"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -17967,6 +18087,10 @@ msgid "The package must have at least one '.' separator."
msgstr "包必须至少有一个 “.” 分隔符。"
#: platform/android/export/export_plugin.cpp
+msgid "Custom Build"
+msgstr "自定义构建"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr "使用自定义构建"
@@ -17974,8 +18098,15 @@ msgstr "使用自定义构建"
msgid "Export Format"
msgstr "导出格式"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "最小 SDK"
+
+#: platform/android/export/export_plugin.cpp
+msgid "Target SDK"
+msgstr "目标 SDK"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#, fuzzy
msgid "Architectures"
msgstr "架构"
@@ -18011,14 +18142,6 @@ msgstr "清除上次安装"
msgid "Code"
msgstr "代码"
-#: platform/android/export/export_plugin.cpp
-msgid "Min SDK"
-msgstr "最小 SDK"
-
-#: platform/android/export/export_plugin.cpp
-msgid "Target SDK"
-msgstr "目标 SDK"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Package"
msgstr "包"
@@ -18160,10 +18283,6 @@ msgid "Could not execute on device."
msgstr "无法在设备上运行。"
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "找不到“apksigner”工具。"
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18244,44 +18363,67 @@ msgstr "必须启用 “使用自定义构建” 才能使用插件。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
-msgstr ""
-"“Hand Tracking”只有在当“Xr Mode”是“Oculus Mobile VrApi”或“OpenXR”时才有效。"
+msgstr "“手势跟踪”只有在当“XR 模式”是“Oculus Mobile VrApi”或“OpenXR”时才有效。"
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
-msgstr "“Passthrough”只有在当“Xr Mode”是“OpenXR”时才有效。"
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
+msgstr "“穿透”只有在当“XR Mode”是“OpenXR”时才有效。"
#: platform/android/export/export_plugin.cpp
msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
-msgstr "“Export AAB”只有在当启用“Use Custom Build”时才有效。"
+msgstr "“Export AAB”只有在当启用“使用自定义构建”时才有效。"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr "修改“最小 SDK”只有在当启用“使用自定义构建”时才有效。"
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr "“最小 SDK”应当为有效的整数,但获得了无效的“%s”。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
-msgstr "修改“Min Sdk”只有在当启用“Use Custom Build”时才有效。"
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr "“最小 SDK”不能低于 %d,这是 Godot 库所需要的版本。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
-msgstr "修改“Target Sdk”只有在当启用“Use Custom Build”时才有效。"
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr "修改“目标 SDK”只有在当启用“使用自定义构建”时才有效。"
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
-msgstr "“Target Sdk”版本必须大于等于“Min Sdk”版本。"
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr "“目标 SDK”应当为有效的整数,但获得了无效的“%s”。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
msgstr ""
-"无法找到“apksigner”。\n"
-"请检查 Android SDK 的 build-tools 目录中是否有此命令。\n"
-"生成的 %s 未签名。"
+"“目标 SDK”%d 比默认版本 %d 要高。这样做也许可行,但并没有经过测试,可能不稳"
+"定。"
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr "“目标 SDK”版本必须大于等于“最小 SDK”版本。"
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+msgid "Code Signing"
+msgstr "代码签名"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
+msgstr ""
+"无法找到“apksigner”。请检查 Android SDK 的 build-tools 目录中是否有此命令。生"
+"成的 %s 未签名。"
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -18296,6 +18438,10 @@ msgid "Could not find keystore, unable to export."
msgstr "找不到密钥库,无法导出。"
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "无法启动 apksigner 可执行文件。"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "“apksigner”返回错误 #%d"
@@ -18324,8 +18470,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "无效文件名!Android APK 必须有 *.apk 扩展。"
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "不支持的导出格式!\n"
+msgid "Unsupported export format!"
+msgstr "不支持的导出格式!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -18336,24 +18482,20 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Android 构建版本不匹配:\n"
-" 安装的模板:%s\n"
-" Godot 版本:%s\n"
-"请从“项目”菜单中重新安装 Android 构建模板。"
+"Android 构建版本不匹配:安装的模板:%s,Godot 版本:%s。请从“项目”菜单中重新"
+"安装 Android 构建模板。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
-msgstr "无法使用项目名称覆盖 res://android/build/res/*.xml 文件"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
+msgstr "无法使用项目名称覆盖 res://android/build/res/*.xml 文件。"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "无法将项目文件导出至 gradle 项目\n"
+msgid "Could not export project files to gradle project."
+msgstr "无法将项目文件导出至 gradle 项目。"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18365,11 +18507,11 @@ msgstr "构建 Android 项目 (Gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"Android 项目构建失败,请检查输出中显示的错误。\n"
-"也可以访问 docs.godotengine.org 查看 Android 构建文档。"
+"Android 项目构建失败,请检查输出中显示的错误。也可以访问 docs.godotengine."
+"org 查看 Android 构建文档。"
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -18382,38 +18524,33 @@ msgid ""
msgstr "无法复制与更名导出文件,请在 Gradle 项目文件夹内确认输出。"
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr "包不存在:%s"
+msgid "Package not found: \"%s\"."
+msgstr "包不存在:“%s”。"
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "正在创建 APK……"
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"找不到导出模板 APK:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "找不到导出模板 APK:“%s”。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
-"导出模板缺失所选架构的库:%s。\n"
-"请使用全部所需的库构建模板,或者在导出预设中取消对缺失架构的选择。"
+"导出模板缺失所选架构的库:%s。请使用全部所需的库构建模板,或者在导出预设中取"
+"消对缺失架构的选择。"
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "正在添加文件……"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr "无法导出项目文件"
+msgid "Could not export project files."
+msgstr "无法导出项目文件。"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -18432,68 +18569,56 @@ msgid "The character '%s' is not allowed in Identifier."
msgstr "标识符中不允许使用字符“%s”。"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Landscape Launch Screens"
-msgstr "使用启动屏幕 Storyboard"
+msgstr "横屏启动画面"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 2436 X 1125"
-msgstr "iPhone 120×120"
+msgstr "iPhone 2436×1125"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 2208 X 1242"
-msgstr "iPhone 120×120"
+msgstr "iPhone 2208×1242"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 1024 X 768"
-msgstr "iPad 76×76"
+msgstr "iPad 1024×768"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 2048 X 1536"
-msgstr "iPad 152×152"
+msgstr "iPad 2048×1536"
#: platform/iphone/export/export.cpp
msgid "Portrait Launch Screens"
-msgstr ""
+msgstr "竖屏启动画面"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 640 X 960"
-msgstr "iPhone 120×120"
+msgstr "iPhone 640×960"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 640 X 1136"
-msgstr "iPhone 120×120"
+msgstr "iPhone 640×1136"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 750 X 1334"
-msgstr "iPhone 120×120"
+msgstr "iPhone 750×1334"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 1125 X 2436"
-msgstr "iPhone 120×120"
+msgstr "iPhone 1125×2436"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 768 X 1024"
-msgstr "iPad 76×76"
+msgstr "iPad 768×1024"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPad 1536 X 2048"
-msgstr "iPad 152×152"
+msgstr "iPad 1536×2048"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "iPhone 1242 X 2208"
-msgstr "iPhone 120×120"
+msgstr "iPhone 1242×2208"
#: platform/iphone/export/export.cpp
msgid "App Store Team ID"
@@ -18648,6 +18773,15 @@ msgstr "使用自定义背景色"
msgid "Custom BG Color"
msgstr "自定义背景色"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+msgid "Prepare Templates"
+msgstr "准备模板"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Export template not found."
+msgstr "找不到导出模板。"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "未指定 App Store Team ID - 无法配置项目。"
@@ -18669,20 +18803,28 @@ msgid "Run exported HTML in the system's default browser."
msgstr "使用默认浏览器打开导出的 HTML 文件。"
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr "无法打开导出模板:"
+msgid "Could not open template for export: \"%s\"."
+msgstr "无法打开导出模板:“%s”。"
+
+#: platform/javascript/export/export.cpp
+msgid "Invalid export template: \"%s\"."
+msgstr "导出模板无效:“%s”。"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr "导出模板无效:"
+msgid "Could not write file: \"%s\"."
+msgstr "无法写入文件:“%s”。"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+msgid "Icon Creation"
+msgstr "图标创建"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr "无法写入文件:"
+msgid "Could not read file: \"%s\"."
+msgstr "无法读取文件:“%s”。"
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr "无法读取文件:"
+msgid "PWA"
+msgstr "PWA"
#: platform/javascript/export/export.cpp
msgid "Variant"
@@ -18753,16 +18895,16 @@ msgid "Icon 512 X 512"
msgstr "图标 512×512"
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr "无法读取 HTML 壳:"
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "无法读取 HTML 壳:“%s”。"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr "无法创建 HTTP 服务器目录:"
+msgid "Could not create HTTP server directory: %s."
+msgstr "无法创建 HTTP 服务器目录:%s。"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr "启动 HTTP 服务器时出错:"
+msgid "Error starting HTTP server: %d."
+msgstr "启动 HTTP 服务器时出错:%d。"
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19026,10 +19168,26 @@ msgid "Apple Team ID"
msgstr "Apple 团队 ID"
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr "无法打开图标文件“%s”。"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "无法启动 xcrun 可执行文件。"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr "公证失败。"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr "公证请求 UUID:“%s”"
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
-msgstr "注意:公证过程通常少于一个小时。过程结束后,你会收到一封邮件。"
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
+msgstr "公证过程通常少于一个小时。过程结束后,你会收到一封邮件。"
#: platform/osx/export/export.cpp
msgid ""
@@ -19044,16 +19202,67 @@ msgid ""
msgstr "运行以下命令将公证票证装订到导出的应用中(可选):"
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr "添加时间戳与 Ad-hoc 签名不兼容,已被禁用!"
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr "加固运行时环境与 Ad-hoc 签名不兼容,已被禁用!"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr "内置 CodeSign 失败,错误为“%s”。"
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr "内置 CodeSign 需要 regex 模块。"
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr "无法启动 codesign 可执行文件,请确保已安装 Xcode 命令行工具。"
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
msgstr "没有找到身份。"
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr "无法签名文件 %s。"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr "不支持相对符号链接,导出的“%s”可能损坏!"
+
+#: platform/osx/export/export.cpp
+msgid "DMG Creation"
+msgstr "DMG 创建"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "无法启动 hdiutil 可执行文件。"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr "`hdiutil create` 失败 - 文件已存在。"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr "`hdiutil create` 失败。"
+
+#: platform/osx/export/export.cpp
msgid "Creating app bundle"
msgstr "正在创建应用捆绑包"
#: platform/osx/export/export.cpp
-msgid "Could not find template app to export:"
-msgstr "无法找到导出的模板应用:"
+msgid "Could not find template app to export: \"%s\"."
+msgstr "无法找到导出的模板应用:“%s”。"
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
+msgstr "导出格式无效。"
#: platform/osx/export/export.cpp
msgid ""
@@ -19063,9 +19272,9 @@ msgstr "该操作系统上不支持相对符号链接,导出的项目可能损
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
-msgstr "未找到请求的二进制模板“%s”。你的模板归档中可能缺失该文件。"
+msgstr "未找到请求的模板二进制文件“%s”。你的模板归档中可能缺失该文件。"
#: platform/osx/export/export.cpp
msgid "Making PKG"
@@ -19104,6 +19313,14 @@ msgid "Sending archive for notarization"
msgstr "正在发送归档进行公证"
#: platform/osx/export/export.cpp
+msgid "ZIP Creation"
+msgstr "ZIP 创建"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "无法打开位于“%s”的文件进行读取。"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "无效的包标识符:"
@@ -19408,6 +19625,10 @@ msgid "Debug Algorithm"
msgstr "调试算法"
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "重命名临时文件“%s”失败。"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr "身份类型"
@@ -19448,12 +19669,78 @@ msgid "Trademarks"
msgstr "商标"
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr "资源修改"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "无法在“%s”找到 rcedit 可执行文件。"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find wine executable at \"%s\"."
+msgstr "无法在“%s”找到 wine 可执行文件。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"无法启动 rcedit 可执行文件,请在编辑器设置中配置 rcedit 路径(导出 > Windows "
+"> Rcedit)。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr ""
+"rcedit 修改可执行文件失败:\n"
+"%s"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "无法在“%s”找到 signtool 可执行文件。"
+
+#: platform/windows/export/export.cpp
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "无法在“%s”找到 osslsigncode 可执行文件。"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr "身份类型无效。"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid timestamp server."
+msgstr "时间戳服务器无效。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+"无法启动 signtool 可执行文件,请在编辑器设置中配置 signtool 路径(导出 > "
+"Windows > Signtool)。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr ""
+"Signtool 签名可执行文件失败:\n"
+"%s"
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "移除临时文件“%s”失败。"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
-"必须在编辑器设置中配置 rcedit 工具(Export > Windows > Rcedit)才能修改图标或"
-"应用信息数据。"
+"必须在编辑器设置中配置 rcedit 工具(导出 > Windows > Rcedit)才能修改图标或应"
+"用信息数据。"
#: platform/windows/export/export.cpp
msgid "Invalid icon path:"
@@ -19468,6 +19755,22 @@ msgid "Invalid product version:"
msgstr "产品版本无效:"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr "Windows 可执行文件不能 >= 4GiB。"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Failed to open executable file \"%s\"."
+msgstr "打开可执行文件“%s”失败。"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr "可执行文件头已损坏。"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr "可执行文件“pck”区未找到。"
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr "Windows"
@@ -19483,6 +19786,10 @@ msgstr "Osslsigncode"
msgid "Wine"
msgstr "Wine"
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr "32 位可执行文件无法内嵌 >= 4 GiB 的数据。"
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
msgid "Frames"
@@ -19593,7 +19900,8 @@ msgstr "暂停流"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
msgstr "最大距离"
@@ -19635,7 +19943,7 @@ msgstr "缩放"
msgid "Custom Viewport"
msgstr "自定义视区"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
msgid "Process Mode"
@@ -20135,7 +20443,7 @@ msgstr "节点 B"
#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
#: scene/resources/environment.cpp
msgid "Bias"
-msgstr "偏倚"
+msgstr "偏置"
#: scene/2d/joints_2d.cpp
msgid "Disable Collision"
@@ -20302,11 +20610,40 @@ msgstr "单元格大小"
msgid "Edge Connection Margin"
msgstr "边界连接边距"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+"“Navigation2D”节点和“Navigation2D.get_simple_path()”已废弃,会在将来的版本中"
+"移除。请用“Navigation2DServer.map_get_path()”替代。"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Pathfinding"
+msgstr "寻路"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr "路径期望距离"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr "目标期望距离"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr "路径最大距离"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance"
+msgstr "避障"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Avoidance Enabled"
+msgstr "启用避障"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr "邻接距离"
@@ -20322,20 +20659,10 @@ msgstr "时间下限"
msgid "Max Speed"
msgstr "最大速度"
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
-msgstr "路径最大距离"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "启用隐藏"
-
#: scene/2d/navigation_agent_2d.cpp
-#, fuzzy
msgid ""
"The NavigationAgent2D can be used only under a Node2D inheriting parent node."
-msgstr "NavigationAgent2D 只能在 Node2D 节点下使用。"
+msgstr "NavigationAgent2D 只能在继承 Node2D 的父节点下使用。"
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
msgid "Estimate Radius"
@@ -20355,23 +20682,23 @@ msgstr ""
"请为此节点设置一个 NavigationPolygon 类型的资源作为形状,这样它才能正常工作。"
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance 类型的节点必须作为 Navigation2D 的子节点或子孙节点"
-"才能为其提供导航数据。"
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr "导航多边形"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Enter Cost"
+msgstr "进入消耗"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
+msgstr "移动消耗"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
msgid "Rotation Degrees"
msgstr "旋转角度"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
msgid "Global Rotation"
msgstr "全局旋转"
@@ -21275,7 +21602,7 @@ msgstr "动态范围"
#: scene/3d/gi_probe.cpp scene/3d/light.cpp
msgid "Normal Bias"
-msgstr "法线偏倚"
+msgstr "法线偏置"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/primitive_meshes.cpp
@@ -21315,14 +21642,12 @@ msgid "Render Priority"
msgstr "渲染优先级"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Render Priority"
-msgstr "渲染优先级"
+msgstr "轮廓渲染优先级"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Outline Modulate"
-msgstr "字体轮廓调制"
+msgstr "轮廓调制"
#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
@@ -21330,14 +21655,12 @@ msgid "Font"
msgstr "字体"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Horizontal Alignment"
-msgstr "启用水平"
+msgstr "水平对齐"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Vertical Alignment"
-msgstr "对齐"
+msgstr "垂直对齐"
#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
msgid "Autowrap"
@@ -21390,7 +21713,7 @@ msgstr "混合拆分"
#: scene/3d/light.cpp
msgid "Bias Split Scale"
-msgstr "偏倚拆分缩放"
+msgstr "偏置拆分缩放"
#: scene/3d/light.cpp
msgid "Depth Range"
@@ -21428,6 +21751,15 @@ msgstr "软件蒙皮"
msgid "Transform Normals"
msgstr "变换法线"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+"“Navigation”节点和“Navigation.get_simple_path()”已废弃,会在将来的版本中移"
+"除。请用“NavigationServer.map_get_path()”替代。"
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
msgstr "上向量"
@@ -21445,18 +21777,9 @@ msgid "Ignore Y"
msgstr "忽略 Y"
#: scene/3d/navigation_agent.cpp
-#, fuzzy
msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
-msgstr "NavigationAgent 只能在 Spatial 节点下使用。"
-
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance 类型节点必须作为 Navigation 节点的子节点或子孙节点才能"
-"提供导航数据。"
+msgstr "NavigationAgent 只能在继承 Spatial 的父节点下使用。"
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
@@ -21590,9 +21913,8 @@ msgid "Motion Z"
msgstr "运动 Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint Constraints"
-msgstr "常量"
+msgstr "关节约束"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Impulse Clamp"
@@ -21612,124 +21934,102 @@ msgid "Relaxation"
msgstr "松驰"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Enabled"
-msgstr "角度限制 X"
+msgstr "角度限制启用"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Upper"
-msgstr "角度限制 X"
+msgstr "角度上限"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Lower"
-msgstr "角度限制 X"
+msgstr "角度下限"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Bias"
-msgstr "角度限制 X"
+msgstr "角度限制偏置"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Softness"
-msgstr "角度限制 X"
+msgstr "角度限制软度"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Relaxation"
-msgstr "角度限制 X"
+msgstr "角度限制松弛"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Upper"
-msgstr "线性限制 X"
+msgstr "线性上限"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Lower"
-msgstr "线性限制 X"
+msgstr "线性下限"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Softness"
-msgstr "线性限制 X"
+msgstr "线性限制软度"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Restitution"
-msgstr "线性限制 X"
+msgstr "线性限制复原"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Damping"
-msgstr "线性限制 X"
+msgstr "线性限制阻尼"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Restitution"
-msgstr "角度限制 X"
+msgstr "角度限制复原"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Damping"
-msgstr "角度限制 X"
+msgstr "角度限制阻尼"
#: scene/3d/physics_body.cpp
msgid "X"
-msgstr ""
+msgstr "X"
#: scene/3d/physics_body.cpp
msgid "Y"
-msgstr ""
+msgstr "Y"
#: scene/3d/physics_body.cpp
msgid "Z"
-msgstr ""
+msgstr "Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Enabled"
-msgstr "线性限制 X"
+msgstr "线性限制启用"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Enabled"
-msgstr "线性弹簧 X"
+msgstr "线性弹簧启用"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Stiffness"
-msgstr "线性硬度"
+msgstr "线性弹簧硬度"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Spring Damping"
-msgstr "线性弹簧 X"
+msgstr "线性弹簧阻尼"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Equilibrium Point"
-msgstr "平衡点"
+msgstr "线性平衡点"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Restitution"
-msgstr "复原"
+msgstr "线性复原"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Damping"
msgstr "线性阻尼"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Restitution"
-msgstr "复原"
+msgstr "角度复原"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Damping"
msgstr "角度阻尼"
@@ -21738,24 +22038,20 @@ msgid "ERP"
msgstr "ERP"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Enabled"
-msgstr "角度弹簧 X"
+msgstr "角度弹簧启用"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Stiffness"
-msgstr "区域角硬度"
+msgstr "角度弹簧硬度"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Spring Damping"
-msgstr "角度弹簧 X"
+msgstr "角度弹簧阻尼"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Equilibrium Point"
-msgstr "平衡点"
+msgstr "角度平衡点"
#: scene/3d/physics_body.cpp
msgid "Body Offset"
@@ -22196,33 +22492,28 @@ msgstr ""
"请确保所有房间都包含几何结构,或者包含手动边界。"
#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-#, fuzzy
msgid "Pose"
-msgstr "复制姿势"
+msgstr "姿势"
#: scene/3d/skeleton.cpp
-#, fuzzy
msgid "Bound Children"
-msgstr "子节点"
+msgstr "绑定子节点"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Pinned Points"
-msgstr "将 %s 固定"
+msgstr "固定点"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Attachments"
-msgstr "调整"
+msgstr "附件"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Point Index"
-msgstr "获取索引"
+msgstr "点索引"
#: scene/3d/soft_body.cpp
msgid "Spatial Attachment Path"
-msgstr ""
+msgstr "空间附件路径"
#: scene/3d/soft_body.cpp
msgid "Physics Enabled"
@@ -22282,6 +22573,10 @@ msgstr ""
"建议修改子节点的碰撞体形状尺寸。"
#: scene/3d/spatial.cpp
+msgid "Global Translation"
+msgstr "全局平移"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr "矩阵"
@@ -22472,29 +22767,24 @@ msgid "Autorestart"
msgstr "自动重启"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Delay"
-msgstr "延迟(毫秒)"
+msgstr "延迟"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Random Delay"
-msgstr "自动重启随机延迟"
+msgstr "随机延迟"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Add Amount"
-msgstr "数量"
+msgstr "叠加量"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Blend Amount"
-msgstr "缩放量"
+msgstr "混合量"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Seek Position"
-msgstr "流位置"
+msgstr "寻道位置"
#: scene/animation/animation_blend_tree.cpp
msgid "Input Count"
@@ -23377,6 +23667,10 @@ msgid "Fold Gutter"
msgstr "折叠栏"
#: scene/gui/text_edit.cpp
+msgid "Drag And Drop Selection Enabled"
+msgstr "启用拖放选中内容"
+
+#: scene/gui/text_edit.cpp
msgid "Hiding Enabled"
msgstr "启用隐藏"
@@ -23733,22 +24027,23 @@ msgstr "Viewport 路径"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"这个视窗未被设置为渲染目标。如果你想让其直接在屏幕上显示内容,请使其成为 "
-"Control 的子节点,这样一来该 Viewport 才会有大小。否则请为其设置 "
-"RenderTarget 并分配其内部纹理来显示。"
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr "Viewport 的宽高都大于等于 2 像素时才能进行渲染。"
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+"这个 Viewport 启用了 HDR,但其 Usage 为 2D 或 2D No-Sampling。\n"
+"HDR 仅在 Usage 为 3D 或 3D No-Effects 的 Viewport 中支持。\n"
+"这个 Viewport 将禁用 HDR。"
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr "ARVR"
@@ -23885,6 +24180,14 @@ msgid "3D Physics"
msgstr "3D 物理"
#: scene/register_scene_types.cpp
+msgid "2D Navigation"
+msgstr "2D 导航"
+
+#: scene/register_scene_types.cpp
+msgid "3D Navigation"
+msgstr "3D 导航"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr "使用 hiDPI"
@@ -24944,9 +25247,8 @@ msgid "Ensure Correct Normals"
msgstr "确保正确法线"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Albedo Tex MSDF"
-msgstr "反照率纹理强制 sRGB"
+msgstr "反照率纹理 MSDF"
#: scene/resources/material.cpp
msgid "Vertex Color"
@@ -25050,7 +25352,7 @@ msgstr "清漆"
#: scene/resources/material.cpp
msgid "Gloss"
-msgstr ""
+msgstr "光泽"
#: scene/resources/material.cpp
msgid "Anisotropy"
@@ -25058,7 +25360,7 @@ msgstr "各向异性"
#: scene/resources/material.cpp
msgid "Flowmap"
-msgstr ""
+msgstr "流向图"
#: scene/resources/material.cpp
msgid "Ambient Occlusion"
@@ -25096,7 +25398,7 @@ msgstr "传递"
msgid "Refraction"
msgstr "折射"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr "细节"
@@ -25141,14 +25443,12 @@ msgid "Custom AABB"
msgstr "自定义 AABB"
#: scene/resources/mesh_library.cpp
-#, fuzzy
msgid "Mesh Transform"
-msgstr "变换"
+msgstr "网格变换"
#: scene/resources/mesh_library.cpp
-#, fuzzy
msgid "NavMesh Transform"
-msgstr "画布变换"
+msgstr "导航网格变换"
#: scene/resources/multimesh.cpp
msgid "Color Format"
@@ -25171,8 +25471,12 @@ msgid "Visible Instance Count"
msgstr "可见实例数"
#: scene/resources/navigation_mesh.cpp
-msgid "Sample Partition Type"
-msgstr "采样分区类型"
+msgid "Sampling"
+msgstr "采样"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Partition Type"
+msgstr "分区类型"
#: scene/resources/navigation_mesh.cpp
msgid "Parsed Geometry Type"
@@ -25187,7 +25491,11 @@ msgid "Source Group Name"
msgstr "来源分组名称"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
+msgstr "单元格"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Agents"
msgstr "代理"
#: scene/resources/navigation_mesh.cpp
@@ -25199,11 +25507,15 @@ msgid "Max Slope"
msgstr "最大斜坡"
#: scene/resources/navigation_mesh.cpp
+msgid "Regions"
+msgstr "地区"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr "合并大小"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr "边界"
#: scene/resources/navigation_mesh.cpp
@@ -25215,6 +25527,10 @@ msgid "Verts Per Poly"
msgstr "每多边形顶点数"
#: scene/resources/navigation_mesh.cpp
+msgid "Details"
+msgstr "细节"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr "采样距离"
@@ -25231,8 +25547,16 @@ msgid "Ledge Spans"
msgstr "凸台范围"
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
-msgstr "过滤可行走低高度范围"
+msgid "Walkable Low Height Spans"
+msgstr "可行走低高度范围"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
+msgstr "烘焙 AABB"
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB Offset"
+msgstr "烘焙 AABB 偏移"
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
@@ -25343,9 +25667,8 @@ msgid "Is Hemisphere"
msgstr "是否半球"
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Curve Step"
-msgstr "曲线"
+msgstr "曲线步长"
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Slips On Slope"
@@ -25357,20 +25680,17 @@ msgstr "A"
#: scene/resources/shape_2d.cpp
msgid "Custom Solver Bias"
-msgstr "自定义求解器偏倚"
+msgstr "自定义求解器偏置"
#: scene/resources/skin.cpp
-#, fuzzy
msgid "Bind Count"
-msgstr "点数"
+msgstr "绑定数"
#: scene/resources/skin.cpp
-#, fuzzy
msgid "Bind"
msgstr "绑定"
#: scene/resources/skin.cpp
-#, fuzzy
msgid "Bone"
msgstr "骨骼"
@@ -25463,19 +25783,16 @@ msgid "Image Size"
msgstr "图像大小"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Side"
-msgstr "边数"
+msgstr "面"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Front"
-msgstr "前视图"
+msgstr "正面"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Back"
-msgstr "后退"
+msgstr "反面"
#: scene/resources/texture.cpp
msgid "Storage Mode"
@@ -25486,14 +25803,12 @@ msgid "Lossy Storage Quality"
msgstr "有损存储质量"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "From"
-msgstr "填充起点"
+msgstr "起点"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "To"
-msgstr "顶部"
+msgstr "终点"
#: scene/resources/texture.cpp
msgid "Base"
@@ -25524,27 +25839,22 @@ msgid "Output Port For Preview"
msgstr "输出端口预览"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Depth Draw"
-msgstr "深度绘制模式"
+msgstr "深度绘制"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Cull"
-msgstr "剔除模式"
+msgstr "剔除"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Diffuse"
-msgstr "漫反射图像"
+msgstr "漫反射"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Async"
-msgstr "异步模式"
+msgstr "异步"
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Modes"
msgstr "模式"
@@ -25603,6 +25913,10 @@ msgid "Scenario"
msgstr "场景"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Navigation Map"
+msgstr "导航地图"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr "DirectSpaceState"
@@ -25618,6 +25932,22 @@ msgstr "默认线性阻尼"
msgid "Default Angular Damp"
msgstr "默认角度阻尼"
+#: scene/resources/world.cpp
+msgid "Default Map Up"
+msgstr "默认地图上方"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Size"
+msgstr "默认单元格大小"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Cell Height"
+msgstr "默认单元格高度"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+msgid "Default Edge Connection Margin"
+msgstr "默认边界连接边距"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr "画布"
@@ -25949,9 +26279,8 @@ msgid "Collision Unsafe Fraction"
msgstr "碰撞不安全小数"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Physics Engine"
-msgstr "启用物理"
+msgstr "物理引擎"
#: servers/physics_server.cpp
msgid "Center Of Mass"
@@ -25966,14 +26295,12 @@ msgid "Varying may not be assigned in the '%s' function."
msgstr "Varying 不能在“%s”函数中赋值。"
#: servers/visual/shader_language.cpp
-#, fuzzy
msgid ""
"Varyings which were assigned in 'vertex' function may not be reassigned in "
"'fragment' or 'light'."
msgstr "已在“vertex”函数中赋值的 varying 不能在“fragment”或“light”中重新赋值。"
#: servers/visual/shader_language.cpp
-#, fuzzy
msgid ""
"Varyings which were assigned in 'fragment' function may not be reassigned in "
"'vertex' or 'light'."
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index 40e03fc7d7..79760d0de7 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -220,9 +220,10 @@ msgid "Data"
msgstr ""
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Network"
msgstr "匯出"
@@ -335,7 +336,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
+msgid "Invalid input %d (not passed) in expression"
msgstr ""
#: core/math/expression.cpp
@@ -379,6 +380,15 @@ msgstr ""
msgid "Max Size (KB)"
msgstr ""
+#: core/os/input.cpp
+#, fuzzy
+msgid "Mouse Mode"
+msgstr "移動模式"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr ""
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -407,6 +417,11 @@ msgstr ""
msgid "Command"
msgstr "社群"
+#: core/os/input_event.cpp
+#, fuzzy
+msgid "Physical"
+msgstr "物理幀 %"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -464,6 +479,10 @@ msgid "Pressure"
msgstr "重設縮放比例"
#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr ""
+
+#: core/os/input_event.cpp
msgid "Relative"
msgstr ""
@@ -576,7 +595,8 @@ msgstr "描述:"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "運行"
@@ -665,6 +685,11 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
+msgid "Scene Naming"
+msgstr "場景路徑:"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
msgstr ""
@@ -672,20 +697,15 @@ msgstr ""
msgid "Script Templates Search Path"
msgstr ""
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
+#: core/project_settings.cpp
#, fuzzy
-msgid "Version Control"
+msgid "Version Control Autoload On Startup"
msgstr "版本:"
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr ""
-
-#: core/project_settings.cpp
#, fuzzy
-msgid "Plugin Name"
-msgstr "插件列表:"
+msgid "Version Control Plugin Name"
+msgstr "版本:"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -796,7 +816,8 @@ msgid "Quality"
msgstr ""
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
#, fuzzy
msgid "Filters"
msgstr "篩選:"
@@ -1075,6 +1096,7 @@ msgstr ""
msgid "Blend Shape Max Buffer Size (KB)"
msgstr ""
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "自由"
@@ -1091,7 +1113,7 @@ msgstr "對稱"
msgid "Time:"
msgstr "時間:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr ""
@@ -1353,11 +1375,72 @@ msgstr "移除被選取的軌迹。"
#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Time (s): "
+msgid "Time (s):"
msgstr "時間:"
#: editor/animation_track_editor.cpp
#, fuzzy
+msgid "Position:"
+msgstr "只限選中"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Rotation:"
+msgstr "本地化"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "(Invalid, expected type: %s)"
+msgstr "管理輸出範本"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Easing:"
+msgstr "翻譯:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Stream:"
+msgstr "編輯Node Curve"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Start (s):"
+msgstr "移動模式"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Clip:"
+msgstr "新增動畫"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Toggle Track Enabled"
msgstr "啟用"
@@ -1588,7 +1671,7 @@ msgid "Add Method Track Key"
msgstr "插入軌跡和關鍵幀"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
+msgid "Method not found in object:"
msgstr ""
#: editor/animation_track_editor.cpp
@@ -2145,14 +2228,15 @@ msgstr "最愛:"
msgid "Recent:"
msgstr "最近:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "搜尋:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "吻合:"
@@ -2208,8 +2292,8 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2217,7 +2301,7 @@ msgid "Open"
msgstr "開啟"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
+msgid "Owners of: %s (Total: %d)"
msgstr ""
#: editor/dependency_editor.cpp
@@ -2527,7 +2611,7 @@ msgid "Bus Options"
msgstr "選項"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "再製"
@@ -2583,8 +2667,9 @@ msgstr ""
msgid "There is no '%s' file."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Layout:"
msgstr "佈局"
#: editor/editor_audio_buses.cpp
@@ -2801,6 +2886,24 @@ msgid "Choose"
msgstr "選擇"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "複製路徑"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr ""
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed."
+msgstr "失敗:"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr ""
@@ -2813,6 +2916,31 @@ msgid "Packing"
msgstr ""
#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save PCK"
+msgstr "另存為"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Cannot create file \"%s\"."
+msgstr "無法新增資料夾"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to export project files."
+msgstr "無法新增資料夾"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Can't open file to read from path \"%s\"."
+msgstr "不能開啟檔案以供寫入:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Save ZIP"
+msgstr "另存為"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2916,8 +3044,29 @@ msgstr ""
msgid "Custom release template not found."
msgstr ""
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Prepare Template"
+msgstr "管理輸出範本"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "The given export path doesn't exist."
+msgstr "檔案不存在."
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
+#, fuzzy
+msgid "Template file not found: \"%s\"."
+msgstr "時長(秒)。"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Failed to copy export template."
+msgstr "管理輸出範本"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
msgstr ""
#: editor/editor_export.cpp
@@ -3104,9 +3253,9 @@ msgid "Import"
msgstr "導入"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "匯出"
@@ -4269,15 +4418,6 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "場景"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "場景路徑:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
msgid "Interface"
@@ -4405,6 +4545,11 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "版本:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
msgid "Username"
msgstr "重新命名"
@@ -4434,6 +4579,10 @@ msgstr ""
msgid "Add a new scene."
msgstr "新增軌迹"
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "場景"
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Go to previously opened scene."
@@ -5109,11 +5258,13 @@ msgid "Selected node is not a Viewport!"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
+msgid "Page:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
@@ -5212,6 +5363,11 @@ msgid ""
"as runnable."
msgstr ""
+#: editor/editor_run_native.cpp
+#, fuzzy
+msgid "Project Run"
+msgstr "專案"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr ""
@@ -5488,7 +5644,9 @@ msgid "Draw Spaces"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
#, fuzzy
msgid "Navigation"
msgstr "插件"
@@ -5515,6 +5673,15 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr ""
#: editor/editor_settings.cpp
+#, fuzzy
+msgid "Drag And Drop Selection"
+msgstr "刪除選中檔案"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr ""
+
+#: editor/editor_settings.cpp
msgid "Appearance"
msgstr ""
@@ -6069,10 +6236,12 @@ msgstr ""
msgid "Port"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr ""
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
@@ -6874,14 +7043,6 @@ msgid "Replace in Files"
msgstr "全部取代"
#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "尋找: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "取代: "
-
-#: editor/find_in_files.cpp
#, fuzzy
msgid "Replace All (NO UNDO)"
msgstr "全部取代"
@@ -7018,7 +7179,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
+#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
msgstr "篩選:"
@@ -7281,7 +7442,8 @@ msgid "Generating Lightmaps"
msgstr "光照圖生成中"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
+#, fuzzy
+msgid "Generating for Mesh:"
msgstr "為Mesh生成中: "
#: editor/import/resource_importer_scene.cpp
@@ -7309,6 +7471,18 @@ msgid "Saving..."
msgstr "儲存中..."
#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr ""
+
+#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
msgstr ""
@@ -8028,11 +8202,20 @@ msgid "New Anim"
msgstr "新增動畫"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "更改動畫名稱:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "重新命名動畫"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "刪除動畫?"
@@ -8052,11 +8235,6 @@ msgid "Animation name already exists!"
msgstr "錯誤:動畫名稱已存在!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "重新命名動畫"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr ""
@@ -8160,11 +8338,13 @@ msgstr "選項"
msgid "Directions"
msgstr "描述:"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Past"
msgstr "貼上"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr ""
@@ -8206,10 +8386,6 @@ msgid "Pin AnimationPlayer"
msgstr "貼上動畫"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr ""
@@ -8330,7 +8506,7 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Transition: "
+msgid "Transition:"
msgstr "過渡"
#: editor/plugins/animation_state_machine_editor.cpp
@@ -8349,11 +8525,6 @@ msgid "New name:"
msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr ""
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
@@ -9293,6 +9464,7 @@ msgstr ""
msgid "Clear Custom Bones"
msgstr "運行場景"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
@@ -9357,6 +9529,10 @@ msgid "Preview Canvas Scale"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "佈局"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr ""
@@ -10134,8 +10310,9 @@ msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr ""
+#, fuzzy
+msgid "Emission Source:"
+msgstr "可見碰撞圖形"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10376,6 +10553,7 @@ msgid "Points"
msgstr "下移"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Polygons"
msgstr "插件"
@@ -10533,13 +10711,6 @@ msgid "Instance:"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -10548,11 +10719,6 @@ msgstr ""
msgid "Load Resource"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "ResourcePreloader"
-msgstr "資源"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr ""
@@ -11305,13 +11471,16 @@ msgstr ""
msgid "Translate"
msgstr "翻譯"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr ""
+#, fuzzy
+msgid "Scaling:"
+msgstr "選擇模式"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
-msgid "Translating: "
+msgid "Translating:"
msgstr "翻譯:"
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11335,11 +11504,6 @@ msgid "Yaw:"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr ""
@@ -11843,7 +12007,7 @@ msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
-msgid "Convert to Mesh2D"
+msgid "Convert to MeshInstance2D"
msgstr "轉為..."
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11877,15 +12041,16 @@ msgid "Sprite"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr ""
+#, fuzzy
+msgid "Simplification:"
+msgstr "行為"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
+msgid "Shrink (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
+msgid "Grow (Pixels):"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
@@ -11956,6 +12121,11 @@ msgid "New Animation"
msgstr "新的動畫名稱:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Filter animations"
+msgstr "篩選:"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr ""
@@ -12901,8 +13071,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Region"
msgstr "無干擾模式"
@@ -14417,36 +14586,22 @@ msgid "Runnable"
msgstr "啟用"
#: editor/project_export.cpp
-#, fuzzy
-msgid "Delete preset '%s'?"
-msgstr "要刪除選中檔案?"
-
-#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
+msgid "Export the project for all the presets defined."
msgstr ""
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
+msgid "All presets must have an export path defined for Export All to work."
msgstr ""
#: editor/project_export.cpp
#, fuzzy
-msgid "Exporting All"
-msgstr "匯出"
+msgid "Delete preset '%s'?"
+msgstr "要刪除選中檔案?"
#: editor/project_export.cpp
#, fuzzy
-msgid "The given export path doesn't exist:"
-msgstr "檔案不存在."
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
+msgid "Exporting All"
+msgstr "匯出"
#: editor/project_export.cpp
#, fuzzy
@@ -14555,21 +14710,27 @@ msgstr "搬到..."
#: editor/project_export.cpp
#, fuzzy
-msgid "Export PCK/Zip"
+msgid "Export PCK/Zip..."
msgstr "匯出"
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr ""
+#, fuzzy
+msgid "Export Project..."
+msgstr "導入"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export mode?"
+msgid "Export All"
msgstr "匯出"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export All"
+msgid "Choose an export mode:"
+msgstr "選擇資料夾"
+
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Export All..."
msgstr "匯出"
#: editor/project_export.cpp editor/project_manager.cpp
@@ -14578,14 +14739,20 @@ msgid "ZIP File"
msgstr "檔案"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr ""
+#, fuzzy
+msgid "Godot Project Pack"
+msgstr "專案"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
+#, fuzzy
+msgid "Project Export"
+msgstr "專案開荒人"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "管理輸出範本"
@@ -14874,15 +15041,15 @@ msgid "Project Manager"
msgstr "開啟 Project Manager "
#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Loading, please wait..."
msgstr "接收 mirrors中, 請稍侯..."
#: editor/project_manager.cpp
-msgid "Last Modified"
-msgstr ""
-
-#: editor/project_manager.cpp
#, fuzzy
msgid "Edit Project"
msgstr "專案"
@@ -16122,7 +16289,7 @@ msgstr "下一個腳本"
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Remote "
+msgid "Remote %s:"
msgstr "移除"
#: editor/script_editor_debugger.cpp
@@ -16992,7 +17159,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "插件"
@@ -17169,8 +17336,9 @@ msgid "Disabled GDNative Singleton"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr ""
+#, fuzzy
+msgid "Libraries:"
+msgstr "MeshLibrary..."
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -17599,7 +17767,6 @@ msgid "Use In Baked Light"
msgstr ""
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17629,6 +17796,19 @@ msgstr "不選"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "插件"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "插件"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
msgid "Next Plane"
@@ -18049,7 +18229,7 @@ msgid ""
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
+msgid "Node returned an invalid sequence output:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18057,7 +18237,7 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr ""
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
+msgid "Stack overflow with stack depth:"
msgstr ""
#: modules/visual_script/visual_script.cpp
@@ -18455,7 +18635,7 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
+msgid "Input type not iterable:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18463,7 +18643,7 @@ msgid "Iterator became invalid"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
+msgid "Iterator became invalid:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
@@ -18625,12 +18805,14 @@ msgid "Operator"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ""
+#, fuzzy
+msgid "Invalid argument of type:"
+msgstr "無效字型"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ""
+#, fuzzy
+msgid "Invalid arguments:"
+msgstr "無效名稱。"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18642,11 +18824,11 @@ msgid "Var Name"
msgstr "名稱"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
+msgid "VariableGet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
+msgid "VariableSet not found in script:"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
@@ -18961,6 +19143,11 @@ msgid "The package must have at least one '.' separator."
msgstr ""
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "貼上"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18969,6 +19156,16 @@ msgstr ""
msgid "Export Format"
msgstr "匯出"
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Min SDK"
+msgstr "下一個腳本"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "目標"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
msgid "Architectures"
msgstr ""
@@ -19007,16 +19204,6 @@ msgstr "上一個tab"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "下一個腳本"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "目標"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
@@ -19184,10 +19371,6 @@ msgid "Could not execute on device."
msgstr "無法新增資料夾"
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr ""
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -19265,12 +19448,12 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19279,25 +19462,49 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "訊號"
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19315,6 +19522,10 @@ msgid "Could not find keystore, unable to export."
msgstr "無法新增資料夾"
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr ""
@@ -19345,7 +19556,7 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
+msgid "Unsupported export format!"
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -19356,20 +19567,19 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr ""
+#, fuzzy
+msgid "Could not export project files to gradle project."
+msgstr "無法新增資料夾"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19382,7 +19592,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
@@ -19398,7 +19608,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Package not found: %s"
+msgid "Package not found: \"%s\"."
msgstr "時長(秒)。"
#: platform/android/export/export_plugin.cpp
@@ -19408,15 +19618,12 @@ msgstr "連接中..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
msgstr "無法新增資料夾"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
@@ -19428,7 +19635,7 @@ msgstr "篩選檔案..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
-msgid "Could not export project files"
+msgid "Could not export project files."
msgstr "無法新增資料夾"
#: platform/android/export/export_plugin.cpp
@@ -19670,6 +19877,17 @@ msgstr "貼上"
msgid "Custom BG Color"
msgstr "貼上"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "管理輸出範本"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "Export Template管理器"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
@@ -19694,25 +19912,34 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not open template for export:"
+msgid "Could not open template for export: \"%s\"."
msgstr "無法新增資料夾"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Invalid export template:"
+msgid "Invalid export template: \"%s\"."
msgstr "管理輸出範本"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not write file:"
+msgid "Could not write file: \"%s\"."
msgstr "無法新增資料夾"
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "內容:"
+
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read file:"
+msgid "Could not read file: \"%s\"."
msgstr "無法新增資料夾"
#: platform/javascript/export/export.cpp
+msgid "PWA"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
msgstr "翻譯:"
@@ -19788,17 +20015,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not read HTML shell:"
+msgid "Could not read HTML shell: \"%s\"."
msgstr "無法新增資料夾"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Could not create HTTP server directory:"
+msgid "Could not create HTTP server directory: %s."
msgstr "無法新增資料夾"
#: platform/javascript/export/export.cpp
#, fuzzy
-msgid "Error starting HTTP server:"
+msgid "Error starting HTTP server: %d."
msgstr "儲存TileSet時出現錯誤!"
#: platform/javascript/export/export.cpp
@@ -20094,9 +20321,28 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open icon file \"%s\"."
+msgstr "無法新增資料夾"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not start xcrun executable."
+msgstr "無法新增資料夾"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Notarization failed."
+msgstr "本地化"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -20112,21 +20358,75 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "找不到!"
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "Cannot sign file %s."
+msgstr "儲存TileSet時出現錯誤!"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "描述:"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Creating app bundle"
msgstr "正在建立縮圖"
#: platform/osx/export/export.cpp
#, fuzzy
-msgid "Could not find template app to export:"
+msgid "Could not find template app to export: \"%s\"."
msgstr "無法新增資料夾"
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Invalid export format."
+msgstr "管理輸出範本"
+
+#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -20134,7 +20434,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -20176,6 +20476,16 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
+msgid "ZIP Creation"
+msgstr "專案"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Could not open file to read from path \"%s\"."
+msgstr "無法新增資料夾"
+
+#: platform/osx/export/export.cpp
+#, fuzzy
msgid "Invalid bundle identifier:"
msgstr "無效字型"
@@ -20490,6 +20800,11 @@ msgid "Debug Algorithm"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "無法移除暫存檔:"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20536,6 +20851,70 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Resources Modification"
+msgstr "貼上動畫"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "無法新增資料夾"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "無法新增資料夾"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "無效副檔名"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "無法新增資料夾"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "無法新增資料夾"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid identity type."
+msgstr "無效字型"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "無效名稱。"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "無效副檔名"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "無法移除暫存檔:"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
@@ -20557,6 +20936,23 @@ msgid "Invalid product version:"
msgstr "無效字型"
#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "無效副檔名"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
+
+#: platform/windows/export/export.cpp
msgid "Windows"
msgstr ""
@@ -20572,6 +20968,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20694,7 +21094,8 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
msgstr "Instance"
@@ -20743,7 +21144,7 @@ msgstr "放大"
msgid "Custom Viewport"
msgstr ""
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -21449,34 +21850,56 @@ msgstr ""
msgid "Edge Connection Margin"
msgstr "編輯連接"
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "貼上動畫"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Path Desired Distance"
+msgstr "選擇主場景"
+
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Neighbor Dist"
+msgid "Path Max Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Neighbors"
-msgstr ""
+#, fuzzy
+msgid "Avoidance"
+msgstr "進階"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Time Horizon"
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "啟用"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Neighbor Dist"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Max Speed"
+msgid "Max Neighbors"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-msgid "Path Max Distance"
+msgid "Time Horizon"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "啟用"
+msgid "Max Speed"
+msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21500,13 +21923,16 @@ msgid ""
msgstr ""
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
+msgid "Navpoly"
msgstr ""
-#: scene/2d/navigation_polygon.cpp
-msgid "Navpoly"
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "不選"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+msgid "Travel Cost"
msgstr ""
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
@@ -21514,7 +21940,7 @@ msgstr ""
msgid "Rotation Degrees"
msgstr ""
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "常數"
@@ -22633,6 +23059,13 @@ msgstr ""
msgid "Transform Normals"
msgstr "縮放selection"
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
+
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
msgid "Up Vector"
@@ -22656,12 +23089,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
msgid "NavMesh"
msgstr ""
@@ -23506,6 +23933,11 @@ msgid ""
msgstr ""
#: scene/3d/spatial.cpp
+#, fuzzy
+msgid "Global Translation"
+msgstr "翻譯"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
@@ -24693,6 +25125,11 @@ msgstr "資料夾:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "只限選中"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "啟用"
@@ -25086,14 +25523,6 @@ msgid "Viewport Path"
msgstr "匯出"
#: scene/main/viewport.cpp
-msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-
-#: scene/main/viewport.cpp
#, fuzzy
msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
@@ -25101,6 +25530,15 @@ msgid ""
msgstr "viewport大小必須大於0以渲染任何東西。"
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25255,6 +25693,16 @@ msgid "3D Physics"
msgstr "物理幀 %"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "插件"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "插件"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -26645,7 +27093,7 @@ msgstr "過渡"
msgid "Refraction"
msgstr "翻譯:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26726,7 +27174,12 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Sampling"
+msgstr "選擇模式"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Partition Type"
msgstr "更改動畫循環"
#: scene/resources/navigation_mesh.cpp
@@ -26743,10 +27196,15 @@ msgid "Source Group Name"
msgstr "來源:"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "內容:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26755,11 +27213,16 @@ msgid "Max Slope"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Regions"
+msgstr "無干擾模式"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Merge Size"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26772,6 +27235,11 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Details"
+msgstr "預設"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Sample Distance"
msgstr ""
@@ -26788,9 +27256,18 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
+msgstr ""
+
+#: scene/resources/navigation_mesh.cpp
+msgid "Baking AABB"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "移除選項"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -27192,6 +27669,11 @@ msgid "Scenario"
msgstr "場景"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "插件"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27209,6 +27691,26 @@ msgstr "線性"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "預設"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "預覽:"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "測試"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "編輯連接"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index aa6a0fe374..8ad86d4b2a 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -23,7 +23,7 @@
# binotaliu <binota@protonmail.ch>, 2020.
# Allen H. <w84miracle@gmail.com>, 2020.
# BinotaLIU <binota@protonmail.ch>, 2020.
-# BinotaLIU <me@binota.org>, 2020, 2021.
+# BinotaLIU <me@binota.org>, 2020, 2021, 2022.
# MintSoda <lionlxh@qq.com>, 2020.
# meowmeowmeowcat <meowmeowcat1211@gmail.com>, 2021.
# anthonychen <anton1554970211@126.com>, 2021.
@@ -32,13 +32,17 @@
# Number18 <secretemail7730@gmail.com>, 2022.
# Haoyu Qiu <timothyqiu32@gmail.com>, 2022.
# Otis Kao <momoslim@gmail.com>, 2022.
+# YuChiang Chang <chiang.c.tw@gmail.com>, 2022.
+# 菘菘 <rrt467778@gmail.com>, 2022.
+# marktwtn <marktwtn@gmail.com>, 2022.
+# Shi-Xun Hong <jimmy3421@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-03 07:14+0000\n"
-"Last-Translator: Otis Kao <momoslim@gmail.com>\n"
+"PO-Revision-Date: 2022-07-31 18:34+0000\n"
+"Last-Translator: BinotaLIU <me@binota.org>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -46,7 +50,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.14-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -69,27 +73,22 @@ msgid "V-Sync Enabled"
msgstr "啟用垂直同步"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "V-Sync Via Compositor"
msgstr "透過合成器垂直同步"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Delta Smoothing"
-msgstr "變量平滑"
+msgstr "差量平滑"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
msgstr "低處理器使用率模式"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode Sleep (µsec)"
msgstr "低處理器使用率模式睡眠(微秒)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Keep Screen On"
msgstr "保持螢幕開啟"
@@ -156,9 +155,8 @@ msgid "Size"
msgstr "大小"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Endian Swap"
-msgstr "切換端序"
+msgstr "切換字節序"
#: core/bind/core_bind.cpp
msgid "Editor Hint"
@@ -177,9 +175,8 @@ msgid "Target FPS"
msgstr "標準FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "TimeScale 節點"
+msgstr "時間縮放"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Physics Jitter Fix"
@@ -198,9 +195,8 @@ msgid "Error Line"
msgstr "發生錯誤之行數"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "搜尋結果"
+msgstr "結果"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
@@ -229,7 +225,6 @@ msgstr "多執行緒佇列大小(KB)"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
msgstr "函式"
@@ -239,9 +234,10 @@ msgid "Data"
msgstr "資料"
#: core/io/file_access_network.cpp core/register_core_types.cpp
-#: editor/editor_settings.cpp main/main.cpp
+#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
+#: scene/gui/file_dialog.cpp
msgid "Network"
msgstr "網路"
@@ -258,17 +254,14 @@ msgid "Page Read Ahead"
msgstr "預先讀取頁數"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Blocking Mode Enabled"
-msgstr "啟用阻礙模式"
+msgstr "啟用阻塞模式"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
msgstr "連接"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Read Chunk Size"
msgstr "讀取區塊大小"
@@ -285,12 +278,10 @@ msgid "Refuse New Network Connections"
msgstr "拒絕新網路連接"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Network Peer"
-msgstr "對等網路使用者"
+msgstr "對等網路"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
msgstr "根節點"
@@ -299,9 +290,8 @@ msgid "Refuse New Connections"
msgstr "拒絕新網路連接"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "轉換類型"
+msgstr "傳輸模式"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
@@ -351,8 +341,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "位元組長度不足以進行解碼或或格式無效。"
#: core/math/expression.cpp
-msgid "Invalid input %i (not passed) in expression"
-msgstr "運算式中的輸入 %i 無效 (未傳遞)"
+msgid "Invalid input %d (not passed) in expression"
+msgstr "運算式的輸入%d 無效(未傳遞)"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -384,7 +374,6 @@ msgid "Seed"
msgstr "種子"
#: core/math/random_number_generator.cpp
-#, fuzzy
msgid "State"
msgstr "狀態"
@@ -396,6 +385,14 @@ msgstr "訊息佇列"
msgid "Max Size (KB)"
msgstr "最大大小(KB)"
+#: core/os/input.cpp
+msgid "Mouse Mode"
+msgstr "滑鼠模式"
+
+#: core/os/input.cpp
+msgid "Use Accumulated Input"
+msgstr "使用累積輸入"
+
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
@@ -421,10 +418,13 @@ msgstr "Meta"
msgid "Command"
msgstr "Command"
+#: core/os/input_event.cpp
+msgid "Physical"
+msgstr "物理"
+
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
msgstr "按下"
@@ -433,21 +433,18 @@ msgid "Scancode"
msgstr "鍵盤掃描碼"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical Scancode"
-msgstr "實體鍵盤掃描碼"
+msgstr "物理掃描碼"
#: core/os/input_event.cpp
msgid "Unicode"
msgstr "Unicode"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Echo"
-msgstr "Echo"
+msgstr "回聲"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
msgstr "按鍵遮罩"
@@ -456,7 +453,6 @@ msgid "Global Position"
msgstr "全域位置"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
msgstr "因素"
@@ -473,12 +469,14 @@ msgid "Tilt"
msgstr "傾斜"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "按壓"
+msgstr "壓力"
+
+#: core/os/input_event.cpp
+msgid "Pen Inverted"
+msgstr "反轉筆觸"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Relative"
msgstr "相對"
@@ -514,12 +512,10 @@ msgid "Strength"
msgstr "強度"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Delta"
-msgstr "變量"
+msgstr "差量"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
msgstr "頻道"
@@ -584,7 +580,8 @@ msgstr "說明"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
-#: main/main.cpp
+#: main/main.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp
msgid "Run"
msgstr "執行"
@@ -594,14 +591,12 @@ msgid "Main Scene"
msgstr "主場景"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "禁用自動圖塊"
+msgstr "停用標準輸出"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "已停用的項目"
+msgstr "停用標準錯誤輸出"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
@@ -618,15 +613,14 @@ msgstr "自訂使用者目錄名稱"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "全部顯示"
+msgstr "顯示"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "寬"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -634,23 +628,20 @@ msgstr ""
#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Height"
-msgstr "燈光"
+msgstr "高度"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "置頂"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Width"
-msgstr "左延展"
+msgstr "測試寬度"
#: core/project_settings.cpp
-#, fuzzy
msgid "Test Height"
-msgstr "測試"
+msgstr "測試高度"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -669,31 +660,28 @@ msgid "Editor"
msgstr "編輯器"
#: core/project_settings.cpp
-#, fuzzy
msgid "Main Run Args"
msgstr "主執行引數"
#: core/project_settings.cpp
-#, fuzzy
+msgid "Scene Naming"
+msgstr "場景命名"
+
+#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr "以副檔名搜尋"
+msgstr "以檔案副檔名搜尋"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
msgstr "腳本樣板搜尋路徑"
-#: core/project_settings.cpp editor/editor_node.cpp
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "Version Control"
-msgstr "版本控制"
-
#: core/project_settings.cpp
-msgid "Autoload On Startup"
-msgstr "啟動時自動載入"
+msgid "Version Control Autoload On Startup"
+msgstr "啟動時自動載入版本控制"
#: core/project_settings.cpp
-msgid "Plugin Name"
-msgstr "外掛名稱"
+msgid "Version Control Plugin Name"
+msgstr "版本控制外掛名稱"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -701,9 +689,8 @@ msgid "Input"
msgstr "輸入"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Accept"
-msgstr "UI確定"
+msgstr "確定 (UI)"
#: core/project_settings.cpp
msgid "UI Select"
@@ -714,43 +701,36 @@ msgid "UI Cancel"
msgstr "UI取消"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "聚焦路徑"
+msgstr "聚焦下一個 (UI)"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "聚焦路徑"
+msgstr "聚焦上一個 (UI)"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Left"
-msgstr "左上"
+msgstr "左 (UI)"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Right"
-msgstr "右上"
+msgstr "右 (UI)"
#: core/project_settings.cpp
msgid "UI Up"
msgstr "UI上"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "UI下"
+msgstr "下 (UI)"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "UI頁面向上滾動"
+msgstr "頁面上滾 (UI)"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Down"
-msgstr "UI頁面向下滾動"
+msgstr "頁面下滾 (UI)"
#: core/project_settings.cpp
msgid "UI Home"
@@ -782,7 +762,6 @@ msgid "3D"
msgstr "3D"
#: core/project_settings.cpp
-#, fuzzy
msgid "Smooth Trimesh Collision"
msgstr "平滑三角網格碰撞"
@@ -809,13 +788,12 @@ msgid "Quality"
msgstr "品質"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
-#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
+#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
+#: servers/visual_server.cpp
msgid "Filters"
msgstr "篩選器"
#: core/project_settings.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Sharpen Intensity"
msgstr "銳化強度"
@@ -842,9 +820,8 @@ msgid "Profiler"
msgstr "分析工具"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "最大值函式"
+msgstr "最大函式數"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
msgid "Compression"
@@ -859,18 +836,16 @@ msgid "Zstd"
msgstr "Zstd"
#: core/project_settings.cpp
-#, fuzzy
msgid "Long Distance Matching"
-msgstr "長距配對"
+msgstr "長距離匹配"
#: core/project_settings.cpp
msgid "Compression Level"
msgstr "壓縮等級"
#: core/project_settings.cpp
-#, fuzzy
msgid "Window Log Size"
-msgstr "視窗日誌大小"
+msgstr "視窗對數大小"
#: core/project_settings.cpp
msgid "Zlib"
@@ -893,14 +868,12 @@ msgid "TCP"
msgstr "TCP"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "連接逾時秒數"
+msgstr "連線逾時秒數"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Packet Peer Stream"
-msgstr "封包對等串流"
+msgstr "封包對等流"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
@@ -911,7 +884,6 @@ msgid "SSL"
msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
msgstr "憑證"
@@ -922,9 +894,8 @@ msgid "Resource"
msgstr "資源"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "關閉場景"
+msgstr "僅限本場景"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -942,14 +913,12 @@ msgid "Locale"
msgstr "地區"
#: core/translation.cpp
-#, fuzzy
msgid "Test"
msgstr "測試"
#: core/translation.cpp scene/resources/font.cpp
-#, fuzzy
msgid "Fallback"
-msgstr "遞補"
+msgstr "後備語言"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -1011,27 +980,23 @@ msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
msgstr "吸附"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Use GPU Pixel Snap"
-msgstr "使用GPU像素吸附"
+msgstr "使用 GPU 像素吸附"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Immediate Buffer Size (KB)"
msgstr "即時緩衝區大小(KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
-#, fuzzy
msgid "Lightmapping"
-msgstr "烘焙光照圖"
+msgstr "光照貼圖"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
@@ -1080,9 +1045,8 @@ msgid "Weight Samples"
msgstr "權重採樣"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Voxel Cone Tracing"
-msgstr "體素椎體描摹"
+msgstr "體素錐追踪"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
@@ -1092,6 +1056,7 @@ msgstr "高品質"
msgid "Blend Shape Max Buffer Size (KB)"
msgstr "混合形狀最大緩衝區大小(KB)"
+#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "不受限"
@@ -1108,7 +1073,7 @@ msgstr "鏡像"
msgid "Time:"
msgstr "時間:"
-#: editor/animation_bezier_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Value:"
msgstr "數值:"
@@ -1163,9 +1128,8 @@ msgstr "更改動畫呼叫"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "影格 %"
+msgstr "影格"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1176,16 +1140,14 @@ msgstr "時間"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "本地化"
+msgstr "位置"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "旋轉步長:"
+msgstr "旋轉"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1193,14 +1155,13 @@ msgid "Value"
msgstr "數值"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "數量:"
+msgstr "引數數量"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "參數"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1210,31 +1171,27 @@ msgid "Type"
msgstr "型別"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "設定處理程式"
+msgstr "進入控點"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "設定處理程式"
+msgstr "離開控點"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
msgid "Stream"
-msgstr ""
+msgstr "流"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "網格偏移量:"
+msgstr "起點偏移"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "偏移:"
+msgstr "終點偏移"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1247,7 +1204,6 @@ msgid "Animation"
msgstr "動畫"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
msgstr "緩入緩出"
@@ -1358,8 +1314,62 @@ msgid "Remove this track."
msgstr "移除該動畫軌。"
#: editor/animation_track_editor.cpp
-msgid "Time (s): "
-msgstr "時間(秒) : "
+msgid "Time (s):"
+msgstr "時間(秒):"
+
+#: editor/animation_track_editor.cpp
+msgid "Position:"
+msgstr "位置:"
+
+#: editor/animation_track_editor.cpp
+msgid "Rotation:"
+msgstr "旋轉:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr "縮放:"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr "型別:"
+
+#: editor/animation_track_editor.cpp
+msgid "(Invalid, expected type: %s)"
+msgstr "(無效,預期型別:%s)"
+
+#: editor/animation_track_editor.cpp
+msgid "Easing:"
+msgstr "緩入緩出:"
+
+#: editor/animation_track_editor.cpp
+msgid "In-Handle:"
+msgstr "進入控點:"
+
+#: editor/animation_track_editor.cpp
+msgid "Out-Handle:"
+msgstr "離開控點:"
+
+#: editor/animation_track_editor.cpp
+msgid "Stream:"
+msgstr "流:"
+
+#: editor/animation_track_editor.cpp
+msgid "Start (s):"
+msgstr "開始(秒):"
+
+#: editor/animation_track_editor.cpp
+msgid "End (s):"
+msgstr "結束(秒):"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Clip:"
+msgstr "動畫片段:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1413,9 +1423,8 @@ msgid "Duplicate Key(s)"
msgstr "重複關鍵畫格"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add RESET Value(s)"
-msgstr "新增 %d 個影格"
+msgstr "新增 RESET 值"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
@@ -1444,14 +1453,12 @@ msgstr "刪除動畫軌"
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editors"
msgstr "編輯器"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Confirm Insert Track"
-msgstr "新增動畫軌道與關鍵畫格"
+msgstr "確認插入軌道"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1575,8 +1582,8 @@ msgid "Add Method Track Key"
msgstr "新增方法軌道關鍵畫格"
#: editor/animation_track_editor.cpp
-msgid "Method not found in object: "
-msgstr "在物件中找不到方法: "
+msgid "Method not found in object:"
+msgstr "在物件中找不到該方法:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1617,9 +1624,8 @@ msgid ""
msgstr "該選項不適用貝茲曲線編輯,因曲線僅有單一軌道。"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Add RESET Keys"
-msgstr "動畫縮放關鍵影格"
+msgstr "新增動畫 RESET 鍵"
#: editor/animation_track_editor.cpp
msgid ""
@@ -1633,7 +1639,7 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
-"該動畫屬於外部匯入之場景,套用於匯入軌道的修改將不會被保存。\n"
+"該動畫屬於外部匯入之場景,套用於匯入軌道的修改將不會被儲存。\n"
"\n"
"若要開啟「加入客制軌」的功能,請在場景在匯入設定中將 [Animation] -> "
"[Storage] 設定為\n"
@@ -2102,14 +2108,15 @@ msgstr "我的最愛:"
msgid "Recent:"
msgstr "最近存取:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "搜尋:"
-#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/create_dialog.cpp editor/editor_quick_open.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
msgstr "符合條件:"
@@ -2169,8 +2176,8 @@ msgstr "搜尋並取代資源:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
-#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_create_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
@@ -2178,8 +2185,8 @@ msgid "Open"
msgstr "開啟"
#: editor/dependency_editor.cpp
-msgid "Owners Of:"
-msgstr "為下列之擁有者:"
+msgid "Owners of: %s (Total: %d)"
+msgstr "%s 的所有者(總計:%d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2288,7 +2295,6 @@ msgstr "主要開發者"
#. TRANSLATORS: This refers to a job title.
#: editor/editor_about.cpp
-#, fuzzy
msgctxt "Job Title"
msgid "Project Manager"
msgstr "專案管理員"
@@ -2477,7 +2483,7 @@ msgid "Bus Options"
msgstr "匯流排選項"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
-#: editor/scene_tree_dock.cpp
+#: editor/project_export.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "重複"
@@ -2529,9 +2535,9 @@ msgstr "開啟音訊匯流排配置"
msgid "There is no '%s' file."
msgstr "檔案「%s」不存在。"
-#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Layout"
-msgstr "畫面配置"
+#: editor/editor_audio_buses.cpp
+msgid "Layout:"
+msgstr "佈局:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2565,7 +2571,7 @@ msgstr "另存新檔"
#: editor/editor_audio_buses.cpp
msgid "Save this Bus Layout to a file."
-msgstr "將該匯流排配置保存至檔案。"
+msgstr "將該匯流排配置儲存至檔案。"
#: editor/editor_audio_buses.cpp editor/import_dock.cpp
msgid "Load Default"
@@ -2580,9 +2586,8 @@ msgid "Create a new Bus Layout."
msgstr "建立新匯流排配置。"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Audio Bus Layout"
-msgstr "開啟音訊匯流排配置"
+msgstr "音訊匯流排佈局"
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -2700,7 +2705,7 @@ msgstr "[空]"
#: editor/plugins/text_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "[unsaved]"
-msgstr "[未保存]"
+msgstr "[未儲存]"
#: editor/editor_dir_dialog.cpp
msgid "Please select a base directory first."
@@ -2734,6 +2739,23 @@ msgid "Choose"
msgstr "選擇"
#: editor/editor_export.cpp
+msgid "Project export for platform:"
+msgstr "專案匯出平台:"
+
+#: editor/editor_export.cpp
+#, fuzzy
+msgid "Completed with warnings."
+msgstr "已完成,存在錯誤。"
+
+#: editor/editor_export.cpp
+msgid "Completed successfully."
+msgstr "套件安裝成功。"
+
+#: editor/editor_export.cpp
+msgid "Failed."
+msgstr "失敗。"
+
+#: editor/editor_export.cpp
msgid "Storing File:"
msgstr "儲存檔案:"
@@ -2746,6 +2768,26 @@ msgid "Packing"
msgstr "正在打包"
#: editor/editor_export.cpp
+msgid "Save PCK"
+msgstr "儲存 PCK"
+
+#: editor/editor_export.cpp
+msgid "Cannot create file \"%s\"."
+msgstr "無法建立「%s」檔案。"
+
+#: editor/editor_export.cpp
+msgid "Failed to export project files."
+msgstr "無法匯出專案檔。"
+
+#: editor/editor_export.cpp
+msgid "Can't open file to read from path \"%s\"."
+msgstr "無法打開位於「%s」的檔案用於讀取。"
+
+#: editor/editor_export.cpp
+msgid "Save ZIP"
+msgstr "儲存 ZIP"
+
+#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
@@ -2768,7 +2810,7 @@ msgid ""
"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
"Enabled'."
msgstr ""
-"目標平台上的 GLES2 回退驅動器功能必須使用「ETC」紋理壓縮。\n"
+"目標平台上的 GLES2 後備驅動器功能必須使用「ETC」紋理壓縮。\n"
"請在專案設定中啟用「Import Etc」或是禁用「Driver Fallback Enabled」。"
#: editor/editor_export.cpp
@@ -2794,15 +2836,14 @@ msgid ""
"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback "
"Enabled'."
msgstr ""
-"目標平台上的 GLES2 回退驅動器功能必須使用「PVRTC」紋理壓縮。\n"
+"目標平台上的 GLES2 後備驅動器功能必須使用「PVRTC」紋理壓縮。\n"
"請在專案設定中啟用「Import Pvrtc」或是禁用「Driver Fallback Enabled」。"
#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Custom Template"
-msgstr "編輯器主題"
+msgstr "自訂模板"
#: editor/editor_export.cpp editor/project_export.cpp
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
@@ -2812,9 +2853,8 @@ msgid "Release"
msgstr "發行"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Binary Format"
-msgstr "色彩運算子。"
+msgstr "二進位格式"
#: editor/editor_export.cpp
msgid "64 Bits"
@@ -2825,9 +2865,8 @@ msgid "Embed PCK"
msgstr "內嵌PCK"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Texture Format"
-msgstr "紋理貼圖區域"
+msgstr "紋理貼圖格式"
#: editor/editor_export.cpp
msgid "BPTC"
@@ -2846,9 +2885,8 @@ msgid "ETC2"
msgstr "ETC2"
#: editor/editor_export.cpp
-#, fuzzy
msgid "No BPTC Fallbacks"
-msgstr "無BPTC回落"
+msgstr "無 BPTC 後備"
#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -2862,9 +2900,26 @@ msgstr "找不到自定義偵錯樣板。"
msgid "Custom release template not found."
msgstr "找不到自定義發行樣板。"
+#: editor/editor_export.cpp
+msgid "Prepare Template"
+msgstr "管理模板"
+
+#: editor/editor_export.cpp platform/osx/export/export.cpp
+msgid "The given export path doesn't exist."
+msgstr "給定的匯出路徑不存在。"
+
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-msgid "Template file not found:"
-msgstr "找不到樣板檔案:"
+msgid "Template file not found: \"%s\"."
+msgstr "找不到模板檔案:「%s」。"
+
+#: editor/editor_export.cpp
+msgid "Failed to copy export template."
+msgstr "複製匯出模板失敗。"
+
+#: editor/editor_export.cpp platform/windows/export/export.cpp
+#: platform/x11/export/export.cpp
+msgid "PCK Embedding"
+msgstr "PCK 內嵌"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3033,9 +3088,9 @@ msgid "Import"
msgstr "匯入"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
-#: platform/android/export/export.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#: platform/windows/export/export.cpp
+#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Export"
msgstr "匯出"
@@ -3072,9 +3127,8 @@ msgid "Manage Editor Feature Profiles"
msgstr "管理編輯器功能設定檔"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Default Feature Profile"
-msgstr "Godot 功能設定檔"
+msgstr "預設功能設定檔"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -3139,21 +3193,19 @@ msgstr "開啟檔案或資料夾"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
-msgstr "保存"
+msgstr "儲存"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Save a File"
-msgstr "保存檔案"
+msgstr "儲存檔案"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Access"
-msgstr "成功!"
+msgstr "存取"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Display Mode"
-msgstr "播放模式:"
+msgstr "顯示模式"
#: editor/editor_file_dialog.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -3166,30 +3218,25 @@ msgstr "播放模式:"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/visual_shader.cpp
#: servers/audio/effects/audio_effect_distortion.cpp
-#, fuzzy
msgid "Mode"
-msgstr "平移模式"
+msgstr "模式"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current Dir"
-msgstr "目前:"
+msgstr "目前目錄"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current File"
-msgstr "目前設定檔:"
+msgstr "所在檔案"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current Path"
-msgstr "目前:"
+msgstr "所在目錄"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Show Hidden Files"
-msgstr "顯示/取消顯示隱藏檔案"
+msgstr "顯示隱藏的檔案"
#: editor/editor_file_dialog.cpp
msgid "Disable Overwrite Warning"
@@ -3324,9 +3371,8 @@ msgid "Properties"
msgstr "屬性"
#: editor/editor_help.cpp
-#, fuzzy
msgid "overrides %s:"
-msgstr "複寫:"
+msgstr "覆蓋 %s:"
#: editor/editor_help.cpp
msgid "default:"
@@ -3484,46 +3530,39 @@ msgid "Property:"
msgstr "屬性:"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Label"
-msgstr "數值"
+msgstr "標籤"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Read Only"
-msgstr "僅顯示方法"
+msgstr "只讀"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#, fuzzy
msgid "Checkable"
-msgstr "檢查項目"
+msgstr "可勾選"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Checked"
-msgstr "已檢查的項目"
+msgstr "已勾選"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Draw Red"
-msgstr "繪製呼叫:"
+msgstr "繪製紅色"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Keying"
-msgstr "執行"
+msgstr "輸入"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Pin value"
-msgstr "(數值)"
+msgstr "固定值"
#: editor/editor_inspector.cpp
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
-msgstr "釘選的數值將被迫保存,即使其值與預設值相同。"
+msgstr "釘選的數值將被迫儲存,即使其值與預設值相同。"
#: editor/editor_inspector.cpp
msgid "Pin value [Disabled because '%s' is editor-only]"
@@ -3551,19 +3590,16 @@ msgid "Unpinned %s"
msgstr "已解除釘選%s"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property"
msgstr "複製屬性"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Paste Property"
msgstr "貼上屬性"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property Path"
-msgstr "複製腳本路徑"
+msgstr "複製屬性路徑"
#: editor/editor_log.cpp
msgid "Output:"
@@ -3653,7 +3689,7 @@ msgstr "編輯器視窗重新繪製時旋轉。"
#: editor/editor_node.cpp
msgid "Imported resources can't be saved."
-msgstr "匯入的資源無法保存。"
+msgstr "匯入的資源無法儲存。"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -3669,7 +3705,7 @@ msgstr "保存資源時發生錯誤!"
msgid ""
"This resource can't be saved because it does not belong to the edited scene. "
"Make it unique first."
-msgstr "由於該資源不屬於已編輯的場景,無法保存該資源。請先使其獨立化。"
+msgstr "由於該資源不屬於已編輯的場景,無法儲存該資源。請先使其獨立化。"
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
@@ -3728,22 +3764,22 @@ msgid ""
"This scene can't be saved because there is a cyclic instancing inclusion.\n"
"Please resolve it and then attempt to save again."
msgstr ""
-"該場景有循環性實體化問題,無法保存。\n"
+"該場景有循環性實體化問題,無法儲存。\n"
"請先解決此問題後再試一次。"
#: editor/editor_node.cpp
msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
-msgstr "無法保存場景。可能是由於相依性(實體或繼承)無法滿足。"
+msgstr "無法儲存場景。可能是由於相依性(實體或繼承)無法滿足。"
#: editor/editor_node.cpp
msgid "Could not save one or more scenes!"
-msgstr "無法保存一或多個場景!"
+msgstr "無法儲存一或多個場景!"
#: editor/editor_node.cpp
msgid "Save All Scenes"
-msgstr "保存所有場景"
+msgstr "儲存所有場景"
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "Can't overwrite scene that is still open!"
@@ -3770,7 +3806,7 @@ msgid ""
"An error occurred while trying to save the editor layout.\n"
"Make sure the editor's user data path is writable."
msgstr ""
-"保存編輯器畫面配置時發生錯誤。\n"
+"儲存編輯器畫面配置時發生錯誤。\n"
"請確認編輯器的使用者資料路徑是否可寫入。"
#: editor/editor_node.cpp
@@ -3839,7 +3875,7 @@ msgstr "未定義欲執行之場景。"
#: editor/editor_node.cpp
msgid "Save scene before running..."
-msgstr "執行前先保存場景..."
+msgstr "執行前先儲存場景..."
#: editor/editor_node.cpp
msgid "Could not start subprocess!"
@@ -3866,38 +3902,36 @@ msgid "Quick Open Script..."
msgstr "快速開啟腳本…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save & Reload"
-msgstr "保存並重新啟動"
+msgstr "儲存並重新載入"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to '%s' before reloading?"
-msgstr "關閉前是否保存對「%s」的更改?"
+msgstr "是否在重新載入前儲存對「%s」的變更?"
#: editor/editor_node.cpp
msgid "Save & Close"
-msgstr "保存並關閉"
+msgstr "儲存並關閉"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
-msgstr "關閉前是否保存對「%s」的更改?"
+msgstr "關閉前是否儲存對「%s」的更改?"
#: editor/editor_node.cpp
msgid "%s no longer exists! Please specify a new save location."
-msgstr "%s不存在!請指定新的保存位置。"
+msgstr "%s不存在!請指定新的儲存位置。"
#: editor/editor_node.cpp
msgid ""
"The current scene has no root node, but %d modified external resource(s) "
"were saved anyway."
-msgstr "目前的場景無根節點,但%d個被更改的外部資源已被保存。"
+msgstr "目前的場景無根節點,但%d個被更改的外部資源已被儲存。"
#: editor/editor_node.cpp
msgid ""
"A root node is required to save the scene. You can add a root node using the "
"Scene tree dock."
-msgstr "必須有根節點才可保存場景。您可使用場景停佇列以加入一個根節點。"
+msgstr "必須有根節點才可儲存場景。您可使用場景停佇列以加入一個根節點。"
#: editor/editor_node.cpp
msgid "Save Scene As..."
@@ -3925,7 +3959,7 @@ msgstr "請先選擇節點以執行該操作。"
#: editor/editor_node.cpp
msgid "Current scene not saved. Open anyway?"
-msgstr "尚未保存目前場景。仍然要開啟嗎?"
+msgstr "尚未儲存目前場景。仍然要開啟嗎?"
#: editor/editor_node.cpp
msgid "Can't undo while mouse buttons are pressed."
@@ -3953,18 +3987,18 @@ msgstr "取消復原:%s"
#: editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
-msgstr "無法重新載入從未保存過的場景。"
+msgstr "無法重新載入從未儲存過的場景。"
#: editor/editor_node.cpp
msgid "Reload Saved Scene"
-msgstr "重新載入已保存的場景"
+msgstr "重新載入已儲存的場景"
#: editor/editor_node.cpp
msgid ""
"The current scene has unsaved changes.\n"
"Reload the saved scene anyway? This action cannot be undone."
msgstr ""
-"目前場景有未保存的改動。\n"
+"目前場景有未儲存的改動。\n"
"仍要重新載入場景嗎?此操作將無法復原。"
#: editor/editor_node.cpp
@@ -3988,21 +4022,20 @@ msgid "Open Project Manager?"
msgstr "要開啟專案管理員嗎?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to the following scene(s) before reloading?"
-msgstr "退出前要先保存下列場景嗎?"
+msgstr "重新載入前要儲存下列場景的變更嗎?"
#: editor/editor_node.cpp
msgid "Save & Quit"
-msgstr "保存並退出"
+msgstr "儲存並退出"
#: editor/editor_node.cpp
msgid "Save changes to the following scene(s) before quitting?"
-msgstr "退出前要先保存下列場景嗎?"
+msgstr "退出前要先儲存下列場景嗎?"
#: editor/editor_node.cpp
msgid "Save changes to the following scene(s) before opening Project Manager?"
-msgstr "開啟專案管理員前要先保存以下場景嗎?"
+msgstr "開啟專案管理員前要先儲存以下場景嗎?"
#: editor/editor_node.cpp
msgid ""
@@ -4066,7 +4099,7 @@ msgid ""
"open the scene, then save it inside the project path."
msgstr ""
"載入場景時發生錯誤,場景必須置於專案路徑內。請使用 [匯入] 來開啟該場景,並將"
-"其保存於專案路徑內。"
+"其儲存於專案路徑內。"
#: editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
@@ -4166,30 +4199,18 @@ msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr "無法寫入檔案'%s',該檔案正被使用、鎖定或因權限不足。"
-#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Scene"
-msgstr "場景"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Scene Naming"
-msgstr "場景路徑:"
-
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
-#, fuzzy
msgid "Interface"
-msgstr "使用者界面"
+msgstr "界面"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tabs"
-msgstr "切換場景分頁"
+msgstr "場景分頁"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Always Show Close Button"
-msgstr "永遠顯示網格"
+msgstr "永遠顯示關閉按鈕"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
@@ -4204,14 +4225,12 @@ msgid "Output"
msgstr "輸出"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Clear Output On Play"
-msgstr "清除輸出"
+msgstr "執行時永遠清除輸出"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Open Output On Play"
-msgstr "播放時永遠開啟輸出"
+msgstr "執行時永遠開啟輸出"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
@@ -4219,41 +4238,35 @@ msgstr "停止時永遠關閉輸出"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr "失去焦點時保存"
+msgstr "失去焦點時儲存"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Save Each Scene On Quit"
-msgstr "保存分支為場景"
+msgstr "退出時儲存各場景"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Quit Confirmation"
-msgstr "檢視資訊"
+msgstr "退出確認"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Show Update Spinner"
-msgstr "隱藏更新旋轉圖"
+msgstr "顯示更新旋轉圖"
#: editor/editor_node.cpp
msgid "Update Continuously"
msgstr "持續更新"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Only"
-msgstr "材質變更:"
+msgstr "僅更新 Vital"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Localize Settings"
-msgstr "本地化"
+msgstr "在地化設定"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Restore Scenes On Load"
-msgstr "TimeSeek 節點"
+msgstr "載入時恢復場景"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
@@ -4264,23 +4277,20 @@ msgid "Inspector"
msgstr "屬性面板"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Default Property Name Style"
-msgstr "專案路徑:"
+msgstr "預設屬性名稱樣式"
#: editor/editor_node.cpp
msgid "Default Float Step"
msgstr "預設浮點數間隔"
#: editor/editor_node.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Disable Folding"
-msgstr "已停用的按鈕"
+msgstr "停用折疊"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Auto Unfold Foreign Scenes"
-msgstr "自動展開對外場景"
+msgstr "自動展開場景"
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
@@ -4291,23 +4301,24 @@ msgid "Horizontal Vector Types Editing"
msgstr "水平Vector類別編輯"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Resources In Current Inspector"
-msgstr "在屬性面板中開啟"
+msgstr "在目前的屬性面板打開資源"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Resources To Open In New Inspector"
-msgstr "在屬性面板中開啟"
+msgstr "在新的屬性面板開啟資源"
#: editor/editor_node.cpp
msgid "Default Color Picker Mode"
msgstr "預設顏色挑選器模式"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
+msgid "Version Control"
+msgstr "版本控制"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
-msgstr "重新命名"
+msgstr "使用者名稱"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Public Key Path"
@@ -4333,6 +4344,10 @@ msgstr "切換/取消專注模式。"
msgid "Add a new scene."
msgstr "新增場景。"
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr "場景"
+
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
msgstr "跳至上一個開啟的場景。"
@@ -4375,7 +4390,7 @@ msgstr "最近開啟的場景"
#: editor/editor_node.cpp
msgid "Save Scene"
-msgstr "保存場景"
+msgstr "儲存場景"
#: editor/editor_node.cpp
msgid "Convert To..."
@@ -4429,9 +4444,8 @@ msgid "Install Android Build Template..."
msgstr "安裝 Android 建置樣板..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open User Data Folder"
-msgstr "開啟編輯器資料目錄"
+msgstr "打開使用者資料資料夾"
#: editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -4507,12 +4521,10 @@ msgid ""
msgstr "開啟該選項後,導航網格與多邊形將在專案執行時可見。"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Force Shader Fallbacks"
-msgstr "強制著色器回落"
+msgstr "強制著色器後備"
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"When this option is enabled, shaders will be used in their fallback form "
"(either visible via an ubershader or hidden) during all the run time.\n"
@@ -4521,10 +4533,10 @@ msgid ""
"Asynchronous shader compilation must be enabled in the project settings for "
"this option to make a difference."
msgstr ""
-"當該選項啟用時,著色器將以回落的形式於執行時作用(透過Ubershader顯示或隱"
+"啟用該選項時,著色器在運行時會使用其後備形式(透過 ubershader 顯示或隱"
"藏)。\n"
-"可用於驗證回落的外觀和效能,其在正常的情形下只會短暫地顯示。\n"
-"需啟用專案設定中的非同步著色器編譯以使該選項發揮效果。"
+"可用於驗證後備外觀和效能,正常情況下只會短暫顯示。\n"
+"必須在專案設定中啟用非同步著色器編譯,該選項才會有效果。"
#: editor/editor_node.cpp
msgid "Synchronize Scene Changes"
@@ -4551,7 +4563,7 @@ msgid ""
"When used remotely on a device, this is more efficient when the network "
"filesystem option is enabled."
msgstr ""
-"開啟該選項後,保存腳本時會於執行中的遊戲內重新載入腳本。\n"
+"開啟該選項後,儲存腳本時會於執行中的遊戲內重新載入腳本。\n"
"若在遠端裝置上使用,可使用網路檔案系統 NFS 以獲得最佳效能。"
#: editor/editor_node.cpp
@@ -4669,17 +4681,15 @@ msgstr "更改視訊驅動程式需要重新啟動編輯器。"
#: editor/editor_node.cpp editor/project_settings_editor.cpp
#: editor/settings_config_dialog.cpp
msgid "Save & Restart"
-msgstr "保存並重新啟動"
+msgstr "儲存並重新啟動"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "更改時更新"
+msgstr "更新所有變更"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "材質變更:"
+msgstr "更新 Vital 更動"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4697,7 +4707,7 @@ msgstr "展開底部面板"
#: editor/editor_node.cpp
msgid "Don't Save"
-msgstr "不保存"
+msgstr "不儲存"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
@@ -4783,7 +4793,7 @@ msgstr "重新載入"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/shader_editor_plugin.cpp
msgid "Resave"
-msgstr "重新保存"
+msgstr "重新儲存"
#: editor/editor_node.cpp
msgid "New Inherited"
@@ -4935,14 +4945,12 @@ msgid "Debugger"
msgstr "除錯工具"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Profiler Frame History Size"
-msgstr "效能分析工具幀數歷史日誌大小"
+msgstr "分析工具影格歷史大小"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Profiler Frame Max Functions"
-msgstr "重新命名函式"
+msgstr "分析工具影格最大函式數"
#: editor/editor_properties.cpp
msgid "Edit Text:"
@@ -4981,7 +4989,7 @@ msgid ""
"Can't create a ViewportTexture on resources saved as a file.\n"
"Resource needs to belong to a scene."
msgstr ""
-"無法為欲保存成檔案之資源建立 ViewportTexture。\n"
+"無法為欲儲存成檔案之資源建立 ViewportTexture。\n"
"資源必須屬於一個場景。"
#: editor/editor_properties.cpp
@@ -5003,12 +5011,14 @@ msgid "Selected node is not a Viewport!"
msgstr "所選節點並非 Viewport!"
#: editor/editor_properties_array_dict.cpp
-msgid "Size: "
-msgstr "大小: "
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Size:"
+msgstr "大小:"
#: editor/editor_properties_array_dict.cpp
-msgid "Page: "
-msgstr "頁: "
+msgid "Page:"
+msgstr "頁:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5068,20 +5078,17 @@ msgstr "新增 %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Base Type"
-msgstr "更改基礎型別"
+msgstr "基礎型別"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Edited Resource"
-msgstr "新增資源"
+msgstr "已經編輯資"
#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-#, fuzzy
msgid "Editable"
-msgstr "可編輯的項目"
+msgstr "可編輯"
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "New Script"
@@ -5092,9 +5099,8 @@ msgid "Extend Script"
msgstr "擴充腳本"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Script Owner"
-msgstr "腳本名稱:"
+msgstr "腳本所有者"
#: editor/editor_run_native.cpp
msgid ""
@@ -5105,6 +5111,10 @@ msgstr ""
"為找到可執行於該平台的匯出預設設定。\n"
"請在 [匯出] 選單中新增一個可執行的預設設定,或將現有的預設設定設為可執行。"
+#: editor/editor_run_native.cpp
+msgid "Project Run"
+msgstr "執行專案"
+
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
msgstr "在 _run() 方法中填寫邏輯。"
@@ -5130,21 +5140,18 @@ msgid "Did you forget the '_run' method?"
msgstr "是否未新增「_run」方法?"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor Language"
-msgstr "編輯器配置"
+msgstr "編輯器語言"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Display Scale"
-msgstr "全部顯示"
+msgstr "顯示縮放"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
msgstr "自訂顯示縮放"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Main Font Size"
msgstr "主要字體大小"
@@ -5161,46 +5168,40 @@ msgid "Font Hinting"
msgstr "字體微調"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Main Font"
-msgstr "主場景"
+msgstr "主要字體"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
msgstr "主要字體粗體"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Code Font"
-msgstr "新增節點頂點"
+msgstr "程式碼字體"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
msgstr "對話框彈出時使編輯器變暗"
#: editor/editor_settings.cpp main/main.cpp
-#, fuzzy
msgid "Low Processor Mode Sleep (µsec)"
-msgstr "低處理器使用模式睡眠(微秒)"
+msgstr "低處理器睡眠模式(微秒)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr "非聚焦低處理器使用模式睡眠(微秒)"
+msgstr "未聚焦低處理器睡眠模式(微秒)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Separate Distraction Mode"
-msgstr "專注模式"
+msgstr "獨立專注模式"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
msgstr "自動開啟截圖"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Max Array Dictionary Items Per Page"
-msgstr "每頁最大陣列字典項目數"
+msgstr "每頁最大陣列字典物品數"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp
@@ -5217,131 +5218,108 @@ msgid "Icon And Font Color"
msgstr "圖標及字體顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Color"
-msgstr "顏色"
+msgstr "基礎顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Accent Color"
-msgstr "選擇顏色"
+msgstr "強調顏色"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
msgstr "對比"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Relationship Line Opacity"
msgstr "關係線不透明度"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Highlight Tabs"
-msgstr "正在保存光照圖"
+msgstr "突顯選項卡"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Border Size"
-msgstr "邊界像素"
+msgstr "邊框大小"
#: editor/editor_settings.cpp
msgid "Use Graph Node Headers"
msgstr "使用圖形節點標題"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Additional Spacing"
-msgstr "重複動畫"
+msgstr "額外間距"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Custom Theme"
-msgstr "編輯器主題"
+msgstr "自訂主題"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Script Button"
-msgstr "滾輪向右按鍵"
+msgstr "顯示腳本按鈕"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Directories"
msgstr "方向"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Autoscan Project Path"
-msgstr "專案路徑:"
+msgstr "自動掃描專案路徑"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Project Path"
-msgstr "專案路徑:"
+msgstr "預設專案路徑"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "On Save"
-msgstr "保存"
+msgstr "儲存時"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Compress Binary Resources"
-msgstr "複製資源"
+msgstr "壓縮二進位資源"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
-msgstr "備份時安全保存後重新命名"
+msgstr "備份時安全儲存後重新命名"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "File Dialog"
-msgstr "XForm 對話框"
+msgstr "檔案對話框"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Thumbnail Size"
-msgstr "縮圖…"
+msgstr "縮圖大小"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Docks"
-msgstr "功能介面"
+msgstr "面板"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tree"
-msgstr "正在編輯場景樹"
+msgstr "場景樹"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Start Create Dialog Fully Expanded"
-msgstr "開始新建完全展開對話"
+msgstr "預設完全展開建立對話框"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Always Show Folders"
-msgstr "永遠顯示網格"
+msgstr "永遠顯示資料夾"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Property Editor"
-msgstr "群組編輯器"
+msgstr "屬性編輯器"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Auto Refresh Interval"
-msgstr "自動刷新間隔"
+msgstr "自動更新頻率"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "子資源"
+msgstr "子資源彩色顯示"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Color Theme"
-msgstr "編輯器主題"
+msgstr "顏色主題"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -5350,55 +5328,49 @@ msgstr "行間距"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Highlighting"
-msgstr "向性光照"
+msgstr "突出顯示"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Syntax Highlighting"
-msgstr "高亮顯示語法"
+msgstr "語法突出顯示"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
msgstr "凸顯所有符合項目"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Highlight Current Line"
-msgstr "凸顯目前行"
+msgstr "突顯目前行"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Highlight Type Safe Lines"
msgstr "凸顯型別安全的行"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Indent"
-msgstr "向左縮排"
+msgstr "縮排"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
msgstr "自動縮排"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "轉換縮排為空白"
+msgstr "儲存時轉換縮排"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Tabs"
-msgstr "繪製呼叫:"
+msgstr "繪製分頁"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Spaces"
-msgstr "繪製呼叫:"
+msgstr "繪製空格"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp scene/main/scene_tree.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
+#: scene/main/scene_tree.cpp scene/resources/world.cpp
+#: scene/resources/world_2d.cpp
msgid "Navigation"
msgstr "導航"
@@ -5411,93 +5383,88 @@ msgid "V Scroll Speed"
msgstr "垂直滾動速度"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Minimap"
-msgstr "顯示原點"
+msgstr "顯示迷你地圖"
#: editor/editor_settings.cpp
msgid "Minimap Width"
msgstr "迷你地圖寬度"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Mouse Extra Buttons Navigate History"
-msgstr "滑鼠額外按鍵操作歷史紀錄"
+msgstr "使用額外滑鼠按鍵查看歷史"
+
+#: editor/editor_settings.cpp
+msgid "Drag And Drop Selection"
+msgstr "拖移選擇的檔案"
+
+#: editor/editor_settings.cpp
+msgid "Stay In Script Editor On Node Selected"
+msgstr "選擇節點時保留在腳本編輯器中"
#: editor/editor_settings.cpp
msgid "Appearance"
msgstr "外觀"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Show Line Numbers"
-msgstr "行號:"
+msgstr "顯示行號"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Numbers Zero Padded"
-msgstr "行號:"
+msgstr "行號歸零"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Bookmark Gutter"
-msgstr "顯示書籤欄位"
+msgstr "顯示書籤欄"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Breakpoint Gutter"
-msgstr "跳過中斷點"
+msgstr "顯示中斷點欄"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Info Gutter"
-msgstr "顯示資訊欄位"
+msgstr "顯示資訊欄"
#: editor/editor_settings.cpp
msgid "Code Folding"
msgstr "程式碼折疊"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Word Wrap"
-msgstr "換行"
+msgstr "自動換行"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
msgstr "顯示行長度參考線"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Length Guideline Soft Column"
-msgstr "行長度參考線軟列"
+msgstr "行長度參考線軟列數"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Length Guideline Hard Column"
-msgstr "行長度參考線硬列"
+msgstr "行長度參考線硬列數"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script List"
-msgstr "腳本編輯器"
+msgstr "腳本列表"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
msgstr "顯示成員概要"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Files"
msgstr "檔案"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Trim Trailing Whitespace On Save"
-msgstr "移除後方空白字元"
+msgstr "保存時移除後方空白字元"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr "自動保存間隔秒數"
+msgstr "自動儲存間隔秒數"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
@@ -5505,11 +5472,11 @@ msgstr "載入時恢復腳本"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "儲存時自動重新載入與解析腳本"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "從外部更改時自動重新載入腳本"
#: editor/editor_settings.cpp
msgid "Create Signal Callbacks"
@@ -5524,14 +5491,12 @@ msgid "Cursor"
msgstr "游標"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Scroll Past End Of File"
-msgstr "滾動超過檔案結尾"
+msgstr "滾動超過檔案末尾"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Block Caret"
-msgstr "方形插入符"
+msgstr "方形 Caret"
#: editor/editor_settings.cpp
msgid "Caret Blink"
@@ -5542,14 +5507,12 @@ msgid "Caret Blink Speed"
msgstr "插入符閃爍速度"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Right Click Moves Caret"
-msgstr "右鍵點擊以新增控制點"
+msgstr "按一下右鍵來移動遊標"
#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
#: modules/gdscript/gdscript_editor.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion"
msgstr "自動完成"
@@ -5558,103 +5521,91 @@ msgid "Idle Parse Delay"
msgstr "閒置解析延遲"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Auto Brace Complete"
msgstr "自動補齊括號"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Code Complete Delay"
-msgstr "程式碼完成延遲"
+msgstr "程式碼自動完成延遲"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
-msgstr ""
+msgstr "將呼叫提示工具提示框置於當前行之下"
#: editor/editor_settings.cpp
msgid "Callhint Tooltip Offset"
-msgstr ""
+msgstr "呼叫提示工具提示框偏移量"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Complete File Paths"
-msgstr "複製節點路徑"
+msgstr "補全檔案路徑"
#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Add Type Hints"
-msgstr "新增類別"
+msgstr "新增類別提示"
#: editor/editor_settings.cpp
msgid "Use Single Quotes"
msgstr "使用單引號"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Help Index"
-msgstr "顯示輔助資訊"
+msgstr "顯示輔助索引"
#: editor/editor_settings.cpp
msgid "Help Font Size"
-msgstr ""
+msgstr "幫助字體大小"
#: editor/editor_settings.cpp
msgid "Help Source Font Size"
-msgstr ""
+msgstr "幫助源字體大小"
#: editor/editor_settings.cpp
msgid "Help Title Font Size"
-msgstr ""
+msgstr "幫助標題字體大小"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
msgstr "網格地圖"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Pick Distance"
-msgstr "選擇距離:"
+msgstr "拾取距離"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Preview Size"
-msgstr "預覽"
+msgstr "預覽大小"
#: editor/editor_settings.cpp
msgid "Primary Grid Color"
-msgstr ""
+msgstr "主要網格顏色"
#: editor/editor_settings.cpp
msgid "Secondary Grid Color"
-msgstr ""
+msgstr "次要網格顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Selection Box Color"
-msgstr "僅搜尋所選區域"
+msgstr "所選區域顏色"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "3D Gizmos"
-msgstr "Gizmo"
+msgstr "3D 控制項"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Gizmo Colors"
-msgstr "發射色彩"
+msgstr "控制項顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Instanced"
-msgstr "實體"
+msgstr "已實體化"
#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint"
-msgstr "點"
+msgstr "交點"
#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
@@ -5663,532 +5614,465 @@ msgstr "點"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Shape"
-msgstr ""
+msgstr "形狀"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Primary Grid Steps"
-msgstr "網格大小:"
+msgstr "主網格步長"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid Size"
-msgstr "網格大小:"
+msgstr "網格大小"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
-msgstr ""
+msgstr "網格劃分級別最大值"
#: editor/editor_settings.cpp
msgid "Grid Division Level Min"
-msgstr ""
+msgstr "網格劃分級別最小值"
#: editor/editor_settings.cpp
msgid "Grid Division Level Bias"
-msgstr ""
+msgstr "網格劃分級別偏差值"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XZ Plane"
-msgstr "網格地圖繪圖"
+msgstr "網格XZ平面"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XY Plane"
-msgstr "網格地圖繪圖"
+msgstr "網格XY平面"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid YZ Plane"
-msgstr "網格地圖繪圖"
+msgstr "網格YZ平面"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default FOV"
-msgstr "預設"
+msgstr "預設FOV"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Near"
-msgstr "預設主題"
+msgstr "預設Z近處"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Far"
-msgstr "預設"
+msgstr "預設Z遠處"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
-msgstr ""
+msgstr "光照圖烘焙中央處理器線程數"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Scheme"
-msgstr "導航模式"
+msgstr "導引模式"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert Y Axis"
-msgstr "編輯 Y 軸"
+msgstr "翻轉 Y 軸"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert X Axis"
-msgstr "編輯 X 軸"
+msgstr "翻轉 X 軸"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Style"
-msgstr "縮小"
+msgstr "縮放樣式"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
-msgstr ""
+msgstr "模擬數字鍵盤"
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "模擬三鍵滑鼠"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Orbit Modifier"
-msgstr "按最早修改時間排序"
+msgstr "軌道修改器"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Modifier"
-msgstr "平移模式"
+msgstr "平移修改器"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Modifier"
-msgstr "已修改"
+msgstr "縮放修改器"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
-msgstr ""
+msgstr "彎曲滑鼠平移"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Feel"
-msgstr "導航模式"
+msgstr "導航風格"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "軌道靈敏度"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
-msgstr ""
+msgstr "軌道慣性"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Translation Inertia"
-msgstr "翻譯"
+msgstr "平移慣性"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Inertia"
-msgstr "放大"
+msgstr "變焦慣性"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook"
-msgstr "自由視圖 上"
+msgstr "自由觀看"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Navigation Scheme"
-msgstr "建立導航網格"
+msgstr "自由觀看瀏覽模式"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Sensitivity"
-msgstr "自由視圖 左"
+msgstr "自由觀看靈敏度"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Inertia"
-msgstr "自由視圖 左"
+msgstr "自由觀看慣性"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Base Speed"
-msgstr "加速自由視圖速度"
+msgstr "自由觀看基本速度"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Activation Modifier"
-msgstr "放慢自由視圖速度"
+msgstr "自由觀看啟動修飾符"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Speed Zoom Link"
-msgstr "加速自由視圖速度"
+msgstr "自由觀看速度縮放連結"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Grid Color"
-msgstr "選擇顏色"
+msgstr "網格顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Guides Color"
-msgstr "選擇顏色"
+msgstr "參考線顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Smart Snapping Line Color"
-msgstr "智慧型吸附"
+msgstr "智慧捕捉線顏色"
#: editor/editor_settings.cpp
msgid "Bone Width"
-msgstr ""
+msgstr "骨骼寬度"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 1"
-msgstr "重新命名顏色項目"
+msgstr "骨骼顏色1"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 2"
-msgstr "重新命名顏色項目"
+msgstr "骨骼顏色2"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Selected Color"
-msgstr "設定所選之設定檔:"
+msgstr "所選之骨骼顏色"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
-msgstr ""
+msgstr "骨骼IK顏色"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
-msgstr ""
+msgstr "骨骼輪廓顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Outline Size"
-msgstr "輪廓尺寸:"
+msgstr "骨骼輪廓大小"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
-msgstr ""
+msgstr "檢視區邊框顏色"
#: editor/editor_settings.cpp
msgid "Constrain Editor View"
-msgstr ""
+msgstr "限制編輯器視圖"
#: editor/editor_settings.cpp
msgid "Simple Panning"
-msgstr ""
+msgstr "簡易平移"
#: editor/editor_settings.cpp
msgid "Scroll To Pan"
-msgstr ""
+msgstr "滾動以平移"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Speed"
-msgstr "速度:"
+msgstr "平移速度"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Poly Editor"
-msgstr "Polygon2D UV 編輯器"
+msgstr "多邊形編輯器"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
-msgstr ""
+msgstr "點抓取半徑"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Show Previous Outline"
-msgstr "上一個平面"
+msgstr "顯示上一個大綱"
#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Autorename Animation Tracks"
-msgstr "重新命名動畫"
+msgstr "自動重新命名動畫軌道"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
-msgstr ""
+msgstr "預設建立貝茲軌道"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Create Reset Tracks"
-msgstr "貼上關鍵畫格"
+msgstr "預設建立重置軌道"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
-msgstr ""
+msgstr "洋蔥層先前顏色"
#: editor/editor_settings.cpp
msgid "Onion Layers Future Color"
-msgstr ""
+msgstr "洋蔥層未來顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Visual Editors"
-msgstr "群組編輯器"
+msgstr "視覺化編輯器"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
-msgstr ""
+msgstr "迷你地圖不透明度"
#: editor/editor_settings.cpp
msgid "Window Placement"
-msgstr ""
+msgstr "視窗擺放"
#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
#: scene/gui/control.cpp
-#, fuzzy
msgid "Rect"
-msgstr "全矩形"
+msgstr "矩形"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Rect Custom Position"
-msgstr "設定曲線外控制點位置"
+msgstr "矩形自定義位置"
#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
msgid "Screen"
-msgstr ""
+msgstr "螢幕"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Auto Save"
-msgstr "自動剪裁"
+msgstr "自動保存"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Save Before Running"
-msgstr "執行前先保存場景..."
+msgstr "執行前儲存"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Font Size"
-msgstr "前視圖"
+msgstr "字體大小"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Host"
-msgstr "遠端 "
+msgstr "遠端主機"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Port"
-msgstr "移除控制點"
+msgstr "遠端阜"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor SSL Certificates"
-msgstr "編輯器設定"
+msgstr "編輯SSL認證"
#: editor/editor_settings.cpp
msgid "HTTP Proxy"
-msgstr ""
+msgstr "HTTP 代理程式"
#: editor/editor_settings.cpp
msgid "Host"
-msgstr ""
+msgstr "主機"
#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Port"
-msgstr ""
+msgstr "連接埠"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
msgid "Project Manager"
msgstr "專案管理員"
+#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Sorting Order"
-msgstr "重新命名資料夾:"
+msgstr "排序方式"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
-msgstr ""
+msgstr "符號顏色"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "關鍵字顏色"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "控制流關鍵字顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "更改基礎型別"
+msgstr "基礎型別顏色"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "引擎類別顏色"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "使用者類別顏色"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "註解顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "String Color"
-msgstr "儲存檔案:"
+msgstr "字串顏色"
#: editor/editor_settings.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Background Color"
-msgstr "無效的背景顏色。"
+msgstr "背景顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Background Color"
-msgstr "無效的背景顏色。"
+msgstr "自動補全背景顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Selected Color"
-msgstr "匯入所選"
+msgstr "自動補全所選顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Existing Color"
-msgstr ""
+msgstr "自動補全現有顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Scroll Color"
-msgstr ""
+msgstr "自動補全捲軸顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Font Color"
-msgstr ""
+msgstr "自動補全字型顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Color"
-msgstr "下一個地板"
+msgstr "文字顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Number Color"
-msgstr "行號:"
+msgstr "行號顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Safe Line Number Color"
-msgstr "行號:"
+msgstr "安全行號顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
-msgstr ""
+msgstr "跳脫字元顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Caret Background Color"
-msgstr "無效的背景顏色。"
+msgstr "跳脫字元背景顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Selected Color"
-msgstr "刪除所選"
+msgstr "所選文字顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Selection Color"
-msgstr "僅搜尋所選區域"
+msgstr "所選顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Brace Mismatch Color"
-msgstr ""
+msgstr "大括號不對稱顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Current Line Color"
-msgstr "目前場景"
+msgstr "目前行顏色"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Color"
-msgstr ""
+msgstr "線長導引顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Word Highlighted Color"
-msgstr "高亮顯示語法"
+msgstr "單字醒目顯示顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "數字顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Function Color"
-msgstr "函式"
+msgstr "函式顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Member Variable Color"
-msgstr "重新命名變數"
+msgstr "成員變數顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Mark Color"
-msgstr "選擇顏色"
+msgstr "標記顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bookmark Color"
-msgstr "書籤"
+msgstr "書籤顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Breakpoint Color"
-msgstr "中斷點"
+msgstr "中斷點顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Executing Line Color"
-msgstr ""
+msgstr "執行列顏色"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
-msgstr ""
+msgstr "程式碼摺疊顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Color"
-msgstr "搜尋結果"
+msgstr "搜尋結果顏色"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Border Color"
-msgstr "搜尋結果"
+msgstr "搜尋結果邊界顏色"
#: editor/editor_spin_slider.cpp
msgid "Hold %s to round to integers. Hold Shift for more precise changes."
msgstr "按住 %s 以取整數。按住 Shift 以進行更精確的更動。"
#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-#, fuzzy
msgid "Flat"
-msgstr "平面0"
+msgstr "平面"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "碰撞模式"
+msgstr "隱藏拖曳條"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6208,9 +6092,8 @@ msgstr "自節點中匯入:"
#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
#: editor/editor_vcs_interface.cpp
-#, fuzzy
msgid "%s Error"
-msgstr "錯誤"
+msgstr "%s 錯誤"
#: editor/export_template_manager.cpp
msgid "Open the folder containing these templates."
@@ -6474,13 +6357,13 @@ msgstr ""
#: editor/fileserver/editor_file_server.cpp
msgid "File Server"
-msgstr ""
+msgstr "檔案伺服器"
#: editor/fileserver/editor_file_server.cpp
#: editor/plugins/version_control_editor_plugin.cpp
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Password"
-msgstr ""
+msgstr "密碼"
#: editor/filesystem_dock.cpp
msgid "Favorites"
@@ -6538,6 +6421,9 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"編輯器無法辨識該檔案副檔名。\n"
+"如果你仍要重新命名,請使用系統的檔案管理員。\n"
+"重新命名為未知副檔名後,該檔案不會在編輯器中顯示。"
#: editor/filesystem_dock.cpp
msgid ""
@@ -6757,22 +6643,12 @@ msgid "Replace..."
msgstr "取代..."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Replace in Files"
-msgstr "取代全部"
-
-#: editor/find_in_files.cpp
-msgid "Find: "
-msgstr "搜尋: "
-
-#: editor/find_in_files.cpp
-msgid "Replace: "
-msgstr "取代: "
+msgstr "在檔案中取代"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
-msgstr "取代全部"
+msgstr "取代全部(不可復原)"
#: editor/find_in_files.cpp
msgid "Searching..."
@@ -6845,43 +6721,40 @@ msgstr "管理群組"
#: editor/import/editor_import_collada.cpp
msgid "Collada"
-msgstr ""
+msgstr "Collada"
#: editor/import/editor_import_collada.cpp
msgid "Use Ambient"
-msgstr ""
+msgstr "使用環境通道"
#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
msgid "Create From"
-msgstr "建立資料夾"
+msgstr "建立自"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Threshold"
-msgstr ""
+msgstr "臨界值"
#: editor/import/resource_importer_csv_translation.cpp
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_scene.cpp
#: editor/import/resource_importer_texture.cpp
#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Compress"
-msgstr "元件"
+msgstr "壓縮"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
-msgstr ""
+msgstr "分隔符號"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
-msgstr "顏色函式。"
+msgstr "顏色校正"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
-msgstr ""
+msgstr "假設是RGB不使用BPTC"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
@@ -6889,83 +6762,73 @@ msgstr ""
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
msgid "Flags"
-msgstr ""
+msgstr "旗標"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
#: scene/resources/texture.cpp
msgid "Repeat"
-msgstr ""
+msgstr "重覆"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
-#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
+#: scene/gui/control.cpp
msgid "Filter"
-msgstr "篩選:"
+msgstr "篩選"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Mipmaps"
-msgstr "訊號"
+msgstr "Mipmap"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "Anisotropic"
-msgstr ""
+msgstr "異向性"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "Slices"
-msgstr "自動剪裁"
+msgstr "切片"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Horizontal"
-msgstr "水平:"
+msgstr "水平"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Vertical"
-msgstr "垂直:"
+msgstr "垂直"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "產生點"
+msgstr "產生切線"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "縮放模式"
+msgstr "縮放網格"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Offset Mesh"
-msgstr "偏移:"
+msgstr "Mesh 偏移"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "設定表示式"
+msgstr "八面體壓縮"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "大小: "
+msgstr "優化 Mesh 標誌"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -7009,101 +6872,84 @@ msgstr "匯入為多個場景 + 素材"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Nodes"
msgstr "節點"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Type"
-msgstr "成員型別"
+msgstr "根型別"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Name"
-msgstr "遠端 "
+msgstr "根名稱"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "縮放"
+msgstr "根縮放"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Custom Script"
-msgstr "剪下節點"
+msgstr "自訂腳本"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Storage"
-msgstr "儲存檔案:"
+msgstr "儲存"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
-msgstr ""
+msgstr "使用既有名稱"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Materials"
-msgstr "材質變更:"
+msgstr "材質"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "重新匯入"
+msgstr "保持或重新匯入"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Meshes"
msgstr "網格"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Ensure Tangents"
-msgstr "修改曲線切線"
+msgstr "確保切線"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "烘焙光照圖"
+msgstr "光照烘焙"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "烘焙光照圖"
+msgstr "光照圖紋理元素大小"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
-msgstr ""
+msgstr "Skin"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Use Named Skins"
-msgstr "使用縮放吸附"
+msgstr "使用命名 Skin"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "External Files"
-msgstr "開啟檔案"
+msgstr "額外檔案"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
-msgstr ""
+msgstr "儲存於子目錄"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Filter Script"
msgstr "篩選腳本"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "變換"
+msgstr "保留自定軌道"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
-msgstr "最佳化"
+msgstr "最佳化器"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
@@ -7117,41 +6963,34 @@ msgstr "最佳化"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Enabled"
-msgstr "啟用"
+msgstr "已啟用"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Linear Error"
-msgstr "最大線性誤差:"
+msgstr "最大線性誤差"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angular Error"
-msgstr "最大角度誤差:"
+msgstr "最大角度誤差"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "數值"
+msgstr "最大角度"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Remove Unused Tracks"
-msgstr "刪除動畫軌"
+msgstr "移除未使用的動畫軌"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
msgstr "動畫片段"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
#: scene/3d/particles.cpp scene/resources/environment.cpp
-#, fuzzy
msgid "Amount"
-msgstr "數量:"
+msgstr "數量"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
@@ -7167,8 +7006,8 @@ msgid "Generating Lightmaps"
msgstr "正在產生光照圖"
#: editor/import/resource_importer_scene.cpp
-msgid "Generating for Mesh: "
-msgstr "正在產生網格: "
+msgid "Generating for Mesh:"
+msgstr "生成 Mesh 中:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7195,151 +7034,148 @@ msgid "Saving..."
msgstr "正在保存..."
#: editor/import/resource_importer_texture.cpp
-msgid "2D, Detect 3D"
+msgid ""
+"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
+"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
+"%s: 偵測到使用在3D上的法線貼圖。啟用紅-綠材質壓縮來減少記憶體用量(藍色通道已"
+"被捨棄)。"
+
+#: editor/import/resource_importer_texture.cpp
+msgid ""
+"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
+"generation and VRAM texture compression."
+msgstr "%s: 偵測到使用在3D上的材質。啟用濾鏡、重覆、Mipmap產生和VRAM材質壓縮。"
+
+#: editor/import/resource_importer_texture.cpp
+msgid "2D, Detect 3D"
+msgstr "2D,偵測3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "實體像素"
+msgstr "2D像素"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
-msgstr ""
+msgstr "低品質"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "HDR Mode"
-msgstr "選擇模式"
+msgstr "HDR模式"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "法線貼圖"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "後處理"
+msgstr "處理"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
-msgstr ""
+msgstr "修正Alpha邊界"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Premult Alpha"
-msgstr "編輯多邊形"
+msgstr "預乘 Alpha"
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
-msgstr ""
+msgstr "Hdr作為SRGB"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "頂點"
+msgstr "翻轉顏色"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Normal Map Invert Y"
-msgstr "隨機縮放:"
+msgstr "法線貼圖反轉 Y"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Size Limit"
-msgstr "大小: "
+msgstr "大小限制"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
-msgstr ""
+msgstr "偵測3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "SVG"
-msgstr "HSV"
+msgstr "SVG"
#: editor/import/resource_importer_texture.cpp
msgid ""
"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
"texture will not display correctly on PC."
msgstr ""
+"注意,專案設定內啟用了非適合的PC VRAM壓縮。此材質將無法在PC上正確顯示。"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Atlas File"
-msgstr "輪廓尺寸:"
+msgstr "合集檔案"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Import Mode"
-msgstr "匯出模式:"
+msgstr "匯入模式"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "選擇圖塊區域"
+msgstr "裁剪至區域"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
-msgstr ""
+msgstr "從區域簡化Alpha邊界"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "來源網格:"
+msgstr "強制"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
-msgstr ""
+msgstr "8位元組"
#: editor/import/resource_importer_wav.cpp main/main.cpp
#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Mono"
-msgstr ""
+msgstr "Mono"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "Mix 節點"
+msgstr "最大頻率"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "Mix 節點"
+msgstr "最大頻率Hz"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "簡化"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "格式"
+msgstr "正規化"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Mode"
-msgstr "移動模式"
+msgstr "重覆模式"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Begin"
-msgstr "移動模式"
+msgstr "開始重覆"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop End"
-msgstr "移動模式"
+msgstr "結束重覆"
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -7390,7 +7226,7 @@ msgstr "匯入為:"
#: editor/import_dock.cpp
msgid "Save Scenes, Re-Import, and Restart"
-msgstr "保存場景、重新匯入、並重新啟動"
+msgstr "儲存場景、重新匯入、並重新啟動"
#: editor/import_dock.cpp
msgid "Changing the type of an imported file requires editor restart."
@@ -7405,34 +7241,31 @@ msgstr "警告:有素材使用該資源,將無法正確加載。"
msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
"import settings."
-msgstr ""
+msgstr "從檔案系統中選擇資源檔,或是在面板上調整匯入設定。"
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
msgstr "加載資源失敗。"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Property Name Style"
-msgstr "專案名稱:"
+msgstr "屬性名稱樣式"
#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
msgid "Raw"
msgstr "原始"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Capitalized"
msgstr "首字母大寫"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "地區"
+msgstr "已本地化"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr ""
+msgstr "目前的語言不支援本地化。"
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -7456,7 +7289,7 @@ msgstr "從磁碟中載入現有的資源並編輯。"
#: editor/inspector_dock.cpp
msgid "Save the currently edited resource."
-msgstr "保存目前編輯的資源。"
+msgstr "儲存目前編輯的資源。"
#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -7873,11 +7706,20 @@ msgid "New Anim"
msgstr "新增動畫"
#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr "建立新動畫"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
msgstr "更改動畫名稱:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr "重新命名動畫"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "是否刪除動畫?"
@@ -7895,11 +7737,6 @@ msgid "Animation name already exists!"
msgstr "動畫名稱已存在!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Rename Animation"
-msgstr "重新命名動畫"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
msgstr "重複動畫"
@@ -7965,9 +7802,8 @@ msgid "New"
msgstr "新增"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "%s 類別參照"
+msgstr "複製為參照"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -7997,10 +7833,12 @@ msgstr "描圖紙選項"
msgid "Directions"
msgstr "方向"
+#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
msgstr "過去"
+#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning.
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
msgstr "未來"
@@ -8041,10 +7879,6 @@ msgid "Pin AnimationPlayer"
msgstr "固定 AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create New Animation"
-msgstr "建立新動畫"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
msgstr "動畫名稱:"
@@ -8158,8 +7992,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "設定結尾動畫。適用於子轉場。"
#: editor/plugins/animation_state_machine_editor.cpp
-msgid "Transition: "
-msgstr "轉場: "
+msgid "Transition:"
+msgstr "轉場效果:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8175,11 +8009,6 @@ msgid "New name:"
msgstr "新名稱:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#: editor/plugins/multimesh_editor_plugin.cpp
-msgid "Scale:"
-msgstr "縮放:"
-
-#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "淡入(秒):"
@@ -8301,7 +8130,7 @@ msgstr "篩選..."
#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
msgid "Use Threads"
-msgstr ""
+msgstr "使用執行緒"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
@@ -8349,7 +8178,7 @@ msgstr "要求失敗,回傳代碼:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Cannot save response to:"
-msgstr "無法保存回覆至:"
+msgstr "無法儲存回覆至:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
@@ -8428,9 +8257,8 @@ msgid "Download Error"
msgstr "下載錯誤"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Available URLs"
-msgstr "可用設定檔:"
+msgstr "可用 URL"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
@@ -8465,28 +8293,24 @@ msgid "Loading..."
msgstr "正在載入..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "First"
-msgstr "首頁"
+msgstr "第一個"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Previous"
-msgstr "上一頁"
+msgstr "上一個"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Next"
-msgstr "下一頁"
+msgstr "下一個"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Last"
-msgstr "最後"
+msgstr "最後一個"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "All"
@@ -8534,7 +8358,7 @@ msgstr "測試"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "無法取得倉儲設定。"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -8549,8 +8373,8 @@ msgid ""
"Can't determine a save path for lightmap images.\n"
"Save your scene and try again."
msgstr ""
-"無法判斷光照圖的保存路徑。\n"
-"請保存場景並重試。"
+"無法判斷光照圖的儲存路徑。\n"
+"請儲存場景並重試。"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid ""
@@ -8585,7 +8409,7 @@ msgstr "烘焙光照圖"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "LightMap Bake"
-msgstr ""
+msgstr "光照貼圖烘培"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
@@ -8894,9 +8718,8 @@ msgid "Alt+Drag: Move selected node."
msgstr "Alt+拖移:移動所選的節點。"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Alt+Drag: Scale selected node."
-msgstr "Alt+拖移:移動所選的節點。"
+msgstr "Alt+拖曳:縮放所選的節點。"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "V: Set selected node's pivot position."
@@ -8928,7 +8751,7 @@ msgstr "縮放模式"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Shift: Scale proportionally."
-msgstr ""
+msgstr "Shift:按比例縮放。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9027,9 +8850,8 @@ msgstr "在其位置上鎖定所選物件(無法移動)。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected Node(s)"
-msgstr "鎖定所選"
+msgstr "鎖定所選的節點"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9038,9 +8860,8 @@ msgstr "解鎖所選物件(可移動)。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected Node(s)"
-msgstr "取消鎖定所選"
+msgstr "取消鎖定所選的節點"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9049,9 +8870,8 @@ msgstr "確保物件的子級項目無法被選擇。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected Node(s)"
-msgstr "為所選的項目建立群組"
+msgstr "為所選的節點建立群組"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9060,9 +8880,8 @@ msgstr "恢復讓物件的子級項目可選擇。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected Node(s)"
-msgstr "移除所選項目的群組"
+msgstr "取消所選節點的群組"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -9080,29 +8899,27 @@ msgstr "自節點建立自定骨骼"
msgid "Clear Custom Bones"
msgstr "清除自定義骨骼"
+#. TRANSLATORS: Noun, name of the 2D/3D View menus.
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "檢視"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show"
-msgstr "顯示網格"
+msgstr "顯示"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show When Snapping"
-msgstr "智慧型吸附"
+msgstr "當吸附時顯示"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "隱藏"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid"
-msgstr "切換模式"
+msgstr "切換網格"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -9146,6 +8963,10 @@ msgid "Preview Canvas Scale"
msgstr "預覽畫布比例"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr "畫面配置"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
msgstr "轉換遮罩以插入關鍵影格。"
@@ -9376,7 +9197,7 @@ msgstr "平面0"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 1"
-msgstr ""
+msgstr "平面 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -9448,16 +9269,15 @@ msgstr "漸層編輯"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
+msgstr "交換 GradientTexture2D 的填充點"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap Gradient Fill Points"
-msgstr ""
+msgstr "交換 Gradient 填充點"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid Snap"
-msgstr "切換模式"
+msgstr "切換網格吸附"
#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
@@ -9476,13 +9296,12 @@ msgstr "圖示"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "分隔:"
+msgstr "分隔線"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9711,9 +9530,8 @@ msgstr ""
"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "MeshLibrary"
-msgstr "網格庫"
+msgstr "網格資源庫"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Add Item"
@@ -9736,14 +9554,12 @@ msgid "Update from Scene"
msgstr "自場景更新"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply without Transforms"
-msgstr "套用MeshInstance變換"
+msgstr "不包含變換的套用"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply with Transforms"
-msgstr "套用MeshInstance變換"
+msgstr "包含變換的套用"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
@@ -9909,8 +9725,8 @@ msgid "Volume"
msgstr "體積"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
-msgstr "發射源: "
+msgid "Emission Source:"
+msgstr "發射源:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10141,6 +9957,7 @@ msgid "Points"
msgstr "點"
#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp
+#: scene/resources/navigation_mesh.cpp
msgid "Polygons"
msgstr "多邊形"
@@ -10261,7 +10078,7 @@ msgstr "同步骨骼到多邊形"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "設定 cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -10294,13 +10111,6 @@ msgid "Instance:"
msgstr "實體:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Type:"
-msgstr "型別:"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "在編輯器中開啟"
@@ -10309,10 +10119,6 @@ msgstr "在編輯器中開啟"
msgid "Load Resource"
msgstr "載入資源"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
-msgstr "資源預先載入器"
-
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portals"
msgstr "翻轉入口"
@@ -10351,7 +10157,7 @@ msgstr "清除最近的檔案"
#: editor/plugins/script_editor_plugin.cpp
msgid "Close and save changes?"
-msgstr "關閉並保存修改嗎?"
+msgstr "關閉並儲存修改嗎?"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error writing TextFile:"
@@ -10424,7 +10230,7 @@ msgstr "保存錯誤"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme As..."
-msgstr "保存主題為..."
+msgstr "儲存主題為..."
#: editor/plugins/script_editor_plugin.cpp
msgid "%s Class Reference"
@@ -10491,7 +10297,7 @@ msgstr "重新打開關閉的腳本"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
-msgstr "全部保存"
+msgstr "全部儲存"
#: editor/plugins/script_editor_plugin.cpp
msgid "Soft Reload Script"
@@ -10519,7 +10325,7 @@ msgstr "重新載入主題"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme"
-msgstr "保存主題"
+msgstr "儲存主題"
#: editor/plugins/script_editor_plugin.cpp
msgid "Close All"
@@ -10601,58 +10407,51 @@ msgstr "搜尋結果"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open Dominant Script On Scene Change"
-msgstr ""
+msgstr "場景更改時開啟主腳本"
#: editor/plugins/script_editor_plugin.cpp
msgid "External"
-msgstr ""
+msgstr "額外的"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Use External Editor"
-msgstr "使用外部編輯器進行除錯"
+msgstr "使用外部編輯器"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Exec Path"
-msgstr "匯出路徑"
+msgstr "執行路徑"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "選擇樣板檔案"
+msgstr "啟用腳本樣式"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
-msgstr ""
+msgstr "強調顯示目前的腳本"
#: editor/plugins/script_editor_plugin.cpp
msgid "Script Temperature History Size"
-msgstr ""
+msgstr "腳本溫度歷史大小"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Current Script Background Color"
-msgstr "無效的背景顏色。"
+msgstr "目前腳本背景顏色"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Group Help Pages"
-msgstr "為所選的項目建立群組"
+msgstr "幫助頁分組"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Sort Scripts By"
-msgstr "建立腳本"
+msgstr "排序腳本根據"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "List Script Names As"
-msgstr "腳本名稱:"
+msgstr "將腳本名稱列為"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
-msgstr ""
+msgstr "執行旗標"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Scripts"
@@ -10805,9 +10604,8 @@ msgid "Find in Files..."
msgstr "在檔案中搜尋..."
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Replace in Files..."
-msgstr "取代..."
+msgstr "在檔案中取代..."
#: editor/plugins/script_text_editor.cpp
msgid "Contextual Help"
@@ -11009,13 +10807,15 @@ msgstr "旋轉"
msgid "Translate"
msgstr "移動"
+#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Scaling: "
-msgstr "縮放: "
+msgid "Scaling:"
+msgstr "縮放:"
+#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Translating: "
-msgstr "移動: "
+msgid "Translating:"
+msgstr "移動:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11038,11 +10838,6 @@ msgid "Yaw:"
msgstr "偏擺:"
#: editor/plugins/spatial_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Size:"
-msgstr "大小:"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn:"
msgstr "繪製的物件:"
@@ -11068,7 +10863,7 @@ msgstr "頂點:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "FPS: %d (%s ms)"
-msgstr ""
+msgstr "FPS: %d (%s 毫秒)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
@@ -11168,49 +10963,48 @@ msgstr "效果預覽"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "(Not in GLES2)"
-msgstr ""
+msgstr "(不在GLES2中)"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr "使用 GLES2 算繪引擎時無法使用。"
+msgstr "除錯繪製模式僅可在 GLES3 算繪引擎下使用,無法在 GLES2 下使用。"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
-msgstr "自由視圖 左"
+msgstr "自由觀看 左"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Right"
-msgstr "自由視圖 右"
+msgstr "自由觀看 右"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Forward"
-msgstr "自由視圖 前"
+msgstr "自由觀看 前"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Backwards"
-msgstr "自由視圖 後"
+msgstr "自由觀看 後"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
-msgstr "自由視圖 上"
+msgstr "自由觀看 上"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Down"
-msgstr "自由視圖 下"
+msgstr "自由觀看 下"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Speed Modifier"
-msgstr "加速自由視圖速度"
+msgstr "自由觀看速度調整"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Slow Modifier"
-msgstr "放慢自由視圖速度"
+msgstr "自由觀看減速調整"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Camera Preview"
-msgstr "切換相機預覽開關"
+msgstr "開啟/關閉相機預覽"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Rotation Locked"
@@ -11219,7 +11013,7 @@ msgstr "視圖旋轉已鎖定"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
"To zoom further, change the camera's clipping planes (View -> Settings...)"
-msgstr "若要再繼續放大,請至 檢視 -> 設定... 修改攝影機的剪裁平面"
+msgstr "若要再繼續放大,請至 [檢視] -> [設定...] 修改攝影機的剪裁平面"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -11337,16 +11131,15 @@ msgstr "開啟/關閉自由視圖"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Decrease Field of View"
-msgstr ""
+msgstr "減少可視範圍"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Increase Field of View"
-msgstr ""
+msgstr "增加可視範圍"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Reset Field of View to Default"
-msgstr "重設為預設值"
+msgstr "重設為預設視野"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Object to Floor"
@@ -11467,16 +11260,15 @@ msgstr "後置"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Size"
-msgstr ""
+msgstr "操縱器控制項大小"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Opacity"
-msgstr ""
+msgstr "操縱器控制項不透明度"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Show Viewport Rotation Gizmo"
-msgstr "鎖定視角旋轉"
+msgstr "顯示檢視區的旋轉控制器"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unnamed Gizmo"
@@ -11527,8 +11319,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "無效的幾何圖形,無法以網格取代。"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Convert to Mesh2D"
-msgstr "轉換為 Mesh2D"
+msgid "Convert to MeshInstance2D"
+msgstr "轉換為 MeshInstance2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11559,16 +11351,16 @@ msgid "Sprite"
msgstr "拼合圖"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Simplification: "
-msgstr "簡化: "
+msgid "Simplification:"
+msgstr "簡化:"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Shrink (Pixels): "
-msgstr "收縮(像素): "
+msgid "Shrink (Pixels):"
+msgstr "收縮(像素):"
#: editor/plugins/sprite_editor_plugin.cpp
-msgid "Grow (Pixels): "
-msgstr "擴展(像素): "
+msgid "Grow (Pixels):"
+msgstr "擴展(像素):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11631,6 +11423,10 @@ msgid "New Animation"
msgstr "新增動畫"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Filter animations"
+msgstr "篩選動畫"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
msgstr "速度:"
@@ -11925,9 +11721,8 @@ msgstr ""
"確定要關閉嗎?"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "移除圖塊"
+msgstr "移除型別"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -11970,14 +11765,12 @@ msgstr ""
"手動加入更多項目於其中或從另一個主題匯入。"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "新增項目類型"
+msgstr "新增主題型別"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "移除項目"
+msgstr "移除主題型別"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12092,9 +11885,8 @@ msgid "Select Another Theme Resource:"
msgstr "選擇其他主題資源:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Theme Resource"
-msgstr "重新命名資源"
+msgstr "主題資源"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
@@ -12106,22 +11898,19 @@ msgstr "新增類別"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Filter the list of types or create a new custom type:"
-msgstr ""
+msgstr "篩選型別列表,或是建立新的自定型別:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Available Node-based types:"
-msgstr "可用設定檔:"
+msgstr "可用之基於節點的型別:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Type name is empty!"
-msgstr "檔案名稱為空。"
+msgstr "型別名稱為空!"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Are you sure you want to create an empty type?"
-msgstr "確定要打開多個專案嗎?"
+msgstr "確定要建立空型別嗎?"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Confirm Item Rename"
@@ -12151,14 +11940,12 @@ msgid "Add Item Type"
msgstr "新增項目類型"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Variation Base Type"
-msgstr "設定變數型別"
+msgstr "設定變化基礎型別"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Base Type"
-msgstr "更改基礎型別"
+msgstr "設定基礎型別"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
@@ -12178,13 +11965,13 @@ msgstr "複寫所有預設類別項目。"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select the variation base type from a list of available types."
-msgstr ""
+msgstr "從可用的型別列表中選擇基礎型別的變化。"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
"A type associated with a built-in class cannot be marked as a variation of "
"another type."
-msgstr ""
+msgstr "與內建型別相關聯的型別無法被標記為另一個型別的變化。"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -12419,55 +12206,46 @@ msgid "Clear Transform"
msgstr "清除變換"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Tile Map"
-msgstr "繪製圖塊地圖"
+msgstr "圖塊地圖"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Palette Min Width"
-msgstr ""
+msgstr "調色盤最小寬度"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Palette Item H Separation"
-msgstr "帶名稱的分隔線"
+msgstr "調色盤項目的水平分隔線"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Names"
-msgstr "顯示所有地區"
+msgstr "顯示圖塊名稱"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Ids"
-msgstr "顯示尺規"
+msgstr "顯示圖塊 ID"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Sort Tiles By Name"
-msgstr "檔案排序"
+msgstr "以名稱排序圖塊"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Bucket Fill Preview"
-msgstr "油漆桶填滿"
+msgstr "油漆桶填充預覽"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editor Side"
-msgstr "編輯器"
+msgstr "編輯器側欄"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Display Grid"
-msgstr "顯示過度繪圖"
+msgstr "顯示柵欄"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Axis Color"
-msgstr "選擇顏色"
+msgstr "座標軸顏色"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
@@ -12514,8 +12292,7 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "選擇前一個形狀、子圖塊、或圖塊。"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp
-#: scene/3d/sprite_3d.cpp scene/resources/navigation_mesh.cpp
-#: scene/resources/texture.cpp
+#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp
msgid "Region"
msgstr "區域"
@@ -12801,7 +12578,6 @@ msgid "This property can't be changed."
msgstr "該屬性無法修改。"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "吸附選項"
@@ -12814,9 +12590,8 @@ msgstr "吸附選項"
#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
#: scene/main/canvas_layer.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Offset"
-msgstr "偏移:"
+msgstr "偏移"
#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
#: scene/gui/range.cpp scene/resources/animation.cpp
@@ -12827,14 +12602,12 @@ msgstr "步長"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "分隔:"
+msgstr "間距"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "選擇"
+msgstr "所選圖塊"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12843,158 +12616,132 @@ msgstr "選擇"
#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Texture"
-msgstr "純文字"
+msgstr "紋理貼圖"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "網格偏移量:"
+msgstr "紋理偏移"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Material"
-msgstr "材質變更:"
+msgstr "材質"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Modulate"
-msgstr "填充"
+msgstr "調變"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "切換模式"
+msgstr "圖塊模式"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "優先模式"
+msgstr "自動圖塊的位元遮罩模式"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "輪廓尺寸:"
+msgstr "子圖塊大小"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "行間距"
+msgstr "自圖塊間距"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "建立遮光多邊形"
+msgstr "遮光偏移"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "導航模式"
+msgstr "導航偏移"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "偏移:"
+msgstr "形狀偏移"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "變換"
+msgstr "形狀變換"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "碰撞"
+msgstr "所選碰撞"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "僅搜尋所選區域"
+msgstr "所選碰撞單向"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "碰撞模式"
+msgstr "所選碰撞單向外邊距"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "顯示導航"
+msgstr "所選導航"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "選擇"
+msgstr "所選遮擋"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "篩選腳本"
+msgstr "圖塊集腳本"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
msgstr "圖塊集"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No VCS plugins are available."
-msgstr "無可用的版本控制 (VCS) 擴充功能。"
+msgstr "無可用的版本控制 (VCS) 外掛。"
#: editor/plugins/version_control_editor_plugin.cpp
msgid ""
"Remote settings are empty. VCS features that use the network may not work."
-msgstr ""
+msgstr "遠端設定是空的。使用網路的VCS功能恐無法運作。"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No commit message was provided."
-msgstr "未提供名稱。"
+msgstr "未提供認可 (Commit) 訊息。"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit"
msgstr "提交"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Staged Changes"
-msgstr "著色器變更:"
+msgstr "暫存變更"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstaged Changes"
-msgstr "著色器變更:"
+msgstr "未暫存變更"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit:"
-msgstr "提交"
+msgstr "提交:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Date:"
-msgstr ""
+msgstr "日期:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Subtitle:"
-msgstr "子樹"
+msgstr "副標題:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Do you want to remove the %s branch?"
-msgstr ""
+msgstr "你確定要移除 %s 分支?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Do you want to remove the %s remote?"
-msgstr "確定要打開多個專案嗎?"
+msgstr "確定要移除遠端「%s」?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Apply"
-msgstr "套用重設"
+msgstr "套用"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control System"
@@ -13005,123 +12752,108 @@ msgid "Initialize"
msgstr "初始化"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Login"
-msgstr "移除控制點"
+msgstr "遠端登入"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Select SSH public key path"
-msgstr ""
+msgstr "選擇SSH公鑰的路徑"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Select SSH private key path"
-msgstr ""
+msgstr "選擇SSH私鑰的路徑"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "SSH 通關片段"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
msgstr "偵測新改動"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Discard all changes"
-msgstr "關閉並保存修改嗎?"
+msgstr "捨棄所有變更"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Stage all changes"
-msgstr "正在儲存變更..."
+msgstr "預存所有變更"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstage all changes"
-msgstr "材質變更:"
+msgstr "撤銷暫存所有變更"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit Message"
-msgstr "提交改動"
+msgstr "認可 (Commit) 訊息"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit Changes"
msgstr "提交改動"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit List"
-msgstr "提交"
+msgstr "認可列表"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit list size"
-msgstr ""
+msgstr "認可列表大小"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Branches"
-msgstr "符合條件:"
+msgstr "分支"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Create New Branch"
-msgstr "建立新專案"
+msgstr "建立分支"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remove Branch"
-msgstr "刪除動畫軌"
+msgstr "移除分支"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branch Name"
-msgstr ""
+msgstr "分支名稱"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remotes"
msgstr "遠端"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Create New Remote"
-msgstr "建立新專案"
+msgstr "建立遠端"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remove Remote"
-msgstr "移除項目"
+msgstr "移除遠端"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Name"
-msgstr "遠端 "
+msgstr "遠端名稱"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote URL"
-msgstr "遠端 "
+msgstr "遠端網址"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Fetch"
-msgstr ""
+msgstr "截取 (Fetch)"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Pull"
-msgstr ""
+msgstr "提取 (Pull)"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Push"
-msgstr ""
+msgstr "推送 (Push)"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Force Push"
-msgstr "來源網格:"
+msgstr "強制推送"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Modified"
-msgstr "已修改"
+msgstr "修改"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Renamed"
@@ -13129,30 +12861,27 @@ msgstr "重新命名"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Deleted"
-msgstr "已刪除"
+msgstr "刪除"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Typechange"
-msgstr "格式更改"
+msgstr "更改型別"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Unmerged"
-msgstr ""
+msgstr "未合併"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "View:"
-msgstr "檢視"
+msgstr "檢視:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Split"
-msgstr "拆分路徑"
+msgstr "分割"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unified"
-msgstr "已修改"
+msgstr "合併"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
@@ -14008,39 +13737,22 @@ msgid "Runnable"
msgstr "可執行"
#: editor/project_export.cpp
-msgid "Delete preset '%s'?"
-msgstr "確定要刪除預設設定「%s」?"
+msgid "Export the project for all the presets defined."
+msgstr "使用每個已定義的預設設定來匯出該專案。"
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"Export templates seem to be missing or invalid."
-msgstr ""
-"為平台「%s」匯出專案失敗。\n"
-"匯出樣板似乎已遺失或無效。"
+msgid "All presets must have an export path defined for Export All to work."
+msgstr "所有預設設定都必須定義好匯出路徑,才可使用 [匯出全部] 功能。"
#: editor/project_export.cpp
-msgid ""
-"Failed to export the project for platform '%s'.\n"
-"This might be due to a configuration issue in the export preset or your "
-"export settings."
-msgstr ""
-"為平台「%s」匯出專案失敗。\n"
-"可能是由於匯出預設設定或匯出設定中的組態設定有問題導致。"
+msgid "Delete preset '%s'?"
+msgstr "確定要刪除預設設定「%s」?"
#: editor/project_export.cpp
msgid "Exporting All"
msgstr "全部匯出"
#: editor/project_export.cpp
-msgid "The given export path doesn't exist:"
-msgstr "給定的匯出路徑不存在:"
-
-#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "該平台的匯出範本遺失/損毀:"
-
-#: editor/project_export.cpp
msgid "Export Path"
msgstr "匯出路徑"
@@ -14141,41 +13853,50 @@ msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
msgstr ""
+"注意:加密金鑰必須以二進位形式保存,\n"
+"必須從原始碼來編譯匯出樣板。"
#: editor/project_export.cpp
-#, fuzzy
msgid "More Info..."
-msgstr "移動至..."
-
-#: editor/project_export.cpp
-msgid "Export PCK/Zip"
-msgstr "匯出 PCK/ZIP"
+msgstr "更多資訊..."
#: editor/project_export.cpp
-msgid "Export Project"
-msgstr "匯出專案"
+msgid "Export PCK/Zip..."
+msgstr "匯出 PCK/ZIP..."
#: editor/project_export.cpp
-msgid "Export mode?"
-msgstr "匯出模式?"
+msgid "Export Project..."
+msgstr "匯出專案..."
#: editor/project_export.cpp
msgid "Export All"
msgstr "全部匯出"
+#: editor/project_export.cpp
+msgid "Choose an export mode:"
+msgstr "選擇匯出模式:"
+
+#: editor/project_export.cpp
+msgid "Export All..."
+msgstr "全部匯出..."
+
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "ZIP 檔案"
#: editor/project_export.cpp
-msgid "Godot Game Pack"
-msgstr "Godot 遊戲包"
+msgid "Godot Project Pack"
+msgstr "Godot 專案包"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "缺少匯出該平台用的樣板:"
#: editor/project_export.cpp
+msgid "Project Export"
+msgstr "專案匯出"
+
+#: editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "管理匯出樣板"
@@ -14460,8 +14181,8 @@ msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
-"語言已更改。\n"
-"界面將會在重新啟動編輯器或專案管理員後更新。"
+"語言已變更。\n"
+"重新啟動編輯器或專案管理員後將會套用界面更新。"
#: editor/project_manager.cpp
msgid ""
@@ -14473,20 +14194,19 @@ msgstr ""
#. TRANSLATORS: This refers to the application where users manage their Godot projects.
#: editor/project_manager.cpp
-#, fuzzy
msgctxt "Application"
msgid "Project Manager"
msgstr "專案管理員"
#: editor/project_manager.cpp
-msgid "Loading, please wait..."
-msgstr "載入中,請稍後..."
-
-#: editor/project_manager.cpp
msgid "Last Modified"
msgstr "最後修改時間"
#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr "載入中,請稍後..."
+
+#: editor/project_manager.cpp
msgid "Edit Project"
msgstr "編輯專案"
@@ -14738,7 +14458,7 @@ msgstr "保存設定時發生錯誤。"
#: editor/project_settings_editor.cpp
msgid "Settings saved OK."
-msgstr "設定保存成功。"
+msgstr "設定儲存成功。"
#: editor/project_settings_editor.cpp
msgid "Moved Input Action Event"
@@ -14822,7 +14542,7 @@ msgstr "索引:"
#: editor/project_settings_editor.cpp
msgid "Localization"
-msgstr "本地化"
+msgstr "在地化"
#: editor/project_settings_editor.cpp
msgid "Translations"
@@ -15197,7 +14917,7 @@ msgid ""
"FileSystem dock context menu\n"
"or create an inherited scene using Scene > New Inherited Scene... instead."
msgstr ""
-"無法保存作為實體化場景的根節點分支。\n"
+"無法儲存作為實體化場景的根節點分支。\n"
"請使用檔案系統停佇列的右鍵選單來複製它,以拷貝目前場景加以編輯。\n"
"或是使用場景 > 新增繼承場景...以建立一個繼承場景。"
@@ -15207,7 +14927,7 @@ msgid ""
"To create a variation of a scene, you can make an inherited scene based on "
"the instanced scene using Scene > New Inherited Scene... instead."
msgstr ""
-"無法保存已實體化場景的分支。\n"
+"無法儲存已實體化場景的分支。\n"
"若要建立場景變體,您可使用場景 > 新增繼承場景...根據實體化的場景建立一個繼承"
"場景。"
@@ -15217,6 +14937,9 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"無法保存分支,該分支是已實體化場景的子項目。\n"
+"若要將該分支保存進獨立的場景中,請開啟原始場景,並在該分支上點擊右鍵,然後選"
+"擇 [將分支保存為場景]。"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -15224,6 +14947,9 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"無法保存分支,該分支是繼承場景的一部分。\n"
+"若要將該分支保存為獨立的場景,請開啟原始場景,並在該分支上點擊右鍵,然後選擇 "
+"[將分支保存為場景]。"
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
@@ -15249,17 +14975,15 @@ msgstr "轉為本地"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "另一個節點已在該場景中使用了這個不可重複的名稱。"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name"
-msgstr "節點名稱:"
+msgstr "啟用場景獨立名稱"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "節點名稱:"
+msgstr "停用場景獨立名稱"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15317,7 +15041,7 @@ msgstr "更改節點的型別"
msgid ""
"Couldn't save new scene. Likely dependencies (instances) couldn't be "
"satisfied."
-msgstr "無法保存新場景。可能是由於無法滿足其依賴性(實體)。"
+msgstr "無法儲存新場景。可能是由於無法滿足其依賴性(實體)。"
#: editor/scene_tree_dock.cpp
msgid "Error saving scene."
@@ -15325,7 +15049,7 @@ msgstr "保存場景時發生錯誤。"
#: editor/scene_tree_dock.cpp
msgid "Error duplicating scene to save it."
-msgstr "複製場景以進行保存時發生錯誤。"
+msgstr "複製場景以進行儲存時發生錯誤。"
#: editor/scene_tree_dock.cpp
msgid "Sub-Resources"
@@ -15333,7 +15057,7 @@ msgstr "子資源"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "以不重複的場景名稱來存取"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15382,7 +15106,7 @@ msgstr "合併自場景"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
-msgstr "保存分支為場景"
+msgstr "儲存分支為場景"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Copy Node Path"
@@ -15428,18 +15152,16 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "確定要清除繼承嗎?(無法復原!)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "置中所選"
+msgstr "顯示場景樹的根選擇"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "依照名稱來推斷腳本的全域變數"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Use Favorites Root Selection"
-msgstr "完整顯示所選"
+msgstr "使用我的最愛根選擇"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -15467,6 +15189,8 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"該節點可在此場景中的任何地方通過在節點路徑前方加上「%s」前置詞來存取。\n"
+"點擊以禁用。"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15673,8 +15397,8 @@ msgid "Attach Node Script"
msgstr "附加節點腳本"
#: editor/script_editor_debugger.cpp
-msgid "Remote "
-msgstr "遠端 "
+msgid "Remote %s:"
+msgstr "遠端 %s:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15749,21 +15473,20 @@ msgid "Stack Frames"
msgstr "堆疊框"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Filter stack variables"
-msgstr "篩選圖塊"
+msgstr "篩選堆疊變數"
#: editor/script_editor_debugger.cpp
msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
+msgstr "自動切換至遠端場景樹"
#: editor/script_editor_debugger.cpp
msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
+msgstr "遠端場景樹重新整理間隔"
#: editor/script_editor_debugger.cpp
msgid "Remote Inspect Refresh Interval"
-msgstr ""
+msgstr "遠端檢查重新整理間隔"
#: editor/script_editor_debugger.cpp
msgid "Network Profiler"
@@ -15861,7 +15584,7 @@ msgstr "更改光照半徑"
#: editor/spatial_editor_gizmos.cpp
msgid "Stream Player 3D"
-msgstr ""
+msgstr "StreamPlayer3D"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
@@ -15871,7 +15594,7 @@ msgstr "更改 AudioStreamPlayer3D 發射角"
#: platform/osx/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Camera"
-msgstr ""
+msgstr "相機"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
@@ -15883,7 +15606,7 @@ msgstr "更改相機尺寸"
#: editor/spatial_editor_gizmos.cpp
msgid "Visibility Notifier"
-msgstr ""
+msgstr "VisibilityNotifier"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Notifier AABB"
@@ -15894,23 +15617,20 @@ msgid "Change Particles AABB"
msgstr "更改粒子 AABB"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Reflection Probe"
-msgstr "選擇屬性"
+msgstr "反射探查"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
msgstr "更改探查範圍"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "GI Probe"
-msgstr "烘焙 GI 探查"
+msgstr "GI 探查"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Baked Indirect Light"
-msgstr "非向性光照"
+msgstr "烘焙間接光照"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
@@ -15941,14 +15661,12 @@ msgid "Change Ray Shape Length"
msgstr "更改射線形長度"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge"
-msgstr "導航模式"
+msgstr "導航邊界"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge Disabled"
-msgstr "導航模式"
+msgstr "已禁用導航邊界"
#: editor/spatial_editor_gizmos.cpp
#, fuzzy
@@ -16126,9 +15844,8 @@ msgid "Driver"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Driver Name"
-msgstr "腳本名稱:"
+msgstr "驅動名稱"
#: main/main.cpp
msgid "Fallback To GLES2"
@@ -16213,9 +15930,8 @@ msgid "Physics FPS"
msgstr "物理影格 %"
#: main/main.cpp
-#, fuzzy
msgid "Force FPS"
-msgstr "來源網格:"
+msgstr "強制 FPS"
#: main/main.cpp
msgid "Enable Pause Aware Picking"
@@ -16304,9 +16020,8 @@ msgstr ""
#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
#: scene/resources/world.cpp
-#, fuzzy
msgid "Environment"
-msgstr "檢視環境"
+msgstr "環境"
#: main/main.cpp
msgid "Default Clear Color"
@@ -16330,9 +16045,8 @@ msgid "Fullsize"
msgstr ""
#: main/main.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Use Filter"
-msgstr "篩選:"
+msgstr "使用篩選器"
#: main/main.cpp scene/resources/style_box.cpp
#, fuzzy
@@ -16379,9 +16093,8 @@ msgid "Custom Image Hotspot"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Tooltip Position Offset"
-msgstr "旋轉偏移量:"
+msgstr "工具提示位置偏移"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#, fuzzy
@@ -16394,9 +16107,8 @@ msgid "Wait For Debugger"
msgstr "除錯工具"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Wait Timeout"
-msgstr "逾時。"
+msgstr "等待逾時"
#: main/main.cpp
msgid "Runtime"
@@ -16510,14 +16222,12 @@ msgstr "轉換大小寫"
#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
#: scene/resources/sphere_shape.cpp
-#, fuzzy
msgid "Radius"
-msgstr "半徑:"
+msgstr "半徑"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Radial Segments"
-msgstr "主場景引數:"
+msgstr "徑向段數"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -16554,7 +16264,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
-#: scene/3d/collision_polygon.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/collision_polygon.cpp
#, fuzzy
msgid "Polygon"
msgstr "多邊形"
@@ -16586,9 +16296,8 @@ msgid "Path Simplify Angle"
msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Rotation"
-msgstr "隨機旋轉:"
+msgstr "路徑旋轉"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16601,14 +16310,12 @@ msgid "Path Continuous U"
msgstr "連續"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path U Distance"
-msgstr "選擇距離:"
+msgstr "路徑 U 距離"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Joined"
-msgstr "隨機旋轉:"
+msgstr "路徑接合"
#: modules/enet/networked_multiplayer_enet.cpp
#, fuzzy
@@ -16656,9 +16363,8 @@ msgid "Use FBX"
msgstr ""
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Config File"
-msgstr "儲存檔案:"
+msgstr "組態檔案"
#: modules/gdnative/gdnative.cpp
#, fuzzy
@@ -16672,9 +16378,8 @@ msgid "Singleton"
msgstr "骨架"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Symbol Prefix"
-msgstr "前置:"
+msgstr "符號前綴"
#: modules/gdnative/gdnative.cpp
#, fuzzy
@@ -16732,18 +16437,16 @@ msgid "Disabled GDNative Singleton"
msgstr "禁用 GDNative 單例"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Libraries: "
-msgstr "函式庫: "
+msgid "Libraries:"
+msgstr "函式庫:"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Class Name"
-msgstr "類別名稱:"
+msgstr "類別名稱"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Script Class"
-msgstr "腳本名稱:"
+msgstr "腳本類別"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -16822,9 +16525,8 @@ msgid "Object can't provide a length."
msgstr "物件無法提供長度。"
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Language Server"
-msgstr "語言:"
+msgstr "語言伺服器"
#: modules/gdscript/language_server/gdscript_language_server.cpp
#, fuzzy
@@ -16853,9 +16555,8 @@ msgid "Buffer View"
msgstr "後視圖"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Offset"
-msgstr "網格偏移量:"
+msgstr "字節偏移"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -16868,9 +16569,8 @@ msgid "Normalized"
msgstr "格式"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Count"
-msgstr "數量:"
+msgstr "數量"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
#, fuzzy
@@ -16896,9 +16596,8 @@ msgid "Sparse Indices Byte Offset"
msgstr ""
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Indices Component Type"
-msgstr "正在解析多邊形..."
+msgstr "稀疏頂點元件型別"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Buffer View"
@@ -16928,9 +16627,8 @@ msgid "Indices"
msgstr "所有裝置"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "FOV Size"
-msgstr "大小:"
+msgstr "FOV 大小"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
@@ -16977,9 +16675,8 @@ msgid "Blend Weights"
msgstr "烘焙光照圖"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Instance Materials"
-msgstr "材質變更:"
+msgstr "實體材質"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
#, fuzzy
@@ -17067,9 +16764,8 @@ msgid "Gloss Factor"
msgstr ""
#: modules/gltf/gltf_spec_gloss.cpp
-#, fuzzy
msgid "Specular Factor"
-msgstr "純量運算子。"
+msgstr "鏡面反射係數"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Spec Gloss Img"
@@ -17108,9 +16804,8 @@ msgid "Accessors"
msgstr ""
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Scene Name"
-msgstr "場景路徑:"
+msgstr "場景名稱"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17137,9 +16832,8 @@ msgid "Lights"
msgstr "燈光"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Unique Animation Names"
-msgstr "新增動畫名稱:"
+msgstr "獨立動畫名稱"
#: modules/gltf/gltf_state.cpp
#, fuzzy
@@ -17152,9 +16846,8 @@ msgid "Skeleton To Node"
msgstr "選擇一個節點"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Animations"
-msgstr "動畫:"
+msgstr "動畫"
#: modules/gltf/gltf_texture.cpp
#, fuzzy
@@ -17176,7 +16869,6 @@ msgid "Use In Baked Light"
msgstr "烘焙光照圖"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#: scene/resources/navigation_mesh.cpp
msgid "Cell"
msgstr ""
@@ -17206,6 +16898,19 @@ msgstr "中央"
msgid "Mask"
msgstr ""
+#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
+#, fuzzy
+msgid "Bake Navigation"
+msgstr "導航"
+
+#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
+#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
+#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Navigation Layers"
+msgstr "導航模式"
+
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
msgstr "下一個平面"
@@ -17387,9 +17092,8 @@ msgstr ""
#: modules/minimp3/resource_importer_mp3.cpp
#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-#, fuzzy
msgid "Loop Offset"
-msgstr "偏移:"
+msgstr "循環偏移"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Eye Height"
@@ -17508,9 +17212,8 @@ msgid "Seamless"
msgstr ""
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "As Normal Map"
-msgstr "隨機縮放:"
+msgstr "作為法線貼圖"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
@@ -17521,9 +17224,8 @@ msgid "Noise"
msgstr ""
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "Noise Offset"
-msgstr "網格偏移量:"
+msgstr "噪聲偏移"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
@@ -17552,9 +17254,8 @@ msgid "Names"
msgstr "名稱"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Strings"
-msgstr "設定:"
+msgstr "字串"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
@@ -17615,16 +17316,16 @@ msgid ""
msgstr "回傳值需被指定為運算記憶體節點的第一個元素!請修正該節點。"
#: modules/visual_script/visual_script.cpp
-msgid "Node returned an invalid sequence output: "
-msgstr "節點回傳了一個無效的連續輸出: "
+msgid "Node returned an invalid sequence output:"
+msgstr "節點回傳了一個無效的序列輸出:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "發現了連續位元 (Sequance Bit) 但並非在堆疊中的節點,請回報該錯誤!"
#: modules/visual_script/visual_script.cpp
-msgid "Stack overflow with stack depth: "
-msgstr "堆疊深度的堆疊溢出: "
+msgid "Stack overflow with stack depth:"
+msgstr "堆疊深度的堆疊溢出:"
#: modules/visual_script/visual_script.cpp
#, fuzzy
@@ -17991,16 +17692,16 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Input type not iterable: "
-msgstr "輸入型別非可迭代型別: "
+msgid "Input type not iterable:"
+msgstr "輸入型別非可迭代型別:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "迭代器已不可用"
#: modules/visual_script/visual_script_flow_control.cpp
-msgid "Iterator became invalid: "
-msgstr "迭代器已不可用: "
+msgid "Iterator became invalid:"
+msgstr "迭代器無效:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18017,18 +17718,16 @@ msgid "Steps"
msgstr "步長"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Switch"
-msgstr "仰角:"
+msgstr "切換"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Type Cast"
-msgstr "類別:"
+msgstr "型別轉換"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
@@ -18074,9 +17773,8 @@ msgid "Use Default Args"
msgstr "重設為預設"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Validate"
-msgstr "可使用的字元:"
+msgstr "驗證"
#: modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
@@ -18168,17 +17866,16 @@ msgstr "調整陣列大小"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "疊加運算子。"
+msgstr "運算子"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid argument of type: "
-msgstr ": 無效的引數型別: "
+msgid "Invalid argument of type:"
+msgstr "無效的引數型別:"
#: modules/visual_script/visual_script_nodes.cpp
-msgid ": Invalid arguments: "
-msgstr ": 無效的引數: "
+msgid "Invalid arguments:"
+msgstr "無效的引數:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18190,12 +17887,12 @@ msgid "Var Name"
msgstr "名稱"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableGet not found in script: "
-msgstr "腳本中未找到 VariableGet(取得變數): "
+msgid "VariableGet not found in script:"
+msgstr "腳本中未找到 VariableGet(取得變數):"
#: modules/visual_script/visual_script_nodes.cpp
-msgid "VariableSet not found in script: "
-msgstr "腳本中未找到 VariableSet(設定變數): "
+msgid "VariableSet not found in script:"
+msgstr "腳本中未找到 VariableSet(設定變數):"
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18310,7 +18007,7 @@ msgstr "產生"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
-msgstr ""
+msgstr "等待"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
@@ -18415,9 +18112,8 @@ msgid "CA Chain"
msgstr "清除 IK 鏈"
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "Handshake Timeout"
-msgstr "逾時。"
+msgstr "Handshake 逾時"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
@@ -18425,14 +18121,12 @@ msgid "Session Mode"
msgstr "區域模式"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Required Features"
-msgstr "主要功能:"
+msgstr "必要特性"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Optional Features"
-msgstr "主要功能:"
+msgstr "可選特性"
#: modules/webxr/webxr_interface.cpp
msgid "Requested Reference Space Types"
@@ -18523,6 +18217,11 @@ msgid "The package must have at least one '.' separator."
msgstr "套件必須至少有一個「.」分隔字元。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Custom Build"
+msgstr "剪下節點"
+
+#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr ""
@@ -18531,6 +18230,15 @@ msgstr ""
msgid "Export Format"
msgstr "匯出路徑"
+#: platform/android/export/export_plugin.cpp
+msgid "Min SDK"
+msgstr "最小 SDK"
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "Target SDK"
+msgstr "目標"
+
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
#, fuzzy
msgid "Architectures"
@@ -18573,25 +18281,14 @@ msgstr "偵查前一個實體"
msgid "Code"
msgstr ""
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Min SDK"
-msgstr "輪廓尺寸:"
-
-#: platform/android/export/export_plugin.cpp
-#, fuzzy
-msgid "Target SDK"
-msgstr "目標"
-
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Package"
msgstr "正在打包"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Unique Name"
-msgstr "節點名稱:"
+msgstr "獨立名稱"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18599,9 +18296,8 @@ msgid "Signed"
msgstr "訊號"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Classify As Game"
-msgstr "類別名稱:"
+msgstr "分類為遊戲"
#: platform/android/export/export_plugin.cpp
msgid "Retain Data On Uninstall"
@@ -18613,9 +18309,8 @@ msgid "Exclude From Recents"
msgstr "刪除節點"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Graphics"
-msgstr "網格偏移量:"
+msgstr "圖形"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18685,9 +18380,8 @@ msgid "Command Line"
msgstr "社群"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Extra Args"
-msgstr "額外呼叫引數:"
+msgstr "額外引數"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18746,10 +18440,6 @@ msgid "Could not execute on device."
msgstr "無法於裝置上執行。"
#: platform/android/export/export_plugin.cpp
-msgid "Unable to find the 'apksigner' tool."
-msgstr "找不到「apksigner」工具。"
-
-#: platform/android/export/export_plugin.cpp
msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
@@ -18826,15 +18516,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins."
msgstr "「使用自定建置」必須啟用以使用本外掛。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
"「Hand Tracking」(手部追蹤)僅可在「Xr Mode」(XR 模式)設為「Oculus Mobile "
"VR」或「OpenXR」時可用。"
#: platform/android/export/export_plugin.cpp
-msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+#, fuzzy
+msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "「Passthrough」僅可在「Xr Mode」(XR 模式)設為「OpenXR」時可用。"
#: platform/android/export/export_plugin.cpp
@@ -18842,30 +18534,56 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
msgstr "「Export AAB」僅於「Use Custom Build」啟用時可用。"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "對「Min Sdk」的修改僅在「Use Custom Build」啟用時有效。"
#: platform/android/export/export_plugin.cpp
+msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
+"Godot library."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
-"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
-"enabled."
+"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr "對「Target Sdk」的修改僅於「Use Custom Build」啟用時有效。"
#: platform/android/export/export_plugin.cpp
-msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgid ""
+"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Target SDK\" %d is higher than the default version %d. This may work, but "
+"wasn't tested and may be unstable."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+#, fuzzy
+msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr "「Target Sdk」版本必須高於或于「Min Sdk」版本一致。"
+#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Code Signing"
+msgstr "訊號"
+
#: platform/android/export/export_plugin.cpp
msgid ""
-"'apksigner' could not be found.\n"
-"Please check the command is available in the Android SDK build-tools "
-"directory.\n"
-"The resulting %s is unsigned."
+"'apksigner' could not be found. Please check that the command is available "
+"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"找不到「apksigner'」。\n"
-"請確認此命令可用於Android SDK build-tools的目錄。\n"
-"%s 未簽署。"
+"找不到「apksigner」。請檢查 Android SDK 的 build-tools 資料夾中是否有此指令。"
+"「%s」未簽署。"
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -18880,6 +18598,10 @@ msgid "Could not find keystore, unable to export."
msgstr "找不到金鑰儲存區,無法匯出。"
#: platform/android/export/export_plugin.cpp
+msgid "Could not start apksigner executable."
+msgstr "無法啟動 apksigner 可執行檔案。"
+
+#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
msgstr "「apksigner」回傳錯誤 #%d"
@@ -18908,8 +18630,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "無效的檔案名稱!Android APK 必須要有 *.apk 副檔名。"
#: platform/android/export/export_plugin.cpp
-msgid "Unsupported export format!\n"
-msgstr "不支援的匯出格式!\n"
+msgid "Unsupported export format!"
+msgstr "不支援的匯出格式!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -18920,24 +18642,20 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid ""
-"Android build version mismatch:\n"
-" Template installed: %s\n"
-" Godot Version: %s\n"
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Android 建置版本不符合:\n"
-" 已安裝的樣板:%s\n"
-" Godot 版本:%s\n"
-"請自「專案」目錄中重新安裝 Android 建置樣板。"
+"Android 建構版本不匹配:已安裝模板: %s,Godot 版本:%s。請從專案選單重新安"
+"裝 Android 構建模板。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Unable to overwrite res://android/build/res/*.xml files with project name"
-msgstr "無法以專案名稱覆蓋檔案res://android/build/res/*.xml"
+"Unable to overwrite res://android/build/res/*.xml files with project name."
+msgstr "無法以專案名稱覆蓋 res://android/build/res/*.xml 檔案。"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files to gradle project\n"
-msgstr "無法匯出專案檔至Gradle專案。\n"
+msgid "Could not export project files to gradle project."
+msgstr "無法匯出專案檔至 Gradle 專案。"
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -18949,11 +18667,11 @@ msgstr "建置 Android 專案(Gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Building of Android project failed, check output for the error.\n"
+"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"建置 Android 專案失敗,請檢查輸出以確認錯誤。\n"
-"也可以瀏覽 docs.godotengine.org 以瀏覽 Android 建置說明文件。"
+"建置 Android 專案失敗,請檢查輸出以確認錯誤。也可以瀏覽 docs.godotengine.org "
+"檢視 Android 建置說明文件。"
#: platform/android/export/export_plugin.cpp
msgid "Moving output"
@@ -18966,38 +18684,33 @@ msgid ""
msgstr "無法複製並更名匯出的檔案,請於 Gradle 專案資料夾內確認輸出。"
#: platform/android/export/export_plugin.cpp
-msgid "Package not found: %s"
-msgstr "未找到套件:「%s」"
+msgid "Package not found: \"%s\"."
+msgstr "未找到套件:「%s」。"
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "正在建立APK……"
#: platform/android/export/export_plugin.cpp
-msgid ""
-"Could not find template APK to export:\n"
-"%s"
-msgstr ""
-"找不到樣板APK以匯出:\n"
-"%s"
+msgid "Could not find template APK to export: \"%s\"."
+msgstr "找不到 APK 模板以匯出:「%s」。"
#: platform/android/export/export_plugin.cpp
msgid ""
-"Missing libraries in the export template for the selected architectures: "
-"%s.\n"
+"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
-"遺失所選取架構(%s)的匯出樣板函式庫。\n"
-"請使用所有必要的函式庫建構樣板,或在匯出預設設定中取消勾選遺失的架構。"
+"遺失所選架構(%s)的匯出模板函式庫。請使用所有必要的函式庫建構模板,或在匯出"
+"預設設定中取消勾選遺失的架構。"
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "正在加入檔案 %s……"
#: platform/android/export/export_plugin.cpp
-msgid "Could not export project files"
-msgstr "無法匯出專案檔案"
+msgid "Could not export project files."
+msgstr "無法匯出專案檔。"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19093,9 +18806,8 @@ msgid "Code Sign Identity Release"
msgstr ""
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Method Release"
-msgstr "匯出模式:"
+msgstr "發行匯出模式"
#: platform/iphone/export/export.cpp
msgid "Targeted Device Family"
@@ -19106,9 +18818,8 @@ msgid "Info"
msgstr ""
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Identifier"
-msgstr "無效的識別符:"
+msgstr "標識符"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -19132,14 +18843,12 @@ msgid "Capabilities"
msgstr "貼上屬性"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Access Wi-Fi"
-msgstr "成功!"
+msgstr "存取 Wi-Fi"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Push Notifications"
-msgstr "隨機旋轉:"
+msgstr "推送通知"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19239,6 +18948,17 @@ msgstr "剪下節點"
msgid "Custom BG Color"
msgstr "剪下節點"
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "Prepare Templates"
+msgstr "管理樣板"
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Export template not found."
+msgstr "找不到自定義發行樣板。"
+
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr "尚未設定 App Store Team ID - 無法設定專案。"
@@ -19260,25 +18980,33 @@ msgid "Run exported HTML in the system's default browser."
msgstr "在系統的預設瀏覽器中執行已匯出的 HTML。"
#: platform/javascript/export/export.cpp
-msgid "Could not open template for export:"
-msgstr "無法開啟樣板以輸出:"
+msgid "Could not open template for export: \"%s\"."
+msgstr "無法開啟模板以匯出:「%s」。"
#: platform/javascript/export/export.cpp
-msgid "Invalid export template:"
-msgstr "無效的輸出樣板:"
+msgid "Invalid export template: \"%s\"."
+msgstr "無效的匯出模板:「%s」。"
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file: \"%s\"."
+msgstr "無法寫入檔案:「%s」。"
+
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#, fuzzy
+msgid "Icon Creation"
+msgstr "設定外邊距"
#: platform/javascript/export/export.cpp
-msgid "Could not write file:"
-msgstr "無法寫入檔案:"
+msgid "Could not read file: \"%s\"."
+msgstr "無法讀取檔案:「%s」。"
#: platform/javascript/export/export.cpp
-msgid "Could not read file:"
-msgstr "無法讀取檔案:"
+msgid "PWA"
+msgstr ""
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Variant"
-msgstr "分隔:"
+msgstr "變體"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19350,16 +19078,16 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-msgid "Could not read HTML shell:"
-msgstr "無法讀取HTML殼層:"
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "無法讀取 HTML 殼層:「%s」。"
#: platform/javascript/export/export.cpp
-msgid "Could not create HTTP server directory:"
-msgstr "無法建立HTTP伺服器目錄:"
+msgid "Could not create HTTP server directory: %s."
+msgstr "無法建立 HTTP 伺服器目錄:%s。"
#: platform/javascript/export/export.cpp
-msgid "Error starting HTTP server:"
-msgstr "啟動HTTP伺服器時發生錯誤:"
+msgid "Error starting HTTP server: %d."
+msgstr "啟動 HTTP 伺服器時發生錯誤:%d。"
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19463,9 +19191,8 @@ msgid "Unknown object type."
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "App Category"
-msgstr "分類:"
+msgstr "App 分類"
#: platform/osx/export/export.cpp
msgid "High Res"
@@ -19641,9 +19368,8 @@ msgid "Custom Options"
msgstr "匯流排選項"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization"
-msgstr "本地化"
+msgstr "公證"
#: platform/osx/export/export.cpp
msgid "Apple ID Name"
@@ -19658,9 +19384,25 @@ msgid "Apple Team ID"
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Could not open icon file \"%s\"."
+msgstr "無法開啟符號檔 「%s」。"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start xcrun executable."
+msgstr "無法啟動 xcrun 可執行檔案。"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization failed."
+msgstr "公證失敗。"
+
+#: platform/osx/export/export.cpp
+msgid "Notarization request UUID: \"%s\""
+msgstr ""
+
+#: platform/osx/export/export.cpp
msgid ""
-"Note: The notarization process generally takes less than an hour. When the "
-"process is completed, you'll receive an email."
+"The notarization process generally takes less than an hour. When the process "
+"is completed, you'll receive an email."
msgstr ""
#: platform/osx/export/export.cpp
@@ -19676,21 +19418,70 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
+msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign failed with error \"%s\"."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Built-in CodeSign require regex module."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Could not start codesign executable, make sure Xcode command line tools are "
+"installed."
+msgstr ""
+
+#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
msgid "No identity found."
msgstr "未發現任何圖示。"
#: platform/osx/export/export.cpp
+msgid "Cannot sign file %s."
+msgstr "無法簽署檔案 %s。"
+
+#: platform/osx/export/export.cpp
+msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "DMG Creation"
+msgstr "方向"
+
+#: platform/osx/export/export.cpp
+msgid "Could not start hdiutil executable."
+msgstr "無法啟動 hdiutil 可執行檔案。"
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed - file exists."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "`hdiutil create` failed."
+msgstr ""
+
+#: platform/osx/export/export.cpp
#, fuzzy
msgid "Creating app bundle"
msgstr "正在建立縮圖"
#: platform/osx/export/export.cpp
-#, fuzzy
-msgid "Could not find template app to export:"
-msgstr ""
-"找不到樣板APK以匯出:\n"
-"%s"
+msgid "Could not find template app to export: \"%s\"."
+msgstr "找不到 app 模板以匯出:「%s」。"
+
+#: platform/osx/export/export.cpp
+msgid "Invalid export format."
+msgstr "無效的匯出格式。"
#: platform/osx/export/export.cpp
msgid ""
@@ -19700,7 +19491,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid ""
-"Requested template binary '%s' not found. It might be missing from your "
+"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
@@ -19741,6 +19532,15 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
+#, fuzzy
+msgid "ZIP Creation"
+msgstr "專案"
+
+#: platform/osx/export/export.cpp
+msgid "Could not open file to read from path \"%s\"."
+msgstr "無法打開位於「%s」的檔案進行讀取。"
+
+#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
msgstr "無效的捆綁識別符:"
@@ -19865,23 +19665,20 @@ msgid "Display Name"
msgstr "全部顯示"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Short Name"
-msgstr "腳本名稱:"
+msgstr "短名稱"
#: platform/uwp/export/export.cpp
msgid "Publisher"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Publisher Display Name"
-msgstr "無效的套件發佈者顯示名稱。"
+msgstr "發布者顯示名稱"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Product GUID"
-msgstr "無效的產品 GUID。"
+msgstr "產品 GUID"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -19894,9 +19691,8 @@ msgid "Signing"
msgstr "訊號"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Certificate"
-msgstr "頂點:"
+msgstr "憑證"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -19964,9 +19760,8 @@ msgid "Wide 310 X 150 Logo"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Splash Screen"
-msgstr "繪製呼叫:"
+msgstr "啟動畫面"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20056,6 +19851,10 @@ msgid "Debug Algorithm"
msgstr "除錯工具"
#: platform/windows/export/export.cpp
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "無法重新命名模板檔案 「%s」。"
+
+#: platform/windows/export/export.cpp
msgid "Identity Type"
msgstr ""
@@ -20079,19 +19878,16 @@ msgid "File Version"
msgstr "版本"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Product Version"
-msgstr "無效的產品 GUID。"
+msgstr "產品版本"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Company Name"
-msgstr "節點名稱:"
+msgstr "公司名稱"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Product Name"
-msgstr "專案名稱:"
+msgstr "產品名稱"
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20103,25 +19899,100 @@ msgid "Trademarks"
msgstr ""
#: platform/windows/export/export.cpp
+msgid "Resources Modification"
+msgstr "資源修改"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "找不到金鑰儲存區,無法匯出。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find wine executable at \"%s\"."
+msgstr "找不到金鑰儲存區,無法匯出。"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > Rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "rcedit failed to modify executable: %s."
+msgstr "無效的副檔名。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "找不到金鑰儲存區,無法匯出。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "找不到金鑰儲存區,無法匯出。"
+
+#: platform/windows/export/export.cpp
+msgid "Invalid identity type."
+msgstr "身份類型無效。"
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Invalid timestamp server."
+msgstr "無效的名稱。"
+
+#: platform/windows/export/export.cpp
+msgid ""
+"Could not start signtool executable. Configure signtool path in the Editor "
+"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the "
+"export preset."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+#, fuzzy
+msgid "Signtool failed to sign executable: %s."
+msgstr "無效的副檔名。"
+
+#: platform/windows/export/export.cpp
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "無法移除模板檔案 「%s」。"
+
+#: platform/windows/export/export.cpp
msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "無效的路徑。"
+msgstr "無效符號路徑:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "無效的副檔名。"
+msgstr "無效的檔案版本:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "無效的產品 GUID。"
+msgstr "無效的產品版本:"
+
+#: platform/windows/export/export.cpp
+msgid "Windows executables cannot be >= 4 GiB."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+#, fuzzy
+msgid "Failed to open executable file \"%s\"."
+msgstr "無效的副檔名。"
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable file header corrupted."
+msgstr ""
+
+#: platform/windows/export/export.cpp platform/x11/export/export.cpp
+msgid "Executable \"pck\" section not found."
+msgstr ""
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20140,6 +20011,10 @@ msgstr ""
msgid "Wine"
msgstr ""
+#: platform/x11/export/export.cpp
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr ""
+
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
#, fuzzy
@@ -20267,10 +20142,10 @@ msgstr ""
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
-#: scene/3d/visual_instance.cpp scene/resources/material.cpp
-#, fuzzy
+#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
+#: scene/resources/material.cpp
msgid "Max Distance"
-msgstr "選擇距離:"
+msgstr "最大距離"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
#, fuzzy
@@ -20298,15 +20173,13 @@ msgid "Anchor Mode"
msgstr "圖示模式"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Rotating"
-msgstr "旋轉步長:"
+msgstr "旋轉"
#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Current"
-msgstr "目前:"
+msgstr "目前"
#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
#, fuzzy
@@ -20318,7 +20191,7 @@ msgstr "放大"
msgid "Custom Viewport"
msgstr "1 個檢視區"
-#: scene/2d/camera_2d.cpp scene/3d/camera.cpp
+#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
#, fuzzy
@@ -20388,14 +20261,12 @@ msgid "Drag Margin"
msgstr "設定外邊距"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Screen"
-msgstr "繪製呼叫:"
+msgstr "繪製螢幕"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Limits"
-msgstr "繪製呼叫:"
+msgstr "繪製限制"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -20572,9 +20443,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Emitting"
-msgstr "設定:"
+msgstr "發射"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20600,9 +20470,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Randomness"
-msgstr "隨機重新開始(秒):"
+msgstr "隨機性"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20644,9 +20513,8 @@ msgstr "發射遮罩"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Sphere Radius"
-msgstr "發射源: "
+msgstr "球體半徑"
#: scene/2d/cpu_particles_2d.cpp
#, fuzzy
@@ -20714,9 +20582,8 @@ msgstr "線性"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel"
-msgstr "成功!"
+msgstr "加速度"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20775,9 +20642,8 @@ msgid "Angle Curve"
msgstr "關閉曲線"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Scale Amount"
-msgstr "數量:"
+msgstr "縮放量"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount Random"
@@ -20801,27 +20667,23 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Hue Variation"
-msgstr "分隔:"
+msgstr "色相變化"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Variation"
-msgstr "分隔:"
+msgstr "變化"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Variation Random"
-msgstr "分隔:"
+msgstr "隨機變化"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Variation Curve"
-msgstr "分隔:"
+msgstr "變化曲線"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20837,9 +20699,8 @@ msgstr "拆分控制點"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Offset Random"
-msgstr "偏移:"
+msgstr "隨機偏移"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21032,14 +20893,12 @@ msgid "Begin Cap Mode"
msgstr "區域模式"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "End Cap Mode"
-msgstr "吸附模式:"
+msgstr "尾端模式"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Border"
-msgstr "重新命名資料夾:"
+msgstr "邊框"
#: scene/2d/line_2d.cpp
msgid "Sharp Limit"
@@ -21066,15 +20925,44 @@ msgid "Cell Size"
msgstr ""
#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-#, fuzzy
msgid "Edge Connection Margin"
-msgstr "編輯連接內容:"
+msgstr "邊界連接邊距"
+
+#: scene/2d/navigation_2d.cpp
+msgid ""
+"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and "
+"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
+"instead."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Pathfinding"
+msgstr "綁定"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Desired Distance"
+msgstr "路徑所需距離"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+msgid "Path Max Distance"
+msgstr "路徑最大距離"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance"
+msgstr "進階"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
+#, fuzzy
+msgid "Avoidance Enabled"
+msgstr "啟用"
+
+#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Neighbor Dist"
msgstr ""
@@ -21088,19 +20976,8 @@ msgid "Time Horizon"
msgstr "水平翻轉"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Max Speed"
-msgstr "速度:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Path Max Distance"
-msgstr "選擇距離:"
-
-#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
-msgid "Avoidance Enabled"
-msgstr "啟用"
+msgstr "最大速度"
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21127,37 +21004,36 @@ msgstr ""
"多邊形。"
#: scene/2d/navigation_polygon.cpp
-msgid ""
-"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
-"node. It only provides navigation data."
-msgstr ""
-"NavigationPolygonInstance 必須是 Navigation2D 節點的子級或次子級。其僅提供導"
-"航資料。"
-
-#: scene/2d/navigation_polygon.cpp
msgid "Navpoly"
msgstr ""
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Enter Cost"
+msgstr "中下"
+
+#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp
+#, fuzzy
+msgid "Travel Cost"
+msgstr "行程"
+
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Rotation Degrees"
-msgstr "旋轉 %s 度。"
+msgstr "旋轉角度"
-#: scene/2d/node_2d.cpp
+#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
msgid "Global Rotation"
msgstr "常數"
#: scene/2d/node_2d.cpp
-#, fuzzy
msgid "Global Rotation Degrees"
-msgstr "旋轉 %s 度。"
+msgstr "全域旋轉角度"
#: scene/2d/node_2d.cpp
-#, fuzzy
msgid "Global Scale"
-msgstr "隨機縮放:"
+msgstr "全域縮放"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
@@ -21175,9 +21051,8 @@ msgid "Scroll"
msgstr ""
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Base Offset"
-msgstr "偏移:"
+msgstr "基礎偏移"
#: scene/2d/parallax_background.cpp
#, fuzzy
@@ -21267,19 +21142,16 @@ msgid "PathFollow2D only works when set as a child of a Path2D node."
msgstr "PathFollow2D 僅在其為 Path2D 的子節點時有效。"
#: scene/2d/path_2d.cpp scene/3d/path.cpp
-#, fuzzy
msgid "Unit Offset"
-msgstr "網格偏移量:"
+msgstr "單位偏移"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-#, fuzzy
msgid "H Offset"
-msgstr "偏移:"
+msgstr "H 偏移"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-#, fuzzy
msgid "V Offset"
-msgstr "偏移:"
+msgstr "V 偏移"
#: scene/2d/path_2d.cpp scene/3d/path.cpp
msgid "Cubic Interp"
@@ -21340,9 +21212,8 @@ msgid "Mass"
msgstr ""
#: scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Inertia"
-msgstr "垂直:"
+msgstr "慣性"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21379,9 +21250,8 @@ msgid "Sleeping"
msgstr "智慧型吸附"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Can Sleep"
-msgstr "速度:"
+msgstr "可以睡眠"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Damp"
@@ -21405,9 +21275,8 @@ msgid "Safe Margin"
msgstr "設定外邊距"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Sync To Physics"
-msgstr " (物理)"
+msgstr "與物理同步"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21427,9 +21296,8 @@ msgid "Normal"
msgstr "格式"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Remainder"
-msgstr "算繪引擎:"
+msgstr "餘量"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21619,9 +21487,8 @@ msgid "Compatibility Mode"
msgstr "優先模式"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Centered Textures"
-msgstr "主要功能:"
+msgstr "紋理居中"
#: scene/2d/tile_map.cpp
msgid "Cell Clip UV"
@@ -21740,9 +21607,8 @@ msgid "ARVROrigin requires an ARVRCamera child node."
msgstr "ARVROrigin 必須有一個 ARVRCamera 子節點。"
#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-#, fuzzy
msgid "World Scale"
-msgstr "隨機縮放:"
+msgstr "世界縮放"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -21771,9 +21637,8 @@ msgid "Emission Angle"
msgstr "發射色彩"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Degrees"
-msgstr "旋轉 %s 度。"
+msgstr "角度"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -21855,9 +21720,8 @@ msgid "Bounce Indirect Energy"
msgstr ""
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Use Denoiser"
-msgstr "篩選:"
+msgstr "使用降噪器"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
msgid "Use HDR"
@@ -21884,9 +21748,8 @@ msgid "Generate"
msgstr "一般"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Max Size"
-msgstr "大小:"
+msgstr "最大大小"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -21894,9 +21757,8 @@ msgid "Custom Sky"
msgstr "剪下節點"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Sky Rotation Degrees"
-msgstr "旋轉 %s 度。"
+msgstr "自定義天空旋轉角度"
#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
#, fuzzy
@@ -21928,9 +21790,8 @@ msgid "Light Data"
msgstr "包含數據"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Bone Name"
-msgstr "節點名稱:"
+msgstr "骨骼名稱"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
@@ -21955,9 +21816,8 @@ msgid "FOV"
msgstr ""
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Frustum Offset"
-msgstr "網格偏移量:"
+msgstr "視錐偏移"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22209,9 +22069,8 @@ msgid "Font"
msgstr "字體"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Horizontal Alignment"
-msgstr "水平:"
+msgstr "水平對齊"
#: scene/3d/label_3d.cpp
#, fuzzy
@@ -22275,9 +22134,8 @@ msgid "Split 3"
msgstr "拆分路徑"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Blend Splits"
-msgstr "混合時間:"
+msgstr "混合拆分"
#: scene/3d/light.cpp
#, fuzzy
@@ -22321,9 +22179,15 @@ msgid "Software Skinning"
msgstr ""
#: scene/3d/mesh_instance.cpp
-#, fuzzy
msgid "Transform Normals"
-msgstr "已中止變換。"
+msgstr "變換法線"
+
+#: scene/3d/navigation.cpp
+msgid ""
+"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will "
+"be removed in a future version. Use 'NavigationServer.map_get_path()' "
+"instead."
+msgstr ""
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
@@ -22349,14 +22213,6 @@ msgid ""
"The NavigationAgent can be used only under a Spatial inheriting parent node."
msgstr ""
-#: scene/3d/navigation_mesh_instance.cpp
-msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
-"It only provides navigation data."
-msgstr ""
-"NavigationMeshInstance 必須為 Navigation 節點的子節點或次級子節點。其僅提供導"
-"航資料。"
-
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
#, fuzzy
msgid "NavMesh"
@@ -22413,14 +22269,12 @@ msgid "Visibility AABB"
msgstr "切換可見/隱藏"
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Draw Passes"
-msgstr "繪製呼叫:"
+msgstr "繪製階段"
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Passes"
-msgstr "繪製呼叫:"
+msgstr "階段"
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -22516,9 +22370,8 @@ msgstr ""
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Relaxation"
-msgstr "分隔:"
+msgstr "鬆弛"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -22531,9 +22384,8 @@ msgid "Angular Limit Upper"
msgstr "線性"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Lower"
-msgstr "最大角度誤差:"
+msgstr "角度下限"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -22664,9 +22516,8 @@ msgid "Angular Equilibrium Point"
msgstr ""
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Body Offset"
-msgstr "偏移:"
+msgstr "形體偏移"
#: scene/3d/physics_joint.cpp
msgid "Node A and Node B must be PhysicsBodies"
@@ -22698,9 +22549,8 @@ msgid "Exclude Nodes"
msgstr "刪除節點"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Params"
-msgstr "已更改參數:"
+msgstr "引數"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit"
@@ -22726,9 +22576,8 @@ msgid "Target Velocity"
msgstr "向右環視"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Max Impulse"
-msgstr "速度:"
+msgstr "最大衝量"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22736,14 +22585,12 @@ msgid "Linear Limit"
msgstr "線性"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper Distance"
-msgstr "選擇距離:"
+msgstr "距離上限"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower Distance"
-msgstr "選擇距離:"
+msgstr "距離下限"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22776,9 +22623,8 @@ msgid "Angular Motion"
msgstr "動畫"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Angular Ortho"
-msgstr "最大角度誤差:"
+msgstr "角度正交"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22791,9 +22637,8 @@ msgid "Linear Motor X"
msgstr "初始化"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Force Limit"
-msgstr "繪製呼叫:"
+msgstr "力度限制"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -22891,9 +22736,8 @@ msgid "Two Way"
msgstr ""
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Linked Room"
-msgstr "即時編輯根節點:"
+msgstr "連接房間"
#: scene/3d/portal.cpp
#, fuzzy
@@ -22910,9 +22754,8 @@ msgid "Dispatch Mode"
msgstr ""
#: scene/3d/proximity_group.cpp
-#, fuzzy
msgid "Grid Radius"
-msgstr "半徑:"
+msgstr "網格半徑"
#: scene/3d/ray_cast.cpp
#, fuzzy
@@ -22929,9 +22772,8 @@ msgid "Update Mode"
msgstr "旋轉模式"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Origin Offset"
-msgstr "網格偏移量:"
+msgstr "原點偏移"
#: scene/3d/reflection_probe.cpp
#, fuzzy
@@ -23193,14 +23035,12 @@ msgid "Parent Collision Ignore"
msgstr "建立碰撞多邊形"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Simulation Precision"
-msgstr "無效的動畫樹。"
+msgstr "模擬精度"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Total Mass"
-msgstr "總計:"
+msgstr "總質量"
#: scene/3d/soft_body.cpp
msgid "Linear Stiffness"
@@ -23244,13 +23084,16 @@ msgstr ""
"請改為修改其子節點的碰撞形狀之大小。"
#: scene/3d/spatial.cpp
+msgid "Global Translation"
+msgstr "全域變換"
+
+#: scene/3d/spatial.cpp
msgid "Matrix"
msgstr ""
#: scene/3d/spatial.cpp
-#, fuzzy
msgid "Gizmo"
-msgstr "Gizmo"
+msgstr "控制器"
#: scene/3d/spatial_velocity_tracker.cpp
#, fuzzy
@@ -23309,18 +23152,16 @@ msgid "VehicleBody Motion"
msgstr ""
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Use As Traction"
-msgstr "分隔:"
+msgstr "用作牽引"
#: scene/3d/vehicle_body.cpp
msgid "Use As Steering"
msgstr ""
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Wheel"
-msgstr "滾輪向上。"
+msgstr "車輪"
#: scene/3d/vehicle_body.cpp
msgid "Roll Influence"
@@ -23356,9 +23197,8 @@ msgid "Material Override"
msgstr "複寫"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Material Overlay"
-msgstr "材質變更:"
+msgstr "材質覆蓋層"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23366,9 +23206,8 @@ msgid "Cast Shadow"
msgstr "建立著色器節點"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Extra Cull Margin"
-msgstr "額外呼叫引數:"
+msgstr "額外剔除邊距"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23390,9 +23229,8 @@ msgstr ""
#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
#: scene/resources/material.cpp
-#, fuzzy
msgid "Min Distance"
-msgstr "選擇距離:"
+msgstr "最小距離"
#: scene/3d/visual_instance.cpp
msgid "Min Hysteresis"
@@ -23893,18 +23731,16 @@ msgid "Mouse"
msgstr ""
#: scene/gui/control.cpp
-#, fuzzy
msgid "Default Cursor Shape"
-msgstr "載入預設匯流排配置。"
+msgstr "預設游標形狀"
#: scene/gui/control.cpp
msgid "Pass On Modal Close Click"
msgstr ""
#: scene/gui/control.cpp
-#, fuzzy
msgid "Size Flags"
-msgstr "大小: "
+msgstr "大小 Flag:"
#: scene/gui/control.cpp
#, fuzzy
@@ -24270,9 +24106,8 @@ msgid "Max Value"
msgstr "數值"
#: scene/gui/range.cpp
-#, fuzzy
msgid "Page"
-msgstr "頁: "
+msgstr "頁"
#: scene/gui/range.cpp
#, fuzzy
@@ -24460,9 +24295,8 @@ msgid "All Tabs In Front"
msgstr ""
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-#, fuzzy
msgid "Drag To Rearrange Enabled"
-msgstr "拖放以重新排列。"
+msgstr "啟用拖移重新排列"
#: scene/gui/tab_container.cpp
msgid "Use Hidden Tabs For Min Size"
@@ -24497,6 +24331,11 @@ msgstr "資料夾:"
#: scene/gui/text_edit.cpp
#, fuzzy
+msgid "Drag And Drop Selection Enabled"
+msgstr "僅搜尋所選區域"
+
+#: scene/gui/text_edit.cpp
+#, fuzzy
msgid "Hiding Enabled"
msgstr "啟用"
@@ -24594,9 +24433,8 @@ msgid "Initial Angle"
msgstr "初始化"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Fill Degrees"
-msgstr "旋轉 %s 度。"
+msgstr "填充角度"
#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -24703,9 +24541,8 @@ msgid "Max Redirects"
msgstr ""
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Timeout"
-msgstr "逾時。"
+msgstr "逾時"
#: scene/main/node.cpp
msgid ""
@@ -24833,9 +24670,8 @@ msgid "Draw 2D Outlines"
msgstr "建立輪廓"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "方向"
+msgstr "反射"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -24907,22 +24743,20 @@ msgstr "匯出路徑"
#: scene/main/viewport.cpp
msgid ""
-"This viewport is not set as render target. If you intend for it to display "
-"its contents directly to the screen, make it a child of a Control so it can "
-"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
-"texture to some node for display."
-msgstr ""
-"該 Viewport 尚未被設定為算繪目標。若你想直接將其內容顯示於畫面上,請將其設為 "
-"Control 的子節點以讓其取得大小。否則請將其設為 RenderTarget 並指派其內部紋理"
-"為其他節點以顯示。"
-
-#: scene/main/viewport.cpp
-msgid ""
"The Viewport size must be greater than or equal to 2 pixels on both "
"dimensions to render anything."
msgstr "Viewport長與寬必須皆大於或等於2像素才可進行算繪。"
#: scene/main/viewport.cpp
+msgid ""
+"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-"
+"Sampling.\n"
+"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-"
+"Effects.\n"
+"HDR will be disabled for this Viewport."
+msgstr ""
+
+#: scene/main/viewport.cpp
msgid "ARVR"
msgstr ""
@@ -25081,6 +24915,16 @@ msgid "3D Physics"
msgstr "物理"
#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "2D Navigation"
+msgstr "導航"
+
+#: scene/register_scene_types.cpp
+#, fuzzy
+msgid "3D Navigation"
+msgstr "導航"
+
+#: scene/register_scene_types.cpp
msgid "Use hiDPI"
msgstr ""
@@ -25464,9 +25308,8 @@ msgid "Labeled Separator Right"
msgstr "帶名稱的分隔線"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Separator"
-msgstr "色彩運算子。"
+msgstr "分隔線字體"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25474,9 +25317,8 @@ msgid "Font Color Accel"
msgstr "重新命名顏色項目"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Separator"
-msgstr "色彩運算子。"
+msgstr "分隔線字體顏色"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25764,9 +25606,8 @@ msgid "Label Width"
msgstr "左延展"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Screen Picker"
-msgstr "濾色運算子。"
+msgstr "屏幕取色器"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25981,9 +25822,8 @@ msgid "Sky Rotation"
msgstr "旋轉步長:"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sky Rotation Degrees"
-msgstr "旋轉 %s 度。"
+msgstr "天空旋轉角度"
#: scene/resources/environment.cpp
msgid "Canvas Max Layer"
@@ -26163,9 +26003,8 @@ msgid "Distance"
msgstr "選擇距離:"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Transition"
-msgstr "轉場: "
+msgstr "轉場效果"
#: scene/resources/environment.cpp
msgid "DOF Near Blur"
@@ -26248,9 +26087,8 @@ msgid "Saturation"
msgstr "分隔:"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Color Correction"
-msgstr "顏色函式。"
+msgstr "顏色校正"
#: scene/resources/font.cpp
#, fuzzy
@@ -26332,9 +26170,8 @@ msgid "Disable Ambient Light"
msgstr "向右縮排"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Ensure Correct Normals"
-msgstr "已中止變換。"
+msgstr "確保正確法線"
#: scene/resources/material.cpp
msgid "Albedo Tex MSDF"
@@ -26501,16 +26338,15 @@ msgid "Subsurf Scatter"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Transmission"
-msgstr "轉場: "
+msgstr "轉場"
#: scene/resources/material.cpp
#, fuzzy
msgid "Refraction"
msgstr "分隔:"
-#: scene/resources/material.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/material.cpp
msgid "Detail"
msgstr ""
@@ -26571,14 +26407,12 @@ msgid "NavMesh Transform"
msgstr "清除變換"
#: scene/resources/multimesh.cpp
-#, fuzzy
msgid "Color Format"
-msgstr "色彩運算子。"
+msgstr "顏色格式"
#: scene/resources/multimesh.cpp
-#, fuzzy
msgid "Transform Format"
-msgstr "已中止變換。"
+msgstr "變換格式"
#: scene/resources/multimesh.cpp
msgid "Custom Data Format"
@@ -26594,14 +26428,17 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+msgid "Sampling"
+msgstr "縮放:"
+
+#: scene/resources/navigation_mesh.cpp
#, fuzzy
-msgid "Sample Partition Type"
+msgid "Partition Type"
msgstr "設定變數型別"
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Parsed Geometry Type"
-msgstr "正在解析多邊形..."
+msgstr "解析幾何體類型"
#: scene/resources/navigation_mesh.cpp
msgid "Source Geometry Mode"
@@ -26613,10 +26450,15 @@ msgid "Source Group Name"
msgstr "來源"
#: scene/resources/navigation_mesh.cpp
-msgid "Agent"
+msgid "Cells"
msgstr ""
#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Agents"
+msgstr "主場景引數:"
+
+#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
msgstr ""
@@ -26626,11 +26468,16 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Regions"
+msgstr "區域"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Merge Size"
msgstr "自場景合併"
#: scene/resources/navigation_mesh.cpp
-msgid "Edge"
+msgid "Edges"
msgstr ""
#: scene/resources/navigation_mesh.cpp
@@ -26644,6 +26491,11 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
+msgid "Details"
+msgstr "顯示預設"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
msgid "Sample Distance"
msgstr "選擇距離:"
@@ -26661,9 +26513,19 @@ msgid "Ledge Spans"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-msgid "Filter Walkable Low Height Spans"
+msgid "Walkable Low Height Spans"
msgstr ""
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB"
+msgstr "正在產生 AABB"
+
+#: scene/resources/navigation_mesh.cpp
+#, fuzzy
+msgid "Baking AABB Offset"
+msgstr "偏移:"
+
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
msgstr ""
@@ -26710,14 +26572,12 @@ msgid "Point Texture"
msgstr "發射點:"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Normal Texture"
-msgstr "發射源: "
+msgstr "法線紋理貼圖"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Color Texture"
-msgstr "編輯器主題"
+msgstr "顏色紋理貼圖"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -26916,9 +26776,8 @@ msgid "Base Texture"
msgstr "移除紋理"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Image Size"
-msgstr "頁: "
+msgstr "圖片大小"
#: scene/resources/texture.cpp
#, fuzzy
@@ -27076,6 +26935,11 @@ msgid "Scenario"
msgstr "場景"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Navigation Map"
+msgstr "導航"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
msgstr ""
@@ -27093,6 +26957,26 @@ msgstr "左線性"
msgid "Default Angular Damp"
msgstr ""
+#: scene/resources/world.cpp
+#, fuzzy
+msgid "Default Map Up"
+msgstr "預設浮點數間隔"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Size"
+msgstr "預設預覽"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Cell Height"
+msgstr "測試"
+
+#: scene/resources/world.cpp scene/resources/world_2d.cpp
+#, fuzzy
+msgid "Default Edge Connection Margin"
+msgstr "編輯連接內容:"
+
#: scene/resources/world_2d.cpp
msgid "Canvas"
msgstr ""
@@ -27305,9 +27189,8 @@ msgid "Pan Pullout"
msgstr ""
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-#, fuzzy
msgid "Time Pullout (ms)"
-msgstr "逾時。"
+msgstr "撤離時間(毫秒)"
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
msgid "Surround"
@@ -27362,119 +27245,105 @@ msgstr "透視"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Linear"
-msgstr ""
+msgstr "線性睡眠速度閾值"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Angular"
-msgstr ""
+msgstr "睡眠角速度閾值"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Time Before Sleep"
-msgstr ""
+msgstr "睡眠前時間"
#: servers/physics_2d/physics_2d_server_sw.cpp
-#, fuzzy
msgid "BP Hash Table Size"
-msgstr "大小:"
+msgstr "BP 雜湊表大小"
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "Large Object Surface Threshold In Cells"
-msgstr ""
+msgstr "大物件表面單位格閾值"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Inverse Mass"
-msgstr ""
+msgstr "逆質量"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Inverse Inertia"
-msgstr "自由視圖 左"
+msgstr "逆慣性"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Total Angular Damp"
-msgstr ""
+msgstr "總角速度減幅"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Total Linear Damp"
-msgstr "線性"
+msgstr "總線性速度減幅"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Total Gravity"
-msgstr "預設預覽"
+msgstr "總重力"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Linear Velocity"
-msgstr "初始化"
+msgstr "線性速度"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Exclude"
-msgstr ""
+msgstr "排除"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Shape RID"
-msgstr ""
+msgstr "形狀RID"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collide With Bodies"
-msgstr "碰撞模式"
+msgstr "形體間碰撞"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collide With Areas"
-msgstr ""
+msgstr "區域間碰撞"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Motion Remainder"
-msgstr ""
+msgstr "運動剩餘量"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Point"
-msgstr "碰撞模式"
+msgstr "碰撞點"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Normal"
-msgstr "碰撞模式"
+msgstr "碰撞法線"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Depth"
-msgstr "碰撞模式"
+msgstr "碰撞深度"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Safe Fraction"
-msgstr "碰撞模式"
+msgstr "碰撞安全比值"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Unsafe Fraction"
-msgstr "碰撞模式"
+msgstr "碰撞非安全比值"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Physics Engine"
-msgstr "物理影格 %"
+msgstr "物理引擎"
#: servers/physics_server.cpp
-#, fuzzy
msgid "Center Of Mass"
-msgstr "中左"
+msgstr "質量中心"
#: servers/physics_server.cpp
msgid "Principal Inertia Axes"
-msgstr ""
+msgstr "主慣性軸"
#: servers/visual/shader_language.cpp
msgid "Varying may not be assigned in the '%s' function."
-msgstr "Varying 變數不可在函式「%s」中被指派。"
+msgstr "Varying變數不可在「%s」函式中被指派。"
#: servers/visual/shader_language.cpp
-#, fuzzy
msgid ""
"Varyings which were assigned in 'vertex' function may not be reassigned in "
"'fragment' or 'light'."
@@ -27483,7 +27352,6 @@ msgstr ""
"指派。"
#: servers/visual/shader_language.cpp
-#, fuzzy
msgid ""
"Varyings which were assigned in 'fragment' function may not be reassigned in "
"'vertex' or 'light'."
@@ -27504,39 +27372,32 @@ msgid "Constants cannot be modified."
msgstr "不可修改常數。"
#: servers/visual/visual_server_scene.cpp
-#, fuzzy
msgid "Spatial Partitioning"
-msgstr "正在分割..."
+msgstr "空間分割"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Render Loop Enabled"
-msgstr "篩選訊號"
+msgstr "啟用算繪迴圈"
#: servers/visual_server.cpp
-#, fuzzy
msgid "VRAM Compression"
-msgstr "設定表示式"
+msgstr "VRAM壓縮"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import BPTC"
-msgstr "匯入"
+msgstr "匯入BPTC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import S3TC"
-msgstr "匯入"
+msgstr "匯入S3TC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC"
-msgstr "匯入"
+msgstr "匯入ETC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC2"
-msgstr "匯入"
+msgstr "匯入ETC2"
#: servers/visual_server.cpp
#, fuzzy
@@ -27548,9 +27409,8 @@ msgid "Lossless Compression"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Force PNG"
-msgstr "來源網格:"
+msgstr "強制 PNG"
#: servers/visual_server.cpp
msgid "WebP Compression Level"
@@ -27594,7 +27454,7 @@ msgstr "篩選節點"
#: servers/visual_server.cpp
#, fuzzy
msgid "Texture Array Reflections"
-msgstr "置中所選"
+msgstr "紋理貼圖陣列反射"
#: servers/visual_server.cpp
msgid "High Quality GGX"
@@ -27651,20 +27511,24 @@ msgid "Use Nearest Mipmap Filter"
msgstr ""
#: servers/visual_server.cpp
+#, fuzzy
msgid "Skinning"
-msgstr ""
+msgstr "外觀變更"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Software Skinning Fallback"
-msgstr ""
+msgstr "軟體外觀變更後備"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Force Software Skinning"
-msgstr ""
+msgstr "強制軟體外觀變更"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Use Software Skinning"
-msgstr ""
+msgstr "使用軟體外觀變更"
#: servers/visual_server.cpp
#, fuzzy
@@ -27694,9 +27558,8 @@ msgid "Legacy Stream"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Batching"
-msgstr "正在搜尋..."
+msgstr "分批"
#: servers/visual_server.cpp
msgid "Use Batching"
@@ -27726,7 +27589,7 @@ msgstr ""
#: servers/visual_server.cpp
#, fuzzy
msgid "Max Join Items"
-msgstr "管理項目……"
+msgstr "最大加入項目數"
#: servers/visual_server.cpp
msgid "Batch Buffer Size"
@@ -27782,7 +27645,7 @@ msgstr "使用縮放吸附"
#: servers/visual_server.cpp
msgid "PVS Logging"
-msgstr ""
+msgstr "PVS 日誌"
#: servers/visual_server.cpp
#, fuzzy
@@ -27814,9 +27677,8 @@ msgid "Max Active Polygons"
msgstr "移動多邊形"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Compilation Mode"
-msgstr "插值模式"
+msgstr "著色器編譯模式"
#: servers/visual_server.cpp
msgid "Max Simultaneous Compiles"
@@ -27827,6 +27689,5 @@ msgid "Log Active Async Compiles Count"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Cache Size (MB)"
-msgstr "更改相機尺寸"
+msgstr "著色器快取大小 (MB)"